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/12 21:57:33 UTC

svn commit: r1445356 - in /jena/Experimental/riot-output: ./ src/main/java/dev/ src/main/java/riot/ src/main/java/riot/adpaters/ src/main/java/riot/writer/ src/test/java/riot/writer/

Author: andy
Date: Tue Feb 12 20:57:32 2013
New Revision: 1445356

URL: http://svn.apache.org/r1445356
Log: (empty)

Added:
    jena/Experimental/riot-output/src/main/java/riot/writer/NullWriter.java
    jena/Experimental/riot-output/src/test/java/riot/writer/TestWriterRegistration.java
Removed:
    jena/Experimental/riot-output/src/main/java/dev/IO_Ctl.java
Modified:
    jena/Experimental/riot-output/D.ttl
    jena/Experimental/riot-output/src/main/java/dev/ExRIOT_out1.java
    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/RDFFormat.java
    jena/Experimental/riot-output/src/main/java/riot/RDFWriterRegistry.java
    jena/Experimental/riot-output/src/main/java/riot/RiotWriter.java
    jena/Experimental/riot-output/src/main/java/riot/adpaters/RDFWriterRIOT.java
    jena/Experimental/riot-output/src/test/java/riot/writer/TS_RiotWriter.java
    jena/Experimental/riot-output/src/test/java/riot/writer/TestRiotWriterDataset.java
    jena/Experimental/riot-output/src/test/java/riot/writer/TestRiotWriterGraph.java

Modified: jena/Experimental/riot-output/D.ttl
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/D.ttl?rev=1445356&r1=1445355&r2=1445356&view=diff
==============================================================================
--- jena/Experimental/riot-output/D.ttl (original)
+++ jena/Experimental/riot-output/D.ttl Tue Feb 12 20:57:32 2013
@@ -1,8 +1,8 @@
 @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#> .
 
-:s :pppp :o .
-:s :p (1 2) .
-:s :pppp :o .
-:s1 :pppp :o .
+:s :p :o%45 ;
+   :q 123 .
+
+## :s :p (1 2) .
+## :s :pppp :o .
+## :s1 :pppp :o .

Modified: jena/Experimental/riot-output/src/main/java/dev/ExRIOT_out1.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/dev/ExRIOT_out1.java?rev=1445356&r1=1445355&r2=1445356&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/dev/ExRIOT_out1.java (original)
+++ jena/Experimental/riot-output/src/main/java/dev/ExRIOT_out1.java Tue Feb 12 20:57:32 2013
@@ -45,7 +45,7 @@ public class ExRIOT_out1
         System.out.println() ;
         System.out.println("#### ---- Write as Turtle (streaming)") ;
         System.out.println() ;
-        RDFWriterMgr.write(System.out, model, RDFFormat.TurtleBlocks) ;
+        RDFWriterMgr.write(System.out, model, RDFFormat.TURTLE_BLOCKS) ;
         
         System.out.println() ;
         System.out.println("#### ---- Write as Turtle via model.write") ;

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=1445356&r1=1445355&r2=1445356&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/dev/MainWriter.java (original)
+++ jena/Experimental/riot-output/src/main/java/dev/MainWriter.java Tue Feb 12 20:57:32 2013
@@ -27,6 +27,7 @@ import org.apache.jena.atlas.lib.StrUtil
 import org.apache.jena.iri.IRI ;
 import org.apache.jena.riot.Lang ;
 import org.apache.jena.riot.RDFDataMgr ;
+import org.apache.jena.riot.RIOT ;
 import org.apache.jena.riot.system.PrefixMap ;
 import org.apache.jena.riot.system.PrefixMapFactory ;
 import org.apache.jena.riot.system.StreamRDF ;
@@ -42,20 +43,22 @@ import com.hp.hpl.jena.rdf.model.ModelFa
 import com.hp.hpl.jena.shared.PrefixMapping ;
 import com.hp.hpl.jena.sparql.core.DatasetGraph ;
 import com.hp.hpl.jena.sparql.core.Quad ;
-import com.hp.hpl.jena.util.FileManager ;
 
 public class MainWriter
 {
     public static void main(String ...args)
     {
-        //RIOT.init() ;
-        
-        Model m = FileManager.get().loadModel("D.ttl") ;
-        //Model m = ModelFactory.createDefaultModel() ;
-        m.read("D.ttl", "TTL") ;
-        
+        RIOT.init() ;
+        String fn = "D.ttl" ;
+        Model m = ModelFactory.createDefaultModel() ;
+        m.read(fn) ;
+        RDFWriterMgr.write(System.out, m, RDFFormat.RDFNULL) ;
+        //m.write(System.out, "TTL") ;
         System.out.println("DONE") ;
         System.exit(0) ;
+
+        writeAll() ;
+        System.exit(0) ;
         
         Dataset ds = RDFDataMgr.loadDataset("D.ttl") ;
         RDFWriterMgr.write(System.out, ds, Lang.TRIG) ;
@@ -80,15 +83,47 @@ public class MainWriter
         //writeTriG() ;
     }
     
+    public static void writeAll()
+    {
+        String fn = "D.ttl" ;
+        Model m = RDFDataMgr.loadModel(fn) ;
+        
+        RDFFormat formats[] = {
+            null
+//            , RDFFormat.Turtle
+//            , RDFFormat.TurtleBlocks
+//            , RDFFormat.TurtleFlat
+//            , RDFFormat.NTriples
+//            , RDFFormat.Trig
+//            , RDFFormat.TrigBlocks
+            , RDFFormat.TRIG_FLAT
+//            , RDFFormat.NQuads
+//            , RDFFormat.RDFXML
+//            , RDFFormat.RDFXMLPlain
+        } ;
+        
+        for ( RDFFormat f : formats )
+            if ( f != null )
+                write(m, f) ;
+    }
+    
+    public static int count = 0 ; 
+    public static void write(Model model, RDFFormat format)
+    {
+        System.out.println("## -------- "+format) ;
+        count ++ ;
+        RDFWriterMgr.write(System.out, model, format) ;
+    }
+    
     public static void writeTriG()
     {
         Dataset ds = RDFDataMgr.loadDataset("W.trig") ;
         System.out.println("# Write TriG") ;
-        RDFWriterMgr.write(System.out, ds, RDFFormat.Trig) ;
+        RDFWriterMgr.write(System.out, ds, RDFFormat.TRIG) ;
         System.out.println("# Write TriG (Blocks)") ;
-        RDFWriterMgr.write(System.out, ds, RDFFormat.TrigBlocks) ;
+        RDFWriterMgr.write(System.out, ds, RDFFormat.TRIG_BLOCKS) ;
         System.out.println("# Write TriG (Flat)") ;
-        RDFWriterMgr.write(System.out, ds, RDFFormat.TrigFlat) ;
+        RDFWriterMgr.write(System.out, ds, RDFFormat.TRIG_FLAT) ;
     }
     
     public static void writeTTL()
@@ -101,36 +136,6 @@ public class MainWriter
         boolean ALL = true ; 
         int written = 0 ;
         
-        if ( ALL || false )
-        {
-            System.out.println("# Write new (flat)") ;
-            RDFWriterMgr.write(System.out, m, RDFFormat.TurtleFlat) ;
-            System.out.println("----------------------------------") ;
-            written++ ;
-        }
-        if ( ALL || false )
-        {
-            System.out.println("# Write new (Pretty)") ;
-            RDFWriterMgr.write(System.out, m, RDFFormat.Turtle) ;
-            System.out.println("----------------------------------") ;
-            written++ ;
-        }
-        if ( ALL || false )
-        {
-            System.out.println("# Write new (blocks)") ;
-            RDFWriterMgr.write(System.out, m, RDFFormat.TurtleBlocks) ;
-            System.out.println("----------------------------------") ;
-            written++ ;
-        }
-        if ( ALL || false )
-        {
-            System.out.println("# Write old") ;
-            m.write(System.out, "TTL") ;
-            System.out.println("----------------------------------") ;
-            written++ ;
-        }
-        
-        if ( written > 0 ) System.exit(0) ;
 
 
         System.out.println("# Write (Pretty)") ;

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=1445356&r1=1445355&r2=1445356&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 Tue Feb 12 20:57:32 2013
@@ -22,10 +22,14 @@ package dev;
 public class PROJECT_RiotWriter
 {
     // JSON-LD
+    // Trig flat
     
-    // ExRIOT_out2 :: register language and writer 
-    
-    // defaultGraphSerialization - table ise.
+    // * Internationalization tests
+    // * Jena writer tests
+    // * Test for registered names e.g. TTL
+    // * Property ordering
+    // * riot --out XXX
+    // * Migration: RDFWriter -> RDFDataMgr
     
     // TODO - check for TODO
 

Modified: jena/Experimental/riot-output/src/main/java/riot/RDFFormat.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/RDFFormat.java?rev=1445356&r1=1445355&r2=1445356&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/RDFFormat.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/RDFFormat.java Tue Feb 12 20:57:32 2013
@@ -27,32 +27,35 @@ public class RDFFormat
 {
     static {  RIOT.init(); }
     
-    public static RDFFormatVariant wvPretty = new RDFFormatVariant("pretty" ) ;
-    public static RDFFormatVariant wvBlocks = new RDFFormatVariant("blocks" ) ;
-    public static RDFFormatVariant wvFlat   = new RDFFormatVariant("flat" ) ;
-    
-    public static RDFFormat TurtlePretty = new RDFFormat(Lang.TURTLE, wvPretty) ;
-    public static RDFFormat Turtle       = TurtlePretty ;
-    public static RDFFormat TurtleBlocks = new RDFFormat(Lang.TURTLE, wvBlocks) ;
-    public static RDFFormat TurtleFlat   = new RDFFormat(Lang.TURTLE, wvFlat) ;
-    
-    public static RDFFormat NTriples     = new RDFFormat(Lang.NTRIPLES) ;
-    
-    public static RDFFormat NQuads       = new RDFFormat(Lang.NQUADS) ;
-    
-    public static RDFFormat TrigPretty   = new RDFFormat(Lang.TRIG, wvPretty) ;
-    public static RDFFormat Trig         = TrigPretty ;
-    public static RDFFormat TrigBlocks   = new RDFFormat(Lang.TRIG, wvBlocks) ;
-    public static RDFFormat TrigFlat     = new RDFFormat(Lang.TRIG, wvFlat) ;
-    
-    public static RDFFormatVariant wvPlain         = new RDFFormatVariant("plain" ) ;
-    public static RDFFormatVariant wvAbbrev        = new RDFFormatVariant("flat" ) ;
-    public static RDFFormat RDFXMLPretty = new RDFFormat(Lang.RDFXML, wvAbbrev) ;
-    public static RDFFormat RDFXMLAbbrev = RDFXMLPretty ;
-    public static RDFFormat RDFXML       = RDFXMLPretty ;
-    public static RDFFormat RDFXMLPlain  = new RDFFormat(Lang.RDFXML, wvPlain) ;
+    public static RDFFormatVariant wvPretty     = new RDFFormatVariant("pretty" ) ;
+    public static RDFFormatVariant wvBlocks     = new RDFFormatVariant("blocks" ) ;
+    public static RDFFormatVariant wvFlat       = new RDFFormatVariant("flat" ) ;
+    
+    public static RDFFormat TURTLE_PRETTY       = new RDFFormat(Lang.TURTLE, wvPretty) ;
+    public static RDFFormat TURTLE              = TURTLE_PRETTY ;
+    public static RDFFormat TTL                 = TURTLE_PRETTY ;
+    public static RDFFormat TURTLE_BLOCKS       = new RDFFormat(Lang.TURTLE, wvBlocks) ;
+    public static RDFFormat TURTLE_FLAT         = new RDFFormat(Lang.TURTLE, wvFlat) ;
+    
+    public static RDFFormat NTRIPLES            = new RDFFormat(Lang.NTRIPLES) ;
+    
+    public static RDFFormat NQUADS              = new RDFFormat(Lang.NQUADS) ;
+    
+    public static RDFFormat TRIG_PRETTY         = new RDFFormat(Lang.TRIG, wvPretty) ;
+    public static RDFFormat TRIG                = TRIG_PRETTY ;
+    public static RDFFormat TRIG_BLOCKS         = new RDFFormat(Lang.TRIG, wvBlocks) ;
+    public static RDFFormat TRIG_FLAT           = new RDFFormat(Lang.TRIG, wvFlat) ;
+    
+    public static RDFFormatVariant wvPlain      = new RDFFormatVariant("plain" ) ;
+    public static RDFFormatVariant wvAbbrev     = new RDFFormatVariant("flat" ) ;
+    public static RDFFormat RDFXML_PRETTY       = new RDFFormat(Lang.RDFXML, wvAbbrev) ;
+    public static RDFFormat RDFXML_ABBREV       = RDFXML_PRETTY ;
+    public static RDFFormat RDFXML              = RDFXML_PRETTY ;
+    public static RDFFormat RDFXML_PLAIN        = new RDFFormat(Lang.RDFXML, wvPlain) ;
     
-    public static RDFFormat RDFJSON      = new RDFFormat(Lang.RDFJSON) ;
+    public static RDFFormat RDFJSON             = new RDFFormat(Lang.RDFJSON) ;
+    
+    public static RDFFormat RDFNULL             = new RDFFormat(Lang.RDFNULL) ;
 
     private final Lang lang ;
     private final RDFFormatVariant variant ;

Modified: jena/Experimental/riot-output/src/main/java/riot/RDFWriterRegistry.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/RDFWriterRegistry.java?rev=1445356&r1=1445355&r2=1445356&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/RDFWriterRegistry.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/RDFWriterRegistry.java Tue Feb 12 20:57:32 2013
@@ -25,7 +25,6 @@ import java.util.Map ;
 
 import org.apache.jena.atlas.lib.Lib ;
 import org.apache.jena.riot.Lang ;
-import org.apache.jena.riot.RDFLanguages ;
 import org.apache.jena.riot.RIOT ;
 import org.apache.jena.riot.RiotException ;
 import org.apache.jena.riot.system.PrefixMap ;
@@ -54,30 +53,24 @@ public class RDFWriterRegistry
         public WriterGraphRIOT create(RDFFormat serialization)
         {
             // Built-ins
-            if ( Lib.equal(RDFFormat.TurtlePretty, serialization) )
+            if ( Lib.equal(RDFFormat.TURTLE_PRETTY, serialization) )
                 return RiotWriter.createTurtle() ;
-            if ( Lib.equal(RDFFormat.TurtleBlocks, serialization) )
+            if ( Lib.equal(RDFFormat.TURTLE_BLOCKS, serialization) )
                 return RiotWriter.createTurtleStreaming() ;
-            if ( Lib.equal(RDFFormat.TurtleFlat, serialization) )
+            if ( Lib.equal(RDFFormat.TURTLE_FLAT, serialization) )
                 return RiotWriter.createTurtleFlat() ;
-            if ( Lib.equal(RDFFormat.NTriples, serialization) )
+            if ( Lib.equal(RDFFormat.NTRIPLES, serialization) )
                 return RiotWriter.createNTriples() ;
             if ( Lib.equal(RDFFormat.RDFJSON, serialization) )
                 return RiotWriter.createRDFJSON() ;
-            if ( Lib.equal(RDFFormat.RDFXMLPretty, serialization) )
+            if ( Lib.equal(RDFFormat.RDFXML_PRETTY, serialization) )
                 return RiotWriter.createRDFXMLAbbrev() ;
-            if ( Lib.equal(RDFFormat.RDFXMLPlain, serialization) )
+            if ( Lib.equal(RDFFormat.RDFXML_PLAIN, serialization) )
                 return RiotWriter.createRDFXMLPlain() ;
             
-            // graphs in quad format.
-            if ( Lib.equal(RDFFormat.TrigPretty, serialization) )
-                return adapter(RiotWriter.createTrig()) ;
-            if ( Lib.equal(RDFFormat.TrigBlocks, serialization) )
-                return adapter(RiotWriter.createTrigStreaming()) ;
-            if ( Lib.equal(RDFFormat.TrigFlat, serialization) )
-                return adapter(RiotWriter.createTrigFlat()) ;
-            if ( Lib.equal(RDFFormat.NQuads, serialization) )
-                return adapter(RiotWriter.createNQuads()) ;
+            WriterDatasetRIOT dsw = wdsfactory.create(serialization) ;
+            if ( dsw != null )
+                return adapter(dsw) ;
             return null ;
     }} ;
         
@@ -108,14 +101,16 @@ public class RDFWriterRegistry
         @Override
         public WriterDatasetRIOT create(RDFFormat serialization)
         {
-            if ( Lib.equal(RDFFormat.TrigPretty, serialization) )
+            if ( Lib.equal(RDFFormat.TRIG_PRETTY, serialization) )
                 return RiotWriter.createTrig() ;
-            if ( Lib.equal(RDFFormat.TrigBlocks, serialization) )
+            if ( Lib.equal(RDFFormat.TRIG_BLOCKS, serialization) )
                 return RiotWriter.createTrigStreaming() ;
-            if ( Lib.equal(RDFFormat.TrigFlat, serialization) )
+            if ( Lib.equal(RDFFormat.TRIG_FLAT, serialization) )
                 return RiotWriter.createTrigFlat() ;
-            if ( Lib.equal(RDFFormat.NQuads, serialization) )
+            if ( Lib.equal(RDFFormat.NQUADS, serialization) )
                 return RiotWriter.createNQuads() ;
+            if ( Lib.equal(RDFFormat.RDFNULL, serialization) )
+                return RiotWriter.createRDFNULL() ;
             return null ;
     }} ;
 
@@ -124,37 +119,43 @@ public class RDFWriterRegistry
      private static void init$()
      {
          // Language to format.
-         register(RDFLanguages.TURTLE, RDFFormat.Turtle) ;
-         register(RDFLanguages.N3, RDFFormat.Turtle) ;
-         register(RDFLanguages.NTRIPLES, RDFFormat.NTriples) ;
-         register(RDFLanguages.RDFXML, RDFFormat.RDFXML) ;
-         register(RDFLanguages.RDFJSON, RDFFormat.RDFJSON) ;
-
-         register(RDFLanguages.TRIG, RDFFormat.Trig) ;
-         register(RDFLanguages.NQUADS, RDFFormat.NQuads) ;
-
-         // Wrietr factories.
-         register(RDFFormat.TurtlePretty,  wgfactory) ;
-         register(RDFFormat.TurtleBlocks,  wgfactory) ;
-         register(RDFFormat.TurtleFlat,    wgfactory) ;
-
-         register(RDFFormat.NTriples,      wgfactory) ;
-         register(RDFFormat.RDFJSON,       wgfactory) ;
-
-         register(RDFFormat.RDFXMLPretty,  wgfactory) ;
-         register(RDFFormat.RDFXMLPlain,   wgfactory) ;
-
-         register(RDFFormat.TrigPretty,    wgfactory) ;
-         register(RDFFormat.TrigBlocks,    wgfactory) ;
-         register(RDFFormat.TrigFlat,      wgfactory) ;
-
-         register(RDFFormat.NQuads,        wgfactory) ;
-
-         register(RDFFormat.TrigPretty,    wdsfactory) ;
-         register(RDFFormat.TrigBlocks,    wdsfactory) ;
-         register(RDFFormat.TrigFlat,      wdsfactory) ;
-
-         register(RDFFormat.NQuads,        wdsfactory) ;
+         register(Lang.TURTLE,      RDFFormat.TURTLE) ;
+         register(Lang.N3,          RDFFormat.TURTLE) ;
+         register(Lang.NTRIPLES,    RDFFormat.NTRIPLES) ;
+         register(Lang.RDFXML,      RDFFormat.RDFXML) ;
+         register(Lang.RDFJSON,     RDFFormat.RDFJSON) ;
+
+         register(Lang.TRIG,        RDFFormat.TRIG) ;
+         register(Lang.NQUADS,      RDFFormat.NQUADS) ;
+         register(Lang.RDFNULL,     RDFFormat.RDFNULL) ;
+
+         // Writer factories.
+         register(RDFFormat.TURTLE_PRETTY,  wgfactory) ;
+         register(RDFFormat.TURTLE_BLOCKS,  wgfactory) ;
+         register(RDFFormat.TURTLE_FLAT,    wgfactory) ;
+
+         register(RDFFormat.NTRIPLES,       wgfactory) ;
+         register(RDFFormat.RDFJSON,        wgfactory) ;
+
+         register(RDFFormat.RDFXML_PRETTY,  wgfactory) ;
+         register(RDFFormat.RDFXML_PLAIN,   wgfactory) ;
+
+         // Graphs in a quad format.
+         register(RDFFormat.TRIG_PRETTY,    wgfactory) ;
+         register(RDFFormat.TRIG_BLOCKS,    wgfactory) ;
+         register(RDFFormat.TRIG_FLAT,      wgfactory) ;
+
+         register(RDFFormat.NQUADS,         wgfactory) ;
+         register(RDFFormat.RDFNULL,        wgfactory) ;
+         
+         // Datasets
+         register(RDFFormat.TRIG_PRETTY,    wdsfactory) ;
+         register(RDFFormat.TRIG_BLOCKS,    wdsfactory) ;
+         register(RDFFormat.TRIG_FLAT,      wdsfactory) ;
+
+         register(RDFFormat.NQUADS,         wdsfactory) ;
+         register(RDFFormat.RDFNULL,        wdsfactory) ;
+         
 
      }
     
@@ -170,6 +171,7 @@ public class RDFWriterRegistry
 
     public static void register(Lang lang, WriterGraphRIOTFactory wfactory)
     {
+        
         RDFFormat serialization = defaultSerialization(lang) ;
         if ( serialization == null )
             throw new RiotException("No default serialization for language "+lang) ;
@@ -189,6 +191,17 @@ public class RDFWriterRegistry
         langToFormat.put(lang, serialization) ;
     }
 
+    public static boolean contains(Lang lang)
+    { 
+        if ( ! langToFormat.containsKey(lang) ) return false ;
+        
+        RDFFormat fmt = langToFormat.get(lang) ;
+        return contains(fmt) ;
+    }
+
+    public static boolean contains(RDFFormat format)
+    { return langToFormat.containsKey(format.getLang()) && (registryGraph.containsKey(format) || registryDataset.containsKey(format)); }
+
     // Map Lang to default output format.
     public static WriterGraphRIOTFactory getWriterGraphFactory(Lang lang)
     {

Modified: jena/Experimental/riot-output/src/main/java/riot/RiotWriter.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/RiotWriter.java?rev=1445356&r1=1445355&r2=1445356&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/RiotWriter.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/RiotWriter.java Tue Feb 12 20:57:32 2013
@@ -182,16 +182,17 @@ public class RiotWriter
     public static WriterGraphRIOT createRDFJSON()           { return new RDFJSONWriter() ; }
 
     /** Create a TriG writer */
-    public static WriterDatasetRIOT createTrig()             { return new TriGWriter() ; }
+    public static WriterDatasetRIOT createTrig()            { return new TriGWriter() ; }
 
     /** Create a TriG writer that streams */
-    public static WriterDatasetRIOT createTrigStreaming()    { return new TriGWriterBlocks() ; }
+    public static WriterDatasetRIOT createTrigStreaming()   { return new TriGWriterBlocks() ; }
 
     /** Create a TriG writer that writes one quad per line in Trig, using abbreviated forms */ 
-    public static WriterDatasetRIOT createTrigFlat()         { return new TriGWriterFlat() ; }
+    public static WriterDatasetRIOT createTrigFlat()        { return new TriGWriterFlat() ; }
 
     /** Create an NQuads writer */
-    public static WriterDatasetRIOT createNQuads()           { return new NQuadsWriter() ; }
+    public static WriterDatasetRIOT createNQuads()          { return new NQuadsWriter() ; }
 
+    public static WriterDatasetRIOT createRDFNULL()         { return NullWriter.factory.create(RDFFormat.RDFNULL) ; }           
 }
 

Modified: jena/Experimental/riot-output/src/main/java/riot/adpaters/RDFWriterRIOT.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/adpaters/RDFWriterRIOT.java?rev=1445356&r1=1445355&r2=1445356&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/adpaters/RDFWriterRIOT.java (original)
+++ jena/Experimental/riot-output/src/main/java/riot/adpaters/RDFWriterRIOT.java Tue Feb 12 20:57:32 2013
@@ -36,18 +36,18 @@ public class RDFWriterRIOT implements RD
 {
     static Map<String, RDFFormat> mapJenaNameToFormat = new HashMap<>() ;
     static {
-        mapJenaNameToFormat.put("RDF/XML", RDFFormat.RDFXMLPlain) ;
-        mapJenaNameToFormat.put("RDF/XML-ABBREV", RDFFormat.RDFXMLAbbrev) ;
-        mapJenaNameToFormat.put("N-TRIPLE", RDFFormat.NTriples) ;
-        mapJenaNameToFormat.put("N-TRIPLES", RDFFormat.NTriples) ;
-        mapJenaNameToFormat.put("N3", RDFFormat.Turtle) ;
-        mapJenaNameToFormat.put(N3JenaWriter.n3WriterPrettyPrinter, RDFFormat.TurtlePretty) ;
-        mapJenaNameToFormat.put(N3JenaWriter.n3WriterPlain, RDFFormat.TurtleBlocks) ;
-        mapJenaNameToFormat.put(N3JenaWriter.n3WriterTriples, RDFFormat.TurtleFlat) ;
-        mapJenaNameToFormat.put(N3JenaWriter.n3WriterTriplesAlt, RDFFormat.TurtleFlat) ;
-        mapJenaNameToFormat.put(N3JenaWriter.turtleWriter, RDFFormat.Turtle) ;
-        mapJenaNameToFormat.put(N3JenaWriter.turtleWriterAlt1, RDFFormat.Turtle) ;
-        mapJenaNameToFormat.put(N3JenaWriter.turtleWriterAlt2, RDFFormat.Turtle) ;
+        mapJenaNameToFormat.put("RDF/XML", RDFFormat.RDFXML_PLAIN) ;
+        mapJenaNameToFormat.put("RDF/XML-ABBREV", RDFFormat.RDFXML_ABBREV) ;
+        mapJenaNameToFormat.put("N-TRIPLE", RDFFormat.NTRIPLES) ;
+        mapJenaNameToFormat.put("N-TRIPLES", RDFFormat.NTRIPLES) ;
+        mapJenaNameToFormat.put("N3", RDFFormat.TURTLE) ;
+        mapJenaNameToFormat.put(N3JenaWriter.n3WriterPrettyPrinter, RDFFormat.TURTLE_PRETTY) ;
+        mapJenaNameToFormat.put(N3JenaWriter.n3WriterPlain, RDFFormat.TURTLE_BLOCKS) ;
+        mapJenaNameToFormat.put(N3JenaWriter.n3WriterTriples, RDFFormat.TURTLE_FLAT) ;
+        mapJenaNameToFormat.put(N3JenaWriter.n3WriterTriplesAlt, RDFFormat.TURTLE_FLAT) ;
+        mapJenaNameToFormat.put(N3JenaWriter.turtleWriter, RDFFormat.TURTLE) ;
+        mapJenaNameToFormat.put(N3JenaWriter.turtleWriterAlt1, RDFFormat.TURTLE) ;
+        mapJenaNameToFormat.put(N3JenaWriter.turtleWriterAlt2, RDFFormat.TURTLE) ;
     }
     
     private RDFFormat format ;

Added: jena/Experimental/riot-output/src/main/java/riot/writer/NullWriter.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/main/java/riot/writer/NullWriter.java?rev=1445356&view=auto
==============================================================================
--- jena/Experimental/riot-output/src/main/java/riot/writer/NullWriter.java (added)
+++ jena/Experimental/riot-output/src/main/java/riot/writer/NullWriter.java Tue Feb 12 20:57:32 2013
@@ -0,0 +1,76 @@
+/**
+ * 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 riot.writer;
+
+import java.io.OutputStream ;
+import java.io.Writer ;
+
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.system.PrefixMap ;
+import riot.RDFFormat ;
+import riot.WriterDatasetRIOT ;
+import riot.WriterDatasetRIOTFactory ;
+
+import com.hp.hpl.jena.sparql.core.DatasetGraph ;
+
+/** Null writer for datasets - can be used for RDF graphs via the adapter in RDFWriterRegistry */ 
+public class NullWriter implements WriterDatasetRIOT
+{
+    public static WriterDatasetRIOTFactory factory = new WriterDatasetRIOTFactory() {
+        @Override
+        public WriterDatasetRIOT create(RDFFormat syntaxForm)
+        {
+            return new NullWriter(syntaxForm) ;
+        }} ;
+        
+    private RDFFormat format ;
+    
+    private NullWriter(RDFFormat format) { this.format = format ; }
+        
+    @Override
+    public Lang getLang()
+    {
+        return format.getLang() ;
+    }
+
+    @Override
+    public void write(OutputStream out, DatasetGraph datasetGraph)
+    {}
+
+    @Override
+    public void write(OutputStream out, DatasetGraph datasetGraph, PrefixMap prefixMap)
+    {}
+
+    @Override
+    public void write(OutputStream out, DatasetGraph datasetGraph, String baseURI)
+    {}
+
+    @Override
+    public void write(OutputStream out, DatasetGraph datasetGraph, PrefixMap prefixMap, String baseURI)
+    {}
+
+    @Override
+    public void write(Writer out, DatasetGraph datasetGraph)
+    {}
+
+    @Override
+    public void write(Writer out, DatasetGraph datasetGraph, PrefixMap prefixMap, String baseURI)
+    {}
+}
+

Modified: jena/Experimental/riot-output/src/test/java/riot/writer/TS_RiotWriter.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/test/java/riot/writer/TS_RiotWriter.java?rev=1445356&r1=1445355&r2=1445356&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/test/java/riot/writer/TS_RiotWriter.java (original)
+++ jena/Experimental/riot-output/src/test/java/riot/writer/TS_RiotWriter.java Tue Feb 12 20:57:32 2013
@@ -28,7 +28,8 @@ import riot.RDFWriterRegistry ;
 @RunWith(Suite.class)
 @SuiteClasses(
 { 
-    TestRiotWriterGraph.class
+    TestWriterRegistration.class
+    , TestRiotWriterGraph.class
     , TestRiotWriterDataset.class
 })
 

Modified: jena/Experimental/riot-output/src/test/java/riot/writer/TestRiotWriterDataset.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/test/java/riot/writer/TestRiotWriterDataset.java?rev=1445356&r1=1445355&r2=1445356&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/test/java/riot/writer/TestRiotWriterDataset.java (original)
+++ jena/Experimental/riot-output/src/test/java/riot/writer/TestRiotWriterDataset.java Tue Feb 12 20:57:32 2013
@@ -45,11 +45,12 @@ public class TestRiotWriterDataset exten
     @Parameters(name = "{index}: {0}")
     public static Iterable<Object[]> data() {
         return Arrays.asList(new Object[][] {
-            { RDFFormat.Trig } ,
-            { RDFFormat.TrigPretty } ,
-            { RDFFormat.TrigBlocks } ,
-            { RDFFormat.TrigFlat } ,
-            { RDFFormat.NQuads} ,
+            { RDFFormat.RDFNULL } ,
+            { RDFFormat.TRIG } ,
+            { RDFFormat.TRIG_PRETTY } ,
+            { RDFFormat.TRIG_BLOCKS } ,
+            { RDFFormat.TRIG_FLAT } ,
+            { RDFFormat.NQUADS} ,
         }) ; 
     }
 
@@ -80,11 +81,12 @@ public class TestRiotWriterDataset exten
         ByteArrayOutputStream out = new ByteArrayOutputStream() ;
         RDFWriterMgr.write(out, m, format) ;
         
+        if ( lang == Lang.RDFNULL )
+            return ;
+        
         ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()) ;
         String s = StrUtils.fromUTF8bytes(out.toByteArray()) ;
-        
         Dataset ds2 = DatasetFactory.createMem() ;
-        
         try {
             RDFDataMgr.read(ds2, in, lang) ;
         } catch (RiotException ex)

Modified: jena/Experimental/riot-output/src/test/java/riot/writer/TestRiotWriterGraph.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/test/java/riot/writer/TestRiotWriterGraph.java?rev=1445356&r1=1445355&r2=1445356&view=diff
==============================================================================
--- jena/Experimental/riot-output/src/test/java/riot/writer/TestRiotWriterGraph.java (original)
+++ jena/Experimental/riot-output/src/test/java/riot/writer/TestRiotWriterGraph.java Tue Feb 12 20:57:32 2013
@@ -45,22 +45,24 @@ public class TestRiotWriterGraph extends
     @Parameters(name = "{index}: {0}")
     public static Iterable<Object[]> data() {
         return Arrays.asList(new Object[][] {
-            { RDFFormat.NTriples } ,
-            { RDFFormat.Turtle } ,
-            { RDFFormat.TurtlePretty } ,
-            { RDFFormat.TurtleBlocks } ,
-            { RDFFormat.TurtleFlat } ,
+            { RDFFormat.RDFNULL } ,
+            
+            { RDFFormat.NTRIPLES } ,
+            { RDFFormat.TURTLE } ,
+            { RDFFormat.TURTLE_PRETTY } ,
+            { RDFFormat.TURTLE_BLOCKS } ,
+            { RDFFormat.TURTLE_FLAT } ,
             { RDFFormat.RDFXML } ,
-            { RDFFormat.RDFXMLPretty } ,
-            { RDFFormat.RDFXMLPlain } ,
+            { RDFFormat.RDFXML_PRETTY } ,
+            { RDFFormat.RDFXML_PLAIN } ,
             { RDFFormat.RDFJSON } ,
 
             // graph in quad formats.
-            { RDFFormat.Trig } ,
-            { RDFFormat.TrigPretty } ,
-            { RDFFormat.TrigBlocks } ,
-            { RDFFormat.TrigFlat } ,
-            { RDFFormat.NQuads} ,
+            { RDFFormat.TRIG } ,
+            { RDFFormat.TRIG_PRETTY } ,
+            { RDFFormat.TRIG_BLOCKS } ,
+            { RDFFormat.TRIG_FLAT } ,
+            { RDFFormat.NQUADS} ,
         }) ; 
     }
 
@@ -104,6 +106,9 @@ public class TestRiotWriterGraph extends
         ByteArrayOutputStream out = new ByteArrayOutputStream() ;
         RDFWriterMgr.write(out, m, format) ;
         
+        if ( lang == Lang.RDFNULL )
+            return ;
+
         ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()) ;
         String s = StrUtils.fromUTF8bytes(out.toByteArray()) ;
         

Added: jena/Experimental/riot-output/src/test/java/riot/writer/TestWriterRegistration.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-output/src/test/java/riot/writer/TestWriterRegistration.java?rev=1445356&view=auto
==============================================================================
--- jena/Experimental/riot-output/src/test/java/riot/writer/TestWriterRegistration.java (added)
+++ jena/Experimental/riot-output/src/test/java/riot/writer/TestWriterRegistration.java Tue Feb 12 20:57:32 2013
@@ -0,0 +1,73 @@
+/**
+ * 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 riot.writer;
+
+import org.apache.jena.atlas.junit.BaseTest ;
+import org.apache.jena.riot.Lang ;
+import org.junit.Test ;
+import riot.RDFFormat ;
+import riot.RDFWriterRegistry ;
+
+public class TestWriterRegistration extends BaseTest
+{
+    static { RDFWriterRegistry.init(); }
+    @Test public void registration_01() { testregistration(Lang.RDFXML) ; }
+    @Test public void registration_02() { testregistration(Lang.NTRIPLES) ; }
+    @Test public void registration_03() { testregistration(Lang.NT) ; }
+    @Test public void registration_04() { testregistration(Lang.N3) ; } 
+    @Test public void registration_05() { testregistration(Lang.TURTLE) ; }   
+    @Test public void registration_06() { testregistration(Lang.TTL) ; }
+    @Test public void registration_07() { testregistration(Lang.RDFJSON) ; }   
+    @Test public void registration_08() { testregistration(Lang.NQUADS) ; }
+    @Test public void registration_09() { testregistration(Lang.NQ) ; }
+    @Test public void registration_10() { testregistration(Lang.TRIG) ; }
+    @Test public void registration_11() { testregistration(Lang.RDFNULL) ; }
+    
+    @Test public void registration_20() { testregistration(RDFFormat.TURTLE_PRETTY) ; }
+    @Test public void registration_21() { testregistration(RDFFormat.TURTLE) ; }
+    @Test public void registration_22() { testregistration(RDFFormat.TTL) ; }
+    @Test public void registration_23() { testregistration(RDFFormat.TURTLE_BLOCKS) ; }
+    @Test public void registration_24() { testregistration(RDFFormat.TURTLE_FLAT) ; }
+    @Test public void registration_25() { testregistration(RDFFormat.NTRIPLES) ; }
+    @Test public void registration_26() { testregistration(RDFFormat.NQUADS) ; }
+    @Test public void registration_27() { testregistration(RDFFormat.TRIG_PRETTY) ; }
+    @Test public void registration_28() { testregistration(RDFFormat.TRIG) ; }
+    @Test public void registration_29() { testregistration(RDFFormat.TRIG_BLOCKS) ; }
+    @Test public void registration_30() { testregistration(RDFFormat.TRIG_FLAT) ; }
+    @Test public void registration_31() { testregistration(RDFFormat.RDFXML_PRETTY) ; }
+    @Test public void registration_32() { testregistration(RDFFormat.RDFXML_ABBREV) ; }
+    @Test public void registration_33() { testregistration(RDFFormat.RDFXML) ; }
+    @Test public void registration_34() { testregistration(RDFFormat.RDFXML_PLAIN) ; }
+    @Test public void registration_35() { testregistration(RDFFormat.RDFJSON) ; }
+    @Test public void registration_36() { testregistration(RDFFormat.RDFNULL) ; }
+
+    private void testregistration(Lang lang)
+    {
+        assertTrue("No writer registered for language "+lang, RDFWriterRegistry.contains(lang)) ;
+        assertTrue( RDFWriterRegistry.getWriterGraphFactory(lang) != null || RDFWriterRegistry.getWriterDatasetFactory(lang) != null ) ;
+    }
+    
+    private void testregistration(RDFFormat format)
+    {
+        assertTrue("No writer registered for format "+format, RDFWriterRegistry.contains(format)) ;
+        assertTrue( RDFWriterRegistry.getWriterGraphFactory(format) != null || RDFWriterRegistry.getWriterDatasetFactory(format) != null ) ;
+    }
+
+}
+