Skip to content

Commit 76c2fdf

Browse files
author
Stéphane Campinas
committed
Set rdf:type as the class attribute if not explicitely initialised #58
1 parent d22298e commit 76c2fdf

File tree

25 files changed

+136
-141
lines changed

25 files changed

+136
-141
lines changed

CHANGES.txt

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ Tasks
2121
* [GH-40] Clean sesame backend cli
2222
* [GH-42] Remove unused modules
2323
* [GH-47] Add NQuads data format
24+
* [GH-58] Set rdf:type as the default class attribute
2425

2526
Bugs
2627

recommendation-servlet/src/test/java/org/sindice/analytics/queryProcessor/TestContentRemovalProcessor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public class TestContentRemovalProcessor {
3939
public void setUp()
4040
throws Exception {
4141
ast = null;
42-
AnalyticsClassAttributes.initClassAttributes(Arrays.asList(AnalyticsClassAttributes.DEFAULT_CLASS_ATTRIBUTE));
42+
AnalyticsClassAttributes.initClassAttributes(Arrays.asList(AnalyticsClassAttributes.DEFAULT));
4343
SparqlVarGenerator.reset();
4444
}
4545

recommendation-servlet/src/test/java/org/sindice/analytics/queryProcessor/TestDGSQueryProcessor.java

-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@ public static void init()
8282
*/
8383
private static void init(SesameBackend backend, String input)
8484
throws Exception {
85-
AnalyticsClassAttributes.initClassAttributes(new String[] {AnalyticsClassAttributes.DEFAULT_CLASS_ATTRIBUTE});
8685
DataGraphSummaryVocab.resetToDefaults();
8786

8887
final Resource c = NTriplesUtil.parseURI("<" + DataGraphSummaryVocab.GRAPH_SUMMARY_GRAPH + ">", new MemValueFactory());

recommendation-servlet/src/test/java/org/sindice/analytics/queryProcessor/TestPofNodesMetadata.java

-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ public class TestPofNodesMetadata {
4343
public void setUp()
4444
throws Exception {
4545
ast = null;
46-
AnalyticsClassAttributes.initClassAttributes(Arrays.asList(AnalyticsClassAttributes.DEFAULT_CLASS_ATTRIBUTE));
4746
SparqlVarGenerator.reset();
4847
}
4948

recommendation-servlet/src/test/java/org/sindice/analytics/queryProcessor/TestPointOfFocusProcessor.java

-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ public class TestPointOfFocusProcessor {
4242
public void setUp()
4343
throws Exception {
4444
ast = null;
45-
AnalyticsClassAttributes.initClassAttributes(Arrays.asList(AnalyticsClassAttributes.DEFAULT_CLASS_ATTRIBUTE));
4645
SparqlVarGenerator.reset();
4746
}
4847

recommendation-servlet/src/test/java/org/sindice/analytics/queryProcessor/TestRecommendationScopeProcessor.java

-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ public class TestRecommendationScopeProcessor {
3838
public void setUp()
3939
throws Exception {
4040
ast = null;
41-
AnalyticsClassAttributes.initClassAttributes(Arrays.asList(AnalyticsClassAttributes.DEFAULT_CLASS_ATTRIBUTE));
4241
SparqlVarGenerator.reset();
4342
}
4443

recommendation-servlet/src/test/java/org/sindice/analytics/queryProcessor/TestSparqlToDGSQuery.java

-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ public class TestSparqlToDGSQuery {
4040
@Before
4141
public void setUp()
4242
throws Exception {
43-
AnalyticsClassAttributes.initClassAttributes(Arrays.asList(AnalyticsClassAttributes.DEFAULT_CLASS_ATTRIBUTE));
4443
SparqlVarGenerator.reset();
4544
}
4645

recommendation-servlet/src/test/java/org/sindice/analytics/queryProcessor/TestSparqlTranslationProcessor.java

-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ public class TestSparqlTranslationProcessor {
4040
@Before
4141
public void setUp()
4242
throws Exception {
43-
AnalyticsClassAttributes.initClassAttributes(Arrays.asList(AnalyticsClassAttributes.DEFAULT_CLASS_ATTRIBUTE));
4443
SparqlVarGenerator.reset();
4544
}
4645

recommendation-servlet/src/test/java/org/sindice/analytics/queryProcessor/TestValidateQ4Recommendations.java

-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ public class TestValidateQ4Recommendations {
3636
public void setUp()
3737
throws Exception {
3838
ast = null;
39-
AnalyticsClassAttributes.initClassAttributes(Arrays.asList(AnalyticsClassAttributes.DEFAULT_CLASS_ATTRIBUTE));
4039
SparqlVarGenerator.reset();
4140
}
4241

sparql-summary/src/main/java/org/sindice/summary/Dump.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ private long dumpRDFNodeCollection(String nodeType, String cardinality, String d
160160
p = createURI(DataGraphSummaryVocab.LABEL);
161161
int vocabValue = Integer.parseInt(type);
162162

163-
dumpTriple(o, p, createURI(AnalyticsClassAttributes.CLASS_ATTRIBUTES.get(vocabValue)));
163+
dumpTriple(o, p, createURI(AnalyticsClassAttributes.getClassAttributes().get(vocabValue)));
164164
// an:typeID an:cardinality Cardinality .
165165
// always the same o as the s
166166
p = createURI(DataGraphSummaryVocab.CARDINALITY);

sparql-summary/src/main/java/org/sindice/summary/Pipeline.java

+1-4
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ public static void main(String[] args) throws SesameBackendException {
102102
accepts(
103103
CLASS_ATTRIBUTE,
104104
"for the user defined class-attribute. The default class-attribute is: "
105-
+ AnalyticsClassAttributes.DEFAULT_CLASS_ATTRIBUTE)
105+
+ AnalyticsClassAttributes.DEFAULT)
106106
.withRequiredArg().ofType(String.class);
107107
acceptsAll(asList(SUMMARY_ALGORITHM, "algorithm"),
108108
"Allow the user to change the clustering algorithm to create the summary.")
@@ -297,9 +297,6 @@ private static void normalInput(OptionSet options)
297297
}
298298

299299
AnalyticsClassAttributes.initClassAttributes(classAttributes);
300-
} else {
301-
String[] defaultClassAttribute = { AnalyticsClassAttributes.DEFAULT_CLASS_ATTRIBUTE };
302-
AnalyticsClassAttributes.initClassAttributes(defaultClassAttribute);
303300
}
304301
// Then create the Query. The local repository is created and open in
305302
// the query.

sparql-summary/src/main/java/org/sindice/summary/multilabelled/AbstractMultiLabelledQuery.java

+13-12
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,12 @@ public void computeName() throws Exception {
7373
+ " {\n"
7474
+ " SELECT ?s ?type ?p WHERE\n" + " {\n";
7575

76-
if (AnalyticsClassAttributes.CLASS_ATTRIBUTES.size() > 0) {
77-
query += "{ ?s <" + AnalyticsClassAttributes.CLASS_ATTRIBUTES.get(0)
76+
if (AnalyticsClassAttributes.getClassAttributes().size() > 0) {
77+
query += "{ ?s <" + AnalyticsClassAttributes.getClassAttributes().get(0)
7878
+ "> ?type .\n BIND ('0' AS ?p) }\n";
79-
for (int i = 1; i < AnalyticsClassAttributes.CLASS_ATTRIBUTES.size(); ++i) {
79+
for (int i = 1; i < AnalyticsClassAttributes.getClassAttributes().size(); ++i) {
8080
query += "UNION{ ?s <"
81-
+ AnalyticsClassAttributes.CLASS_ATTRIBUTES.get(i)
81+
+ AnalyticsClassAttributes.getClassAttributes().get(i)
8282
+ "> ?type .\n BIND ('" + i + "' AS ?p) }\n";
8383
}
8484
}
@@ -106,12 +106,12 @@ public void computePredicate() throws Exception {
106106
query += " WHERE {\n" + " {\n"
107107
+ " SELECT ?s ?type WHERE {\n";
108108

109-
if (AnalyticsClassAttributes.CLASS_ATTRIBUTES.size() > 0) {
110-
query += "{ ?s <" + AnalyticsClassAttributes.CLASS_ATTRIBUTES.get(0)
109+
if (AnalyticsClassAttributes.getClassAttributes().size() > 0) {
110+
query += "{ ?s <" + AnalyticsClassAttributes.getClassAttributes().get(0)
111111
+ "> ?type . }\n";
112-
for (int i = 1; i < AnalyticsClassAttributes.CLASS_ATTRIBUTES.size(); ++i) {
112+
for (int i = 1; i < AnalyticsClassAttributes.getClassAttributes().size(); ++i) {
113113
query += "UNION { ?s <"
114-
+ AnalyticsClassAttributes.CLASS_ATTRIBUTES.get(i)
114+
+ AnalyticsClassAttributes.getClassAttributes().get(i)
115115
+ "> ?type . }\n";
116116
}
117117
}
@@ -127,12 +127,12 @@ public void computePredicate() throws Exception {
127127
query += " WHERE {\n" + " {\n"
128128
+ " SELECT ?sSon ?typeSon WHERE " + "{\n";
129129

130-
if (AnalyticsClassAttributes.CLASS_ATTRIBUTES.size() > 0) {
131-
query += "{ ?sSon <" + AnalyticsClassAttributes.CLASS_ATTRIBUTES.get(0)
130+
if (AnalyticsClassAttributes.getClassAttributes().size() > 0) {
131+
query += "{ ?sSon <" + AnalyticsClassAttributes.getClassAttributes().get(0)
132132
+ "> ?typeSon . }\n";
133-
for (int i = 1; i < AnalyticsClassAttributes.CLASS_ATTRIBUTES.size(); ++i) {
133+
for (int i = 1; i < AnalyticsClassAttributes.getClassAttributes().size(); ++i) {
134134
query += "UNION { ?sSon <"
135-
+ AnalyticsClassAttributes.CLASS_ATTRIBUTES.get(i)
135+
+ AnalyticsClassAttributes.getClassAttributes().get(i)
136136
+ "> ?typeSon . }\n";
137137
}
138138
}
@@ -145,4 +145,5 @@ public void computePredicate() throws Exception {
145145
_logger.debug(query);
146146
launchQueryPred(query);
147147
}
148+
148149
}

sparql-summary/src/main/java/org/sindice/summary/multilabelled/HTTPVirtuosoMultiLabelledQuery.java

+23-22
Original file line numberDiff line numberDiff line change
@@ -110,23 +110,23 @@ public void computeName() throws Exception {
110110
String query = "SELECT ?label (COUNT (?s) AS ?cardinality)\n" + _graphFrom
111111
+ "WHERE {\n{\n" + "SELECT ?s (sql:GROUP_CONCAT(IF(isURI(?type),\n";
112112

113-
if (AnalyticsClassAttributes.CLASS_ATTRIBUTES.size() > 0) {
114-
for (int i = 0; i < AnalyticsClassAttributes.CLASS_ATTRIBUTES.size() - 1; ++i) {
113+
if (AnalyticsClassAttributes.getClassAttributes().size() > 0) {
114+
for (int i = 0; i < AnalyticsClassAttributes.getClassAttributes().size() - 1; ++i) {
115115
query += " " + "IF(?p = <"
116-
+ AnalyticsClassAttributes.CLASS_ATTRIBUTES.get(i) + ">,\n"
116+
+ AnalyticsClassAttributes.getClassAttributes().get(i) + ">,\n"
117117
+ " " + "bif:concat('{<', str(?type), '>," + i
118118
+ "}'),\n";
119119
}
120120

121121
query += " "
122122
+ "# "
123-
+ AnalyticsClassAttributes.CLASS_ATTRIBUTES
124-
.get(AnalyticsClassAttributes.CLASS_ATTRIBUTES.size() - 1)
123+
+ AnalyticsClassAttributes.getClassAttributes()
124+
.get(AnalyticsClassAttributes.getClassAttributes().size() - 1)
125125
+ "\n" + " " + "bif:concat('{<', str(?type), '>,"
126-
+ (AnalyticsClassAttributes.CLASS_ATTRIBUTES.size() - 1) + "}'\n"
126+
+ (AnalyticsClassAttributes.getClassAttributes().size() - 1) + "}'\n"
127127
+ " ";
128128
// close parenthesis
129-
for (int i = 0; i < AnalyticsClassAttributes.CLASS_ATTRIBUTES.size(); ++i) {
129+
for (int i = 0; i < AnalyticsClassAttributes.getClassAttributes().size(); ++i) {
130130
query += ")";
131131
}
132132
query += ",\n";
@@ -135,51 +135,51 @@ public void computeName() throws Exception {
135135
query += " " + "#else\n";
136136

137137
// If it is a litteral, get the type of the "type".
138-
if (AnalyticsClassAttributes.CLASS_ATTRIBUTES.size() > 0) {
139-
for (int i = 0; i < AnalyticsClassAttributes.CLASS_ATTRIBUTES.size() - 1; ++i) {
138+
if (AnalyticsClassAttributes.getClassAttributes().size() > 0) {
139+
for (int i = 0; i < AnalyticsClassAttributes.getClassAttributes().size() - 1; ++i) {
140140
query += " " + "IF(?p = <"
141-
+ AnalyticsClassAttributes.CLASS_ATTRIBUTES.get(i) + ">,\n"
141+
+ AnalyticsClassAttributes.getClassAttributes().get(i) + ">,\n"
142142
+ " "
143143
+ "bif:concat('{\"', ENCODE_FOR_URI(?type), '\"," + i + "}'),\n";
144144
}
145145

146146
query += " "
147147
+ "# "
148-
+ AnalyticsClassAttributes.CLASS_ATTRIBUTES
149-
.get(AnalyticsClassAttributes.CLASS_ATTRIBUTES.size() - 1)
148+
+ AnalyticsClassAttributes.getClassAttributes()
149+
.get(AnalyticsClassAttributes.getClassAttributes().size() - 1)
150150
+ "\n" + " "
151151
+ "bif:concat('{\"', ENCODE_FOR_URI(?type), '\","
152-
+ (AnalyticsClassAttributes.CLASS_ATTRIBUTES.size() - 1) + "}'\n"
152+
+ (AnalyticsClassAttributes.getClassAttributes().size() - 1) + "}'\n"
153153
+ " ";
154154
// close parenthesis
155-
for (int i = 0; i < AnalyticsClassAttributes.CLASS_ATTRIBUTES.size(); ++i) {
155+
for (int i = 0; i < AnalyticsClassAttributes.getClassAttributes().size(); ++i) {
156156
query += ")";
157157
}
158158
query += "\n";
159159

160-
if (AnalyticsClassAttributes.CLASS_ATTRIBUTES.size() > 1) {
160+
if (AnalyticsClassAttributes.getClassAttributes().size() > 1) {
161161
query += "), \" \") AS ?label)\n" + " WHERE {\n"
162162
+ " {\n" + " SELECT ?s ?type ?p WHERE\n"
163163
+ " {\n";
164164

165-
if (AnalyticsClassAttributes.CLASS_ATTRIBUTES.size() > 0) {
166-
query += "{ ?s <" + AnalyticsClassAttributes.CLASS_ATTRIBUTES.get(0)
165+
if (AnalyticsClassAttributes.getClassAttributes().size() > 0) {
166+
query += "{ ?s <" + AnalyticsClassAttributes.getClassAttributes().get(0)
167167
+ "> ?type .\n" + "?s ?p ?type .\n" + "FILTER(?p = <"
168-
+ AnalyticsClassAttributes.CLASS_ATTRIBUTES.get(0) + ">) }\n";
168+
+ AnalyticsClassAttributes.getClassAttributes().get(0) + ">) }\n";
169169

170-
for (int i = 1; i < AnalyticsClassAttributes.CLASS_ATTRIBUTES.size(); ++i) {
170+
for (int i = 1; i < AnalyticsClassAttributes.getClassAttributes().size(); ++i) {
171171
query += "UNION { ?s <"
172-
+ AnalyticsClassAttributes.CLASS_ATTRIBUTES.get(i)
172+
+ AnalyticsClassAttributes.getClassAttributes().get(i)
173173
+ "> ?type .\n" + "?s ?p ?type .\n" + "FILTER(?p = <"
174-
+ AnalyticsClassAttributes.CLASS_ATTRIBUTES.get(i) + ">) }\n";
174+
+ AnalyticsClassAttributes.getClassAttributes().get(i) + ">) }\n";
175175
}
176176
}
177177

178178
} else { // Only 1 type => optimize query (remove FILTER and ?p variable)
179179
query += "), \" \") AS ?label)\n" + " WHERE {\n"
180180
+ " {\n" + " SELECT ?s ?type WHERE\n"
181181
+ " {\n" + " { ?s <"
182-
+ AnalyticsClassAttributes.CLASS_ATTRIBUTES.get(0)
182+
+ AnalyticsClassAttributes.getClassAttributes().get(0)
183183
+ "> ?type . }\n";
184184
}
185185
}
@@ -190,4 +190,5 @@ public void computeName() throws Exception {
190190
_logger.debug(query);
191191
launchQueryNode(query);
192192
}
193+
193194
}

sparql-summary/src/main/java/org/sindice/summary/singlelabelled/AbstractSingleLabelledQuery.java

+13-12
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,12 @@ public void computeName() throws Exception {
5555
+ " concat('{\"', ENCODE_FOR_URI(?type), '\",',?p,'}')) AS ?label)\n"
5656
+ " WHERE {\n";
5757

58-
if (AnalyticsClassAttributes.CLASS_ATTRIBUTES.size() > 0) {
59-
query += "{ ?s <" + AnalyticsClassAttributes.CLASS_ATTRIBUTES.get(0)
58+
if (AnalyticsClassAttributes.getClassAttributes().size() > 0) {
59+
query += "{ ?s <" + AnalyticsClassAttributes.getClassAttributes().get(0)
6060
+ "> ?type .\n BIND ('0' AS ?p) }\n";
61-
for (int i = 1; i < AnalyticsClassAttributes.CLASS_ATTRIBUTES.size(); ++i) {
61+
for (int i = 1; i < AnalyticsClassAttributes.getClassAttributes().size(); ++i) {
6262
query += "UNION{ ?s <"
63-
+ AnalyticsClassAttributes.CLASS_ATTRIBUTES.get(i)
63+
+ AnalyticsClassAttributes.getClassAttributes().get(i)
6464
+ "> ?type .\n BIND ('" + i + "' AS ?p) }\n";
6565
}
6666
}
@@ -88,12 +88,12 @@ public void computePredicate() throws Exception {//
8888
+ " concat('\"', ENCODE_FOR_URI(?type),"
8989
+ "'\"')) as ?source)\n" + " WHERE {\n";
9090

91-
if (AnalyticsClassAttributes.CLASS_ATTRIBUTES.size() > 0) {
92-
query += "{ ?s <" + AnalyticsClassAttributes.CLASS_ATTRIBUTES.get(0)
91+
if (AnalyticsClassAttributes.getClassAttributes().size() > 0) {
92+
query += "{ ?s <" + AnalyticsClassAttributes.getClassAttributes().get(0)
9393
+ "> ?type . }\n";
94-
for (int i = 1; i < AnalyticsClassAttributes.CLASS_ATTRIBUTES.size(); ++i) {
94+
for (int i = 1; i < AnalyticsClassAttributes.getClassAttributes().size(); ++i) {
9595
query += "UNION { ?s <"
96-
+ AnalyticsClassAttributes.CLASS_ATTRIBUTES.get(i)
96+
+ AnalyticsClassAttributes.getClassAttributes().get(i)
9797
+ "> ?type . }\n";
9898
}
9999
}
@@ -108,12 +108,12 @@ public void computePredicate() throws Exception {//
108108
+ " concat('\"', ENCODE_FOR_URI(?typeSon),"
109109
+ "'\"')) as ?target)\n" + " WHERE {\n";
110110

111-
if (AnalyticsClassAttributes.CLASS_ATTRIBUTES.size() > 0) {
112-
query += "{ ?sSon <" + AnalyticsClassAttributes.CLASS_ATTRIBUTES.get(0)
111+
if (AnalyticsClassAttributes.getClassAttributes().size() > 0) {
112+
query += "{ ?sSon <" + AnalyticsClassAttributes.getClassAttributes().get(0)
113113
+ "> ?typeSon . }\n";
114-
for (int i = 1; i < AnalyticsClassAttributes.CLASS_ATTRIBUTES.size(); ++i) {
114+
for (int i = 1; i < AnalyticsClassAttributes.getClassAttributes().size(); ++i) {
115115
query += "UNION { ?sSon <"
116-
+ AnalyticsClassAttributes.CLASS_ATTRIBUTES.get(i)
116+
+ AnalyticsClassAttributes.getClassAttributes().get(i)
117117
+ "> ?typeSon . }\n";
118118
}
119119
}
@@ -123,4 +123,5 @@ public void computePredicate() throws Exception {//
123123
_logger.debug(query);
124124
launchQueryPred(query);
125125
}
126+
126127
}

0 commit comments

Comments
 (0)