This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jena.git


The following commit(s) were added to refs/heads/master by this push:
     new d23a6ac  JENA-1855: Quad.defaultGraphNodeGenerated from TriG parsing.
     new 64253b9  Merge pull request #706 from afs/jena-1855-parsed-quads
d23a6ac is described below

commit d23a6acc64a5e0467503c867e8a7bfd842939627
Author: Andy Seaborne <[email protected]>
AuthorDate: Tue Mar 10 18:39:41 2020 +0000

    JENA-1855: Quad.defaultGraphNodeGenerated from TriG parsing.
---
 .../java/org/apache/jena/riot/lang/LangTriG.java   |  4 +-
 .../apache/jena/riot/lang/CatchParserOutput.java   | 51 ++++++++++++++++++++++
 .../apache/jena/riot/lang/TestParserFactory.java   | 47 ++++++++------------
 3 files changed, 71 insertions(+), 31 deletions(-)

diff --git a/jena-arq/src/main/java/org/apache/jena/riot/lang/LangTriG.java 
b/jena-arq/src/main/java/org/apache/jena/riot/lang/LangTriG.java
index e058957..3c9c68a 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/lang/LangTriG.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/lang/LangTriG.java
@@ -259,8 +259,8 @@ public class LangTriG extends LangTurtleBase {
     protected void emit(Node subject, Node predicate, Node object) {
         Node graph = getCurrentGraph() ;
 
-        if ( graph == Quad.defaultGraphNodeGenerated )
-            graph = Quad.tripleInQuad ;
+        if ( graph == Quad.tripleInQuad )
+            graph = Quad.defaultGraphNodeGenerated;
 
         Quad quad = profile.createQuad(graph, subject, predicate, object, 
currLine, currCol) ;
         dest.quad(quad) ;
diff --git 
a/jena-arq/src/test/java/org/apache/jena/riot/lang/CatchParserOutput.java 
b/jena-arq/src/test/java/org/apache/jena/riot/lang/CatchParserOutput.java
new file mode 100644
index 0000000..1a20ca0
--- /dev/null
+++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/CatchParserOutput.java
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.riot.lang;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.jena.atlas.lib.Pair;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.riot.system.StreamRDF;
+import org.apache.jena.sparql.core.Quad;
+
+class CatchParserOutput implements StreamRDF
+{
+    List<Triple>      triples     = new ArrayList<>() ;
+    List<Quad>        quads       = new ArrayList<>() ;
+    List<Pair<String,String>>     prefixes     = new ArrayList<>() ;
+    List<String>     bases       = new ArrayList<>() ;
+    
+    int startCalled = 0 ;
+    
+    int finishCalled = 0 ;
+    
+    @Override public void start()   { startCalled++ ; }
+    
+    @Override public void triple(Triple triple)     { triples.add(triple) ; }
+    
+    @Override public void quad(Quad quad)           { quads.add(quad) ; }
+    
+    @Override public void base(String base)         { bases.add(base) ; }
+    
+    @Override public void prefix(String prefix, String iri) { 
prefixes.add(Pair.create(prefix, iri)) ; }
+    
+    @Override public void finish()  { finishCalled++ ; }
+}
\ No newline at end of file
diff --git 
a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestParserFactory.java 
b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestParserFactory.java
index 6b9e5ca..762913d 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestParserFactory.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestParserFactory.java
@@ -19,11 +19,9 @@
 package org.apache.jena.riot.lang;
 
 import java.io.StringReader ;
-import java.util.ArrayList ;
 import java.util.List ;
 
 import org.apache.jena.atlas.junit.BaseTest ;
-import org.apache.jena.atlas.lib.Pair ;
 import org.apache.jena.graph.Triple ;
 import org.apache.jena.riot.Lang ;
 import org.apache.jena.riot.RDFParser ;
@@ -38,30 +36,6 @@ import org.junit.Test ;
 /** System-level testing of the parsers - testing the parser plumbing, not the 
language details */
 public class TestParserFactory extends BaseTest
 {
-    static class CatchParserOutput implements StreamRDF
-    {
-        List<Triple>      triples     = new ArrayList<>() ;
-        List<Quad>        quads       = new ArrayList<>() ;
-        List<Pair<String,String>>     prefixes     = new ArrayList<>() ;
-        List<String>     bases       = new ArrayList<>() ;
-        
-        int startCalled = 0 ;
-        
-        int finishCalled = 0 ;
-        
-        @Override public void start()   { startCalled++ ; }
-        
-        @Override public void triple(Triple triple)     { triples.add(triple) 
; }
-        
-        @Override public void quad(Quad quad)           { quads.add(quad) ; }
-        
-        @Override public void base(String base)         { bases.add(base) ; }
-        
-        @Override public void prefix(String prefix, String iri) { 
prefixes.add(Pair.create(prefix, iri)) ; }
-        
-        @Override public void finish()  { finishCalled++ ; }
-    }
-
     @Test public void ntriples_01() 
     {
         {
@@ -154,8 +128,23 @@ public class TestParserFactory extends BaseTest
         assertEquals(q, last(sink.quads)) ;
     }
 
-    @Test public void trig_01() 
-    {
+    @Test public void nquads_dft_triple() {
+        // JENA-1854
+        String s = "<x> <p> <q> ." ; 
+        CatchParserOutput sink = parseCapture(s, Lang.NQ) ;
+        assertEquals(1, sink.startCalled) ;
+        assertEquals(1, sink.finishCalled) ;
+        assertEquals(0, sink.triples.size()) ;
+        assertEquals(1, sink.quads.size()) ;
+        
+        Triple t = SSE.parseTriple("(<x> <p> <q>)") ;
+        Quad q = new Quad(Quad.defaultGraphNodeGenerated, t) ;
+        assertEquals(q, last(sink.quads)) ;
+    }
+
+    
+    @Test public void trig_dft_triple() {
+        // JENA-1854
         String s = "{ <x> <p> <q> }" ; 
         CatchParserOutput sink = parseCapture(s, Lang.TRIG) ;
         assertEquals(1, sink.startCalled) ;
@@ -164,7 +153,7 @@ public class TestParserFactory extends BaseTest
         assertEquals(1, sink.quads.size()) ;
         
         Triple t = SSE.parseTriple("(<http://base/x> <http://base/p> 
<http://base/q>)") ;
-        Quad q = new Quad(Quad.tripleInQuad, t) ;
+        Quad q = new Quad(Quad.defaultGraphNodeGenerated, t) ;
         assertEquals(q, last(sink.quads)) ;
     }
     

Reply via email to