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 2012/12/16 22:12:28 UTC
svn commit: r1422689 [2/3] - in /jena/trunk: jena-arq/
jena-arq/src-examples/arq/examples/riot/ jena-arq/src/main/java/arq/
jena-arq/src/main/java/arq/cmdline/
jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/binding/
jena-arq/src/main/java/com/hp/...
Added: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/RDFParserOutputLib.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/RDFParserOutputLib.java?rev=1422689&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/RDFParserOutputLib.java (added)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/RDFParserOutputLib.java Sun Dec 16 21:11:51 2012
@@ -0,0 +1,240 @@
+/**
+ * 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 org.apache.jena.atlas.lib.Sink ;
+import org.apache.jena.atlas.lib.Tuple ;
+
+import com.hp.hpl.jena.graph.Graph ;
+import com.hp.hpl.jena.graph.Node ;
+import com.hp.hpl.jena.graph.Triple ;
+import com.hp.hpl.jena.sparql.core.DatasetGraph ;
+import com.hp.hpl.jena.sparql.core.Quad ;
+
+/** Various Common RDFParserOutput set ups */
+public class RDFParserOutputLib
+{
+ /** Send everything to nowhere ... efficiently */
+ public static RDFParserOutput sinkNull() { return new ParserOutputSink() ; }
+
+ public static RDFParserOutput graph(Graph graph) { return new ParserOutputGraph(graph) ; }
+
+ public static RDFParserOutput dataset(DatasetGraph dataset) { return new ParserOutputDataset(dataset) ; }
+
+
+ /**
+ * Outpout to a sink; prefix and base handled only within the parser.
+ * Unfortunately, Java needs different names for the triples and
+ * quads versions because of type erasure.
+ */
+ public static RDFParserOutput sinkTriples(Sink<Triple> sink) { return new ParserOutputSinkTriples(sink) ; }
+
+ /**
+ * Output to a sink; prefix and base handled only within the parser.
+ * Unfortunately, Java needs different names for the triples and
+ * quads versions because of type erasure.
+ */
+ public static RDFParserOutput sinkQuads(Sink<Quad> sink) { return new ParserOutputSinkQuads(sink) ; }
+
+ /** Convert any triples seen to a quads, adding a graph node of {@link Quad#tripleInQuad} */
+ public static RDFParserOutput extendTriplesToQuads(RDFParserOutput base)
+ { return extendTriplesToQuads(Quad.tripleInQuad, base) ; }
+
+ /** Convert any triples seen to a quads, adding the specified graph node */
+ public static RDFParserOutput extendTriplesToQuads(Node graphNode, RDFParserOutput base)
+ { return new ParserOutputSinkTriplesToQuads(graphNode, base) ; }
+
+ public static RDFParserOutputCounting count()
+ { return new ParserOutputCountingBase(sinkNull()) ; }
+
+ public static RDFParserOutputCounting count(RDFParserOutput other)
+ { return new ParserOutputCountingBase(other) ; }
+
+
+ private static class ParserOutputSink implements RDFParserOutput
+ {
+ public ParserOutputSink () {}
+ @Override public void start() {}
+ @Override public void triple(Triple triple) {}
+ @Override public void quad(Quad quad) {}
+ @Override public void tuple(Tuple<Node> tuple) {}
+ @Override public void base(String base) {}
+ @Override public void prefix(String prefix, String iri) {}
+ @Override public void finish() {}
+ }
+
+ private static class ParserOutputWrapper implements RDFParserOutput
+ {
+ protected final RDFParserOutput other ;
+ public ParserOutputWrapper (RDFParserOutput base) { this.other = base ;}
+ @Override public void start() { other.start() ; }
+ @Override public void triple(Triple triple) { other.triple(triple) ; }
+ @Override public void quad(Quad quad) { other.quad(quad); }
+ @Override public void tuple(Tuple<Node> tuple) { other.tuple(tuple) ; }
+ @Override public void base(String base) { other.base(base) ; }
+ @Override public void prefix(String prefix, String iri) { other.prefix(prefix, iri) ; }
+ @Override public void finish() { other.finish() ; }
+ }
+
+ private static class ParserOutputSinkTriplesToQuads extends ParserOutputWrapper
+ {
+ private final Node gn ;
+ ParserOutputSinkTriplesToQuads(Node gn, RDFParserOutput base)
+ { super(base) ; this.gn = gn ; }
+
+ @Override public void triple(Triple triple)
+ { other.quad(new Quad(gn, triple)) ; }
+ }
+
+
+ private static class ParserOutputSinkTriples extends ParserOutputSink
+ {
+ private final Sink<Triple> sink ;
+
+ public ParserOutputSinkTriples(Sink<Triple> sink)
+ { this.sink = sink ; }
+
+ @Override
+ public void triple(Triple triple)
+ { sink.send(triple) ; }
+
+ @Override
+ public void finish()
+ { sink.flush() ; }
+ }
+
+ private static class ParserOutputSinkQuads extends ParserOutputSink
+ {
+ private final Sink<Quad> sink ;
+
+ public ParserOutputSinkQuads(Sink<Quad> sink)
+ { this.sink = sink ; }
+
+ @Override
+ public void quad(Quad quad)
+ { sink.send(quad) ; }
+
+ @Override
+ public void finish()
+ { sink.flush() ; }
+ }
+
+ private static class ParserOutputGraph extends ParserOutputSink
+ {
+ protected final Graph graph ;
+ public ParserOutputGraph(Graph graph) { this.graph = graph ; }
+
+ @Override public void triple(Triple triple) { graph.add(triple) ; }
+ @Override public void quad(Quad quad)
+ {
+ throw new IllegalStateException("Quad passed to graph parsing") ;
+ }
+
+ @Override public void base(String base)
+ { }
+
+ @Override public void prefix(String prefix, String uri)
+ {
+ graph.getPrefixMapping().setNsPrefix(prefix, uri) ;
+ }
+ }
+
+ private static class ParserOutputDataset extends ParserOutputSink
+ {
+ protected final DatasetGraph dsg ;
+ public ParserOutputDataset(DatasetGraph dsg) { this.dsg = dsg ; }
+
+ @Override public void triple(Triple triple)
+ {
+ throw new IllegalStateException("Triple passed to dataset parsing") ;
+ }
+
+ @Override public void quad(Quad quad)
+ {
+ if ( quad.isTriple() )
+ dsg.add(Quad.defaultGraphNodeGenerated, quad.getSubject(), quad.getPredicate(), quad.getObject()) ;
+ else
+ dsg.add(quad) ;
+ }
+
+ @Override public void base(String base)
+ { }
+
+ @Override public void prefix(String prefix, String uri)
+ {
+ //dsg.getPrefixMapping().setNsPrefix(prefix, uri) ;
+ }
+ }
+
+ private static class ParserOutputCountingBase extends ParserOutputWrapper implements RDFParserOutput, RDFParserOutputCounting
+ {
+ private long countTriples = 0 ;
+ private long countQuads = 0 ;
+ private long countTuples = 0 ;
+ private long countBase = 0 ;
+ private long countPrefixes = 0 ;
+
+ public ParserOutputCountingBase (RDFParserOutput other) { super(other) ; }
+
+ @Override
+ public void triple(Triple triple)
+ {
+ countTriples++ ;
+ super.triple(triple) ;
+ }
+
+ @Override
+ public void quad(Quad quad)
+ {
+ countQuads++ ;
+ super.quad(quad) ;
+ }
+
+ @Override
+ public void tuple(Tuple<Node> tuple)
+ {
+ countTuples++ ;
+ super.tuple(tuple) ;
+ }
+
+ @Override
+ public long count()
+ {
+ return countTriples + countQuads + countTuples ;
+ }
+
+ @Override
+ public long countTriples()
+ {
+ return countTriples ;
+ }
+
+ @Override
+ public long countQuads()
+ {
+ return countQuads ;
+ }
+
+ @Override
+ public long countTuples()
+ {
+ return countTuples ;
+ }
+ }
+}
\ No newline at end of file
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/SinkQuadsToDataset.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/SinkQuadsToDataset.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/SinkQuadsToDataset.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/SinkQuadsToDataset.java Sun Dec 16 21:11:51 2012
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.openjena.riot.lang;
+package org.apache.jena.riot.lang;
import org.apache.jena.atlas.lib.Sink ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/SinkTriplesToGraph.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/SinkTriplesToGraph.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/SinkTriplesToGraph.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/SinkTriplesToGraph.java Sun Dec 16 21:11:51 2012
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.openjena.riot.lang;
+package org.apache.jena.riot.lang;
import org.apache.jena.atlas.event.Event ;
import org.apache.jena.atlas.event.EventListener ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/Checker.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/Checker.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/Checker.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/Checker.java Sun Dec 16 21:11:51 2012
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.openjena.riot.system;
+package org.apache.jena.riot.system;
import org.openjena.riot.ErrorHandler ;
import org.openjena.riot.ErrorHandlerFactory ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/IRIResolver.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/IRIResolver.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/IRIResolver.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/IRIResolver.java Sun Dec 16 21:11:51 2012
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.openjena.riot.system;
+package org.apache.jena.riot.system;
import org.apache.jena.atlas.lib.Cache ;
import org.apache.jena.atlas.lib.CacheFactory ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/JenaWriterBase.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/JenaWriterBase.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/JenaWriterBase.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/JenaWriterBase.java Sun Dec 16 21:11:51 2012
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.openjena.riot.system;
+package org.apache.jena.riot.system;
import java.io.BufferedWriter ;
import java.io.OutputStream ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/JenaWriterNTriples2.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/JenaWriterNTriples2.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/JenaWriterNTriples2.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/JenaWriterNTriples2.java Sun Dec 16 21:11:51 2012
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.openjena.riot.system;
+package org.apache.jena.riot.system;
import java.io.Writer ;
import java.util.Iterator ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/JenaWriterRdfJson.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/JenaWriterRdfJson.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/JenaWriterRdfJson.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/JenaWriterRdfJson.java Sun Dec 16 21:11:51 2012
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.openjena.riot.system;
+package org.apache.jena.riot.system;
import java.io.Writer ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/LangTag.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/LangTag.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/LangTag.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/LangTag.java Sun Dec 16 21:11:51 2012
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.openjena.riot.system;
+package org.apache.jena.riot.system;
import java.util.regex.Matcher ;
import java.util.regex.Pattern ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/MapWithScope.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/MapWithScope.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/MapWithScope.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/MapWithScope.java Sun Dec 16 21:11:51 2012
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.openjena.riot.system;
+package org.apache.jena.riot.system;
import java.util.Map ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfile.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfile.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfile.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfile.java Sun Dec 16 21:11:51 2012
@@ -16,24 +16,21 @@
* limitations under the License.
*/
-package org.openjena.riot.system;
+package org.apache.jena.riot.system;
import org.openjena.riot.ErrorHandler ;
-import org.openjena.riot.lang.LabelToNode ;
import com.hp.hpl.jena.datatypes.RDFDatatype ;
import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.graph.Triple ;
import org.apache.jena.iri.IRI ;
+import org.apache.jena.riot.lang.LabelToNode ;
import org.apache.jena.riot.tokens.Token ;
import com.hp.hpl.jena.sparql.core.Quad ;
public interface ParserProfile
{
-// public DatasetGraph createDatasetGraph(long line, long col) ;
-// public Graph createGraph(long line, long col) ;
-
public String resolveIRI(String uriStr, long line, long col) ;
public IRI makeIRI(String uriStr, long line, long col) ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfileBase.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfileBase.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfileBase.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfileBase.java Sun Dec 16 21:11:51 2012
@@ -16,15 +16,15 @@
* limitations under the License.
*/
-package org.openjena.riot.system;
+package org.apache.jena.riot.system;
import org.apache.jena.iri.IRI ;
+import org.apache.jena.riot.lang.LabelToNode ;
import org.apache.jena.riot.tokens.Token ;
import org.apache.jena.riot.tokens.TokenType ;
import org.openjena.riot.ErrorHandler ;
import org.openjena.riot.RiotException ;
import org.openjena.riot.SysRIOT ;
-import org.openjena.riot.lang.LabelToNode ;
import com.hp.hpl.jena.datatypes.RDFDatatype ;
import com.hp.hpl.jena.datatypes.xsd.XSDDatatype ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfileChecker.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfileChecker.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfileChecker.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfileChecker.java Sun Dec 16 21:11:51 2012
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.openjena.riot.system;
+package org.apache.jena.riot.system;
import org.openjena.riot.ErrorHandler ;
import org.openjena.riot.RiotException ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMap.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMap.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMap.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMap.java Sun Dec 16 21:11:51 2012
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.openjena.riot.system;
+package org.apache.jena.riot.system;
import java.util.Collections ;
import java.util.HashMap ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMap2.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMap2.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMap2.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMap2.java Sun Dec 16 21:11:51 2012
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.openjena.riot.system;
+package org.apache.jena.riot.system;
import org.apache.jena.atlas.logging.Log ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/Prologue.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/Prologue.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/Prologue.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/Prologue.java Sun Dec 16 21:11:51 2012
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.openjena.riot.system;
+package org.apache.jena.riot.system;
import java.util.Map ;
import java.util.Map.Entry ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/RiotChars.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/RiotChars.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/RiotChars.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/RiotChars.java Sun Dec 16 21:11:51 2012
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.openjena.riot.system;
+package org.apache.jena.riot.system;
public class RiotChars
{
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/RiotLib.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/RiotLib.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/RiotLib.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/RiotLib.java Sun Dec 16 21:11:51 2012
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.openjena.riot.system;
+package org.apache.jena.riot.system;
import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.riot.tokens.Token ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/SinkExtendTriplesToQuads.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/SinkExtendTriplesToQuads.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/SinkExtendTriplesToQuads.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/SinkExtendTriplesToQuads.java Sun Dec 16 21:11:51 2012
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.openjena.riot.system;
+package org.apache.jena.riot.system;
import org.apache.jena.atlas.lib.Sink ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/SyntaxLabels.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/SyntaxLabels.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/SyntaxLabels.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/system/SyntaxLabels.java Sun Dec 16 21:11:51 2012
@@ -16,9 +16,9 @@
* limitations under the License.
*/
-package org.openjena.riot.system;
+package org.apache.jena.riot.system;
-import org.openjena.riot.lang.LabelToNode ;
+import org.apache.jena.riot.lang.LabelToNode ;
import org.openjena.riot.out.NodeToLabel ;
/** Factory for default policies for syntax labels to and from nodes */
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/tokens/Token.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/tokens/Token.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/tokens/Token.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/tokens/Token.java Sun Dec 16 21:11:51 2012
@@ -45,9 +45,9 @@ import java.util.List ;
import org.apache.jena.atlas.io.PeekReader ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.lib.Pair ;
+import org.apache.jena.riot.system.PrefixMap ;
+import org.apache.jena.riot.system.Prologue ;
import org.openjena.riot.RiotException ;
-import org.openjena.riot.system.PrefixMap ;
-import org.openjena.riot.system.Prologue ;
import com.hp.hpl.jena.datatypes.RDFDatatype ;
import com.hp.hpl.jena.datatypes.TypeMapper ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/tokens/TokenizerText.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/tokens/TokenizerText.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/tokens/TokenizerText.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/tokens/TokenizerText.java Sun Dec 16 21:11:51 2012
@@ -19,16 +19,16 @@
package org.apache.jena.riot.tokens;
import static org.apache.jena.atlas.lib.Chars.* ;
-import static org.openjena.riot.system.RiotChars.charInArray ;
-import static org.openjena.riot.system.RiotChars.isA2Z ;
-import static org.openjena.riot.system.RiotChars.isA2ZN ;
-import static org.openjena.riot.system.RiotChars.isAlphaNumeric ;
-import static org.openjena.riot.system.RiotChars.isHexChar ;
-import static org.openjena.riot.system.RiotChars.isNewlineChar ;
-import static org.openjena.riot.system.RiotChars.isPNChars ;
-import static org.openjena.riot.system.RiotChars.isWhitespace ;
-import static org.openjena.riot.system.RiotChars.range ;
-import static org.openjena.riot.system.RiotChars.valHexChar ;
+import static org.apache.jena.riot.system.RiotChars.charInArray ;
+import static org.apache.jena.riot.system.RiotChars.isA2Z ;
+import static org.apache.jena.riot.system.RiotChars.isA2ZN ;
+import static org.apache.jena.riot.system.RiotChars.isAlphaNumeric ;
+import static org.apache.jena.riot.system.RiotChars.isHexChar ;
+import static org.apache.jena.riot.system.RiotChars.isNewlineChar ;
+import static org.apache.jena.riot.system.RiotChars.isPNChars ;
+import static org.apache.jena.riot.system.RiotChars.isWhitespace ;
+import static org.apache.jena.riot.system.RiotChars.range ;
+import static org.apache.jena.riot.system.RiotChars.valHexChar ;
import java.util.NoSuchElementException ;
@@ -37,8 +37,8 @@ import com.hp.hpl.jena.sparql.ARQInterna
import org.apache.jena.atlas.AtlasException ;
import org.apache.jena.atlas.io.IO ;
import org.apache.jena.atlas.io.PeekReader ;
+import org.apache.jena.riot.system.RiotChars ;
import org.openjena.riot.RiotParseException ;
-import org.openjena.riot.system.RiotChars ;
/** Tokenizer for all sorts of things RDF-ish */
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/web/HttpResponseLib.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/web/HttpResponseLib.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/web/HttpResponseLib.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/web/HttpResponseLib.java Sun Dec 16 21:11:51 2012
@@ -26,15 +26,14 @@ import java.util.Map ;
import org.apache.http.HttpEntity ;
import org.apache.http.HttpResponse ;
import org.apache.jena.atlas.io.IO ;
-import org.apache.jena.atlas.lib.Sink ;
import org.apache.jena.atlas.web.MediaType ;
+import org.apache.jena.riot.lang.LangRIOT ;
+import org.apache.jena.riot.lang.RDFParserOutput ;
+import org.apache.jena.riot.lang.RDFParserOutputLib ;
import org.openjena.riot.RiotReader ;
import org.openjena.riot.WebContent ;
-import org.openjena.riot.lang.LangRIOT ;
-import org.openjena.riot.lang.SinkTriplesToGraph ;
import com.hp.hpl.jena.graph.Graph ;
-import com.hp.hpl.jena.graph.Triple ;
import com.hp.hpl.jena.query.ResultSet ;
import com.hp.hpl.jena.query.ResultSetFactory ;
import com.hp.hpl.jena.sparql.graph.GraphFactory ;
@@ -58,9 +57,9 @@ public class HttpResponseLib
HttpEntity entity = response.getEntity() ;
MediaType mt = MediaType.create(response.getFirstHeader(HttpNames.hContentType).getValue()) ;
mt.getCharset() ;
- Sink<Triple> sink = new SinkTriplesToGraph(g) ;
+ RDFParserOutput dest = RDFParserOutputLib.graph(g) ;
InputStream in = entity.getContent() ;
- LangRIOT parser = createParser(in, baseIRI, sink) ;
+ LangRIOT parser = createParser(in, baseIRI, dest) ;
parser.parse() ;
in.close() ;
this.graph = g ;
@@ -70,7 +69,7 @@ public class HttpResponseLib
@Override
public Graph get() { return graph ; }
- abstract protected LangRIOT createParser(InputStream in, String baseIRI, Sink<Triple> sink) ;
+ abstract protected LangRIOT createParser(InputStream in, String baseIRI, RDFParserOutput dest) ;
}
public static HttpResponseHandler httpDumpResponse = new HttpResponseHandler()
@@ -106,25 +105,25 @@ public class HttpResponseLib
public static HttpCaptureResponse<Graph> graphReaderTurtle = new AbstractGraphReader()
{
@Override
- protected LangRIOT createParser(InputStream in, String baseIRI, Sink<Triple> sink)
+ protected LangRIOT createParser(InputStream in, String baseIRI, RDFParserOutput dest)
{
- return RiotReader.createParserTurtle(in, baseIRI, sink) ;
+ return RiotReader.createParserTurtle(in, baseIRI, dest) ;
}
} ;
public static HttpCaptureResponse<Graph> graphReaderNTriples = new AbstractGraphReader()
{
@Override
- protected LangRIOT createParser(InputStream in, String baseIRI, Sink<Triple> sink)
+ protected LangRIOT createParser(InputStream in, String baseIRI, RDFParserOutput dest)
{
- return RiotReader.createParserNTriples(in, sink) ;
+ return RiotReader.createParserNTriples(in, dest) ;
}
} ;
public static HttpCaptureResponse<Graph> graphReaderRDFXML = new AbstractGraphReader()
{
@Override
- protected LangRIOT createParser(InputStream in, String baseIRI, Sink<Triple> sink)
+ protected LangRIOT createParser(InputStream in, String baseIRI, RDFParserOutput dest)
{
- return RiotReader.createParserRDFXML(in, baseIRI, sink) ;
+ return RiotReader.createParserRDFXML(in, baseIRI, dest) ;
}
} ;
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/LangTag.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/LangTag.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/LangTag.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/LangTag.java Sun Dec 16 21:11:51 2012
@@ -22,7 +22,7 @@ import java.util.regex.Matcher ;
import java.util.regex.Pattern ;
import org.apache.jena.atlas.lib.Chars ;
-import org.openjena.riot.system.RiotChars ;
+import org.apache.jena.riot.system.RiotChars ;
/**
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/RIOT.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/RIOT.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/RIOT.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/RIOT.java Sun Dec 16 21:11:51 2012
@@ -20,7 +20,6 @@ package org.openjena.riot;
import org.apache.jena.riot.ParserRegistry ;
import org.apache.jena.riot.RDFLanguages ;
-import org.apache.jena.riot.WebReader2 ;
import com.hp.hpl.jena.query.ARQ ;
import com.hp.hpl.jena.sparql.SystemARQ ;
@@ -72,6 +71,5 @@ public class RIOT
ParserRegistry.init() ;
SysRIOT.wireIntoJena() ;
- WebReader2.wireIntoJena() ;
}
}
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/RiotLoader.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/RiotLoader.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/RiotLoader.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/RiotLoader.java Sun Dec 16 21:11:51 2012
@@ -23,11 +23,9 @@ import java.io.InputStream ;
import org.apache.jena.atlas.io.IO ;
import org.apache.jena.atlas.lib.IRILib ;
import org.apache.jena.atlas.lib.Sink ;
+import org.apache.jena.riot.lang.* ;
import org.apache.jena.riot.tokens.Tokenizer ;
import org.apache.jena.riot.tokens.TokenizerFactory ;
-import org.openjena.riot.lang.LangRIOT ;
-import org.openjena.riot.lang.SinkQuadsToDataset ;
-import org.openjena.riot.lang.SinkTriplesToGraph ;
import com.hp.hpl.jena.graph.Factory ;
import com.hp.hpl.jena.graph.Graph ;
@@ -44,7 +42,8 @@ import com.hp.hpl.jena.sparql.lib.Datase
public class RiotLoader
{
-
+ // All to call WebReader2?
+
/** Parse a file and return the quads in a dataset (in-memory) */
public static DatasetGraph load(String filename)
{
@@ -60,24 +59,20 @@ public class RiotLoader
/** Parse a file and return the quads in a dataset (in-memory) */
public static DatasetGraph load(String filename, Lang lang, String baseURI)
{
- if ( lang == null )
- lang = Lang.guess(filename, Lang.NQUADS) ;
DatasetGraph dsg = DatasetLib.createDatasetGraphMem() ;
read(filename, dsg, lang, baseURI) ;
return dsg ;
}
- /** Parse a string and return the quads in a dataset (in-memory) (convenience operation)*/
+ /** Parse a string and return the quads in a dataset (in-memory) (convenience operation) */
public static DatasetGraph datasetFromString(String string, Lang language, String baseURI)
{
DatasetGraph dsg = DatasetLib.createDatasetGraphMem() ;
- Sink<Quad> sink = RiotLoader.datasetSink(dsg) ;
+ RDFParserOutput dest = RDFParserOutputLib.dataset(dsg) ;
Tokenizer tokenizer = TokenizerFactory.makeTokenizerString(string) ;
- LangRIOT parser = RiotReader.createParserQuads(tokenizer, language, baseURI, sink) ;
- try {
- parser.parse() ;
- } finally { sink.close() ; }
+ LangRIOT parser = RiotReader.createParserQuads(tokenizer, language, baseURI, dest) ;
+ parser.parse() ;
return dsg;
}
@@ -107,12 +102,10 @@ public class RiotLoader
public static Graph graphFromString(String string, Lang language, String baseURI)
{
Graph g = Factory.createDefaultGraph() ;
- Sink<Triple> sink = graphSink(g) ;
+ RDFParserOutput dest = RDFParserOutputLib.graph(g) ;
Tokenizer tokenizer = TokenizerFactory.makeTokenizerString(string) ;
- LangRIOT parser = RiotReader.createParserTriples(tokenizer, language, baseURI, sink) ;
- try {
- parser.parse() ;
- } finally { sink.close() ; }
+ LangRIOT parser = RiotReader.createParserTriples(tokenizer, language, baseURI, dest) ;
+ parser.parse() ;
return g ;
}
@@ -202,7 +195,8 @@ public class RiotLoader
//if ( language != Lang.NQUADS && language != Lang.TRIG )
throw new RiotException("Language not supported for quads: "+language) ;
- LangRIOT parser = RiotReader.createParserQuads(input, language, baseURI, sink) ;
+ RDFParserOutput dest = RDFParserOutputLib.sinkQuads(sink) ;
+ LangRIOT parser = RiotReader.createParserQuads(input, language, baseURI, dest) ;
parser.parse() ;
sink.flush() ;
}
@@ -212,7 +206,8 @@ public class RiotLoader
{
if ( ! language.isTriples() )
throw new RiotException("Language not supported for triples: "+language) ;
- LangRIOT parser = RiotReader.createParserTriples(input, language, baseURI, sink) ;
+ RDFParserOutput dest = RDFParserOutputLib.sinkTriples(sink) ;
+ LangRIOT parser = RiotReader.createParserTriples(input, language, baseURI, dest) ;
parser.parse() ;
sink.flush();
}
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/RiotParsePuller.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/RiotParsePuller.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/RiotParsePuller.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/RiotParsePuller.java Sun Dec 16 21:11:51 2012
@@ -31,8 +31,8 @@ import org.apache.jena.atlas.AtlasExcept
import org.apache.jena.atlas.lib.Closeable ;
import org.apache.jena.atlas.lib.Sink ;
import org.apache.jena.atlas.lib.SinkToQueue ;
-import org.openjena.riot.lang.LangRIOT ;
-import org.openjena.riot.system.ParserProfile ;
+import org.apache.jena.riot.lang.LangRIOT ;
+import org.apache.jena.riot.system.ParserProfile ;
/**
* A wrapper that converts the RIOT parsing API from push to pull. It does this by starting up a
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/RiotQuadParsePuller.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/RiotQuadParsePuller.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/RiotQuadParsePuller.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/RiotQuadParsePuller.java Sun Dec 16 21:11:51 2012
@@ -21,7 +21,9 @@ package org.openjena.riot;
import java.io.InputStream ;
import org.apache.jena.atlas.lib.Sink ;
-import org.openjena.riot.lang.LangRIOT ;
+import org.apache.jena.riot.lang.LangRIOT ;
+import org.apache.jena.riot.lang.RDFParserOutput ;
+import org.apache.jena.riot.lang.RDFParserOutputLib ;
import com.hp.hpl.jena.sparql.core.Quad ;
@@ -40,7 +42,8 @@ public class RiotQuadParsePuller extends
@Override
protected LangRIOT createParser(Sink<Quad> sink)
{
- return RiotReader.createParserQuads(in, lang, baseIRI, sink) ;
+ RDFParserOutput dest = RDFParserOutputLib.sinkQuads(sink) ;
+ return RiotReader.createParserQuads(in, lang, baseIRI, dest) ;
}
}
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/RiotReader.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/RiotReader.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/RiotReader.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/RiotReader.java Sun Dec 16 21:11:51 2012
@@ -24,7 +24,7 @@ import static org.openjena.riot.Lang.RDF
import static org.openjena.riot.Lang.RDFXML ;
import java.io.InputStream ;
-import java.util.Iterator;
+import java.util.Iterator ;
import org.apache.jena.atlas.io.IO ;
import org.apache.jena.atlas.io.PeekReader ;
@@ -32,18 +32,20 @@ import org.apache.jena.atlas.iterator.It
import org.apache.jena.atlas.json.io.parser.TokenizerJSON ;
import org.apache.jena.atlas.lib.IRILib ;
import org.apache.jena.atlas.lib.Sink ;
+import org.apache.jena.riot.WebReader2 ;
+import org.apache.jena.riot.lang.* ;
+import org.apache.jena.riot.system.IRIResolver ;
+import org.apache.jena.riot.system.RiotLib ;
import org.apache.jena.riot.tokens.Tokenizer ;
import org.apache.jena.riot.tokens.TokenizerFactory ;
-import org.openjena.riot.lang.* ;
-import org.openjena.riot.system.IRIResolver ;
-import org.openjena.riot.system.RiotLib ;
-import org.openjena.riot.system.SinkExtendTriplesToQuads ;
import com.hp.hpl.jena.graph.Triple ;
import com.hp.hpl.jena.sparql.core.Quad ;
/** Operations to access RIOT parsers and send the output to
- * a Sink (triples or quads as appropriate)
+ * a ParserOutput (triples or quads as appropriate).
+ * Operations to send to a sink (special case of a ParserOutput).
+ * @see WebReader2 for reading from a location, including web access and content negotation.
*/
public class RiotReader
{
@@ -51,6 +53,7 @@ public class RiotReader
* Must be in a triples syntax.
* @param filename
* @param sink Where to send the triples from the parser.
+ * @see WebReader2#readTriples
*/
public static void parseTriples(String filename, Sink<Triple> sink)
{ parseTriples(filename, null, null, sink) ; }
@@ -61,6 +64,7 @@ public class RiotReader
* @param lang Language, or null for "guess from URL" (e.g. file extension)
* @param baseIRI Base IRI, or null for based on input filename
* @param sink Where to send the triples from the parser.
+ * @see WebReader2#readTriples
*/
public static void parseTriples(String filename, Lang lang, String baseIRI, Sink<Triple> sink)
{
@@ -72,14 +76,6 @@ public class RiotReader
if ( lang == null )
lang = Lang.guess(filename, NTRIPLES) ; // ** N-Triples
- if ( lang == RDFXML )
- {
- // Fudge to make the bulk loader process RDF/XML files.
- LangRDFXML.create(in, base, filename, ErrorHandlerFactory.getDefaultErrorHandler(), sink).parse() ;
- IO.close(in) ;
- return ;
- }
-
parseTriples(in, lang, base, sink) ;
IO.close(in) ;
}
@@ -89,11 +85,12 @@ public class RiotReader
* @param lang Language.
* @param baseIRI Base IRI.
* @param sink Where to send the triples from the parser.
- */
-
+ * @see WebReader2#readTriples
+ */
public static void parseTriples(InputStream in, Lang lang, String baseIRI, Sink<Triple> sink)
{
- LangRIOT parser = RiotReader.createParserTriples(in, lang, baseIRI, sink) ;
+ RDFParserOutput dest = RDFParserOutputLib.sinkTriples(sink) ;
+ LangRIOT parser = RiotReader.createParserTriples(in, lang, baseIRI, dest) ;
parser.parse() ;
}
@@ -102,6 +99,7 @@ public class RiotReader
/** Parse a file, sending quads to a sink.
* @param filename
* @param sink Where to send the quads from the parser.
+ * @see WebReader2#readQuads
*/
public static void parseQuads(String filename, Sink<Quad> sink)
{ parseQuads(filename, null, null, sink) ; }
@@ -111,6 +109,7 @@ public class RiotReader
* @param lang Language, or null for "guess from filename" (e.g. extension)
* @param baseIRI Base IRI, or null for base on input filename
* @param sink Where to send the quads from the parser.
+ * @see WebReader2#readQuads
*/
public static void parseQuads(String filename, Lang lang, String baseIRI, Sink<Quad> sink)
{
@@ -127,43 +126,132 @@ public class RiotReader
* @param lang Language.
* @param baseIRI Base IRI.
* @param sink Where to send the quads from the parser.
+ * @see WebReader2#readQuads
*/
public static void parseQuads(InputStream in, Lang lang, String baseIRI, Sink<Quad> sink)
{
- LangRIOT parser = RiotReader.createParserQuads(in, lang, baseIRI, sink) ;
+ RDFParserOutput dest = RDFParserOutputLib.sinkQuads(sink) ;
+ LangRIOT parser = RiotReader.createParserQuads(in, lang, baseIRI, dest) ;
+ parser.parse() ;
+ }
+
+ /** Parse a file, sending triples to a sink.
+ * Must be in a triples syntax.
+ * @param filename
+ * @param dest Where to send the triples from the parser.
+ */
+ public static void parseTriples(String filename, RDFParserOutput dest)
+ { parseTriples(filename, null, null, dest) ; }
+
+ /** Parse a file, sending triples to a sink.
+ * Must be in a triples syntax.
+ * @param filename
+ * @param lang Language, or null for "guess from URL" (e.g. file extension)
+ * @param baseIRI Base IRI, or null for based on input filename
+ * @param dest Where to send the triples from the parser.
+ */
+ public static void parseTriples(String filename, Lang lang, String baseIRI, RDFParserOutput dest)
+ {
+ checkTriplesLanguage(filename, lang) ;
+
+ InputStream in = IO.openFile(filename) ;
+ String base = chooseBaseIRI(baseIRI, filename) ;
+
+ if ( lang == null )
+ lang = Lang.guess(filename, NTRIPLES) ; // ** N-Triples
+
+ if ( lang == RDFXML )
+ {
+ // Fudge to make the bulk loader process RDF/XML files.
+ LangRDFXML.create(in, base, filename, ErrorHandlerFactory.getDefaultErrorHandler(), dest).parse() ;
+ IO.close(in) ;
+ return ;
+ }
+
+ parseTriples(in, lang, base, dest) ;
+ IO.close(in) ;
+ }
+
+ /** Parse an InputStream, sending triples to a sink.
+ * @param in Source for bytes to parse.
+ * @param lang Language.
+ * @param baseIRI Base IRI.
+ * @param dest Where to send the triples from the parser.
+ */
+ public static void parseTriples(InputStream in, Lang lang, String baseIRI, RDFParserOutput dest)
+ {
+ LangRIOT parser = RiotReader.createParserTriples(in, lang, baseIRI, dest) ;
+ parser.parse() ;
+ // Prefixes.
+ }
+
+ // -------- Quads
+
+ /** Parse a file, sending quads to a sink.
+ * @param filename
+ * @param dest Where to send the quads from the parser.
+ */
+ public static void parseQuads(String filename, RDFParserOutput dest)
+ { parseQuads(filename, null, null, dest) ; }
+
+ /** Parse a file, sending quads to a sink.
+ * @param filename
+ * @param lang Language, or null for "guess from filename" (e.g. extension)
+ * @param baseIRI Base IRI, or null for base on input filename
+ * @param dest Where to send the quads from the parser.
+ */
+ public static void parseQuads(String filename, Lang lang, String baseIRI, RDFParserOutput dest)
+ {
+ InputStream in = IO.openFile(filename) ;
+ String base = chooseBaseIRI(baseIRI, filename) ;
+ if ( lang == null )
+ lang = Lang.guess(filename, NQUADS) ; // ** N-Quads
+ parseQuads(in, lang, base, dest) ;
+ IO.close(in) ;
+ }
+
+ /** Parse an InputStream, sending quads to a sink.
+ * @param in Source for bytes to parse.
+ * @param lang Language.
+ * @param baseIRI Base IRI.
+ * @param dest Where to send the quads from the parser.
+ */
+ public static void parseQuads(InputStream in, Lang lang, String baseIRI, RDFParserOutput dest)
+ {
+ LangRIOT parser = RiotReader.createParserQuads(in, lang, baseIRI, dest) ;
parser.parse() ;
}
// -------- Parsers
/** Create a parser for a triples language */
- public static LangRIOT createParserTriples(InputStream input, Lang lang, String baseIRI, Sink<Triple> sink)
+ public static LangRIOT createParserTriples(InputStream input, Lang lang, String baseIRI, RDFParserOutput dest)
{
if ( lang == RDFXML )
{
if ( baseIRI != null )
baseIRI = IRIResolver.resolveString(baseIRI) ;
- return LangRDFXML.create(input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), sink) ;
+ return LangRDFXML.create(input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest) ;
}
Tokenizer tokenizer = ( lang == RDFJSON ) ?
new TokenizerJSON(PeekReader.makeUTF8(input)) :
TokenizerFactory.makeTokenizerUTF8(input) ;
- return createParserTriples(tokenizer, lang, baseIRI ,sink) ;
+ return createParserTriples(tokenizer, lang, baseIRI, dest) ;
}
/** Create a parser for a triples language */
- public static LangRIOT createParserTriples(Tokenizer tokenizer, Lang lang, String baseIRI, Sink<Triple> sink)
+ public static LangRIOT createParserTriples(Tokenizer tokenizer, Lang lang, String baseIRI, RDFParserOutput dest)
{
switch (lang)
{
case N3 :
case TURTLE :
- return createParserTurtle(tokenizer, baseIRI, sink) ;
+ return createParserTurtle(tokenizer, baseIRI, dest) ;
case NTRIPLES :
- return createParserNTriples(tokenizer, sink) ;
+ return createParserNTriples(tokenizer, dest) ;
case RDFJSON :
// But it must be a JSON tokenizer ...
- return createParserRdfJson(tokenizer, sink) ;
+ return createParserRdfJson(tokenizer, dest) ;
case RDFXML :
throw new RiotException("Not possible - can't parse RDF/XML from a RIOT token stream") ;
case NQUADS :
@@ -191,19 +279,14 @@ public class RiotReader
}
/** Create a parser for a quads (or triples) language */
- public static LangRIOT createParserQuads(InputStream input, Lang lang, String baseIRI, Sink<Quad> sink)
+ public static LangRIOT createParserQuads(InputStream input, Lang lang, String baseIRI, RDFParserOutput dest)
{
- if ( lang.isTriples() )
- {
- SinkExtendTriplesToQuads converter = new SinkExtendTriplesToQuads(sink) ;
- return createParserTriples(input, lang, baseIRI, converter) ;
- }
Tokenizer tokenizer = TokenizerFactory.makeTokenizerUTF8(input) ;
- return createParserQuads(tokenizer, lang, baseIRI, sink) ;
+ return createParserQuads(tokenizer, lang, baseIRI, dest) ;
}
/** Create a parser for a quads language */
- public static LangRIOT createParserQuads(Tokenizer tokenizer, Lang lang, String baseIRI, Sink<Quad> sink)
+ public static LangRIOT createParserQuads(Tokenizer tokenizer, Lang lang, String baseIRI, RDFParserOutput dest)
{
switch (lang)
{
@@ -212,13 +295,12 @@ public class RiotReader
case TURTLE :
case RDFXML :
case RDFJSON :
- // Add a triples to quads wrapper.
- SinkExtendTriplesToQuads converter = new SinkExtendTriplesToQuads(sink) ;
- return createParserTriples(tokenizer, lang, baseIRI, converter) ;
+ dest = RDFParserOutputLib.extendTriplesToQuads(dest) ;
+ return createParserTriples(tokenizer, lang, baseIRI, dest) ;
case NQUADS :
- return createParserNQuads(tokenizer, sink) ;
+ return createParserNQuads(tokenizer, dest) ;
case TRIG :
- return createParserTriG(tokenizer, baseIRI, sink) ;
+ return createParserTriG(tokenizer, baseIRI, dest) ;
}
return null ;
}
@@ -241,82 +323,82 @@ public class RiotReader
}
/** Create a parser for Turtle, with default behaviour */
- public static LangTurtle createParserTurtle(InputStream input, String baseIRI, Sink<Triple> sink)
+ public static LangTurtle createParserTurtle(InputStream input, String baseIRI, RDFParserOutput dest)
{
Tokenizer tokenizer = TokenizerFactory.makeTokenizerUTF8(input) ;
- return createParserTurtle(tokenizer, baseIRI, sink) ;
+ return createParserTurtle(tokenizer, baseIRI, dest) ;
}
/** Create a parser for Turtle, with default behaviour */
- public static LangTurtle createParserTurtle(Tokenizer tokenizer, String baseIRI, Sink<Triple> sink)
+ public static LangTurtle createParserTurtle(Tokenizer tokenizer, String baseIRI, RDFParserOutput dest)
{
- LangTurtle parser = new LangTurtle(tokenizer, RiotLib.profile(Lang.TURTLE, baseIRI), sink) ;
+ LangTurtle parser = new LangTurtle(tokenizer, RiotLib.profile(Lang.TURTLE, baseIRI), dest) ;
return parser ;
}
/** Create a parser for RDF/XML */
- public static LangRDFXML createParserRDFXML(InputStream input, String baseIRI, Sink<Triple> sink)
+ public static LangRDFXML createParserRDFXML(InputStream input, String baseIRI, RDFParserOutput dest)
{
if ( baseIRI == null )
baseIRI = chooseBaseIRI() ;
- LangRDFXML parser = LangRDFXML.create(input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), sink) ;
+ LangRDFXML parser = LangRDFXML.create(input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest) ;
return parser ;
}
/** Create parsers for RDF/JSON */
- public static LangRDFJSON createParserRdfJson(Tokenizer tokenizer, Sink<Triple> sink)
+ public static LangRDFJSON createParserRdfJson(Tokenizer tokenizer, RDFParserOutput dest)
{
- LangRDFJSON parser = new LangRDFJSON(tokenizer, RiotLib.profile(Lang.RDFJSON, null), sink) ;
+ LangRDFJSON parser = new LangRDFJSON(tokenizer, RiotLib.profile(Lang.RDFJSON, null), dest) ;
return parser;
}
- public static LangRDFJSON createParserRdfJson(InputStream input, Sink<Triple> sink)
+ public static LangRDFJSON createParserRdfJson(InputStream input, RDFParserOutput dest)
{
TokenizerJSON tokenizer = new TokenizerJSON(PeekReader.makeUTF8(input)) ;
- return createParserRdfJson(tokenizer, sink) ;
+ return createParserRdfJson(tokenizer, dest) ;
}
/** Create a parser for TriG, with default behaviour */
- public static LangTriG createParserTriG(InputStream input, String baseIRI, Sink<Quad> sink)
+ public static LangTriG createParserTriG(InputStream input, String baseIRI, RDFParserOutput dest)
{
Tokenizer tokenizer = TokenizerFactory.makeTokenizerUTF8(input) ;
- return createParserTriG(tokenizer, baseIRI, sink) ;
+ return createParserTriG(tokenizer, baseIRI, dest) ;
}
/** Create a parser for TriG, with default behaviour */
- public static LangTriG createParserTriG(Tokenizer tokenizer, String baseIRI, Sink<Quad> sink)
+ public static LangTriG createParserTriG(Tokenizer tokenizer, String baseIRI, RDFParserOutput dest)
{
if ( baseIRI == null )
baseIRI = chooseBaseIRI() ;
- LangTriG parser = new LangTriG(tokenizer, RiotLib.profile(Lang.TRIG, baseIRI), sink) ;
+ LangTriG parser = new LangTriG(tokenizer, RiotLib.profile(Lang.TRIG, baseIRI), dest) ;
return parser ;
}
/** Create a parser for N-Triples, with default behaviour */
- public static LangNTriples createParserNTriples(InputStream input, Sink<Triple> sink)
+ public static LangNTriples createParserNTriples(InputStream input, RDFParserOutput dest)
{
Tokenizer tokenizer = TokenizerFactory.makeTokenizerASCII(input) ;
- return createParserNTriples(tokenizer, sink) ;
+ return createParserNTriples(tokenizer, dest) ;
}
/** Create a parser for N-Triples, with default behaviour */
- public static LangNTriples createParserNTriples(Tokenizer tokenizer, Sink<Triple> sink)
+ public static LangNTriples createParserNTriples(Tokenizer tokenizer, RDFParserOutput dest)
{
- LangNTriples parser = new LangNTriples(tokenizer, RiotLib.profile(Lang.NTRIPLES, null), sink) ;
+ LangNTriples parser = new LangNTriples(tokenizer, RiotLib.profile(Lang.NTRIPLES, null), dest) ;
return parser ;
}
/** Create a parser for NQuads, with default behaviour */
- public static LangNQuads createParserNQuads(InputStream input, Sink<Quad> sink)
+ public static LangNQuads createParserNQuads(InputStream input, RDFParserOutput dest)
{
Tokenizer tokenizer = TokenizerFactory.makeTokenizerASCII(input) ;
- return createParserNQuads(tokenizer, sink) ;
+ return createParserNQuads(tokenizer, dest) ;
}
/** Create a parser for NQuads, with default behaviour */
- public static LangNQuads createParserNQuads(Tokenizer tokenizer, Sink<Quad> sink)
+ public static LangNQuads createParserNQuads(Tokenizer tokenizer, RDFParserOutput dest)
{
- LangNQuads parser = new LangNQuads(tokenizer, RiotLib.profile(Lang.NQUADS, null), sink) ;
+ LangNQuads parser = new LangNQuads(tokenizer, RiotLib.profile(Lang.NQUADS, null), dest) ;
return parser ;
}
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/RiotTripleParsePuller.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/RiotTripleParsePuller.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/RiotTripleParsePuller.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/RiotTripleParsePuller.java Sun Dec 16 21:11:51 2012
@@ -21,7 +21,9 @@ package org.openjena.riot;
import java.io.InputStream ;
import org.apache.jena.atlas.lib.Sink ;
-import org.openjena.riot.lang.LangRIOT ;
+import org.apache.jena.riot.lang.LangRIOT ;
+import org.apache.jena.riot.lang.RDFParserOutput ;
+import org.apache.jena.riot.lang.RDFParserOutputLib ;
import com.hp.hpl.jena.graph.Triple ;
@@ -40,7 +42,8 @@ public class RiotTripleParsePuller exten
@Override
protected LangRIOT createParser(Sink<Triple> sink)
{
- return RiotReader.createParserTriples(in, lang, baseIRI, sink) ;
+ RDFParserOutput dest = RDFParserOutputLib.sinkTriples(sink) ;
+ return RiotReader.createParserTriples(in, lang, baseIRI, dest) ;
}
}
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/SerializationFactoryFinder.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/SerializationFactoryFinder.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/SerializationFactoryFinder.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/SerializationFactoryFinder.java Sun Dec 16 21:11:51 2012
@@ -24,17 +24,17 @@ import java.util.Iterator ;
import org.apache.jena.atlas.data.SerializationFactory ;
import org.apache.jena.atlas.lib.Sink ;
+import org.apache.jena.riot.lang.LabelToNode ;
+import org.apache.jena.riot.lang.LangNQuads ;
+import org.apache.jena.riot.lang.LangNTriples ;
+import org.apache.jena.riot.system.IRIResolver ;
+import org.apache.jena.riot.system.ParserProfileBase ;
+import org.apache.jena.riot.system.Prologue ;
import org.apache.jena.riot.tokens.Tokenizer ;
import org.apache.jena.riot.tokens.TokenizerFactory ;
-import org.openjena.riot.lang.LabelToNode ;
-import org.openjena.riot.lang.LangNQuads ;
-import org.openjena.riot.lang.LangNTriples ;
import org.openjena.riot.out.NodeToLabel ;
import org.openjena.riot.out.SinkQuadOutput ;
import org.openjena.riot.out.SinkTripleOutput ;
-import org.openjena.riot.system.IRIResolver ;
-import org.openjena.riot.system.ParserProfileBase ;
-import org.openjena.riot.system.Prologue ;
import com.hp.hpl.jena.graph.Triple ;
import com.hp.hpl.jena.sparql.core.Quad ;
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/SysRIOT.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/SysRIOT.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/SysRIOT.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/SysRIOT.java Sun Dec 16 21:11:51 2012
@@ -18,23 +18,14 @@
package org.openjena.riot;
-import org.apache.jena.atlas.event.EventType ;
-import org.openjena.riot.system.JenaReaderNTriples2 ;
-import org.openjena.riot.system.JenaReaderRdfJson ;
-import org.openjena.riot.system.JenaReaderTurtle2 ;
-import org.openjena.riot.system.JenaWriterRdfJson ;
+import org.apache.jena.riot.IO_Jena ;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
-import com.hp.hpl.jena.rdf.model.impl.RDFReaderFImpl ;
-import com.hp.hpl.jena.rdf.model.impl.RDFWriterFImpl ;
-
public class SysRIOT
{
public static final String riotLoggerName = "org.openjena.riot" ;
private static Logger riotLogger = LoggerFactory.getLogger(riotLoggerName) ;
- public static final EventType startRead = new EventType(SysRIOT.class, "StartRead") ;
- public static final EventType finishRead = new EventType(SysRIOT.class, "FinishRead") ;
public static boolean StrictXSDLexicialForms = false ;
public static boolean strictMode = false ;
@@ -58,54 +49,15 @@ public class SysRIOT
return riotLogger ;
}
- static String jenaNTriplesReader = "com.hp.hpl.jena.rdf.model.impl.NTripleReader" ;
- static String jenaTurtleReader = "com.hp.hpl.jena.n3.turtle.TurtleReader" ;
- static String jenaN3Reader = jenaTurtleReader ;
-
public static void wireIntoJena()
{
RIOT.init() ;
- /* No getter (!!)
- * Standard:
- com.hp.hpl.jena.rdf.model.impl.NTripleReader
- com.hp.hpl.jena.rdf.model.impl.NTripleReader
-
- com.hp.hpl.jena.n3.turtle.TurtleReader
- com.hp.hpl.jena.n3.turtle.TurtleReader
- com.hp.hpl.jena.n3.turtle.TurtleReader
- com.hp.hpl.jena.n3.turtle.TurtleReader
- */
-
- // Override N-TRIPLES and Turtle with faster implementations.
- String readerNT = JenaReaderNTriples2.class.getName() ;
- RDFReaderFImpl.setBaseReaderClassName("N-TRIPLES", readerNT) ;
- RDFReaderFImpl.setBaseReaderClassName("N-TRIPLE", readerNT) ;
-
- String readerTTL = JenaReaderTurtle2.class.getName() ;
- RDFReaderFImpl.setBaseReaderClassName("N3", readerTTL) ;
- RDFReaderFImpl.setBaseReaderClassName("TURTLE", readerTTL) ;
- RDFReaderFImpl.setBaseReaderClassName("Turtle", readerTTL) ;
- RDFReaderFImpl.setBaseReaderClassName("TTL", readerTTL) ;
-
- // Add in the RDF/JSON reader and writer
- String readerRdfJson = JenaReaderRdfJson.class.getName() ;
- RDFReaderFImpl.setBaseReaderClassName("RDF/JSON", readerRdfJson) ;
- String writerRdfJson = JenaWriterRdfJson.class.getName() ;
- RDFWriterFImpl.setBaseWriterClassName("RDF/JSON", writerRdfJson) ;
+ IO_Jena.wireIntoJena() ;
}
public static void resetJenaReaders()
{
- RDFReaderFImpl.setBaseReaderClassName("N-TRIPLES", jenaNTriplesReader) ;
- RDFReaderFImpl.setBaseReaderClassName("N-TRIPLE", jenaNTriplesReader) ;
-
- RDFReaderFImpl.setBaseReaderClassName("N3", jenaTurtleReader) ;
- RDFReaderFImpl.setBaseReaderClassName("TURTLE", jenaTurtleReader) ;
- RDFReaderFImpl.setBaseReaderClassName("Turtle", jenaTurtleReader) ;
- RDFReaderFImpl.setBaseReaderClassName("TTL", jenaTurtleReader) ;
-
- RDFReaderFImpl.setBaseReaderClassName("RDF/JSON", "") ;
- RDFWriterFImpl.setBaseWriterClassName("RDF/JSON", "") ;
+ IO_Jena.resetJenaReaders() ;
}
}
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/NQuadsWriter.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/NQuadsWriter.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/NQuadsWriter.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/NQuadsWriter.java Sun Dec 16 21:11:51 2012
@@ -23,8 +23,8 @@ import java.util.Iterator ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.lib.Sink ;
-import org.openjena.riot.system.Prologue ;
-import org.openjena.riot.system.SyntaxLabels ;
+import org.apache.jena.riot.system.Prologue ;
+import org.apache.jena.riot.system.SyntaxLabels ;
import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.query.Dataset ;
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/NTriplesWriter.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/NTriplesWriter.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/NTriplesWriter.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/NTriplesWriter.java Sun Dec 16 21:11:51 2012
@@ -23,8 +23,8 @@ import java.util.Iterator ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.lib.Sink ;
-import org.openjena.riot.system.Prologue ;
-import org.openjena.riot.system.SyntaxLabels ;
+import org.apache.jena.riot.system.Prologue ;
+import org.apache.jena.riot.system.SyntaxLabels ;
import com.hp.hpl.jena.graph.Graph ;
import com.hp.hpl.jena.graph.Node ;
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/NodeFmtLib.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/NodeFmtLib.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/NodeFmtLib.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/NodeFmtLib.java Sun Dec 16 21:11:51 2012
@@ -23,9 +23,6 @@ import java.io.Writer ;
import java.net.MalformedURLException ;
import java.util.Map ;
-import org.openjena.riot.system.PrefixMap ;
-import org.openjena.riot.system.Prologue ;
-import org.openjena.riot.system.RiotChars ;
import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.graph.Triple ;
@@ -35,6 +32,10 @@ import org.apache.jena.atlas.lib.Chars ;
import org.apache.jena.iri.IRI ;
import org.apache.jena.iri.IRIFactory ;
import org.apache.jena.iri.IRIRelativize ;
+import org.apache.jena.riot.system.PrefixMap ;
+import org.apache.jena.riot.system.Prologue ;
+import org.apache.jena.riot.system.RiotChars ;
+
import com.hp.hpl.jena.shared.PrefixMapping ;
import com.hp.hpl.jena.sparql.ARQConstants ;
import com.hp.hpl.jena.sparql.core.Quad ;
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/NodeFormatterTTL.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/NodeFormatterTTL.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/NodeFormatterTTL.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/NodeFormatterTTL.java Sun Dec 16 21:11:51 2012
@@ -22,8 +22,6 @@ import java.io.IOException ;
import java.io.Writer ;
import java.net.MalformedURLException ;
-import org.openjena.riot.system.PrefixMap ;
-import org.openjena.riot.system.RiotChars ;
import com.hp.hpl.jena.datatypes.xsd.XSDDatatype ;
@@ -32,6 +30,8 @@ import org.apache.jena.atlas.lib.Pair ;
import org.apache.jena.iri.IRI ;
import org.apache.jena.iri.IRIFactory ;
import org.apache.jena.iri.IRIRelativize ;
+import org.apache.jena.riot.system.PrefixMap ;
+import org.apache.jena.riot.system.RiotChars ;
public class NodeFormatterTTL extends NodeFormatterNT
{
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/NodeToLabel.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/NodeToLabel.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/NodeToLabel.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/NodeToLabel.java Sun Dec 16 21:11:51 2012
@@ -21,8 +21,8 @@ package org.openjena.riot.out;
import java.util.HashMap ;
import java.util.Map ;
-import org.openjena.riot.system.MapWithScope ;
-import org.openjena.riot.system.SyntaxLabels ;
+import org.apache.jena.riot.system.MapWithScope ;
+import org.apache.jena.riot.system.SyntaxLabels ;
import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.graph.Node_Literal ;
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/OutputLangUtils.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/OutputLangUtils.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/OutputLangUtils.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/OutputLangUtils.java Sun Dec 16 21:11:51 2012
@@ -22,9 +22,6 @@ import java.io.IOException ;
import java.io.Writer ;
import java.net.MalformedURLException ;
-import org.openjena.riot.system.PrefixMap ;
-import org.openjena.riot.system.Prologue ;
-import org.openjena.riot.system.SyntaxLabels ;
import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.graph.Triple ;
@@ -33,6 +30,10 @@ import org.apache.jena.atlas.io.OutputUt
import org.apache.jena.iri.IRI ;
import org.apache.jena.iri.IRIFactory ;
import org.apache.jena.iri.IRIRelativize ;
+import org.apache.jena.riot.system.PrefixMap ;
+import org.apache.jena.riot.system.Prologue ;
+import org.apache.jena.riot.system.SyntaxLabels ;
+
import com.hp.hpl.jena.sparql.core.Quad ;
/** Utilites for formatter output */
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/OutputPolicy.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/OutputPolicy.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/OutputPolicy.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/OutputPolicy.java Sun Dec 16 21:11:51 2012
@@ -18,7 +18,7 @@
package org.openjena.riot.out;
-import org.openjena.riot.system.PrefixMap ;
+import org.apache.jena.riot.system.PrefixMap ;
public class OutputPolicy
{
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/OutputProfile.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/OutputProfile.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/OutputProfile.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/OutputProfile.java Sun Dec 16 21:11:51 2012
@@ -18,8 +18,8 @@
package org.openjena.riot.out;
-import org.openjena.riot.system.PrefixMap ;
-import org.openjena.riot.system.Prologue ;
+import org.apache.jena.riot.system.PrefixMap ;
+import org.apache.jena.riot.system.Prologue ;
public class OutputProfile
{
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/RDFJSONWriter.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/RDFJSONWriter.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/RDFJSONWriter.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/RDFJSONWriter.java Sun Dec 16 21:11:51 2012
@@ -27,8 +27,8 @@ import java.util.Set ;
import org.apache.jena.atlas.lib.Pair ;
import org.apache.jena.atlas.lib.Sink ;
-import org.openjena.riot.system.Prologue ;
-import org.openjena.riot.system.SyntaxLabels ;
+import org.apache.jena.riot.system.Prologue ;
+import org.apache.jena.riot.system.SyntaxLabels ;
import com.hp.hpl.jena.graph.Graph ;
import com.hp.hpl.jena.graph.GraphUtil ;
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/SinkEntityOutput.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/SinkEntityOutput.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/SinkEntityOutput.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/SinkEntityOutput.java Sun Dec 16 21:11:51 2012
@@ -27,9 +27,9 @@ import org.apache.jena.atlas.io.Indented
import org.apache.jena.atlas.json.io.JSWriter ;
import org.apache.jena.atlas.lib.Pair ;
import org.apache.jena.atlas.lib.Sink ;
+import org.apache.jena.riot.system.Prologue ;
+import org.apache.jena.riot.system.SyntaxLabels ;
import org.openjena.riot.RiotException ;
-import org.openjena.riot.system.Prologue ;
-import org.openjena.riot.system.SyntaxLabels ;
import com.hp.hpl.jena.graph.Node;
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/SinkQuadOutput.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/SinkQuadOutput.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/SinkQuadOutput.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/SinkQuadOutput.java Sun Dec 16 21:11:51 2012
@@ -24,8 +24,8 @@ import java.io.Writer ;
import org.apache.jena.atlas.io.IO ;
import org.apache.jena.atlas.lib.Sink ;
-import org.openjena.riot.system.Prologue ;
-import org.openjena.riot.system.SyntaxLabels ;
+import org.apache.jena.riot.system.Prologue ;
+import org.apache.jena.riot.system.SyntaxLabels ;
import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.sparql.core.Quad ;
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/SinkTripleOutput.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/SinkTripleOutput.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/SinkTripleOutput.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/out/SinkTripleOutput.java Sun Dec 16 21:11:51 2012
@@ -25,8 +25,8 @@ import java.nio.charset.CharsetEncoder ;
import org.apache.jena.atlas.io.IO ;
import org.apache.jena.atlas.lib.Sink ;
-import org.openjena.riot.system.Prologue ;
-import org.openjena.riot.system.SyntaxLabels ;
+import org.apache.jena.riot.system.Prologue ;
+import org.apache.jena.riot.system.SyntaxLabels ;
import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.graph.Triple ;
Modified: jena/trunk/jena-arq/src/main/java/riotcmd/CmdLangParse.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/riotcmd/CmdLangParse.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/riotcmd/CmdLangParse.java (original)
+++ jena/trunk/jena-arq/src/main/java/riotcmd/CmdLangParse.java Sun Dec 16 21:11:51 2012
@@ -31,20 +31,18 @@ import org.apache.jena.atlas.lib.Sink ;
import org.apache.jena.atlas.lib.SinkCounting ;
import org.apache.jena.atlas.lib.SinkNull ;
import org.apache.jena.atlas.lib.StrUtils ;
+import org.apache.jena.riot.lang.* ;
+import org.apache.jena.riot.system.RiotLib ;
+import org.apache.jena.riot.system.SyntaxLabels ;
import org.apache.jena.riot.tokens.Tokenizer ;
import org.apache.jena.riot.tokens.TokenizerFactory ;
import org.apache.log4j.PropertyConfigurator ;
import org.openjena.riot.* ;
-import org.openjena.riot.lang.LabelToNode ;
-import org.openjena.riot.lang.LangRDFXML ;
-import org.openjena.riot.lang.LangRIOT ;
import org.openjena.riot.out.NodeToLabel ;
import org.openjena.riot.out.SinkQuadOutput ;
import org.openjena.riot.out.SinkTripleOutput ;
import org.openjena.riot.process.inf.InfFactory ;
import org.openjena.riot.process.inf.InferenceSetupRDFS ;
-import org.openjena.riot.system.RiotLib ;
-import org.openjena.riot.system.SyntaxLabels ;
import arq.cmd.CmdException ;
import arq.cmdline.* ;
@@ -292,12 +290,8 @@ public abstract class CmdLangParse exten
s = InfFactory.infTriples(s, setup) ;
SinkCounting<Triple> sink2 = new SinkCounting<Triple>(s) ;
-
- if ( lang.equals(Lang.RDFXML) )
- // Adapter round ARP RDF/XML reader.
- parser = LangRDFXML.create(in, baseURI, filename, errHandler, sink2) ;
- else
- parser = RiotReader.createParserTriples(in, lang, baseURI, sink2) ;
+ RDFParserOutput dest = RDFParserOutputLib.sinkTriples(sink2) ;
+ parser = RiotReader.createParserTriples(in, lang, baseURI, dest) ;
sink = sink2 ;
}
@@ -310,7 +304,8 @@ public abstract class CmdLangParse exten
s = InfFactory.infQuads(s, setup) ;
SinkCounting<Quad> sink2 = new SinkCounting<Quad>(s) ;
- parser = RiotReader.createParserQuads(in, lang, baseURI, sink2) ;
+ RDFParserOutput dest = RDFParserOutputLib.sinkQuads(sink2) ;
+ parser = RiotReader.createParserQuads(in, lang, baseURI, dest) ;
sink = sink2 ;
}
Modified: jena/trunk/jena-arq/src/main/java/riotcmd/infer.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/riotcmd/infer.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/riotcmd/infer.java (original)
+++ jena/trunk/jena-arq/src/main/java/riotcmd/infer.java Sun Dec 16 21:11:51 2012
@@ -24,17 +24,17 @@ import java.util.List ;
import org.apache.jena.atlas.io.IO ;
import org.apache.jena.atlas.lib.IRILib ;
import org.apache.jena.atlas.lib.Sink ;
+import org.apache.jena.riot.lang.LangRIOT ;
+import org.apache.jena.riot.lang.RDFParserOutput ;
+import org.apache.jena.riot.lang.RDFParserOutputLib ;
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.process.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.util.FileManager ;
@@ -141,16 +141,17 @@ public class infer extends CmdGeneral
IO.flush(System.out);
}
- private void processFile(String filename, Sink<Quad> sink)
+ private void processFile(String filename, Sink<Quad> qsink)
{
Lang lang = filename.equals("-") ? Lang.NQUADS : Lang.guess(filename, Lang.NQUADS) ;
String baseURI = IRILib.filenameToIRI(filename) ;
+ RDFParserOutput sink = RDFParserOutputLib.sinkQuads(qsink) ;
if ( lang.isTriples() )
{
InputStream in = IO.openFile(filename) ;
- Sink<Triple> sink2 = new SinkExtendTriplesToQuads(sink) ;
- LangRIOT parser = RiotReader.createParserTriples(in, lang, baseURI, sink2) ;
+ sink = RDFParserOutputLib.extendTriplesToQuads(sink) ;
+ LangRIOT parser = RiotReader.createParserTriples(in, lang, baseURI, sink) ;
parser.parse() ;
return ;
}
Modified: jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/engine/binding/TestBindingStreams.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/engine/binding/TestBindingStreams.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/engine/binding/TestBindingStreams.java (original)
+++ jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/engine/binding/TestBindingStreams.java Sun Dec 16 21:11:51 2012
@@ -25,13 +25,13 @@ import java.util.List ;
import junit.framework.JUnit4TestAdapter ;
import org.apache.jena.atlas.junit.BaseTest ;
+import org.apache.jena.riot.system.PrefixMap ;
import org.apache.jena.riot.tokens.Tokenizer ;
import org.apache.jena.riot.tokens.TokenizerFactory ;
import org.junit.AfterClass ;
import org.junit.BeforeClass ;
import org.junit.Test ;
import org.openjena.riot.RiotException ;
-import org.openjena.riot.system.PrefixMap ;
import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.rdf.model.AnonId ;
Modified: jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/TestJenaReaderRIOT.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/TestJenaReaderRIOT.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/TestJenaReaderRIOT.java (original)
+++ jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/TestJenaReaderRIOT.java Sun Dec 16 21:11:51 2012
@@ -44,7 +44,6 @@ public class TestJenaReaderRIOT extends
@BeforeClass static public void beforeClass()
{
RIOT.init() ;
- WebReader2.wireIntoJena() ;
}
@AfterClass static public void afterClass()
Modified: jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/TestReadDataset.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/TestReadDataset.java?rev=1422689&r1=1422688&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/TestReadDataset.java (original)
+++ jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/TestReadDataset.java Sun Dec 16 21:11:51 2012
@@ -25,6 +25,7 @@ import org.apache.jena.atlas.junit.BaseT
import org.junit.AfterClass ;
import org.junit.BeforeClass ;
import org.junit.Test ;
+import org.openjena.riot.RIOT ;
import com.hp.hpl.jena.query.Dataset ;
import com.hp.hpl.jena.query.DatasetFactory ;
@@ -38,7 +39,7 @@ public class TestReadDataset extends Bas
@BeforeClass static public void beforeClass()
{
- WebReader2.wireIntoJena() ;
+ RIOT.init() ;
}
@AfterClass static public void afterClass()
Modified: jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TestIRI.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TestIRI.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TestIRI.java (original)
+++ jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TestIRI.java Sun Dec 16 21:11:51 2012
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.openjena.riot.lang;
+package org.apache.jena.riot.lang;
import com.hp.hpl.jena.graph.Node ;
@@ -24,12 +24,12 @@ import org.apache.jena.atlas.junit.BaseT
import org.apache.jena.iri.IRI ;
import org.apache.jena.iri.IRIFactory ;
import org.apache.jena.riot.checker.CheckerIRI ;
+import org.apache.jena.riot.system.Checker ;
+import org.apache.jena.riot.system.RiotLib ;
import org.junit.Test ;
import org.openjena.riot.ErrorHandler ;
import org.openjena.riot.ErrorHandlerTestLib ;
import org.openjena.riot.ErrorHandlerTestLib.ExWarning ;
-import org.openjena.riot.system.Checker ;
-import org.openjena.riot.system.RiotLib ;
public class TestIRI extends BaseTest
{
Modified: jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLang.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLang.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLang.java (original)
+++ jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLang.java Sun Dec 16 21:11:51 2012
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.openjena.riot.lang;
+package org.apache.jena.riot.lang;
import java.util.ArrayList ;
import java.util.Arrays ;
Modified: jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNQuads.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNQuads.java?rev=1422689&r1=1422302&r2=1422689&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNQuads.java (original)
+++ jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNQuads.java Sun Dec 16 21:11:51 2012
@@ -16,23 +16,19 @@
* limitations under the License.
*/
-package org.openjena.riot.lang;
+package org.apache.jena.riot.lang;
-import org.apache.jena.atlas.lib.Sink ;
-import org.apache.jena.atlas.lib.SinkCounting ;
-import org.apache.jena.atlas.lib.SinkNull ;
-import org.apache.jena.atlas.lib.StrUtils ;
+import org.apache.jena.riot.lang.LangRIOT ;
+import org.apache.jena.riot.lang.RDFParserOutput ;
+import org.apache.jena.riot.lang.RDFParserOutputCounting ;
+import org.apache.jena.riot.lang.RDFParserOutputLib ;
import org.apache.jena.riot.tokens.Tokenizer ;
import org.junit.Test ;
-import org.openjena.riot.RiotLoader ;
-import org.openjena.riot.RiotReader ;
-import org.openjena.riot.ErrorHandlerTestLib.ErrorHandlerEx ;
import org.openjena.riot.ErrorHandlerTestLib.ExFatal ;
-import org.openjena.riot.system.RiotLib ;
+import org.openjena.riot.RiotReader ;
import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.sparql.core.DatasetGraph ;
-import com.hp.hpl.jena.sparql.core.Quad ;
import com.hp.hpl.jena.sparql.lib.DatasetLib ;
/** Test of syntax by a quads parser (does not include node validitiy checking) */
@@ -79,39 +75,23 @@ public class TestLangNQuads extends Test
@Override
protected long parseCount(String... strings)
{
- SinkCounting<Quad> sink = new SinkCounting<Quad>() ;
+ RDFParserOutputCounting sink = RDFParserOutputLib.count() ;
parse(sink, strings) ;
- return sink.getCount() ;
+ return sink.count() ;
}
- private static DatasetGraph parseToDataset(String string)
+ private DatasetGraph parseToDataset(String string)
{
DatasetGraph dsg = DatasetLib.createDatasetGraphMem() ;
- Sink<Quad> sink = RiotLoader.datasetSink(dsg) ;
- try {
- parse(sink, string) ;
- } finally { sink.close() ; }
+ RDFParserOutput dest = RDFParserOutputLib.dataset(dsg) ;
+ parse(dest, string) ;
return dsg ;
}
-
- private static void parse(Sink<Quad> sink, String... strings )
- {
- String string = StrUtils.strjoin("\n", strings) ;
- Tokenizer tokenizer = tokenizer(string) ;
- LangRIOT parser = RiotReader.createParserNQuads(tokenizer, sink) ;
- parser.getProfile().setHandler(new ErrorHandlerEx()) ;
- parser.parse() ;
- sink.flush();
- }
-
+
@Override
- protected void parseCheck(String... strings)
+ protected LangRIOT createParser(Tokenizer tokenizer, RDFParserOutput sink)
{
- String string = StrUtils.strjoin("\n", strings) ;
- Tokenizer tokenizer = tokenizer(string) ;
- Sink<Quad> sink = new SinkNull<Quad>() ;
- LangRIOT parser = RiotReader.createParserNQuads(tokenizer, sink) ;
- parser.setProfile(RiotLib.profile(null, false, true, new ErrorHandlerEx())) ;
- parser.parse() ;
+ return RiotReader.createParserNQuads(tokenizer, sink) ;
}
+
}