JENA-1012 clean tests ; DRY code; prefer use of RDFDataMgr.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/d8fb3175 Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/d8fb3175 Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/d8fb3175 Branch: refs/heads/JENA-491-construct-quads Commit: d8fb3175a20c518eef372b8c881b6526977d8bc0 Parents: 85b9243 Author: Andy Seaborne <[email protected]> Authored: Thu Aug 20 17:55:46 2015 +0100 Committer: Andy Seaborne <[email protected]> Committed: Thu Aug 20 17:56:40 2015 +0100 ---------------------------------------------------------------------- .../jena/riot/lang/ParserTestBaseLib.java | 76 +++++ .../apache/jena/riot/lang/TestLangNQuads.java | 78 ++---- .../apache/jena/riot/lang/TestLangNTriples.java | 130 ++++----- .../apache/jena/riot/lang/TestLangNTuples.java | 73 +++-- .../apache/jena/riot/lang/TestLangRdfJson.java | 280 ++++++++----------- .../org/apache/jena/riot/lang/TestLangTrig.java | 24 +- .../apache/jena/riot/lang/TestLangTurtle.java | 37 +-- .../jena/riot/lang/TestParserFactory.java | 32 ++- .../jena/riot/lang/TestReaderNTriples.java | 24 -- .../apache/jena/riot/lang/TestTurtleTerms.java | 3 +- 10 files changed, 354 insertions(+), 403 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/d8fb3175/jena-arq/src/test/java/org/apache/jena/riot/lang/ParserTestBaseLib.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/ParserTestBaseLib.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/ParserTestBaseLib.java new file mode 100644 index 0000000..c31c16d --- /dev/null +++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/ParserTestBaseLib.java @@ -0,0 +1,76 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.jena.riot.lang; + +import java.io.StringReader ; + +import org.apache.jena.atlas.lib.StrUtils ; +import org.apache.jena.graph.Graph ; +import org.apache.jena.riot.ErrorHandlerTestLib.ErrorHandlerEx ; +import org.apache.jena.riot.Lang ; +import org.apache.jena.riot.RDFDataMgr ; +import org.apache.jena.riot.ReaderRIOT ; +import org.apache.jena.riot.system.ParserProfile ; +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.sparql.core.DatasetGraph ; +import org.apache.jena.sparql.core.DatasetGraphFactory ; +import org.apache.jena.sparql.graph.GraphFactory ; + +/** Helper code for RIOT language parsing tests */ +class ParserTestBaseLib { + + /** Parse for a language - convert errors.wranigns to ErrorHandlerEx */ + static Graph parseGraph(Lang lang, String ...strings) { + Graph graph = GraphFactory.createDefaultGraph() ; + StreamRDF dest = StreamRDFLib.graph(graph) ; + parse(lang, dest, strings) ; + return graph ; + } + + /** Parse for a language - convert errors.wranigns to ErrorHandlerEx */ + static DatasetGraph parseDataset(Lang lang, String ...strings) { + DatasetGraph dsg = DatasetGraphFactory.createMem() ; + StreamRDF dest = StreamRDFLib.dataset(dsg) ; + parse(lang, dest, strings) ; + return dsg ; + } + + /** Parse strings to destination (chekcing on, URI resolution off) */ + static void parse(Lang lang, StreamRDF dest, String... strings) { + String string = StrUtils.strjoin("\n", strings) ; + StringReader reader = new StringReader(string) ; + String baseIRI = "http://base/" ; + ReaderRIOT r = RDFDataMgr.createReader(lang) ; + //ParserProfile profile = RiotLib.profile(lang, baseIRI, new ErrorHandlerEx()); + ParserProfile profile = RiotLib.profile(baseIRI, false, true, new ErrorHandlerEx()); + r.setParserProfile(profile) ; + r.setErrorHandler(new ErrorHandlerEx()); // WHY? + r.read(reader, baseIRI, null, dest, null); + } + + /** Parse for a language - convert errors.wranigns to ErrorHandlerEx */ + static long parseCount(Lang lang, String ...strings) { + StreamRDFCounting dest = StreamRDFLib.count() ; + parse(lang, dest, strings) ; + return dest.count() ; + } +} + http://git-wip-us.apache.org/repos/asf/jena/blob/d8fb3175/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNQuads.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNQuads.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNQuads.java index dff0392..1c6e721 100644 --- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNQuads.java +++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNQuads.java @@ -20,75 +20,49 @@ package org.apache.jena.riot.lang; import org.apache.jena.graph.NodeFactory ; import org.apache.jena.riot.ErrorHandlerTestLib.ExFatal ; -import org.apache.jena.riot.RiotReader ; -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.Lang ; import org.apache.jena.sparql.core.DatasetGraph ; -import org.apache.jena.sparql.core.DatasetGraphFactory ; import org.junit.Test ; /** Test of syntax by a quads parser (does not include node validitiy checking) */ public class TestLangNQuads extends TestLangNTuples { - - @Test - public void quad_1() - { - parseCount("<x> <p> <s> <g> .") ; - } - - @Test(expected=ExFatal.class) - public void quad_2() - { - parseCount("<x> <p> <s> <g>") ; // No trailing DOT + @Override + protected Lang getLang() { + return Lang.NQUADS ; } - - @Test(expected=ExFatal.class) - public void nq_only_1() - { - parseCount("<x> <p> <s> <g> <c> .") ; + @Test + public void quad_1() { + parseCount("<x> <p> <s> <g> ."); } - @Test(expected=ExFatal.class) - public void nq_only_2() - { - parseCount("@base <http://example/> . <x> <p> <s> .") ; + @Test(expected = ExFatal.class) + public void quad_2() { + parseCount("<x> <p> <s> <g>"); // No trailing DOT } - - @Test - public void dataset_1() - { - // This must parse to <g> - DatasetGraph dsg = parseToDataset("<x> <p> <s> <g> .") ; - assertEquals(1,dsg.size()) ; - assertEquals(1, dsg.getGraph(NodeFactory.createURI("g")).size()) ; - assertEquals(0, dsg.getDefaultGraph().size()) ; + @Test(expected = ExFatal.class) + public void nq_only_1() { + parseCount("<x> <p> <s> <g> <c> ."); } - @Override - protected long parseCount(String... strings) - { - StreamRDFCounting sink = StreamRDFLib.count() ; - parse(sink, strings) ; - return sink.count() ; + @Test(expected = ExFatal.class) + public void nq_only_2() { + parseCount("@base <http://example/> . <x> <p> <s> ."); } - - private DatasetGraph parseToDataset(String string) - { - DatasetGraph dsg = DatasetGraphFactory.createMem() ; - StreamRDF dest = StreamRDFLib.dataset(dsg) ; - parse(dest, string) ; - return dsg ; + + @Test + public void dataset_1() { + // This must parse to <g> + DatasetGraph dsg = parseToDataset("<x> <p> <s> <g> ."); + assertEquals(1, dsg.size()); + assertEquals(1, dsg.getGraph(NodeFactory.createURI("g")).size()); + assertEquals(0, dsg.getDefaultGraph().size()); } - @Override - protected LangRIOT createParser(Tokenizer tokenizer, StreamRDF sink) - { - return RiotReader.createParserNQuads(tokenizer, sink) ; + private DatasetGraph parseToDataset(String string) { + return ParserTestBaseLib.parseDataset(Lang.NQUADS, string); } - } http://git-wip-us.apache.org/repos/asf/jena/blob/d8fb3175/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNTriples.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNTriples.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNTriples.java index feb5fa1..55b9bd6 100644 --- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNTriples.java +++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNTriples.java @@ -24,14 +24,10 @@ import org.apache.jena.atlas.lib.StrUtils ; import org.apache.jena.graph.Graph ; import org.apache.jena.rdf.model.Model ; import org.apache.jena.rdf.model.ModelFactory ; -import org.apache.jena.riot.RDFLanguages ; -import org.apache.jena.riot.RDFDataMgr ; -import org.apache.jena.riot.RiotException; -import org.apache.jena.riot.RiotReader ; +import org.apache.jena.riot.* ; import org.apache.jena.riot.ErrorHandlerTestLib.ErrorHandlerEx ; import org.apache.jena.riot.ErrorHandlerTestLib.ExFatal ; import org.apache.jena.riot.out.CharSpace; -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.sparql.sse.SSE ; @@ -42,87 +38,79 @@ import org.junit.Test ; public class TestLangNTriples extends TestLangNTuples { // Test streaming interface. - - @Test public void nt_reader_twice() - { - String s = "_:a <p> 'foo' . " ; - StringReader r = new StringReader(s) ; - Model m = ModelFactory.createDefaultModel() ; - - RDFDataMgr.read(m, r, null, RDFLanguages.NTRIPLES) ; - assertEquals(1, m.size()) ; - - String x = m.listStatements().next().getSubject().getId().getLabelString() ; - assertNotEquals(x, "a") ; - - // reset - reread - new bNode. - r = new StringReader(s) ; - RDFDataMgr.read(m, r, null, RDFLanguages.NTRIPLES) ; - assertEquals(2, m.size()) ; + + @Override + protected Lang getLang() { + return Lang.NTRIPLES ; } @Test - public void nt_model_1() - { - Model m1 = parseToModel("<x> <p> \"abc-\\u00E9\". ") ; - assertEquals(1, m1.size()) ; - Model m2 = parseToModel("<x> <p> \"abc-\\u00E9\". ") ; - assertTrue(m1.isIsomorphicWith(m2)) ; - Graph g1 = SSE.parseGraph("(graph (triple <x> <p> \"abc-é\"))") ; - assertTrue(g1.isIsomorphicWith(m1.getGraph())) ; + public void nt_reader_twice() { + String s = "_:a <p> 'foo' . "; + StringReader r = new StringReader(s); + Model m = ModelFactory.createDefaultModel(); + + RDFDataMgr.read(m, r, null, RDFLanguages.NTRIPLES); + assertEquals(1, m.size()); + + String x = m.listStatements().next().getSubject().getId().getLabelString(); + assertNotEquals(x, "a"); + + // reset - reread - new bNode. + r = new StringReader(s); + RDFDataMgr.read(m, r, null, RDFLanguages.NTRIPLES); + assertEquals(2, m.size()); } - @Test(expected=ExFatal.class) - public void nt_only_1() - { - parseCount("<x> <p> <s> <g> .") ; + @Test + public void nt_model_1() { + Model m1 = parseToModel("<x> <p> \"abc-\\u00E9\". "); + assertEquals(1, m1.size()); + Model m2 = parseToModel("<x> <p> \"abc-\\u00E9\". "); + assertTrue(m1.isIsomorphicWith(m2)); + Graph g1 = SSE.parseGraph("(graph (triple <x> <p> \"abc-é\"))"); + assertTrue(g1.isIsomorphicWith(m1.getGraph())); } - @Test(expected=ExFatal.class) - public void nt_only_2() - { - parseCount("@base <http://example/> . <x> <p> <s> .") ; + @Test(expected = ExFatal.class) + public void nt_only_1() { + parseCount("<x> <p> <s> <g> ."); } - @Test - public void nt_only_5() - { - parseCount("<x> <p> \"é\" .") ; + @Test(expected = ExFatal.class) + public void nt_only_2() { + parseCount("@base <http://example/> . <x> <p> <s> ."); } - - @Test(expected = RiotException.class) - public void nt_only_5b() - { - parseCount(CharSpace.ASCII, "<x> <p> \"é\" .") ; + + @Test + public void nt_only_5() { + parseCount("<x> <p> \"é\" ."); } - + @Override protected long parseCount(String... strings) { - return parseCount(CharSpace.UTF8, strings); + return ParserTestBaseLib.parseCount(Lang.NTRIPLES, strings) ; + } + + @Test(expected = RiotException.class) + public void nt_only_5b() { + parseCount(CharSpace.ASCII, "<x> <p> \"é\" ."); } - - private long parseCount(CharSpace charSpace, String... strings) - { - String string = StrUtils.strjoin("\n", strings) ; - Tokenizer tokenizer = tokenizer(charSpace, string) ; - StreamRDFCounting sink = StreamRDFLib.count() ; - LangNTriples x = RiotReader.createParserNTriples(tokenizer, sink) ; - x.getProfile().setHandler(new ErrorHandlerEx()) ; - x.parse() ; - return sink.count() ; + + private long parseCount(CharSpace charSpace, String... strings) { + String string = StrUtils.strjoin("\n", strings); + Tokenizer tokenizer = tokenizer(charSpace, string); + StreamRDFCounting sink = StreamRDFLib.count(); + LangNTriples x = RiotParsers.createParserNTriples(tokenizer, sink); + x.getProfile().setHandler(new ErrorHandlerEx()); + x.parse(); + return sink.count(); } - @Override - protected LangRIOT createParser(Tokenizer tokenizer, StreamRDF sink) - { - return RiotReader.createParserNTriples(tokenizer, sink) ; - } - - protected Model parseToModel(String string) - { - StringReader r = new StringReader(string) ; - Model model = ModelFactory.createDefaultModel() ; - RDFDataMgr.read(model, r, null, RDFLanguages.NTRIPLES) ; - return model ; + protected Model parseToModel(String string) { + StringReader r = new StringReader(string); + Model model = ModelFactory.createDefaultModel(); + RDFDataMgr.read(model, r, null, RDFLanguages.NTRIPLES); + return model; } } http://git-wip-us.apache.org/repos/asf/jena/blob/d8fb3175/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNTuples.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNTuples.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNTuples.java index a401195..d75987c 100644 --- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNTuples.java +++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNTuples.java @@ -26,20 +26,36 @@ import org.apache.jena.riot.ErrorHandlerTestLib.ErrorHandlerEx; import org.apache.jena.riot.ErrorHandlerTestLib.ExError; import org.apache.jena.riot.ErrorHandlerTestLib.ExFatal; import org.apache.jena.riot.ErrorHandlerTestLib.ExWarning; -import org.apache.jena.riot.* ; +import org.apache.jena.riot.Lang ; import org.apache.jena.riot.out.CharSpace; +import org.apache.jena.riot.system.ErrorHandler ; 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.junit.AfterClass ; +import org.junit.BeforeClass ; import org.junit.Test ; - +import static org.apache.jena.riot.system.ErrorHandlerFactory.errorHandlerNoLogging ; +import static org.apache.jena.riot.system.ErrorHandlerFactory.getDefaultErrorHandler ; +import static org.apache.jena.riot.system.ErrorHandlerFactory.setDefaultErrorHandler ; /** Test of syntax by a tuples parser (does not include node validitiy checking) */ abstract public class TestLangNTuples extends BaseTest { // Test streaming interface. + + private static ErrorHandler errorhandler = null ; + @BeforeClass public static void beforeClass() + { + errorhandler = getDefaultErrorHandler() ; + setDefaultErrorHandler(errorHandlerNoLogging) ; + } + + @AfterClass public static void afterClass() + { + setDefaultErrorHandler(errorhandler) ; + } @Test public void tuple_0() { @@ -162,7 +178,7 @@ abstract public class TestLangNTuples extends BaseTest Tokenizer tokenizer = charSpace == CharSpace.ASCII ? TokenizerFactory.makeTokenizerASCII(in) : TokenizerFactory.makeTokenizerUTF8(in) ; return tokenizer ; } - +// static protected Tokenizer tokenizer(String string) { // UTF-8 @@ -171,28 +187,47 @@ abstract public class TestLangNTuples extends BaseTest Tokenizer tokenizer = TokenizerFactory.makeTokenizerUTF8(in) ; return tokenizer ; } - - protected void parse(StreamRDF sink, String... strings ) - { - String string = StrUtils.strjoin("\n", strings) ; - Tokenizer tokenizer = tokenizer(string) ; - LangRIOT parser = createParser(tokenizer(string), sink) ; - parser.getProfile().setHandler(new ErrorHandlerEx()) ; - parser.parse() ; - } - - protected abstract LangRIOT createParser(Tokenizer tokenizer, StreamRDF sink) ; - +// +// protected void parse(StreamRDF sink, String... strings ) { +// ParserTestBaseLib.parse(getLang(), sink, strings); +// } +// +// protected void parseASCII(StreamRDF sink, String string) { +// Tokenizer tokenizer = tokenizer(CharSpace.ASCII, string) ; +// LangRIOT parser = RiotParsers.createParserNTriples(tokenizer, sink) ; +// parser.getProfile().setHandler(new ErrorHandlerEx()) ; +// parser.parse() ; +// } +// +// +// { +// String string = StrUtils.strjoin("\n", strings) ; +// Tokenizer tokenizer = tokenizer(string) ; +// LangRIOT parser = createParser(tokenizer(string), sink) ; +// parser.getProfile().setHandler(new ErrorHandlerEx()) ; +// parser.parse() ; +// } +// +//// protected abstract LangRIOT createParser(Tokenizer tokenizer, StreamRDF sink) ; +// final protected void parseCheck(String... strings) { String string = StrUtils.strjoin("\n", strings) ; Tokenizer tokenizer = tokenizer(string) ; StreamRDFCounting sink = StreamRDFLib.count() ; - LangRIOT x = RiotReader.createParserNQuads(tokenizer, sink) ; + LangRIOT x = RiotParsers.createParserNQuads(tokenizer, sink) ; x.setProfile(RiotLib.profile(null, false, true, new ErrorHandlerEx())) ; x.parse() ; } - +// + protected abstract Lang getLang() ; + + protected long parseCount(String... strings) { + return ParserTestBaseLib.parseCount(getLang(), strings) ; + } - protected abstract long parseCount(String... strings) ; +// protected void parseCheck(String... strings) { +// ParserTestBaseLib.parseCount(getLang(), strings) ; +// } + } http://git-wip-us.apache.org/repos/asf/jena/blob/d8fb3175/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangRdfJson.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangRdfJson.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangRdfJson.java index 91a0202..d0a47b6 100644 --- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangRdfJson.java +++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangRdfJson.java @@ -21,15 +21,13 @@ package org.apache.jena.riot.lang; import java.io.ByteArrayInputStream ; import java.io.StringReader ; -import org.apache.jena.atlas.io.PeekReader ; -import org.apache.jena.atlas.json.io.parser.TokenizerJSON ; import org.apache.jena.atlas.junit.BaseTest ; import org.apache.jena.atlas.lib.StrUtils ; +import org.apache.jena.graph.Graph ; import org.apache.jena.rdf.model.Model ; import org.apache.jena.rdf.model.ModelFactory ; -import org.apache.jena.riot.ErrorHandlerTestLib.ErrorHandlerEx ; -import org.apache.jena.riot.ErrorHandlerTestLib.ExFatal ; import org.apache.jena.riot.* ; +import org.apache.jena.riot.ErrorHandlerTestLib.ExFatal ; import org.apache.jena.riot.system.StreamRDFLib ; import org.apache.jena.riot.tokens.Tokenizer ; import org.apache.jena.riot.tokens.TokenizerFactory ; @@ -337,199 +335,143 @@ public class TestLangRdfJson extends BaseTest assertTrue(m.isIsomorphicWith(m2)) ; } - @Test(expected=ExFatal.class) - public void rdfjson_invalid_empty_string() - { - String s = ""; - - parseCount(s) ; - } - - @Test(expected=ExFatal.class) - public void rdfjson_invalid_unterminated_graph() - { - String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] } " ; - - parseCount(s) ; - } - - @Test(expected=ExFatal.class) - public void rdfjson_invalid_missing_colon_after_subject() - { - String s = "{ \"http://example.org/subject\" { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] } }" ; - - parseCount(s) ; - } - - @Test(expected=ExFatal.class) - public void rdfjson_invalid_missing_colon_after_predicate() - { - String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] } }" ; - - parseCount(s) ; - } - - @Test(expected=ExFatal.class) - public void rdfjson_invalid_missing_colon_in_object() - { - String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" \"uri\" , \"value\" : \"http://example.org/object\" } ] } }" ; - - parseCount(s) ; - } - - @Test(expected=ExFatal.class) - public void rdfjson_invalid_unterminated_predicateobjectlist_object() - { - String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ]" ; - - parseCount(s) ; - } - - @Test(expected=ExFatal.class) - public void rdfjson_invalid_unterminated_objectlist_array() - { - String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } } }" ; - - parseCount(s) ; - } - - @Test(expected=ExFatal.class) - public void rdfjson_invalid_unterminated_object_object() - { - String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\"" ; - - parseCount(s) ; - } - - @Test(expected=ExFatal.class) - public void rdfjson_invalid_trailing_comma_in_object() - { - String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" , } ] } }" ; - - parseCount(s) ; - } - - @Test(expected=ExFatal.class) - public void rdfjson_invalid_trailing_comma_after_subject() - { - String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] } , }" ; - - parseCount(s) ; - } + @Test(expected = ExFatal.class) + public void rdfjson_invalid_empty_string() { + String s = ""; + parseCount(s); + } - @Test(expected=ExFatal.class) - public void rdfjson_invalid_trailing_comma_after_predicate() - { - String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] , } }" ; + @Test(expected = ExFatal.class) + public void rdfjson_invalid_unterminated_graph() { + String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] } "; + parseCount(s); + } - parseCount(s) ; - } + @Test(expected = ExFatal.class) + public void rdfjson_invalid_missing_colon_after_subject() { + String s = "{ \"http://example.org/subject\" { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] } }"; + parseCount(s); + } - @Test(expected=ExFatal.class) - public void rdfjson_invalid_property_names_in_object() - { - String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"name\" : \"value\" } ] } }" ; + @Test(expected = ExFatal.class) + public void rdfjson_invalid_missing_colon_after_predicate() { + String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] } }"; + parseCount(s); + } - parseCount(s) ; - } + @Test(expected = ExFatal.class) + public void rdfjson_invalid_missing_colon_in_object() { + String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" \"uri\" , \"value\" : \"http://example.org/object\" } ] } }"; + parseCount(s); + } - @Test(expected=ExFatal.class) - public void rdfjson_invalid_lang_and_datatype_in_object() - { - String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"literal\" , \"value\" : \"some text\" , \"lang\" : \"en\" , \"datatype\" : \"http://example.org/datatype\" } ] } }" ; + @Test(expected = ExFatal.class) + public void rdfjson_invalid_unterminated_predicateobjectlist_object() { + String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ]"; + parseCount(s); + } - parseCount(s) ; - } + @Test(expected = ExFatal.class) + public void rdfjson_invalid_unterminated_objectlist_array() { + String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } } }"; + parseCount(s); + } - @Test(expected=ExFatal.class) - public void rdfjson_invalid_lang_and_datatype_in_object2() - { - String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"literal\" , \"value\" : \"some text\" , \"datatype\" : \"http://example.org/datatype\" , \"lang\" : \"en\" } ] } }" ; + @Test(expected = ExFatal.class) + public void rdfjson_invalid_unterminated_object_object() { + String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\""; + parseCount(s); + } - parseCount(s) ; - } + @Test(expected = ExFatal.class) + public void rdfjson_invalid_trailing_comma_in_object() { + String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" , } ] } }"; + parseCount(s); + } - @Test(expected=ExFatal.class) - public void rdfjson_invalid_repeated_property_type_in_object() - { - String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] } }" ; + @Test(expected = ExFatal.class) + public void rdfjson_invalid_trailing_comma_after_subject() { + String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] } , }"; + parseCount(s); + } - parseCount(s) ; - } + @Test(expected = ExFatal.class) + public void rdfjson_invalid_trailing_comma_after_predicate() { + String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] , } }"; + parseCount(s); + } - @Test(expected=ExFatal.class) - public void rdfjson_invalid_repeated_property_value_in_object() - { - String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" , \"value\" : \"http://example.org/object\" } ] } }" ; + @Test(expected = ExFatal.class) + public void rdfjson_invalid_property_names_in_object() { + String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"name\" : \"value\" } ] } }"; + parseCount(s); + } - parseCount(s) ; - } + @Test(expected = ExFatal.class) + public void rdfjson_invalid_lang_and_datatype_in_object() { + String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"literal\" , \"value\" : \"some text\" , \"lang\" : \"en\" , \"datatype\" : \"http://example.org/datatype\" } ] } }"; + parseCount(s); + } - @Test(expected=ExFatal.class) - public void rdfjson_invalid_value_type_in_object() - { - String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"other\" , \"value\" : \"http://example.org/object\" } ] } }" ; + @Test(expected = ExFatal.class) + public void rdfjson_invalid_lang_and_datatype_in_object2() { + String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"literal\" , \"value\" : \"some text\" , \"datatype\" : \"http://example.org/datatype\" , \"lang\" : \"en\" } ] } }"; + parseCount(s); + } - parseCount(s) ; - } + @Test(expected = ExFatal.class) + public void rdfjson_invalid_repeated_property_type_in_object() { + String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" } ] } }"; + parseCount(s); + } - @Test(expected=ExFatal.class) - public void rdfjson_invalid_array_toplevel() - { - String s = "[]" ; + @Test(expected = ExFatal.class) + public void rdfjson_invalid_repeated_property_value_in_object() { + String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"uri\" , \"value\" : \"http://example.org/object\" , \"value\" : \"http://example.org/object\" } ] } }"; + parseCount(s); + } - parseCount(s) ; - } + @Test(expected = ExFatal.class) + public void rdfjson_invalid_value_type_in_object() { + String s = "{ \"http://example.org/subject\" : { \"http://example.org/predicate\" : [ { \"type\" : \"other\" , \"value\" : \"http://example.org/object\" } ] } }"; + parseCount(s); + } - @Test(expected=ExFatal.class) - public void rdfjson_invalid_trailing_content() - { - String s = "{}{}" ; + @Test(expected = ExFatal.class) + public void rdfjson_invalid_array_toplevel() { + String s = "[]"; + parseCount(s); + } - parseCount(s); - } + @Test(expected = ExFatal.class) + public void rdfjson_invalid_trailing_content() { + String s = "{}{}"; + parseCount(s); + } @Test(expected=IllegalArgumentException.class) - public void rdfjson_invalid_tokenizer() - { + public void rdfjson_invalid_tokenizer() { byte b[] = StrUtils.asUTF8bytes("") ; ByteArrayInputStream in = new ByteArrayInputStream(b); Tokenizer tokenizer = TokenizerFactory.makeTokenizerUTF8(in) ; StreamRDFCounting sink = StreamRDFLib.count() ; - LangRDFJSON parser = RiotReader.createParserRdfJson(tokenizer, sink) ; + LangRDFJSON parser = RiotParsers.createParserRdfJson(tokenizer, sink) ; } - private long parseCount(String string) - { - Tokenizer tokenizer = tokenizer(string) ; - StreamRDFCounting sink = StreamRDFLib.count() ; - LangRDFJSON x = RiotReader.createParserRdfJson(tokenizer, sink) ; - x.getProfile().setHandler(new ErrorHandlerEx()) ; - x.parse() ; - return sink.count() ; + private long parseCount(String string) { + return ParserTestBaseLib.parseCount(Lang.RDFJSON, string) ; } - - private Model parseToModelNTriples(String string) - { - StringReader r = new StringReader(string) ; - Model model = ModelFactory.createDefaultModel() ; - RDFDataMgr.read(model, r, null, RDFLanguages.NTRIPLES) ; - return model ; - } - - private Model parseToModelRdfJson(String string) - { - StringReader r = new StringReader(string) ; - Model model = ModelFactory.createDefaultModel() ; - RDFDataMgr.read(model, r, null, RDFLanguages.RDFJSON) ; - return model ; + + private Model parseToModelNTriples(String string) { + StringReader r = new StringReader(string); + Model model = ModelFactory.createDefaultModel(); + RDFDataMgr.read(model, r, null, RDFLanguages.NTRIPLES); + return model; } - private Tokenizer tokenizer(String str) - { - byte b[] = StrUtils.asUTF8bytes(str) ; - ByteArrayInputStream in = new ByteArrayInputStream(b) ; - Tokenizer tokenizer = new TokenizerJSON(PeekReader.makeUTF8(in)) ; - return tokenizer ; + private Model parseToModelRdfJson(String string) { + Graph g = ParserTestBaseLib.parseGraph(RDFLanguages.RDFJSON, string); + Model model = ModelFactory.createModelForGraph(g); + return model; } } http://git-wip-us.apache.org/repos/asf/jena/blob/d8fb3175/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTrig.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTrig.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTrig.java index bb04e29..87de918 100644 --- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTrig.java +++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTrig.java @@ -19,18 +19,12 @@ package org.apache.jena.riot.lang; import org.apache.jena.atlas.junit.BaseTest ; -import org.apache.jena.atlas.lib.StrUtils ; import org.apache.jena.graph.Triple ; -import org.apache.jena.riot.* ; -import org.apache.jena.riot.ErrorHandlerTestLib.ErrorHandlerEx ; +import org.apache.jena.riot.ErrorHandlerTestLib ; import org.apache.jena.riot.ErrorHandlerTestLib.ExFatal ; import org.apache.jena.riot.ErrorHandlerTestLib.ExWarning ; -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.Lang ; import org.apache.jena.sparql.core.DatasetGraph ; -import org.apache.jena.sparql.core.DatasetGraphFactory ; import org.apache.jena.sparql.sse.SSE ; import org.junit.Test ; @@ -84,18 +78,8 @@ public class TestLangTrig extends BaseTest @Test (expected=ExWarning.class) public void trig_23() { parse("@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .", "{ <x> <p> 'number'^^xsd:byte }") ; } - //Check reading into a dataset. - - private static DatasetGraph parse(String... strings) - { - String string = StrUtils.strjoin("\n", strings) ; - DatasetGraph dsg = DatasetGraphFactory.createMem() ; - StreamRDF sink = StreamRDFLib.dataset(dsg) ; - Tokenizer tokenizer = TokenizerFactory.makeTokenizerString(string) ; - LangTriG parser = RiotReader.createParserTriG(tokenizer, "http://base/", sink) ; - parser.getProfile().setHandler(new ErrorHandlerEx()) ; - parser.parse(); - return dsg ; + private static DatasetGraph parse(String... strings) { + return ParserTestBaseLib.parseDataset(Lang.TRIG, strings) ; } } http://git-wip-us.apache.org/repos/asf/jena/blob/d8fb3175/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTurtle.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTurtle.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTurtle.java index be1bdc0..18a9319 100644 --- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTurtle.java +++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTurtle.java @@ -25,23 +25,19 @@ import static org.apache.jena.riot.system.ErrorHandlerFactory.setDefaultErrorHan import java.io.StringReader ; import org.apache.jena.atlas.junit.BaseTest ; -import org.apache.jena.atlas.lib.StrUtils ; import org.apache.jena.graph.Graph ; import org.apache.jena.graph.Triple ; import org.apache.jena.rdf.model.Model ; import org.apache.jena.rdf.model.ModelFactory ; import org.apache.jena.rdf.model.Property ; import org.apache.jena.rdf.model.Resource ; -import org.apache.jena.riot.ErrorHandlerTestLib.ErrorHandlerEx ; import org.apache.jena.riot.ErrorHandlerTestLib.ExFatal ; import org.apache.jena.riot.ErrorHandlerTestLib.ExWarning ; -import org.apache.jena.riot.* ; +import org.apache.jena.riot.Lang ; +import org.apache.jena.riot.RDFDataMgr ; +import org.apache.jena.riot.RDFLanguages ; +import org.apache.jena.riot.RiotException ; import org.apache.jena.riot.system.ErrorHandler ; -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.graph.GraphFactory ; import org.apache.jena.sparql.sse.SSE ; import org.junit.AfterClass ; import org.junit.BeforeClass ; @@ -131,19 +127,8 @@ public class TestLangTurtle extends BaseTest // Call parser directly. - private static Graph parse(String ...strings) - { - String string = StrUtils.strjoin("\n", strings) ; - StringReader reader = new StringReader(string) ; - String baseIRI = "http://base/" ; - Tokenizer tokenizer = TokenizerFactory.makeTokenizer(reader) ; - - Graph graph = GraphFactory.createDefaultGraph() ; - StreamRDF sink = StreamRDFLib.graph(graph) ; - LangTurtle parser = RiotReader.createParserTurtle(tokenizer, "http://base/", sink) ; - parser.getProfile().setHandler(new ErrorHandlerEx()) ; - parser.parse() ; - return graph ; + private static Graph parse(String ...strings) { + return ParserTestBaseLib.parseGraph(Lang.TURTLE, strings) ; } private static Triple parseOneTriple(String ...strings) @@ -153,16 +138,6 @@ public class TestLangTurtle extends BaseTest return graph.find(null, null, null).next(); } -// private static void parseSilent(String string) -// { -// Reader reader = new StringReader(string) ; -// Tokenizer tokenizer = TokenizerFactory.makeTokenizer(reader) ; -// String baseIRI = "http://base/" ; -// LangTurtle parser = RiotReader.createParserTurtle(tokenizer, baseIRI, new SinkNull<Triple>()) ; -// parser.setProfile(RiotReader.profile(RDFLanguages.Turtle, baseIRI, ErrorHandlerLib.errorHandlerNoLogging)) ; -// parser.parse() ; -// } - @Test public void triple() { parse("<s> <p> <o> .") ; } http://git-wip-us.apache.org/repos/asf/jena/blob/d8fb3175/jena-arq/src/test/java/org/apache/jena/riot/lang/TestParserFactory.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestParserFactory.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestParserFactory.java index 6e0f77b..22503c5 100644 --- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestParserFactory.java +++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestParserFactory.java @@ -18,13 +18,15 @@ package org.apache.jena.riot.lang; +import java.io.StringReader ; import java.util.ArrayList ; import java.util.List ; import org.apache.jena.atlas.junit.BaseTest ; import org.apache.jena.atlas.lib.Pair ; import org.apache.jena.graph.Triple ; -import org.apache.jena.riot.RiotReader ; +import org.apache.jena.riot.Lang ; +import org.apache.jena.riot.RDFDataMgr ; import org.apache.jena.riot.system.StreamRDF ; import org.apache.jena.riot.tokens.Tokenizer ; import org.apache.jena.riot.tokens.TokenizerFactory ; @@ -64,7 +66,7 @@ public class TestParserFactory extends BaseTest Tokenizer tokenizer = TokenizerFactory.makeTokenizerString("<x> <p> <q> .") ; CatchParserOutput sink = new CatchParserOutput() ; - LangRIOT parser = RiotReader.createParserNTriples(tokenizer, sink) ; + LangRIOT parser = RiotParsers.createParserNTriples(tokenizer, sink) ; parserSetup(parser) ; parser.parse(); assertEquals(1, sink.startCalled) ; @@ -78,7 +80,7 @@ public class TestParserFactory extends BaseTest { Tokenizer tokenizer = TokenizerFactory.makeTokenizerString("<x> <p> <q> .") ; CatchParserOutput sink = new CatchParserOutput() ; - LangRIOT parser = RiotReader.createParserTurtle(tokenizer, "http://base/", sink) ; + LangRIOT parser = RiotParsers.createParserTurtle(tokenizer, "http://base/", sink) ; parserSetup(parser) ; parser.parse(); assertEquals(1, sink.startCalled) ; @@ -92,7 +94,7 @@ public class TestParserFactory extends BaseTest { Tokenizer tokenizer = TokenizerFactory.makeTokenizerString("<x> <p> <q> <g>.") ; CatchParserOutput sink = new CatchParserOutput() ; - LangRIOT parser = RiotReader.createParserNQuads(tokenizer, sink) ; + LangRIOT parser = RiotParsers.createParserNQuads(tokenizer, sink) ; parserSetup(parser) ; parser.parse(); assertEquals(1, sink.startCalled) ; @@ -105,11 +107,8 @@ public class TestParserFactory extends BaseTest @Test public void trig_01() { - Tokenizer tokenizer = TokenizerFactory.makeTokenizerString("{ <x> <p> <q> }") ; - CatchParserOutput sink = new CatchParserOutput() ; - LangRIOT parser = RiotReader.createParserTriG(tokenizer, "http://base/", sink) ; - parserSetup(parser) ; - parser.parse(); + String s = "{ <x> <p> <q> }" ; + CatchParserOutput sink = parseCapture(s) ; assertEquals(1, sink.startCalled) ; assertEquals(1, sink.finishCalled) ; assertEquals(0, sink.triples.size()) ; @@ -122,20 +121,23 @@ public class TestParserFactory extends BaseTest @Test public void trig_02() { - Tokenizer tokenizer = TokenizerFactory.makeTokenizerString("<g> { <x> <p> <q> }") ; - CatchParserOutput sink = new CatchParserOutput() ; - LangRIOT parser = RiotReader.createParserTriG(tokenizer, "http://base/", sink) ; - parserSetup(parser) ; - parser.parse(); + String s = "<g> { <x> <p> <q> }" ; + CatchParserOutput sink = parseCapture(s) ; assertEquals(1, sink.startCalled) ; assertEquals(1, sink.finishCalled) ; assertEquals(0, sink.triples.size()) ; assertEquals(1, sink.quads.size()) ; - + Quad q = SSE.parseQuad("(<http://base/g> <http://base/x> <http://base/p> <http://base/q>)") ; assertEquals(q, last(sink.quads)) ; } + private CatchParserOutput parseCapture(String s) { + CatchParserOutput sink = new CatchParserOutput() ; + RDFDataMgr.parse(sink, new StringReader(s), "http://base/", Lang.TRIG) ; + return sink ; + } + private static <T> T last(List<T> list) { if ( list.isEmpty() ) return null ; http://git-wip-us.apache.org/repos/asf/jena/blob/d8fb3175/jena-arq/src/test/java/org/apache/jena/riot/lang/TestReaderNTriples.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestReaderNTriples.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestReaderNTriples.java deleted file mode 100644 index 004db22..0000000 --- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestReaderNTriples.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * 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; - -public class TestReaderNTriples -{ - -} http://git-wip-us.apache.org/repos/asf/jena/blob/d8fb3175/jena-arq/src/test/java/org/apache/jena/riot/lang/TestTurtleTerms.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestTurtleTerms.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestTurtleTerms.java index 3a0f21d..1986495 100644 --- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestTurtleTerms.java +++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestTurtleTerms.java @@ -19,7 +19,6 @@ package org.apache.jena.riot.lang; import org.apache.jena.atlas.junit.BaseTest ; -import org.apache.jena.riot.RiotReader ; import org.apache.jena.riot.system.PrefixMap ; import org.apache.jena.riot.system.StreamRDF ; import org.apache.jena.riot.system.StreamRDFLib ; @@ -244,7 +243,7 @@ public class TestTurtleTerms extends BaseTest Tokenizer tokenizer = TokenizerFactory.makeTokenizerString(testString) ; StreamRDF sink = StreamRDFLib.sinkNull() ; - LangTurtle parser = RiotReader.createParserTurtle(tokenizer, "http://base/", sink) ; + LangTurtle parser = RiotParsers.createParserTurtle(tokenizer, "http://base/", sink) ; PrefixMap prefixMap = parser.getProfile().getPrologue().getPrefixMap() ; prefixMap.add("a", "http://host/a#") ;
