Author: andy
Date: Fri Nov 15 13:10:40 2013
New Revision: 1542256
URL: http://svn.apache.org/r1542256
Log:
JENA-589 : Add java.io.Reader as first-class source (caveats about character
sets).
Modified:
jena/trunk/jena-arq/src-examples/arq/examples/riot/ExRIOT_5.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/sse/SSE.java
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFParserRegistry.java
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOT.java
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RiotReader.java
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/LangRDFXML.java
jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/TestJenaReaderRIOT.java
jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/writer/TestRDFJSON.java
Modified: jena/trunk/jena-arq/src-examples/arq/examples/riot/ExRIOT_5.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src-examples/arq/examples/riot/ExRIOT_5.java?rev=1542256&r1=1542255&r2=1542256&view=diff
==============================================================================
--- jena/trunk/jena-arq/src-examples/arq/examples/riot/ExRIOT_5.java (original)
+++ jena/trunk/jena-arq/src-examples/arq/examples/riot/ExRIOT_5.java Fri Nov 15
13:10:40 2013
@@ -19,6 +19,7 @@
package arq.examples.riot;
import java.io.InputStream ;
+import java.io.Reader ;
import java.util.Iterator ;
import org.apache.jena.atlas.web.ContentType ;
@@ -70,21 +71,32 @@ public class ExRIOT_5
@Override
public ReaderRIOT create(Lang language)
{
+ // This is just an example - it reads a graph in
+ // http://jena.apache.org/documentation/notes/sse.html
+ // format. It is not a streaming parser; it creates some triples,
+ // then send them to the output. This style might be useful for
creating
+ // triples from a converter process or program.
+
return new ReaderRIOT() {
@Override
public void read(InputStream in, String baseURI, ContentType
ct, StreamRDF output, Context context)
{
- // This is just an example - it reads a graph in
- // http://jena.apache.org/documentation/notes/sse.html
- // format. It is not a streaming parser; it creates some
triples,
- // then send them to the output. This style might be
useful for creating
- // triples from a converter process or program.
Item item = SSE.parse(in) ;
+ read(item, baseURI, ct, output, context);
+
+ }
+ @Override
+ public void read(Reader in, String baseURI, ContentType ct,
StreamRDF output, Context context) {
+ Item item = SSE.parse(in) ;
+ read(item, baseURI, ct, output, context);
+ }
+ private void read(Item item, String baseURI, ContentType ct,
StreamRDF output, Context context) {
Graph graph = BuilderGraph.buildGraph(item) ;
Iterator<Triple> iter = graph.find(null, null, null) ;
for ( ; iter.hasNext() ; )
output.triple(iter.next()) ;
- }} ;
+ }
+ } ;
}
}
Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/sse/SSE.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/sse/SSE.java?rev=1542256&r1=1542255&r2=1542256&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/sse/SSE.java
(original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/sse/SSE.java Fri
Nov 15 13:10:40 2013
@@ -357,10 +357,10 @@ public class SSE
return handler.getItem() ;
}
- private static Item parse(Reader reader)
+ public static Item parse(Reader reader)
{ return parse(reader, null) ; }
- private static Item parse(Reader reader, PrefixMapping pmap)
+ public static Item parse(Reader reader, PrefixMapping pmap)
{
if ( pmap == null )
pmap = getDefaultPrefixMapRead() ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java?rev=1542256&r1=1542255&r2=1542256&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java
(original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java Fri
Nov 15 13:10:40 2013
@@ -22,19 +22,12 @@ import java.io.* ;
import java.util.Iterator ;
import org.apache.jena.atlas.io.IO ;
-import org.apache.jena.atlas.io.PeekReader ;
-import org.apache.jena.atlas.json.io.parser.TokenizerJSON ;
import org.apache.jena.atlas.web.ContentType ;
import org.apache.jena.atlas.web.TypedInputStream ;
-import org.apache.jena.riot.lang.LangRDFXML ;
-import org.apache.jena.riot.lang.LangRIOT ;
import org.apache.jena.riot.stream.StreamManager ;
-import org.apache.jena.riot.system.ErrorHandlerFactory ;
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.riot.writer.NQuadsWriter ;
import org.apache.jena.riot.writer.NTriplesWriter ;
import org.slf4j.Logger ;
@@ -67,12 +60,13 @@ import com.hp.hpl.jena.sparql.util.Utils
* <p>
* Extensible - a new syntax can be added to the framework.
* </p>
- * <p>Operations fall into the follwoing categories:</p>
+ * <p>Operations fall into the following categories:</p>
* <ul>
- * <li>{@code read} -- Read data from a location into a Model/Dataset etc</li>
+ * <li>{@code read} -- Read data from a location into a Model/Dataset
etc</li>
* <li>{@code loadXXX} -- Read data and return an in-memory object holding
the data.</li>
- * <li>{@code parse} -- Read data and send to an {@link StreamRDF}</li>
- * <li>{@code open} -- Open a typed input stream to the location, using any
alternative locations</li>
+ * <li>{@code parse} -- Read data and send to an {@link StreamRDF}</li>
+ * <li>{@code open} -- Open a typed input stream to the location, using
any alternative locations</li>
+ * <li>{@code write} -- Write Model/Dataset etc</li>
* </ul>
*/
@@ -289,7 +283,7 @@ public class RDFDataMgr
public static void read(Graph graph, Reader in, String base, Lang lang)
{
StreamRDF dest = StreamRDFLib.graph(graph) ;
- processTriples(dest, base, in, lang, null) ;
+ process(dest, base, in, lang, null) ;
}
/** Read triples into a model with chars from a StringReader.
@@ -302,7 +296,7 @@ public class RDFDataMgr
{
Graph g = model.getGraph() ;
StreamRDF dest = StreamRDFLib.graph(g) ;
- processTriples(dest, base, in, lang, null) ;
+ process(dest, base, in, lang, null) ;
}
/** Read triples into a model with chars from a StringReader.
@@ -314,7 +308,7 @@ public class RDFDataMgr
public static void read(Graph graph, StringReader in, String base, Lang
lang)
{
StreamRDF dest = StreamRDFLib.graph(graph) ;
- processTriples(dest, base, in, lang, null) ;
+ process(dest, base, in, lang, null) ;
}
private static Model createModel() { return
ModelFactory.createDefaultModel() ; }
@@ -824,11 +818,24 @@ public class RDFDataMgr
{
ContentType ct = determineCT(baseUri, in.getContentType(), hintLang) ;
if ( ct == null )
- throw new RiotException("Failed to determine the triples content
type: (URI="+baseUri+" : stream="+in.getContentType()+" : hint="+hintLang+")") ;
+ throw new RiotException("Failed to determine the content type:
(URI="+baseUri+" : stream="+in.getContentType()+" : hint="+hintLang+")") ;
ReaderRIOT reader = getReader(ct) ;
if ( reader == null )
- throw new RiotException("No triples reader for content type:
"+ct.getContentType()) ;
+ throw new RiotException("No parser registered for content type:
"+ct.getContentType()) ;
+ reader.read(in, baseUri, ct, destination, context) ;
+ }
+
+ // java.io.Readers are NOT preferred.
+ private static void process(StreamRDF destination, String baseUri, Reader
in, Lang lang, Context context)
+ {
+ // Not as good as from an InputStream
+ ContentType ct = determineCT(baseUri, null, lang) ;
+ if ( ct == null )
+ throw new RiotException("Failed to determine the content type:
(URI="+baseUri+" : hint="+lang+")") ;
+ ReaderRIOT reader = getReader(ct) ;
+ if ( reader == null )
+ throw new RiotException("No parser registered for content type:
"+ct.getContentType()) ;
reader.read(in, baseUri, ct, destination, context) ;
}
@@ -840,39 +847,6 @@ public class RDFDataMgr
return null ;
return r.create(lang) ;
}
-
- // java.io.Readers are NOT preferred.
- @SuppressWarnings("deprecation")
- private static void processTriples(StreamRDF output, String base, Reader
in, Lang lang, Context context)
- {
- // Not as good as from an InputStream - RDF/XML not supported
- ContentType ct = determineCT(base, null, lang) ;
- if ( ct == null )
- throw new RiotException("Failed to determine the triples content
type: (URI="+base+" : hint="+lang+")") ;
- LangRIOT parser ;
- if ( lang == null )
- throw new RiotException("No language specificied") ;
-
- if ( RDFLanguages.sameLang(RDFLanguages.RDFXML, lang) )
- parser = LangRDFXML.create(in, base, base,
ErrorHandlerFactory.errorHandlerStd, output) ;
- else
- {
- Tokenizer tokenizer =
- RDFLanguages.RDFJSON.equals(lang)?
- new TokenizerJSON(PeekReader.make(in)) :
- TokenizerFactory.makeTokenizer(in) ;
- parser = RiotReader.createParser(tokenizer, lang, base, output) ;
- }
- parser.parse() ;
- }
-
- // java.io.Readers are NOT preferred.
- private static void process(StreamRDF dest, String base, Reader in, Lang
hintLang, Context context)
- {
- Tokenizer tokenizer = TokenizerFactory.makeTokenizer(in) ;
- LangRIOT parser = RiotReader.createParser(tokenizer, hintLang, base,
dest) ;
- parser.parse() ;
- }
/** Determine the Lang, given the URI target, any content type header
string and a hint */
public static Lang determineLang(String target, String ctStr, Lang
hintLang) {
Modified:
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFParserRegistry.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFParserRegistry.java?rev=1542256&r1=1542255&r2=1542256&view=diff
==============================================================================
---
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFParserRegistry.java
(original)
+++
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFParserRegistry.java
Fri Nov 15 13:10:40 2013
@@ -21,6 +21,7 @@ package org.apache.jena.riot;
import static org.apache.jena.riot.RDFLanguages.* ;
import java.io.InputStream ;
+import java.io.Reader ;
import java.util.Map ;
import java.util.Set ;
@@ -136,13 +137,18 @@ public class RDFParserRegistry
{
return new ReaderRIOT() {
@Override
- public void read(InputStream in, String baseURI, ContentType
ct, StreamRDF output, Context context)
- {
+ public void read(InputStream in, String baseURI, ContentType
ct, StreamRDF output, Context context) {
+ LangRIOT parser = RiotReader.createParser(in, lang,
baseURI, output) ;
+ parser.parse() ;
+ }
+ @Override
+ public void read(Reader in, String baseURI, ContentType ct,
StreamRDF output, Context context) {
LangRIOT parser = RiotReader.createParser(in, lang,
baseURI, output) ;
parser.parse() ;
}
} ;
}
+
} ;
}
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOT.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOT.java?rev=1542256&r1=1542255&r2=1542256&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOT.java
(original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/ReaderRIOT.java Fri
Nov 15 13:10:40 2013
@@ -19,6 +19,7 @@
package org.apache.jena.riot;
import java.io.InputStream ;
+import java.io.Reader ;
import org.apache.jena.atlas.web.ContentType ;
import org.apache.jena.riot.system.StreamRDF ;
@@ -33,4 +34,5 @@ import com.hp.hpl.jena.sparql.util.Conte
public interface ReaderRIOT
{
public void read(InputStream in, String baseURI, ContentType ct, StreamRDF
output, Context context) ;
+ public void read(Reader reader, String baseURI, ContentType ct, StreamRDF
output, Context context) ;
}
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RiotReader.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RiotReader.java?rev=1542256&r1=1542255&r2=1542256&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RiotReader.java
(original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RiotReader.java Fri
Nov 15 13:10:40 2013
@@ -29,6 +29,7 @@ import static org.apache.jena.riot.RDFLa
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 ;
@@ -134,6 +135,21 @@ public class RiotReader
}
/** Create a parser */
+ public static LangRIOT createParser(Reader 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) ;
+ }
+ Tokenizer tokenizer = ( lang == RDFJSON ) ?
+ new TokenizerJSON(PeekReader.make(input)) :
+ TokenizerFactory.makeTokenizer(input) ;
+ return createParser(tokenizer, lang, baseIRI, dest) ;
+ }
+
+ /** Create a parser */
public static LangRIOT createParser(Tokenizer tokenizer, Lang lang, String
baseIRI, StreamRDF dest)
{
if ( RDFLanguages.sameLang(RDFXML, lang) )
@@ -297,21 +313,27 @@ public class RiotReader
}
}
- /** Create a parser for Turtle, with default behaviour */
+ /** 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, with default behaviour */
+ /** Create a parser for Turtle */
public static LangTurtle createParserTurtle(Tokenizer tokenizer, String
baseIRI, StreamRDF dest)
{
LangTurtle parser = new LangTurtle(tokenizer,
RiotLib.profile(RDFLanguages.TURTLE, baseIRI), dest) ;
return parser ;
}
- /** Create a parser for RDF/XML */
+ /** 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 )
@@ -326,49 +348,62 @@ public class RiotReader
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) ;
+ TokenizerJSON tokenizer = new
TokenizerJSON(PeekReader.makeUTF8(input)) ;
+ return createParserRdfJson(tokenizer, dest) ;
}
- /** Create a parser for TriG, with default behaviour */
+ /** 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, with default behaviour */
+ /** 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, with default behaviour */
+ /** Create a parser for N-Triples
+ * @deprecated use an RDFDataMgr operation with argument Lang.NTRIPLES
+ */
+ @Deprecated
public static LangNTriples createParserNTriples(InputStream input,
StreamRDF dest)
{
Tokenizer tokenizer = TokenizerFactory.makeTokenizerASCII(input) ;
return createParserNTriples(tokenizer, dest) ;
}
- /** Create a parser for N-Triples, with default behaviour */
+ /** 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, with default behaviour */
+ /** Create a parser for NQuads
+ * @deprecated use an RDFDataMgr operation with argument Lang.NQUADS)
+ */
+ @Deprecated
public static LangNQuads createParserNQuads(InputStream input, StreamRDF
dest)
{
Tokenizer tokenizer = TokenizerFactory.makeTokenizerASCII(input) ;
return createParserNQuads(tokenizer, dest) ;
}
- /** Create a parser for NQuads, with default behaviour */
+ /** Create a parser for NQuads */
public static LangNQuads createParserNQuads(Tokenizer tokenizer, StreamRDF
dest)
{
LangNQuads parser = new LangNQuads(tokenizer,
RiotLib.profile(RDFLanguages.NQUADS, null), dest) ;
Modified:
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/LangRDFXML.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/LangRDFXML.java?rev=1542256&r1=1542255&r2=1542256&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/LangRDFXML.java
(original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/LangRDFXML.java
Fri Nov 15 13:10:40 2013
@@ -75,7 +75,6 @@ public class LangRDFXML implements LangR
return new LangRDFXML(in, xmlBase, filename, errorHandler, sink) ;
}
- @Deprecated
public static LangRDFXML create(Reader reader, String xmlBase, String
filename, ErrorHandler errorHandler, StreamRDF sink)
{
return new LangRDFXML(reader, xmlBase, filename, errorHandler, sink) ;
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=1542256&r1=1542255&r2=1542256&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
Fri Nov 15 13:10:40 2013
@@ -93,7 +93,7 @@ public class TestJenaReaderRIOT extends
}
// test read from StringReader..
- @Test public void read_31()
+ @Test public void read_StringReader_31()
{
String x = "<s> <p> <p> ." ;
@@ -108,7 +108,7 @@ public class TestJenaReaderRIOT extends
m1.read(s1, null, "N-TRIPLES") ;
}
- @Test public void read_32()
+ @Test public void read_StringReader_32()
{
String x = StrUtils.strjoinNL(
"<rdf:RDF",
@@ -171,8 +171,6 @@ public class TestJenaReaderRIOT extends
m2.read(new StringReader(x), "http://example/base4", lang) ;
}
- // See also TestDataRead
-
private static void jenaread(String dataurl)
{
dataurl = filename(dataurl) ;
@@ -181,8 +179,6 @@ public class TestJenaReaderRIOT extends
assertTrue(m.size() != 0 ) ;
}
- // Wire in.
- // +1 one with a base.
private static void jenaread(String dataurl, String lang)
{
// read via WebReader to make sure the test setup is right.
@@ -196,10 +192,12 @@ public class TestJenaReaderRIOT extends
new RDFReaderFactoryRIOT().getReader(lang).read(m1, dataurl) ;
assertTrue(m1.size() != 0 ) ;
-// // Read via Jena model API.
-// Model m2 = ModelFactory.createDefaultModel() ;
-// m2.read(dataurl, lang) ;
-// assertTrue(m2.size() != 0 ) ;
+ // Read via Jena model API.
+ Model m2 = ModelFactory.createDefaultModel() ;
+ // The range of names for mode.read is less - canonicalise the
langauge name.
+ String x = RDFLanguages.nameToLang(lang).getName() ;
+ m2.read(dataurl, x) ;
+ assertTrue(m2.size() != 0 ) ;
}
private static void jenaread(String dataurl, String lang, String base)
Modified:
jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/writer/TestRDFJSON.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/writer/TestRDFJSON.java?rev=1542256&r1=1542255&r2=1542256&view=diff
==============================================================================
---
jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/writer/TestRDFJSON.java
(original)
+++
jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/writer/TestRDFJSON.java
Fri Nov 15 13:10:40 2013
@@ -27,10 +27,6 @@ import org.apache.jena.atlas.junit.BaseT
import org.apache.jena.atlas.lib.StrUtils ;
import org.apache.jena.riot.Lang ;
import org.apache.jena.riot.RDFDataMgr ;
-import org.apache.jena.riot.RiotReader ;
-import org.apache.jena.riot.lang.LangRIOT ;
-import org.apache.jena.riot.system.StreamRDF ;
-import org.apache.jena.riot.system.StreamRDFLib ;
import org.junit.Test ;
import com.hp.hpl.jena.graph.Graph ;
@@ -172,9 +168,7 @@ public class TestRDFJSON extends BaseTes
{
ByteArrayInputStream bin = new
ByteArrayInputStream(bout.toByteArray()) ;
Graph graph = GraphFactory.createGraphMem() ;
- StreamRDF dest = StreamRDFLib.graph(graph) ;
- LangRIOT parser = RiotReader.createParserRdfJson(bin, dest) ;
- parser.parse() ;
+ RDFDataMgr.read(graph, bin, Lang.RDFJSON) ;
return graph ;
}