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 2015/08/20 21:02:57 UTC
[03/13] jena git commit: JENA-1012 : RiotParser class to hide
implementation details.
JENA-1012 : RiotParser class to hide implementation details.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/85b9243c
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/85b9243c
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/85b9243c
Branch: refs/heads/JENA-491-construct-quads
Commit: 85b9243cbdfae2f1c6dcf148ac242e7c3d768877
Parents: fdd77f9
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Aug 20 17:54:47 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Aug 20 17:56:30 2015 +0100
----------------------------------------------------------------------
.../org/apache/jena/riot/RDFParserRegistry.java | 10 +-
.../java/org/apache/jena/riot/ReaderRIOT.java | 4 +-
.../java/org/apache/jena/riot/RiotReader.java | 218 +-----------------
.../org/apache/jena/riot/lang/RiotParsers.java | 230 +++++++++++++++++++
4 files changed, 251 insertions(+), 211 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/85b9243c/jena-arq/src/main/java/org/apache/jena/riot/RDFParserRegistry.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/RDFParserRegistry.java b/jena-arq/src/main/java/org/apache/jena/riot/RDFParserRegistry.java
index 9ba05c8..e88d14a 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/RDFParserRegistry.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/RDFParserRegistry.java
@@ -31,6 +31,7 @@ import org.apache.jena.atlas.web.ContentType ;
import org.apache.jena.riot.lang.JsonLDReader ;
import org.apache.jena.riot.lang.LangRIOT ;
import org.apache.jena.riot.lang.ReaderTriX ;
+import org.apache.jena.riot.lang.RiotParsers ;
import org.apache.jena.riot.system.ErrorHandler ;
import org.apache.jena.riot.system.ErrorHandlerFactory ;
import org.apache.jena.riot.system.ParserProfile ;
@@ -167,7 +168,7 @@ public class RDFParserRegistry
@Override
public void read(InputStream in, String baseURI, ContentType ct, StreamRDF output, Context context) {
@SuppressWarnings("deprecation")
- LangRIOT parser = RiotReader.createParser(in, lang, baseURI, output) ;
+ LangRIOT parser = RiotParsers.createParser(in, lang, baseURI, output) ;
if ( parserProfile != null )
parser.setProfile(parserProfile);
if ( errorHandler != null )
@@ -178,7 +179,7 @@ public class RDFParserRegistry
@Override
public void read(Reader in, String baseURI, ContentType ct, StreamRDF output, Context context) {
@SuppressWarnings("deprecation")
- LangRIOT parser = RiotReader.createParser(in, lang, baseURI, output) ;
+ LangRIOT parser = RiotParsers.createParser(in, lang, baseURI, output) ;
parser.getProfile().setHandler(errorHandler) ;
parser.parse() ;
}
@@ -187,7 +188,10 @@ public class RDFParserRegistry
@Override public void setErrorHandler(ErrorHandler errorHandler) { this.errorHandler = errorHandler ; }
@Override public ParserProfile getParserProfile() { return parserProfile ; }
- @Override public void setParserProfile(ParserProfile parserProfile) { this.parserProfile = parserProfile ; }
+ @Override public void setParserProfile(ParserProfile parserProfile) {
+ this.parserProfile = parserProfile ;
+ this.errorHandler = parserProfile.getHandler() ;
+ }
}
private static class ReaderRIOTFactoryJSONLD implements ReaderRIOTFactory {
http://git-wip-us.apache.org/repos/asf/jena/blob/85b9243c/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOT.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOT.java b/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOT.java
index 2179608..a9f3be7 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOT.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOT.java
@@ -62,8 +62,8 @@ public interface ReaderRIOT
public ErrorHandler getErrorHandler() ;
public void setErrorHandler(ErrorHandler errorHandler) ;
- /** Get the parser profile. Not all parser have parser profiles so this may be null */
+ /** Get the parser profile. Not all parsers have parser profiles so this may be null */
public ParserProfile getParserProfile() ;
- /** Set the parser profile. Not all parser have parser profiles so this may be a no-op */
+ /** Set the parser profile. Not all parsers have parser profiles so this may be a no-op */
public void setParserProfile(ParserProfile profile) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/85b9243c/jena-arq/src/main/java/org/apache/jena/riot/RiotReader.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/RiotReader.java b/jena-arq/src/main/java/org/apache/jena/riot/RiotReader.java
index 4b7faa1..df7d7e5 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/RiotReader.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/RiotReader.java
@@ -18,36 +18,19 @@
package org.apache.jena.riot;
-import static org.apache.jena.riot.RDFLanguages.CSV;
-import static org.apache.jena.riot.RDFLanguages.N3 ;
-import static org.apache.jena.riot.RDFLanguages.NQUADS ;
import static org.apache.jena.riot.RDFLanguages.NTRIPLES ;
-import static org.apache.jena.riot.RDFLanguages.RDFJSON ;
-import static org.apache.jena.riot.RDFLanguages.RDFXML ;
-import static org.apache.jena.riot.RDFLanguages.TRIG ;
-import static org.apache.jena.riot.RDFLanguages.TURTLE ;
-import static org.apache.jena.riot.RDFLanguages.RDFNULL ;
import static org.apache.jena.riot.RDFLanguages.filenameToLang ;
import java.io.InputStream ;
-import java.io.Reader ;
import java.util.Iterator ;
import org.apache.jena.atlas.io.IO ;
-import org.apache.jena.atlas.io.PeekReader ;
import org.apache.jena.atlas.iterator.IteratorResourceClosing ;
-import org.apache.jena.atlas.json.io.parser.TokenizerJSON ;
import org.apache.jena.atlas.lib.Sink ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.riot.lang.* ;
-import org.apache.jena.riot.out.CharSpace;
-import org.apache.jena.riot.system.ErrorHandlerFactory ;
-import org.apache.jena.riot.system.IRIResolver ;
-import org.apache.jena.riot.system.RiotLib ;
import org.apache.jena.riot.system.StreamRDF ;
import org.apache.jena.riot.system.StreamRDFLib ;
-import org.apache.jena.riot.tokens.Tokenizer ;
-import org.apache.jena.riot.tokens.TokenizerFactory ;
import org.apache.jena.sparql.core.Quad ;
/** Operations to access RIOT parsers and send the output to
@@ -63,7 +46,9 @@ public class RiotReader
* Must be in a triples syntax.
* @param filename
* @param dest Where to send the triples from the parser.
+ * @deprecated Use {@link RDFDataMgr#parse(StreamRDF, String)}
*/
+ @Deprecated
public static void parse(String filename, StreamRDF dest)
{ parse(filename, null, null, dest) ; }
@@ -72,7 +57,9 @@ public class RiotReader
* @param filename
* @param lang Language, or null for "guess from URL" (e.g. file extension)
* @param dest Where to send the triples from the parser.
- */
+ * @deprecated Use {@link RDFDataMgr#parse(StreamRDF, String, Lang)}
+ */
+ @Deprecated
public static void parse(String filename, Lang lang, StreamRDF dest)
{
parse(filename, lang, null, dest) ;
@@ -84,7 +71,9 @@ 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 dest Where to send the triples from the parser.
- */
+ * @deprecated Use {@link RDFDataMgr#parse(StreamRDF, String, String, Lang)}
+ */
+ @Deprecated
public static void parse(String filename, Lang lang, String baseIRI, StreamRDF dest)
{
if ( lang == null )
@@ -119,73 +108,6 @@ public class RiotReader
// -------- Parsers
- /** Create a parser
- * @deprecated Use {@link RDFDataMgr#createReader(Lang)}
- */
- @Deprecated
- public static LangRIOT createParser(InputStream input, Lang lang, String baseIRI, StreamRDF dest)
- {
- if ( lang == RDFXML )
- {
- if ( baseIRI != null )
- baseIRI = IRIResolver.resolveString(baseIRI) ;
- return LangRDFXML.create(input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest) ;
- } else if ( lang == CSV){
- return new LangCSV (input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest);
- }
- Tokenizer tokenizer = ( lang == RDFJSON ) ?
- new TokenizerJSON(PeekReader.makeUTF8(input)) :
- TokenizerFactory.makeTokenizerUTF8(input) ;
- return createParser(tokenizer, lang, baseIRI, dest) ;
- }
-
- /** Create a parser
- * @deprecated Use {@link RDFDataMgr#createReader(Lang)}
- */
- @Deprecated
- public static LangRIOT createParser(Reader input, Lang lang, String baseIRI, StreamRDF dest)
- {
- if ( lang == RDFXML )
- {
- if ( baseIRI != null )
- baseIRI = IRIResolver.resolveStringSilent(baseIRI) ;
- return LangRDFXML.create(input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest) ;
- } else if ( lang == CSV){
- return new LangCSV (input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest);
- }
- Tokenizer tokenizer = ( lang == RDFJSON ) ?
- new TokenizerJSON(PeekReader.make(input)) :
- TokenizerFactory.makeTokenizer(input) ;
- return createParser(tokenizer, lang, baseIRI, dest) ;
- }
-
- /** Create a parser
- * @deprecated Use {@link RDFDataMgr#createReader(Lang)}
- */
- @Deprecated
- public static LangRIOT createParser(Tokenizer tokenizer, Lang lang, String baseIRI, StreamRDF dest)
- {
- if ( RDFLanguages.sameLang(RDFXML, lang) )
- throw new RiotException("Not possible - can't parse RDF/XML from a RIOT token stream") ;
- if ( RDFLanguages.sameLang(TURTLE, lang) || RDFLanguages.sameLang(N3, lang) )
- return createParserTurtle(tokenizer, baseIRI, dest) ;
- if ( RDFLanguages.sameLang(NTRIPLES, lang) )
- return createParserNTriples(tokenizer, dest) ;
- if ( RDFLanguages.sameLang(RDFJSON, lang) )
- // But it must be a JSON tokenizer ...
- return createParserRdfJson(tokenizer, dest) ;
-
- if ( RDFLanguages.sameLang(NQUADS, lang) )
- return createParserNQuads(tokenizer, dest) ;
- if ( RDFLanguages.sameLang(TRIG, lang) )
- return createParserTriG(tokenizer, baseIRI, dest) ;
-
- if ( RDFLanguages.sameLang(RDFNULL, lang) )
- return new LangNull() ;
-
- return null ;
- }
-
/** Parse a file, sending triples to a sink.
* Must be in a triples syntax.
* @param filename
@@ -270,7 +192,7 @@ public class RiotReader
// Special case N-Triples, because the RIOT reader has a pull interface
if ( RDFLanguages.sameLang(RDFLanguages.NTRIPLES, lang) )
{
- return new IteratorResourceClosing<>(createParserNTriples(input, null), input);
+ return new IteratorResourceClosing<>(RiotParsers.createParserNTriples(input, null), input);
}
else
{
@@ -285,7 +207,7 @@ public class RiotReader
{
out.start();
parse(input, lang, baseIRI, out);
- // Unsafe: out.finish() ;
+ out.finish() ;
}
});
t.start();
@@ -306,7 +228,7 @@ public class RiotReader
// Special case N-Quads, because the RIOT reader has a pull interface
if ( RDFLanguages.sameLang(RDFLanguages.NQUADS, lang) )
{
- return new IteratorResourceClosing<>(createParserNQuads(input, null), input);
+ return new IteratorResourceClosing<>(RiotParsers.createParserNQuads(input, null), input);
}
else
{
@@ -321,7 +243,7 @@ public class RiotReader
{
out.start();
parse(input, lang, baseIRI, out);
- // Unsafe: out.finish() ;
+ out.finish() ;
}
});
t.start();
@@ -329,120 +251,4 @@ public class RiotReader
return it;
}
}
-
- /** Create a parser for Turtle
- * @deprecated use an RDFDataMgr operation with argument Lang.Turtle
- */
- @Deprecated
- public static LangTurtle createParserTurtle(InputStream input, String baseIRI, StreamRDF dest)
- {
- Tokenizer tokenizer = TokenizerFactory.makeTokenizerUTF8(input) ;
- return createParserTurtle(tokenizer, baseIRI, dest) ;
- }
-
- /** Create a parser for Turtle */
- public static LangTurtle createParserTurtle(Tokenizer tokenizer, String baseIRI, StreamRDF dest)
- {
- RiotLib.profile(RDFLanguages.TURTLE, baseIRI) ;
- LangTurtle parser = new LangTurtle(tokenizer, RiotLib.profile(RDFLanguages.TURTLE, baseIRI), dest) ;
- return parser ;
- }
-
- /** Create a parser for RDF/XML
- * @deprecated use an RDFDataMgr operation with argument Lang.RDFXML
- */
- @Deprecated
- public static LangRDFXML createParserRDFXML(InputStream input, String baseIRI, StreamRDF dest)
- {
- if ( baseIRI == null )
- baseIRI = SysRIOT.chooseBaseIRI() ;
- LangRDFXML parser = LangRDFXML.create(input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest) ;
- return parser ;
- }
-
- /** Create parsers for RDF/JSON */
- public static LangRDFJSON createParserRdfJson(Tokenizer tokenizer, StreamRDF dest)
- {
- LangRDFJSON parser = new LangRDFJSON(tokenizer, RiotLib.profile(RDFLanguages.RDFJSON, null), dest) ;
- return parser;
- }
-
- /**
- * @deprecated use RDFDataMgr and Lang.RDFJSON
- */
- @Deprecated
- public static LangRDFJSON createParserRdfJson(InputStream input, StreamRDF dest)
- {
- TokenizerJSON tokenizer = new TokenizerJSON(PeekReader.makeUTF8(input)) ;
- return createParserRdfJson(tokenizer, dest) ;
- }
-
- /** Create a parser for TriG
- * @deprecated use an RDFDataMgr operation with argument Lang.TRIG
- */
- @Deprecated
- public static LangTriG createParserTriG(InputStream input, String baseIRI, StreamRDF dest)
- {
- Tokenizer tokenizer = TokenizerFactory.makeTokenizerUTF8(input) ;
- return createParserTriG(tokenizer, baseIRI, dest) ;
- }
-
- /** Create a parser for TriG */
- public static LangTriG createParserTriG(Tokenizer tokenizer, String baseIRI, StreamRDF dest)
- {
- LangTriG parser = new LangTriG(tokenizer, RiotLib.profile(RDFLanguages.TRIG, baseIRI), dest) ;
- return parser ;
- }
-
- /** Create a parser for N-Triples
- * @deprecated use an RDFDataMgr operation with argument Lang.NTRIPLES
- */
- @Deprecated
- public static LangNTriples createParserNTriples(InputStream input, StreamRDF dest)
- {
- return createParserNTriples(input, CharSpace.UTF8, dest) ;
- }
-
- /** Create a parser for N-Triples
- * @deprecated use an RDFDataMgr operation with argument Lang.NTRIPLES
- */
- @Deprecated
- public static LangNTriples createParserNTriples(InputStream input, CharSpace charSpace, StreamRDF dest)
- {
- Tokenizer tokenizer = charSpace == CharSpace.ASCII ? TokenizerFactory.makeTokenizerASCII(input) : TokenizerFactory.makeTokenizerUTF8(input) ;
- return createParserNTriples(tokenizer, dest) ;
- }
-
- /** Create a parser for N-Triples */
- public static LangNTriples createParserNTriples(Tokenizer tokenizer, StreamRDF dest)
- {
- LangNTriples parser = new LangNTriples(tokenizer, RiotLib.profile(RDFLanguages.NTRIPLES, null), dest) ;
- return parser ;
- }
-
- /** Create a parser for NQuads
- * @deprecated use an RDFDataMgr operation with argument Lang.NQUADS)
- */
- @Deprecated
- public static LangNQuads createParserNQuads(InputStream input, StreamRDF dest)
- {
- return createParserNQuads(input, CharSpace.UTF8, dest) ;
- }
-
- /** Create a parser for NQuads
- * @deprecated use an RDFDataMgr operation with argument Lang.NQUADS)
- */
- @Deprecated
- public static LangNQuads createParserNQuads(InputStream input, CharSpace charSpace, StreamRDF dest)
- {
- Tokenizer tokenizer = charSpace == CharSpace.ASCII ? TokenizerFactory.makeTokenizerASCII(input) : TokenizerFactory.makeTokenizerUTF8(input) ;
- return createParserNQuads(tokenizer, dest) ;
- }
-
- /** Create a parser for NQuads */
- public static LangNQuads createParserNQuads(Tokenizer tokenizer, StreamRDF dest)
- {
- LangNQuads parser = new LangNQuads(tokenizer, RiotLib.profile(RDFLanguages.NQUADS, null), dest) ;
- return parser ;
- }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/85b9243c/jena-arq/src/main/java/org/apache/jena/riot/lang/RiotParsers.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/lang/RiotParsers.java b/jena-arq/src/main/java/org/apache/jena/riot/lang/RiotParsers.java
new file mode 100644
index 0000000..306d61b
--- /dev/null
+++ b/jena-arq/src/main/java/org/apache/jena/riot/lang/RiotParsers.java
@@ -0,0 +1,230 @@
+/**
+ * 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 static org.apache.jena.riot.RDFLanguages.CSV ;
+import static org.apache.jena.riot.RDFLanguages.N3 ;
+import static org.apache.jena.riot.RDFLanguages.NQUADS ;
+import static org.apache.jena.riot.RDFLanguages.NTRIPLES ;
+import static org.apache.jena.riot.RDFLanguages.RDFJSON ;
+import static org.apache.jena.riot.RDFLanguages.RDFNULL ;
+import static org.apache.jena.riot.RDFLanguages.RDFXML ;
+import static org.apache.jena.riot.RDFLanguages.TRIG ;
+import static org.apache.jena.riot.RDFLanguages.TURTLE ;
+
+import java.io.InputStream ;
+import java.io.Reader ;
+
+import org.apache.jena.atlas.io.PeekReader ;
+import org.apache.jena.atlas.json.io.parser.TokenizerJSON ;
+import org.apache.jena.riot.* ;
+import org.apache.jena.riot.out.CharSpace ;
+import org.apache.jena.riot.system.ErrorHandlerFactory ;
+import org.apache.jena.riot.system.IRIResolver ;
+import org.apache.jena.riot.system.RiotLib ;
+import org.apache.jena.riot.system.StreamRDF ;
+import org.apache.jena.riot.tokens.Tokenizer ;
+import org.apache.jena.riot.tokens.TokenizerFactory ;
+
+public class RiotParsers {
+
+ /** Create a parser for Turtle
+ * @deprecated use an RDFDataMgr operation with argument Lang.Turtle
+ */
+ @Deprecated
+ public static LangTurtle createParserTurtle(InputStream input, String baseIRI, StreamRDF dest)
+ {
+ Tokenizer tokenizer = TokenizerFactory.makeTokenizerUTF8(input) ;
+ return createParserTurtle(tokenizer, baseIRI, dest) ;
+ }
+
+ /** Create a parser for Turtle */
+ public static LangTurtle createParserTurtle(Tokenizer tokenizer, String baseIRI, StreamRDF dest)
+ {
+ RiotLib.profile(RDFLanguages.TURTLE, baseIRI) ;
+ LangTurtle parser = new LangTurtle(tokenizer, RiotLib.profile(RDFLanguages.TURTLE, baseIRI), dest) ;
+ return parser ;
+ }
+
+ /** Create a parser for RDF/XML
+ * @deprecated use an RDFDataMgr operation with argument Lang.RDFXML
+ */
+ @Deprecated
+ public static LangRDFXML createParserRDFXML(InputStream input, String baseIRI, StreamRDF dest)
+ {
+ if ( baseIRI == null )
+ baseIRI = SysRIOT.chooseBaseIRI() ;
+ LangRDFXML parser = LangRDFXML.create(input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest) ;
+ return parser ;
+ }
+
+ /** Create parsers for RDF/JSON */
+ public static LangRDFJSON createParserRdfJson(Tokenizer tokenizer, StreamRDF dest)
+ {
+ LangRDFJSON parser = new LangRDFJSON(tokenizer, RiotLib.profile(RDFLanguages.RDFJSON, null), dest) ;
+ return parser;
+ }
+
+ /**
+ * @deprecated use RDFDataMgr and Lang.RDFJSON
+ */
+ @Deprecated
+ public static LangRDFJSON createParserRdfJson(InputStream input, StreamRDF dest)
+ {
+ TokenizerJSON tokenizer = new TokenizerJSON(PeekReader.makeUTF8(input)) ;
+ return createParserRdfJson(tokenizer, dest) ;
+ }
+
+ /** Create a parser for TriG
+ * @deprecated use an RDFDataMgr operation with argument Lang.TRIG
+ */
+ @Deprecated
+ public static LangTriG createParserTriG(InputStream input, String baseIRI, StreamRDF dest)
+ {
+ Tokenizer tokenizer = TokenizerFactory.makeTokenizerUTF8(input) ;
+ return createParserTriG(tokenizer, baseIRI, dest) ;
+ }
+
+ /** Create a parser for TriG.
+ * @deprecated use an RDFDataMgr operation with argument Lang.TRIG
+ */
+ @Deprecated
+ public static LangTriG createParserTriG(Tokenizer tokenizer, String baseIRI, StreamRDF dest)
+ {
+ LangTriG parser = new LangTriG(tokenizer, RiotLib.profile(RDFLanguages.TRIG, baseIRI), dest) ;
+ return parser ;
+ }
+
+ /** Create a parser for N-Triples
+ * Normally, use an RDFDataMgr operation with argument Lang.NTRIPLES
+ */
+ public static LangNTriples createParserNTriples(InputStream input, StreamRDF dest)
+ {
+ return createParserNTriples(input, CharSpace.UTF8, dest) ;
+ }
+
+ /** Create a parser for N-Triples
+ * Normally, use an RDFDataMgr operation with argument Lang.NTRIPLES
+ */
+ public static LangNTriples createParserNTriples(InputStream input, CharSpace charSpace, StreamRDF dest)
+ {
+ Tokenizer tokenizer = charSpace == CharSpace.ASCII ? TokenizerFactory.makeTokenizerASCII(input) : TokenizerFactory.makeTokenizerUTF8(input) ;
+ return createParserNTriples(tokenizer, dest) ;
+ }
+
+ /** Create a parser for N-Triples */
+ public static LangNTriples createParserNTriples(Tokenizer tokenizer, StreamRDF dest)
+ {
+ LangNTriples parser = new LangNTriples(tokenizer, RiotLib.profile(RDFLanguages.NTRIPLES, null), dest) ;
+ return parser ;
+ }
+
+ /** Create a parser for NQuads
+ * Normally, use an RDFDataMgr operation with argument Lang.NQUADS
+ */
+ public static LangNQuads createParserNQuads(InputStream input, StreamRDF dest)
+ {
+ return createParserNQuads(input, CharSpace.UTF8, dest) ;
+ }
+
+ /** Create a parser for NQuads
+ * Normally, use an RDFDataMgr operation with argument Lang.NQUADS
+ */
+ public static LangNQuads createParserNQuads(InputStream input, CharSpace charSpace, StreamRDF dest)
+ {
+ Tokenizer tokenizer = charSpace == CharSpace.ASCII ? TokenizerFactory.makeTokenizerASCII(input) : TokenizerFactory.makeTokenizerUTF8(input) ;
+ return createParserNQuads(tokenizer, dest) ;
+ }
+
+ /** Create a parser for NQuads */
+ public static LangNQuads createParserNQuads(Tokenizer tokenizer, StreamRDF dest)
+ {
+ LangNQuads parser = new LangNQuads(tokenizer, RiotLib.profile(RDFLanguages.NQUADS, null), dest) ;
+ return parser ;
+ }
+
+ /** Create a parser
+ * @deprecated Use {@link RDFDataMgr#createReader(Lang)}
+ */
+ @Deprecated
+ public static LangRIOT createParser(InputStream input, Lang lang, String baseIRI, StreamRDF dest)
+ {
+ if ( lang == RDFXML )
+ {
+ if ( baseIRI != null )
+ baseIRI = IRIResolver.resolveString(baseIRI) ;
+ return LangRDFXML.create(input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest) ;
+ } else if ( lang == CSV){
+ return new LangCSV (input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest);
+ }
+ Tokenizer tokenizer = ( lang == RDFJSON ) ?
+ new TokenizerJSON(PeekReader.makeUTF8(input)) :
+ TokenizerFactory.makeTokenizerUTF8(input) ;
+ return createParser(tokenizer, lang, baseIRI, dest) ;
+ }
+
+ /** Create a parser
+ * @deprecated Use {@link RDFDataMgr#createReader(Lang)}
+ */
+ @Deprecated
+ public static LangRIOT createParser(Reader input, Lang lang, String baseIRI, StreamRDF dest)
+ {
+ if ( lang == RDFXML )
+ {
+ if ( baseIRI != null )
+ baseIRI = IRIResolver.resolveStringSilent(baseIRI) ;
+ return LangRDFXML.create(input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest) ;
+ } else if ( lang == CSV){
+ return new LangCSV (input, baseIRI, baseIRI, ErrorHandlerFactory.getDefaultErrorHandler(), dest);
+ }
+ Tokenizer tokenizer = ( lang == RDFJSON ) ?
+ new TokenizerJSON(PeekReader.make(input)) :
+ TokenizerFactory.makeTokenizer(input) ;
+ return createParser(tokenizer, lang, baseIRI, dest) ;
+ }
+
+ /** Create a parser
+ * @deprecated Use {@link RDFDataMgr#createReader(Lang)}
+ */
+ @Deprecated
+ public static LangRIOT createParser(Tokenizer tokenizer, Lang lang, String baseIRI, StreamRDF dest)
+ {
+ if ( RDFLanguages.sameLang(RDFXML, lang) )
+ throw new RiotException("Not possible - can't parse RDF/XML from a RIOT token stream") ;
+ if ( RDFLanguages.sameLang(TURTLE, lang) || RDFLanguages.sameLang(N3, lang) )
+ return createParserTurtle(tokenizer, baseIRI, dest) ;
+ if ( RDFLanguages.sameLang(NTRIPLES, lang) )
+ return createParserNTriples(tokenizer, dest) ;
+ if ( RDFLanguages.sameLang(RDFJSON, lang) )
+ // But it must be a JSON tokenizer ...
+ return createParserRdfJson(tokenizer, dest) ;
+
+ if ( RDFLanguages.sameLang(NQUADS, lang) )
+ return createParserNQuads(tokenizer, dest) ;
+ if ( RDFLanguages.sameLang(TRIG, lang) )
+ return createParserTriG(tokenizer, baseIRI, dest) ;
+
+ if ( RDFLanguages.sameLang(RDFNULL, lang) )
+ return new LangNull() ;
+
+ return null ;
+ }
+
+}
+