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/11/30 15:26:59 UTC

jena git commit: VarOrIRI -> VarOrBlankNodeOrIRI for construct-quads.

Repository: jena
Updated Branches:
  refs/heads/master 70360d6e3 -> 69786e18a


VarOrIRI -> VarOrBlankNodeOrIRI for construct-quads.


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/69786e18
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/69786e18
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/69786e18

Branch: refs/heads/master
Commit: 69786e18a194c45cf943436525c1f8bb2cd08f87
Parents: 70360d6
Author: Andy Seaborne <an...@apache.org>
Authored: Mon Nov 30 14:14:04 2015 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Mon Nov 30 14:26:42 2015 +0000

----------------------------------------------------------------------
 jena-arq/Grammar/arq.jj                         |  4 +--
 jena-arq/Grammar/master.jj                      | 20 +++--------
 .../apache/jena/sparql/lang/arq/ARQParser.java  |  2 +-
 .../org/apache/jena/sparql/api/TestAPI.java     | 37 +++++++++-----------
 4 files changed, 24 insertions(+), 39 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/69786e18/jena-arq/Grammar/arq.jj
----------------------------------------------------------------------
diff --git a/jena-arq/Grammar/arq.jj b/jena-arq/Grammar/arq.jj
index 5531a71..37f0103 100644
--- a/jena-arq/Grammar/arq.jj
+++ b/jena-arq/Grammar/arq.jj
@@ -514,8 +514,8 @@ void ConstructQuadsNotTriples(QuadAccSink acc) :
      }
 {
     (
-    <GRAPH>
-     gn = VarOrIri()
+      <GRAPH>
+      gn = VarOrBlankNodeOrIri()
     )?
     { setAccGraph(acc, gn) ; }
     <LBRACE>

http://git-wip-us.apache.org/repos/asf/jena/blob/69786e18/jena-arq/Grammar/master.jj
----------------------------------------------------------------------
diff --git a/jena-arq/Grammar/master.jj b/jena-arq/Grammar/master.jj
index 8669380..c43f68d 100644
--- a/jena-arq/Grammar/master.jj
+++ b/jena-arq/Grammar/master.jj
@@ -266,23 +266,12 @@ void ConstructQuery() : { Template t ;
       getQuery().setQueryPattern(elg) ;
     }
  )
-//#endif
 }
 #else
-
+// Complete compatibility - this differs from the above at "new Template"
 void ConstructQuery() : { Template t ; 
                           TripleCollectorBGP acc = new TripleCollectorBGP() ; }
 {
-// #ifndef ARQ
-//   <CONSTRUCT>
-//      { getQuery().setQueryConstructType() ; }
-//   t = ConstructTemplate() 
-//     { getQuery().setConstructTemplate(t) ; }
-//   ( DatasetClause() )*
-//   WhereClause()
-//   SolutionModifier()
-// #else
-
  <CONSTRUCT>
    { getQuery().setQueryConstructType() ; }
  (
@@ -311,7 +300,6 @@ void ConstructQuery() : { Template t ;
       getQuery().setQueryPattern(elg) ;
     }
  )
-//#endif
 }
 #endif
 
@@ -758,8 +746,8 @@ void ConstructQuadsNotTriples(QuadAccSink acc) :
      }
 {
     (
-  	 <GRAPH> /* TriG template :: (<GRAPH>)?*/
-     gn = VarOrIri()
+   	  <GRAPH> /* TriG template :: (<GRAPH>)?*/
+      gn = VarOrBlankNodeOrIri()
     )?
 
     { setAccGraph(acc, gn) ; }
@@ -767,9 +755,9 @@ void ConstructQuadsNotTriples(QuadAccSink acc) :
     (TriplesTemplate(acc))?
     <RBRACE>
     { setAccGraph(acc, prev) ; }
-    
 }
 #endif
+
 void TriplesTemplate(TripleCollector acc) : { }
 {    // same as ConstructTriples
 #if SPARQL_11

http://git-wip-us.apache.org/repos/asf/jena/blob/69786e18/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParser.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParser.java b/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParser.java
index 85c00c9..cb039fd 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParser.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParser.java
@@ -2001,7 +2001,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case GRAPH:
       jj_consume_token(GRAPH);
-      gn = VarOrIri();
+      gn = VarOrBlankNodeOrIri();
       break;
     default:
       jj_la1[66] = jj_gen;

http://git-wip-us.apache.org/repos/asf/jena/blob/69786e18/jena-arq/src/test/java/org/apache/jena/sparql/api/TestAPI.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/api/TestAPI.java b/jena-arq/src/test/java/org/apache/jena/sparql/api/TestAPI.java
index 0e4ac71..d8b51ca 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/api/TestAPI.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/api/TestAPI.java
@@ -20,26 +20,13 @@ package org.apache.jena.sparql.api;
 
 import java.util.Iterator;
 
+import org.apache.jena.atlas.iterator.Iter ;
 import org.apache.jena.atlas.junit.BaseTest;
+import org.apache.jena.graph.Graph ;
+import org.apache.jena.graph.Node ;
 import org.apache.jena.graph.Triple;
-import org.apache.jena.query.Dataset;
-import org.apache.jena.query.DatasetFactory;
-import org.apache.jena.query.Query;
-import org.apache.jena.query.QueryExecution;
-import org.apache.jena.query.QueryExecutionFactory;
-import org.apache.jena.query.QueryFactory;
-import org.apache.jena.query.QueryParseException;
-import org.apache.jena.query.QuerySolution;
-import org.apache.jena.query.QuerySolutionMap;
-import org.apache.jena.query.ResultSet;
-import org.apache.jena.query.ResultSetFormatter;
-import org.apache.jena.query.Syntax;
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.ModelFactory;
-import org.apache.jena.rdf.model.Property;
-import org.apache.jena.rdf.model.Resource;
-import org.apache.jena.rdf.model.ResourceFactory;
-import org.apache.jena.rdf.model.Statement;
+import org.apache.jena.query.* ;
+import org.apache.jena.rdf.model.* ;
 import org.apache.jena.sparql.core.DatasetGraph;
 import org.apache.jena.sparql.core.DatasetGraphFactory;
 import org.apache.jena.sparql.core.Quad;
@@ -403,9 +390,7 @@ public class TestAPI extends BaseTest
     @Test public void testARQConstructQuad_b_1() {
         String queryString = "CONSTRUCT { ?s ?p ?o GRAPH ?g1 { ?s1 ?p1 ?o1 } } WHERE { ?s ?p ?o. GRAPH ?g1 { ?s1 ?p1 ?o1 } }";
         Query q = QueryFactory.create(queryString, Syntax.syntaxARQ);
-        
         QueryExecution qExec = QueryExecutionFactory.create(q, d);
-        
         Iterator<Triple> ts = qExec.execConstructTriples();
         Model result = ModelFactory.createDefaultModel();
         while (ts.hasNext()) {
@@ -418,6 +403,18 @@ public class TestAPI extends BaseTest
         assertTrue(dft.isIsomorphicWith(result));
     }
     
+    @Test public void testARQConstructQuad_bnodes() {
+        String queryString = "PREFIX : <http://example/> CONSTRUCT { :s :p :o GRAPH _:a { :s :p :o1 } } WHERE { }";
+        Query q = QueryFactory.create(queryString, Syntax.syntaxARQ);
+        QueryExecution qExec = QueryExecutionFactory.create(q, d);
+        Dataset ds = qExec.execConstructDataset() ;
+        assertEquals(1, Iter.count(ds.asDatasetGraph().listGraphNodes())) ;
+        Node n = ds.asDatasetGraph().listGraphNodes().next();
+        assertTrue(n.isBlank());
+        Graph g = ds.asDatasetGraph().getGraph(n) ;
+        assertNotNull(g) ;
+        assertFalse(g.isEmpty()) ;
+   }
     
     // Allow duplicated quads in execConstructQuads()
     @Test public void testARQConstructQuad_Duplicate_1() {