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 2011/06/18 17:36:51 UTC

svn commit: r1137205 - in /incubator/jena/Jena2/ARQ/trunk: D.nt D.trig D.ttl D1.ttl src-dev/dev/DevARQ.java src-dev/dev/RunARQ.java src/arq/cmdline/CmdLineArgs.java src/org/openjena/riot/system/SinkExtendTriplesToQuads.java src/riotcmd/infer.java

Author: andy
Date: Sat Jun 18 15:36:50 2011
New Revision: 1137205

URL: http://svn.apache.org/viewvc?rev=1137205&view=rev
Log:
Tidy up command line handling in riotcmd.infer

Added:
    incubator/jena/Jena2/ARQ/trunk/D1.ttl   (with props)
Modified:
    incubator/jena/Jena2/ARQ/trunk/D.nt
    incubator/jena/Jena2/ARQ/trunk/D.trig
    incubator/jena/Jena2/ARQ/trunk/D.ttl
    incubator/jena/Jena2/ARQ/trunk/src-dev/dev/DevARQ.java
    incubator/jena/Jena2/ARQ/trunk/src-dev/dev/RunARQ.java
    incubator/jena/Jena2/ARQ/trunk/src/arq/cmdline/CmdLineArgs.java
    incubator/jena/Jena2/ARQ/trunk/src/org/openjena/riot/system/SinkExtendTriplesToQuads.java
    incubator/jena/Jena2/ARQ/trunk/src/riotcmd/infer.java

Modified: incubator/jena/Jena2/ARQ/trunk/D.nt
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/D.nt?rev=1137205&r1=1137204&r2=1137205&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/D.nt (original)
+++ incubator/jena/Jena2/ARQ/trunk/D.nt Sat Jun 18 15:36:50 2011
@@ -1 +1 @@
-ANY <http://example/> "123" .
+<http://example/x1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example/C1> .

Modified: incubator/jena/Jena2/ARQ/trunk/D.trig
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/D.trig?rev=1137205&r1=1137204&r2=1137205&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/D.trig (original)
+++ incubator/jena/Jena2/ARQ/trunk/D.trig Sat Jun 18 15:36:50 2011
@@ -1,13 +1,9 @@
-@prefix dc:   <http://purl.org/dc/elements/1.1/> .
 @prefix :     <http://example.org/book/> .
-@prefix ns:   <http://example.org/ns#> .
-
+@prefix : <http://example/> .
 {
-  :book1  dc:title  "SPARQL Tutorial" .
-  :book1  ns:price  42 .
+  :x1 a :C1 .
 }
 
 :graph {
-  :book2  dc:title  "The Semantic Web" .
-  :book2  ns:price  23 
+  :x2 a :C1 .
 }

Modified: incubator/jena/Jena2/ARQ/trunk/D.ttl
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/D.ttl?rev=1137205&r1=1137204&r2=1137205&view=diff
==============================================================================
Binary files - no diff available.

Added: incubator/jena/Jena2/ARQ/trunk/D1.ttl
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/D1.ttl?rev=1137205&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/jena/Jena2/ARQ/trunk/D1.ttl
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: incubator/jena/Jena2/ARQ/trunk/src-dev/dev/DevARQ.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src-dev/dev/DevARQ.java?rev=1137205&r1=1137204&r2=1137205&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src-dev/dev/DevARQ.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src-dev/dev/DevARQ.java Sat Jun 18 15:36:50 2011
@@ -1,7 +1,5 @@
 package dev ;
 
-import org.openjena.atlas.event.EventManager ;
-
 public class DevARQ
 {
     // Langbase - calls EventManager.send... but Turtle rpefixes done after (read is not finished)

Modified: incubator/jena/Jena2/ARQ/trunk/src-dev/dev/RunARQ.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src-dev/dev/RunARQ.java?rev=1137205&r1=1137204&r2=1137205&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src-dev/dev/RunARQ.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src-dev/dev/RunARQ.java Sat Jun 18 15:36:50 2011
@@ -126,6 +126,10 @@ public class RunARQ
     
     public static void main(String[] argv) throws Exception
     {
+        
+        riotcmd.infer.main("--rdfs=D.ttl", "D.ttl") ;
+        exit(0) ;
+        
         PropertyFunctionRegistry.get().remove(RDFS.getURI()) ;
         ParserProfile p = RiotLib.profile(Lang.NTRIPLES, null) ;
         {

Modified: incubator/jena/Jena2/ARQ/trunk/src/arq/cmdline/CmdLineArgs.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/arq/cmdline/CmdLineArgs.java?rev=1137205&r1=1137204&r2=1137205&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/arq/cmdline/CmdLineArgs.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/arq/cmdline/CmdLineArgs.java Sat Jun 18 15:36:50 2011
@@ -7,6 +7,8 @@
 package arq.cmdline;
 
 import java.util.ArrayList ;
+import java.util.Arrays ;
+import java.util.Collections ;
 import java.util.HashMap ;
 import java.util.Iterator ;
 import java.util.List ;
@@ -325,6 +327,12 @@ public class CmdLineArgs extends Command
         return positionals ;
     }
 
+    public List<String> getPositionalOrStdin()
+    {
+        if ( ! positionals.isEmpty() ) return Collections.unmodifiableList(positionals) ;
+        List<String> x = Arrays.asList("-") ;
+        return Collections.unmodifiableList(x) ;
+    }
     
     // ----
     

Modified: incubator/jena/Jena2/ARQ/trunk/src/org/openjena/riot/system/SinkExtendTriplesToQuads.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/org/openjena/riot/system/SinkExtendTriplesToQuads.java?rev=1137205&r1=1137204&r2=1137205&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/org/openjena/riot/system/SinkExtendTriplesToQuads.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/org/openjena/riot/system/SinkExtendTriplesToQuads.java Sat Jun 18 15:36:50 2011
@@ -8,33 +8,48 @@ package org.openjena.riot.system;
 
 import org.openjena.atlas.lib.Sink ;
 
+import com.hp.hpl.jena.graph.Node ;
 import com.hp.hpl.jena.graph.Triple ;
 import com.hp.hpl.jena.sparql.core.Quad ;
 
 /** Take a stream of triples and send down a Sink&lt;Quad>
- *  The quad will have <code>Quad.tripleInQuad</code> in the G field.
+ *  The quad will have <code>Quad.tripleInQuad</code> in the G field or a specified node..
  *  @see Quad#tripleInQuad
  */   
 public class SinkExtendTriplesToQuads implements Sink<Triple>
 {
-    private final Sink<Quad> sinkQuad ;
+    private final Sink<Quad> quadSink ;
+    private final Node graph ;
 
-    public SinkExtendTriplesToQuads(Sink<Quad> sinkQuad)
+    public SinkExtendTriplesToQuads(Sink<Quad> quadSink)
     {
-        this.sinkQuad = sinkQuad ;
+        this(Quad.tripleInQuad, quadSink) ;
     }
-
+    
+    public SinkExtendTriplesToQuads(Node gn, Sink<Quad> quadSink)
+    {
+        this.quadSink = quadSink ;
+        this.graph = gn ;
+    }
+    
     public void send(Triple triple)
     {
-        Quad quad = new Quad(Quad.tripleInQuad, triple) ;
-        sinkQuad.send(quad) ;
+        Quad q = new Quad(graph, triple) ;
+        quadSink.send(q) ;
+    }
+
+    public void flush()
+    {
+        quadSink.flush() ;
     }
     
-    //@Override
-    public void flush() { sinkQuad.flush(); }
-    //@Override
-    public void close() { sinkQuad.close(); }
+    public void close()
+    {
+        // Don't close - the underlying sink may be reused. 
+        //quadSink.close() ;
+    }
 }
+
 /*
  * (c) Copyright 2010 Talis Systems Ltd.
  * All rights reserved.

Modified: incubator/jena/Jena2/ARQ/trunk/src/riotcmd/infer.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/riotcmd/infer.java?rev=1137205&r1=1137204&r2=1137205&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/riotcmd/infer.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/riotcmd/infer.java Sat Jun 18 15:36:50 2011
@@ -7,18 +7,25 @@
 
 package riotcmd;
 
+import java.io.InputStream ;
+import java.util.List ;
+
 import org.openjena.atlas.io.IO ;
+import org.openjena.atlas.lib.IRILib ;
 import org.openjena.atlas.lib.Sink ;
+import org.openjena.riot.Lang ;
 import org.openjena.riot.RiotReader ;
 import org.openjena.riot.lang.LangRIOT ;
 import org.openjena.riot.out.SinkQuadOutput ;
 import org.openjena.riot.pipeline.inf.InfFactory ;
+import org.openjena.riot.system.SinkExtendTriplesToQuads ;
 import arq.cmd.CmdException ;
 import arq.cmdline.ArgDecl ;
 import arq.cmdline.CmdGeneral ;
 
+import com.hp.hpl.jena.graph.Triple ;
 import com.hp.hpl.jena.rdf.model.Model ;
-import com.hp.hpl.jena.sparql.core.Quad;
+import com.hp.hpl.jena.sparql.core.Quad ;
 import com.hp.hpl.jena.util.FileManager ;
 
 /*
@@ -96,7 +103,7 @@ public class infer extends CmdGeneral
     @Override
     protected String getSummary()
     {
-        return "infer --rdfs=vocab" ;
+        return "infer --rdfs=vocab FILE ..." ;
     }
 
     @Override
@@ -113,15 +120,41 @@ public class infer extends CmdGeneral
     {
         Sink<Quad> sink = new SinkQuadOutput(System.out) ;
         sink = InfFactory.infQuads(sink, vocab) ;
-        LangRIOT parser = RiotReader.createParserNQuads(System.in, sink) ; 
-        parser.parse() ;
+        
+        List<String> files = getPositionalOrStdin() ;
+        if ( files.isEmpty() )
+            files.add("-") ;
+            
+        for ( String fn : files )
+            processFile(fn, sink) ;
         IO.flush(System.out); 
     }
 
+    private void processFile(String filename, Sink<Quad> sink)
+    {
+        Lang lang = filename.equals("-") ? Lang.NQUADS : Lang.guess(filename, Lang.NQUADS) ;
+        String baseURI = IRILib.filenameToIRI(filename) ;
+        
+        if ( lang.isTriples() )
+        {
+            InputStream in = IO.openFile(filename) ;
+            Sink<Triple> sink2 = new SinkExtendTriplesToQuads(sink) ;
+            LangRIOT parser = RiotReader.createParserTriples(in, lang, baseURI, sink2) ;
+            parser.parse() ;
+            return ;
+        }
+        else
+        {
+            InputStream in = IO.openFile(filename) ;
+            LangRIOT parser = RiotReader.createParserQuads(in, lang, baseURI, sink) ; 
+            parser.parse() ;
+        }        
+    }
+
     @Override
     protected String getCommandName()
     {
-        return null ;
+        return "infer" ;
     }
 }