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() {