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 2013/02/23 21:25:23 UTC

svn commit: r1449404 - in /jena/Experimental/riot-output: ./ src/main/java/dev/ src/main/java/riot/ src/main/java/riot/system/ src/main/java/riot/writer/

Author: andy
Date: Sat Feb 23 20:25:23 2013
New Revision: 1449404

URL: http://svn.apache.org/r1449404
Log:
Print @base
Fix alignment of nest []-predicate object lists.
Remove RDFFormatVariant API calls (prefer create the RDFFormat)
Add all Writer combinations (deprecated if not StringWriter).

Modified:
    jena/Experimental/riot-output/D.ttl
    jena/Experimental/riot-output/src/main/java/dev/MainWriter.java
    jena/Experimental/riot-output/src/main/java/dev/PROJECT_RiotWriter.java
    jena/Experimental/riot-output/src/main/java/riot/RDFWriterMgr.java
    jena/Experimental/riot-output/src/main/java/riot/system/RiotLib.java
    jena/Experimental/riot-output/src/main/java/riot/writer/TriGWriter.java
    jena/Experimental/riot-output/src/main/java/riot/writer/TurtleShell.java
    jena/Experimental/riot-output/src/main/java/riot/writer/TurtleWriter.java

Modified: jena/Experimental/riot-output/D.ttl
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/D.ttl?rev=1449404&r1=1449403&r2=1449404&view=diff
==============================================================================
--- jena/Experimental/riot-output/D.ttl (original)
+++ jena/Experimental/riot-output/D.ttl Sat Feb 23 20:25:23 2013
@@ -1,9 +1,25 @@
+@base   <http://example/X/> .
 @prefix : <http://example/> .
 @prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
 @prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
 
-(1 2) :p (3 4 ) ;
+## :s :p2 [ :x :y ] , [ :x :y ] .
+## 
+## :s :p1 [ :x [:a [ :b 1] , [:c 2] ], [:a [ :b 1] , [:c 2] ] ] .
+
+:s :p3 [ :x 9 , [:a [ :b 1] , [:c 2] ] ] .
+
+:s :p3 1,2,3,4 ;
 
+## [:q 5 ; :r 10,11 ; :s [:a :B1; :a1 :C] , [ :a :b1,:b2 ; :a1 :c ] ] .
+## [:q 5 ; :r 10,11 ] .
+## :s :p :o .
+
+
+## <x> <p> <o> .
+## 
+## ## (1 2) :p (3 4 ) ;
+## 
 ## :s :q 123 .
 ## 
 ## :s :p 1,2, [:q 5 ; :r 10 ] .
@@ -36,5 +52,5 @@
 ## :s a :T .
 ## :s rdf:label "Label" .
 ## :s rdfs:foo "Label" .
-
-
+## 
+## 

Modified: jena/Experimental/riot-output/src/main/java/dev/MainWriter.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/dev/MainWriter.java?rev=1449404&r1=1449403&r2=1449404&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/dev/MainWriter.java (original)
+++ jena/Experimental/riot-output/src/main/java/dev/MainWriter.java Sat Feb 23 20:25:23 2013
@@ -32,6 +32,7 @@ import org.apache.jena.riot.system.Prefi
 import org.apache.jena.riot.system.StreamRDF ;
 import riot.RDFFormat ;
 import riot.RDFWriterMgr ;
+import riot.system.IO_Jena2 ;
 
 import com.hp.hpl.jena.graph.Graph ;
 import com.hp.hpl.jena.graph.Node ;
@@ -49,24 +50,20 @@ public class MainWriter
     {
 //        writeTriG() ;
 //        System.exit(0) ;
-//        System.out.println("## -- --");
-        writeAll() ;
+//        writeAll() ;
 //        System.exit(0) ;
         
-//        String fn = "D.ttl" ;   
-//        
-//        Model m = RDFDataMgr.loadModel(fn) ;
-//        Writer out = new OutputStreamWriter(System.out) ;
-//        System.out.println("## -- 1");
-//        m.write(out, "TTL") ;
-//        IO_Jena2.wireIntoJenaW() ;
-//        System.out.println("## -- 2");
-//        m.write(out, "TTL") ;
-//        
-//        IO_Jena2.resetJenaW() ;
-//        System.out.println("## -- 3");
-//        m.write(out, "TTL") ;
+        String fn = "D.ttl" ;   
         
+        Model m = RDFDataMgr.loadModel(fn) ;
+        RDFWriterMgr.write(System.out, m, Lang.TTL) ;
+        System.out.println("## -------------------") ;
+        IO_Jena2.resetJenaW() ;
+        m.write(System.out, "TTL") ;
+        
+//        System.out.println("## -------------------") ;
+//        Dataset ds = DatasetFactory.create(m) ;
+//        RDFWriterMgr.write(System.out, ds, Lang.TRIG) ;
         
         //writeTTL() ;
         //writeTriG() ;

Modified: jena/Experimental/riot-output/src/main/java/dev/PROJECT_RiotWriter.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/dev/PROJECT_RiotWriter.java?rev=1449404&r1=1449403&r2=1449404&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/dev/PROJECT_RiotWriter.java (original)
+++ jena/Experimental/riot-output/src/main/java/dev/PROJECT_RiotWriter.java Sat Feb 23 20:25:23 2013
@@ -21,11 +21,19 @@ package dev;
 public class PROJECT_RiotWriter
 {
     // JSON-LD
+    // Use of base URI - interface issue
+    //   Base must end / or # to work.
+    // Pair a PrefixMap and base URI (prologue)? 
+    
+    // TrigWriter - the same {} line flags as the blocks writer.
+    // TurtleShell - :s :p [ :x :y ] , [ :x :y ] .
+    // ** Only use object list for literals.
+    // sortIntoWriteOrder -- List of predicate, map of predicate to list of objects
     
     // ready to migrate.
 
-    // Check WriterStreamRDFBase for unused.
-    // Prefixes for datasetgraphs
+    // ** Prefixes for DatasetGraphs
+    // per graph, per dataset
     
     // RDFDataMgr.write(filename)
     

Modified: jena/Experimental/riot-output/src/main/java/riot/RDFWriterMgr.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/RDFWriterMgr.java?rev=1449404&r1=1449403&r2=1449404&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/RDFWriterMgr.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/RDFWriterMgr.java Sat Feb 23 20:25:23 2013
@@ -43,17 +43,6 @@ public class RDFWriterMgr
         write(out, model.getGraph(), lang) ;
     }
 
-    /** Write the model to the output stream for the language and variant of serialization. 
-     * @param out       OutputStream
-     * @param model     Model to write
-     * @param lang      Language for the seralization.
-     * @param variant   Language seralization variant
-     */
-    public static void write(OutputStream out, Model model, Lang lang, RDFFormatVariant variant) 
-    {
-        write(out, model.getGraph(), lang, variant) ;
-    }
-
     /** Write the model to the output stream in the default serialization for the language.
      * @param out           OutputStream
      * @param model         Model to write
@@ -67,18 +56,6 @@ public class RDFWriterMgr
     /** Write the graph to the output stream in the default serialization for the language.
      * @param out           OutputStream
      * @param model         Model to write
-     * @param serialization Serialization format
-     * @deprecated Use of writers is deprecated - use an OutputStream
-     */
-    @Deprecated
-    public static void write(Writer out, Model model, RDFFormat serialization)
-    {
-        write(out, model.getGraph(), serialization) ;
-    }
-
-    /** Write the graph to the output stream in the default serialization for the language.
-     * @param out           OutputStream
-     * @param model         Model to write
      * @param lang          Serialization format
      */
     public static void write(StringWriter out, Model model, Lang lang)
@@ -97,25 +74,25 @@ public class RDFWriterMgr
     }
 
     /** Write the graph to the output stream in the default serialization for the language.
-     * @param out       OutputStream
-     * @param graph     Graph to write
-     * @param lang      Language for the seralization.
+     * @param out           OutputStream
+     * @param model         Model to write
+     * @param serialization Serialization format
+     * @deprecated Use of writers is deprecated - use an OutputStream
      */
-    public static void write(OutputStream out, Graph graph, Lang lang)
+    @Deprecated
+    public static void write(Writer out, Model model, RDFFormat serialization)
     {
-        RDFFormat serialization = RDFWriterRegistry.defaultSerialization(lang) ;
-        write(out, graph, serialization) ;
+        write(out, model.getGraph(), serialization) ;
     }
 
-    /** Write the graph to the output stream for the language and variant of serialization. 
+    /** Write the graph to the output stream in the default serialization for the language.
      * @param out       OutputStream
      * @param graph     Graph to write
      * @param lang      Language for the seralization.
-     * @param variant   Language seralization variant
      */
-    public static void write(OutputStream out, Graph graph, Lang lang, RDFFormatVariant variant) 
+    public static void write(OutputStream out, Graph graph, Lang lang)
     {
-        RDFFormat serialization = new RDFFormat(lang, variant) ;
+        RDFFormat serialization = RDFWriterRegistry.defaultSerialization(lang) ;
         write(out, graph, serialization) ;
     }
 
@@ -126,11 +103,7 @@ public class RDFWriterMgr
      */
     public static void write(OutputStream out, Graph graph, RDFFormat serialization)
     {
-        WriterGraphRIOTFactory wf = RDFWriterRegistry.getWriterGraphFactory(serialization) ;
-        if ( wf == null )
-            throw new RiotException("No graph writer for "+serialization) ; 
-        WriterGraphRIOT w = wf.create(serialization) ;
-        w.write(out, graph) ;
+        write$(out, graph, serialization) ;
     }
 
     /** Write the graph to the output stream in the default serialization for the language.
@@ -141,7 +114,7 @@ public class RDFWriterMgr
     public static void write(StringWriter out, Graph graph, Lang lang)
     {
         // Only known reasonable use of a Writer
-        write(out, graph, RDFWriterRegistry.defaultSerialization(lang)) ;
+        write$(out, graph, RDFWriterRegistry.defaultSerialization(lang)) ;
     }
 
     /** Write the graph to the output stream in the default serialization for the language.
@@ -152,7 +125,7 @@ public class RDFWriterMgr
     public static void write(StringWriter out, Graph graph, RDFFormat serialization)
     {
         // Only known reasonable use of a Writer
-        write(out, graph, serialization) ;
+        write$(out, graph, serialization) ;
     }
 
     /** Write the graph to the output stream in the default serialization for the language.
@@ -164,13 +137,9 @@ public class RDFWriterMgr
     @Deprecated
     public static void write(Writer out, Graph graph, RDFFormat serialization)
     {
-        WriterGraphRIOTFactory wf = RDFWriterRegistry.getWriterGraphFactory(serialization) ;
-        if ( wf == null )
-            throw new RiotException("No graph writer for "+serialization) ; 
-        WriterGraphRIOT w = wf.create(serialization) ;
-        w.write(out, graph) ;
+        write$(out, graph, serialization) ;
     }
-
+    
     /** Write the Dataset to the output stream in the default serialization for the language.
      * @param out       OutputStream
      * @param dataset   Dataset to write
@@ -181,25 +150,47 @@ public class RDFWriterMgr
         write(out, dataset.asDatasetGraph(), lang) ;
     }
 
-    /** Write the graph to the output stream for the language and variant of serialization. 
-     * @param out       OutputStream
-     * @param dataset   Dataset to write
+    /** Write the graph to the output stream in the default serialization for the language.
+     * @param out           OutputStream
+     * @param dataset       Dataset to write
+     * @param serialization Serialization format
+     */
+    public static void write(OutputStream out, Dataset dataset, RDFFormat serialization)
+    {
+        write(out, dataset.asDatasetGraph(), serialization) ;
+    }
+
+    /** Write the graph to the output stream in the default serialization for the language.
+     * @param out           Writer
+     * @param dataset       Dataset to write
+     * @param serialization Serialization format
+     */
+    public static void write(StringWriter out, Dataset dataset, RDFFormat serialization)
+    {
+        write$(out, dataset.asDatasetGraph(), serialization) ;
+    }
+
+    /** Write the graph to the output stream in the default serialization for the language.
+     * @param out           StringWriter
+     * @param dataset       Dataset to write
      * @param lang      Language for the seralization.
-     * @param variant   Language seralization variant
      */
-    public static void write(OutputStream out, Dataset dataset, Lang lang, RDFFormatVariant variant) 
+    public static void write(StringWriter out, Dataset dataset, Lang lang)
     {
-        write(out, dataset.asDatasetGraph(), lang, variant) ;
+        RDFFormat serialization = RDFWriterRegistry.defaultSerialization(lang) ;
+        write$(out, dataset.asDatasetGraph(), serialization) ;
     }
 
     /** Write the graph to the output stream in the default serialization for the language.
-     * @param out           OutputStream
+     * @param out           Writer
      * @param dataset       Dataset to write
      * @param serialization Serialization format
+     * @deprecated Use of writers is deprecated - use an OutputStream
      */
-    public static void write(OutputStream out, Dataset dataset, RDFFormat serialization)
+    @Deprecated
+    public static void write(Writer out, Dataset dataset, RDFFormat serialization)
     {
-        write(out, dataset.asDatasetGraph(), serialization) ;
+        write$(out, dataset.asDatasetGraph(), serialization) ;
     }
 
     /** Write the DatasetGraph to the output stream in the default serialization for the language.
@@ -213,24 +204,78 @@ public class RDFWriterMgr
         write(out, dataset, serialization) ;
     }
 
-    /** Write the graph to the output stream for the language and variant of serialization. 
-     * @param out       OutputStream
+    /** Write the graph to the output stream in the default serialization for the language.
+     * @param out           OutputStream
+     * @param dataset       DatasetGraph to write
+     * @param serialization Serialization format
+     */
+    public static void write(OutputStream out, DatasetGraph dataset, RDFFormat serialization)
+    {
+        write$(out, dataset, serialization) ;
+    }
+
+    /** Write the DatasetGraph to the output stream in the default serialization for the language.
+     * @param out       StringWriter
      * @param dataset   DatasetGraph to write
      * @param lang      Language for the seralization.
-     * @param variant   Language seralization variant
      */
-    public static void write(OutputStream out, DatasetGraph dataset, Lang lang, RDFFormatVariant variant) 
+    public static void write(StringWriter out, DatasetGraph dataset, Lang lang)
     {
-        RDFFormat serialization = new RDFFormat(lang, variant) ;
+        RDFFormat serialization = RDFWriterRegistry.defaultSerialization(lang) ;
         write(out, dataset, serialization) ;
     }
 
     /** Write the graph to the output stream in the default serialization for the language.
-     * @param out           OutputStream
+     * @param out           StringWriter
      * @param dataset       DatasetGraph to write
      * @param serialization Serialization format
      */
-    public static void write(OutputStream out, DatasetGraph dataset, RDFFormat serialization)
+    public static void write(StringWriter out, DatasetGraph dataset, RDFFormat serialization)
+    {
+        write$(out, dataset, serialization) ;
+    }
+
+    /** Write the graph to the output stream in the default serialization for the language.
+     * @param out           Writer
+     * @param dataset       DatasetGraph to write
+     * @param serialization Serialization format
+     * @deprecated Use of writers is deprecated - use an OutputStream
+     */
+    @Deprecated
+    public static void write(Writer out, DatasetGraph dataset, RDFFormat serialization)
+    {
+        write$(out, dataset, serialization) ;
+    }
+
+
+    private static void write$(OutputStream out, Graph graph, RDFFormat serialization)
+    {
+        WriterGraphRIOTFactory wf = RDFWriterRegistry.getWriterGraphFactory(serialization) ;
+        if ( wf == null )
+            throw new RiotException("No graph writer for "+serialization) ; 
+        WriterGraphRIOT w = wf.create(serialization) ;
+        w.write(out, graph) ;
+    }
+
+    private static void write$(Writer out, Graph graph, RDFFormat serialization)
+    {
+        WriterGraphRIOTFactory wf = RDFWriterRegistry.getWriterGraphFactory(serialization) ;
+        if ( wf == null )
+            throw new RiotException("No graph writer for "+serialization) ; 
+        WriterGraphRIOT w = wf.create(serialization) ;
+        w.write(out, graph) ;
+    }
+
+    private static void write$(OutputStream out, DatasetGraph dataset, RDFFormat serialization)
+    {
+        WriterDatasetRIOTFactory wf = RDFWriterRegistry.getWriterDatasetFactory(serialization) ;
+        if ( wf == null )
+            throw new RiotException("No dataset writer for "+serialization) ; 
+        WriterDatasetRIOT w = wf.create(serialization) ;
+        w.write(out, dataset) ;
+    }
+
+    private static void write$(Writer out, DatasetGraph dataset, RDFFormat serialization)
     {
         WriterDatasetRIOTFactory wf = RDFWriterRegistry.getWriterDatasetFactory(serialization) ;
         if ( wf == null )

Modified: jena/Experimental/riot-output/src/main/java/riot/system/RiotLib.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/system/RiotLib.java?rev=1449404&r1=1449403&r2=1449404&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/system/RiotLib.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/system/RiotLib.java Sat Feb 23 20:25:23 2013
@@ -85,6 +85,20 @@ public class RiotLib
 
     public static boolean strSafeFor(String str, char ch) { return str.indexOf(ch) == -1 ; }
 
+    public static void writeBase(IndentedWriter out, String base)
+    {
+        if ( base != null )
+        {
+            out.print("@base ") ;
+            out.pad(PREFIX_IRI) ;
+            out.print("<") ;
+            out.print(base) ;
+            out.print(">") ;
+            out.print(" .") ;
+            out.println() ;
+        }
+    }
+    
     public static void writePrefixes(IndentedWriter out, PrefixMap prefixMap)
     {        
         if ( ! prefixMap.isEmpty() )

Modified: jena/Experimental/riot-output/src/main/java/riot/writer/TriGWriter.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/writer/TriGWriter.java?rev=1449404&r1=1449403&r2=1449404&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/writer/TriGWriter.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/writer/TriGWriter.java Sat Feb 23 20:25:23 2013
@@ -46,6 +46,7 @@ public class TriGWriter extends TriGWrit
 
         private void write(DatasetGraph dsg)
         {
+            writeBase(baseURI) ;
             writePrefixes(prefixMap) ;
             if ( ! prefixMap.isEmpty() && !dsg.isEmpty() )
                 out.println() ;

Modified: jena/Experimental/riot-output/src/main/java/riot/writer/TurtleShell.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/writer/TurtleShell.java?rev=1449404&r1=1449403&r2=1449404&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/writer/TurtleShell.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/writer/TurtleShell.java Sat Feb 23 20:25:23 2013
@@ -56,6 +56,11 @@ public abstract class TurtleShell
         this.baseURI = baseURI ;
     }
 
+    protected void writeBase(String base)
+    {
+        RiotLib.writeBase(out, base) ;
+    }
+
     protected void writePrefixes(PrefixMap prefixMap)
     {
         RiotLib.writePrefixes(out, prefixMap) ;
@@ -345,7 +350,6 @@ public abstract class TurtleShell
                 if ( ! first ) 
                     out.println() ;
                 first = false ;
-
                 if ( freeBnodes.contains(subj) ) 
                 {
                     // Write in "[....]" form.
@@ -455,9 +459,9 @@ public abstract class TurtleShell
             }
         }
 
-        private void nestedObject(Node obj)
+        private void nestedObject(Node node)
         {
-            Collection<Triple> x = RiotLib.triplesOfSubject(graph, obj) ;
+            Collection<Triple> x = RiotLib.triplesOfSubject(graph, node) ;
 
             if ( x.isEmpty() )
             {
@@ -475,11 +479,10 @@ public abstract class TurtleShell
             }
 
             // Two or more.
-            int here = out.getCol() ; // before "["
-            print("[") ;
-            int i1 = out.getAbsoluteIndent() ;
+            int indent0 = out.getAbsoluteIndent() ;
+            int here = out.getCol() ;
             out.setAbsoluteIndent(here) ;
-            // Inline: println(out) ;
+            print("[") ;
             out.incIndent(2) ;
             writePredicateObjectList(x) ;
             out.decIndent(2) ;
@@ -492,7 +495,7 @@ public abstract class TurtleShell
             {   // Compact
                 print(" ]") ;
             }
-            out.setAbsoluteIndent(i1) ;
+            out.setAbsoluteIndent(indent0) ;
         }
         
         // Write a list

Modified: jena/Experimental/riot-output/src/main/java/riot/writer/TurtleWriter.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/writer/TurtleWriter.java?rev=1449404&r1=1449403&r2=1449404&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/writer/TurtleWriter.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/writer/TurtleWriter.java Sat Feb 23 20:25:23 2013
@@ -40,6 +40,7 @@ public class TurtleWriter extends Turtle
         }
         private void write(Graph graph)
         {
+            writeBase(baseURI) ;
             writePrefixes(prefixMap) ;
             if ( ! prefixMap.isEmpty() && !graph.isEmpty() )
                 out.println() ;