You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2015/08/24 10:13:12 UTC
[03/50] jena git commit: fix bugs for qparse of JENA-491
fix bugs for qparse of JENA-491
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/68254a2b
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/68254a2b
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/68254a2b
Branch: refs/heads/master
Commit: 68254a2be094342aec75ff6e7028af5ab36e3b61
Parents: 9920b52
Author: confidencesun <co...@gmail.com>
Authored: Wed Jul 29 11:29:51 2015 +0800
Committer: confidencesun <co...@gmail.com>
Committed: Wed Jul 29 11:29:51 2015 +0800
----------------------------------------------------------------------
.../constructquads/ExampleConstructQuads.java | 10 +++++++-
.../jena/sparql/lang/arq/ARQParserBase.java | 6 +++--
.../jena/sparql/serializer/FmtTemplate.java | 26 +++++++++++++++++---
.../org/apache/jena/sparql/syntax/Template.java | 19 +++++++++++++-
4 files changed, 54 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/68254a2b/jena-arq/src-examples/arq/examples/constructquads/ExampleConstructQuads.java
----------------------------------------------------------------------
diff --git a/jena-arq/src-examples/arq/examples/constructquads/ExampleConstructQuads.java b/jena-arq/src-examples/arq/examples/constructquads/ExampleConstructQuads.java
index ae724ec..4ef097e 100644
--- a/jena-arq/src-examples/arq/examples/constructquads/ExampleConstructQuads.java
+++ b/jena-arq/src-examples/arq/examples/constructquads/ExampleConstructQuads.java
@@ -65,6 +65,7 @@ public class ExampleConstructQuads {
Iterator<Quad> quads = qexec.execConstructQuads();
PrintUtil.printOut(quads);
qexec.close();
+ arq.qparse.main("--in", "arq", queryString);
// construct default graph 1
System.out.println("construct default graph 1:");
@@ -74,6 +75,7 @@ public class ExampleConstructQuads {
quads = qexec.execConstructQuads();
PrintUtil.printOut(quads);
qexec.close();
+ arq.qparse.main("--in", "arq", queryString);
// construct default graph 2
System.out.println("construct default graph 2:");
@@ -83,6 +85,7 @@ public class ExampleConstructQuads {
quads = qexec.execConstructQuads();
PrintUtil.printOut(quads);
qexec.close();
+ arq.qparse.main("--in", "arq", queryString);
// construct triples
System.out.println("construct default graph 2:");
@@ -92,6 +95,7 @@ public class ExampleConstructQuads {
Iterator<Triple> triples = qexec.execConstructTriples();
PrintUtil.printOut(triples);
qexec.close();
+ arq.qparse.main("--in", "arq", queryString);
//construct dataset
System.out.println("construct dataset:");
@@ -101,6 +105,7 @@ public class ExampleConstructQuads {
Dataset d = qexec.execConstructDataset();
RDFDataMgr.write(System.out, d, Lang.TRIG) ;
qexec.close();
+ arq.qparse.main("--in", "arq", queryString);
//short form 1
System.out.println("short form 1:");
@@ -110,6 +115,7 @@ public class ExampleConstructQuads {
quads = qexec.execConstructQuads();
PrintUtil.printOut(quads);
qexec.close();
+ arq.qparse.main("--in", "arq", queryString);
//short form 2
System.out.println("short form 2:");
@@ -119,6 +125,7 @@ public class ExampleConstructQuads {
quads = qexec.execConstructQuads();
PrintUtil.printOut(quads);
qexec.close();
+ arq.qparse.main("--in", "arq", queryString);
//short form 3
System.out.println("short form 3:");
@@ -128,6 +135,7 @@ public class ExampleConstructQuads {
triples = qexec.execConstructTriples();
PrintUtil.printOut(triples);
qexec.close();
+ arq.qparse.main("--in", "arq", queryString);
//short form 4
System.out.println("short form 4:");
@@ -137,7 +145,7 @@ public class ExampleConstructQuads {
quads = qexec.execConstructQuads();
PrintUtil.printOut(quads);
qexec.close();
-
+ arq.qparse.main("--in", "arq", queryString);
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/68254a2b/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParserBase.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParserBase.java b/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParserBase.java
index 3a11805..eac508e 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParserBase.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParserBase.java
@@ -93,8 +93,10 @@ class ARQParserBase
}
for(Node n: graphs.keySet()){
Element el = new ElementPathBlock(graphs.get(n));
- if(! Quad.defaultGraphIRI.equals(n) ){
- el = new ElementNamedGraph(n, el);
+ if(! Quad.defaultGraphNodeGenerated.equals(n) ){
+ ElementGroup e = new ElementGroup();
+ e.addElement(el);
+ el = new ElementNamedGraph(n, e);
}
elg.addElement(el);
}
http://git-wip-us.apache.org/repos/asf/jena/blob/68254a2b/jena-arq/src/main/java/org/apache/jena/sparql/serializer/FmtTemplate.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/serializer/FmtTemplate.java b/jena-arq/src/main/java/org/apache/jena/sparql/serializer/FmtTemplate.java
index a1b65fd..d422d1c 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/serializer/FmtTemplate.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/serializer/FmtTemplate.java
@@ -18,9 +18,10 @@
package org.apache.jena.sparql.serializer;
-import org.apache.jena.atlas.io.IndentedLineBuffer ;
-import org.apache.jena.atlas.io.IndentedWriter ;
-import org.apache.jena.sparql.syntax.Template ;
+import org.apache.jena.atlas.io.IndentedLineBuffer;
+import org.apache.jena.atlas.io.IndentedWriter;
+import org.apache.jena.sparql.syntax.Template;
+import org.apache.jena.sparql.util.FmtUtils;
public class FmtTemplate extends FormatterBase
implements FormatterTemplate
@@ -51,6 +52,19 @@ public class FmtTemplate extends FormatterBase
@Override
public void format(Template template)
{
+
+ if (template.isConstructQuadTemplate()){
+ out.print("{") ;
+ out.incIndent(INDENT) ;
+ out.pad() ;
+
+ out.print("GRAPH");
+ out.print(" ");
+ out.print(FmtUtils.stringForNode(template.getGraphNode()));
+ out.print(" ");
+ }
+
+
out.print("{") ;
out.incIndent(INDENT) ;
out.pad() ;
@@ -60,6 +74,12 @@ public class FmtTemplate extends FormatterBase
out.decIndent(INDENT) ;
out.print("}") ;
out.newline() ;
+
+ if (template.isConstructQuadTemplate()){
+ out.decIndent(INDENT) ;
+ out.print("}") ;
+ out.newline() ;
+ }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/68254a2b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Template.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Template.java b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Template.java
index 248ce7e..eb970c1 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Template.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Template.java
@@ -53,6 +53,17 @@ public class Template
this.bgp = bgp;
this.qp = null;
}
+
+ public boolean isConstructQuadTemplate(){
+ return this.qp != null && ! this.getQuads().isEmpty();
+ }
+
+ public Node getGraphNode() {
+ if (!this.isConstructQuadTemplate()){
+ return null;
+ }
+ return this.getQuads().get(0).getGraph();
+ }
// public void addTriple(Triple t) { quads.addTriple(t) ; }
// public int mark() { return quads.mark() ; }
@@ -123,9 +134,15 @@ public class Template
hash = hashNode(quad.getSubject()) ^ hash<<1 ;
hash = hashNode(quad.getPredicate()) ^ hash<<1 ;
hash = hashNode(quad.getObject()) ^ hash<<1 ;
- hash = hashNode(quad.getGraph()) ^ hash<<1 ;
+ hash = hashGraph(quad.getGraph()) ^ hash<<1 ;
return hash ;
}
+
+ private static int hashGraph(Node node){
+ if ( node == null ) return Quad.defaultGraphNodeGenerated.hashCode() ;
+ if ( node.isBlank() ) return 59 ;
+ return node.hashCode() ;
+ }
private static int hashNode(Node node)
{