You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by re...@apache.org on 2015/03/30 12:45:15 UTC
clerezza-rdf-core git commit: CLEREZZA-981: selecting only the vars
used in query
Repository: clerezza-rdf-core
Updated Branches:
refs/heads/master d29ca7f7b -> d1dc9e835
CLEREZZA-981: selecting only the vars used in query
Project: http://git-wip-us.apache.org/repos/asf/clerezza-rdf-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/clerezza-rdf-core/commit/d1dc9e83
Tree: http://git-wip-us.apache.org/repos/asf/clerezza-rdf-core/tree/d1dc9e83
Diff: http://git-wip-us.apache.org/repos/asf/clerezza-rdf-core/diff/d1dc9e83
Branch: refs/heads/master
Commit: d1dc9e835c0c5c88f32c228ae351c72920b21649
Parents: d29ca7f
Author: Reto Gmür <re...@apache.org>
Authored: Mon Mar 30 10:44:33 2015 +0000
Committer: Reto Gmür <re...@apache.org>
Committed: Mon Mar 30 10:44:33 2015 +0000
----------------------------------------------------------------------
.../commons/rdf/impl/sparql/SparqlGraph.java | 39 +++++++++++---------
1 file changed, 22 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/clerezza-rdf-core/blob/d1dc9e83/impl.sparql/src/main/java/org/apache/commons/rdf/impl/sparql/SparqlGraph.java
----------------------------------------------------------------------
diff --git a/impl.sparql/src/main/java/org/apache/commons/rdf/impl/sparql/SparqlGraph.java b/impl.sparql/src/main/java/org/apache/commons/rdf/impl/sparql/SparqlGraph.java
index 7a4c48d..594a264 100644
--- a/impl.sparql/src/main/java/org/apache/commons/rdf/impl/sparql/SparqlGraph.java
+++ b/impl.sparql/src/main/java/org/apache/commons/rdf/impl/sparql/SparqlGraph.java
@@ -337,46 +337,51 @@ public class SparqlGraph extends AbstractGraph {
}
private String createQuery(final BlankNodeOrIri filterSubject, final Iri filterPredicate, final RdfTerm filterObject) {
- final StringBuilder queryBuilder = new StringBuilder();
- queryBuilder.append("SELECT ?s ?p ?o WHERE { ");
+ final StringBuilder selectBuilder = new StringBuilder();
+ selectBuilder.append("SELECT ");
+ final StringBuilder whereBuilder = new StringBuilder();
+ whereBuilder.append("WHERE { ");
if (filterSubject == null) {
- queryBuilder.append("?s");
+ whereBuilder.append("?s");
+ selectBuilder.append("?s ");
} else {
if (filterSubject instanceof SparqlBNode) {
- queryBuilder.append("?sn");
+ whereBuilder.append("?sn");
} else {
- queryBuilder.append(asSparqlTerm(filterSubject));
+ whereBuilder.append(asSparqlTerm(filterSubject));
}
}
- queryBuilder.append(' ');
+ whereBuilder.append(' ');
if (filterPredicate == null) {
- queryBuilder.append("?p");
+ whereBuilder.append("?p");
+ selectBuilder.append("?p ");
} else {
- queryBuilder.append(asSparqlTerm(filterPredicate));
+ whereBuilder.append(asSparqlTerm(filterPredicate));
}
- queryBuilder.append(' ');
+ whereBuilder.append(' ');
if (filterObject == null) {
- queryBuilder.append("?o");
+ whereBuilder.append("?o");
+ selectBuilder.append("?o ");
} else {
if (filterObject instanceof SparqlBNode) {
- queryBuilder.append("?on");
+ whereBuilder.append("?on");
} else {
- queryBuilder.append(asSparqlTerm(filterObject));
+ whereBuilder.append(asSparqlTerm(filterObject));
}
}
- queryBuilder.append(" .\n");
+ whereBuilder.append(" .\n");
if (filterSubject instanceof SparqlBNode) {
//expand bnode context
- writeTriplePattern(queryBuilder, ((SparqlBNode) filterSubject).context, "sn");
+ writeTriplePattern(whereBuilder, ((SparqlBNode) filterSubject).context, "sn");
}
if (filterObject instanceof SparqlBNode) {
//expand bnode context
- writeTriplePattern(queryBuilder, ((SparqlBNode) filterObject).context, "on");
+ writeTriplePattern(whereBuilder, ((SparqlBNode) filterObject).context, "on");
}
- queryBuilder.append(" }");
- return queryBuilder.toString();
+ whereBuilder.append(" }");
+ return selectBuilder.append(whereBuilder).toString();
}
@Override