Rename parser methods source -> from target -> into
Project: http://git-wip-us.apache.org/repos/asf/commons-rdf/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-rdf/commit/577614d0 Tree: http://git-wip-us.apache.org/repos/asf/commons-rdf/tree/577614d0 Diff: http://git-wip-us.apache.org/repos/asf/commons-rdf/diff/577614d0 Branch: refs/heads/fluent-parser Commit: 577614d0c1ac5330f109de9ad8231077a66cc316 Parents: 921965d Author: Stian Soiland-Reyes <st...@apache.org> Authored: Wed Feb 14 18:40:58 2018 +0000 Committer: Stian Soiland-Reyes <st...@apache.org> Committed: Wed Feb 14 19:00:43 2018 +0000 ---------------------------------------------------------------------- .../org/apache/commons/rdf/api/io/Parsed.java | 4 +- .../apache/commons/rdf/api/io/ParserSource.java | 2 +- .../apache/commons/rdf/api/io/ParserTarget.java | 2 +- .../rdf/rdf4j/experimental/RDF4JParserTest.java | 2 +- .../commons/rdf/simple/io/DatasetTarget.java | 2 +- .../commons/rdf/simple/io/GraphTarget.java | 2 +- .../apache/commons/rdf/simple/io/IRISource.java | 2 +- .../rdf/simple/io/ImplicitDatasetTarget.java | 4 +- .../rdf/simple/io/InputStreamSource.java | 2 +- .../apache/commons/rdf/simple/io/ParseJob.java | 24 +++--- .../commons/rdf/simple/io/ParsedImpl.java | 4 +- .../commons/rdf/simple/io/ParserBuilder.java | 13 +-- .../rdf/simple/io/ParserFactoryImpl.java | 85 +++++++++++++++++--- .../commons/rdf/simple/io/PathSource.java | 2 +- .../rdf/simple/io/ParserFactoryTest.java | 63 ++++++++++++--- 15 files changed, 155 insertions(+), 58 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/api/src/main/java/org/apache/commons/rdf/api/io/Parsed.java ---------------------------------------------------------------------- diff --git a/api/src/main/java/org/apache/commons/rdf/api/io/Parsed.java b/api/src/main/java/org/apache/commons/rdf/api/io/Parsed.java index 753eda1..b252e44 100644 --- a/api/src/main/java/org/apache/commons/rdf/api/io/Parsed.java +++ b/api/src/main/java/org/apache/commons/rdf/api/io/Parsed.java @@ -20,7 +20,7 @@ package org.apache.commons.rdf.api.io; public interface Parsed<T, S> { long count(); - ParserSource<S> source(); + ParserSource<S> from(); - ParserTarget<T> target(); + ParserTarget<T> into(); } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/api/src/main/java/org/apache/commons/rdf/api/io/ParserSource.java ---------------------------------------------------------------------- diff --git a/api/src/main/java/org/apache/commons/rdf/api/io/ParserSource.java b/api/src/main/java/org/apache/commons/rdf/api/io/ParserSource.java index 7aa5dee..259688e 100644 --- a/api/src/main/java/org/apache/commons/rdf/api/io/ParserSource.java +++ b/api/src/main/java/org/apache/commons/rdf/api/io/ParserSource.java @@ -27,7 +27,7 @@ import org.apache.commons.rdf.api.IRI; * */ public interface ParserSource<S> { - S source(); + S src(); InputStream inputStream() throws IOException; Optional<IRI> iri(); } http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/api/src/main/java/org/apache/commons/rdf/api/io/ParserTarget.java ---------------------------------------------------------------------- diff --git a/api/src/main/java/org/apache/commons/rdf/api/io/ParserTarget.java b/api/src/main/java/org/apache/commons/rdf/api/io/ParserTarget.java index a2ef4aa..8898643 100644 --- a/api/src/main/java/org/apache/commons/rdf/api/io/ParserTarget.java +++ b/api/src/main/java/org/apache/commons/rdf/api/io/ParserTarget.java @@ -26,7 +26,7 @@ import org.apache.commons.rdf.api.Quad; */ @FunctionalInterface public interface ParserTarget<T> extends Consumer<Quad> { - default T target() { + default T dest() { return null;// unknown } } http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/experimental/RDF4JParserTest.java ---------------------------------------------------------------------- diff --git a/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/experimental/RDF4JParserTest.java b/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/experimental/RDF4JParserTest.java index 4a0200f..106d2c3 100644 --- a/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/experimental/RDF4JParserTest.java +++ b/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/experimental/RDF4JParserTest.java @@ -46,7 +46,7 @@ public class RDF4JParserTest { IRI exampleLicense = rdf.createIRI("http://example.com/LICENSE"); Dataset ds = new RDF4JParserFactory().syntax(RDFSyntax.JSONLD).rdf(rdf).base(base) - .source(getClass().getResourceAsStream("/example-rdf/example.jsonld")).parse().target().target(); + .source(getClass().getResourceAsStream("/example-rdf/example.jsonld")).parse().dest().dest(); // default graph try (Stream<? extends Quad> s = ds.stream()) { http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/main/java/org/apache/commons/rdf/simple/io/DatasetTarget.java ---------------------------------------------------------------------- diff --git a/simple/src/main/java/org/apache/commons/rdf/simple/io/DatasetTarget.java b/simple/src/main/java/org/apache/commons/rdf/simple/io/DatasetTarget.java index e8535d7..8be990d 100644 --- a/simple/src/main/java/org/apache/commons/rdf/simple/io/DatasetTarget.java +++ b/simple/src/main/java/org/apache/commons/rdf/simple/io/DatasetTarget.java @@ -18,7 +18,7 @@ public class DatasetTarget implements ParserTarget<Dataset> { } @Override - public Dataset target() { + public Dataset dest() { return dataset; } http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/main/java/org/apache/commons/rdf/simple/io/GraphTarget.java ---------------------------------------------------------------------- diff --git a/simple/src/main/java/org/apache/commons/rdf/simple/io/GraphTarget.java b/simple/src/main/java/org/apache/commons/rdf/simple/io/GraphTarget.java index 458c169..4be3586 100644 --- a/simple/src/main/java/org/apache/commons/rdf/simple/io/GraphTarget.java +++ b/simple/src/main/java/org/apache/commons/rdf/simple/io/GraphTarget.java @@ -20,7 +20,7 @@ public class GraphTarget implements ParserTarget<Graph> { } @Override - public Graph target() { + public Graph dest() { return graph; } http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/main/java/org/apache/commons/rdf/simple/io/IRISource.java ---------------------------------------------------------------------- diff --git a/simple/src/main/java/org/apache/commons/rdf/simple/io/IRISource.java b/simple/src/main/java/org/apache/commons/rdf/simple/io/IRISource.java index 9b251b0..1d63583 100644 --- a/simple/src/main/java/org/apache/commons/rdf/simple/io/IRISource.java +++ b/simple/src/main/java/org/apache/commons/rdf/simple/io/IRISource.java @@ -18,7 +18,7 @@ public final class IRISource implements ParserSource<IRI> { } @Override - public IRI source() { + public IRI src() { return source; } http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/main/java/org/apache/commons/rdf/simple/io/ImplicitDatasetTarget.java ---------------------------------------------------------------------- diff --git a/simple/src/main/java/org/apache/commons/rdf/simple/io/ImplicitDatasetTarget.java b/simple/src/main/java/org/apache/commons/rdf/simple/io/ImplicitDatasetTarget.java index 00be95e..35c6cf7 100644 --- a/simple/src/main/java/org/apache/commons/rdf/simple/io/ImplicitDatasetTarget.java +++ b/simple/src/main/java/org/apache/commons/rdf/simple/io/ImplicitDatasetTarget.java @@ -16,7 +16,7 @@ public class ImplicitDatasetTarget implements ParserTarget<Dataset> { } @Override - public Dataset target() { + public Dataset dest() { if (target == null) { synchronized (this) { // Make sure we only make it once @@ -30,6 +30,6 @@ public class ImplicitDatasetTarget implements ParserTarget<Dataset> { @Override public void accept(Quad t) { - target().add(t); + dest().add(t); } } http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/main/java/org/apache/commons/rdf/simple/io/InputStreamSource.java ---------------------------------------------------------------------- diff --git a/simple/src/main/java/org/apache/commons/rdf/simple/io/InputStreamSource.java b/simple/src/main/java/org/apache/commons/rdf/simple/io/InputStreamSource.java index 2682176..8fc0dd8 100644 --- a/simple/src/main/java/org/apache/commons/rdf/simple/io/InputStreamSource.java +++ b/simple/src/main/java/org/apache/commons/rdf/simple/io/InputStreamSource.java @@ -15,7 +15,7 @@ public class InputStreamSource implements ParserSource<InputStream> { } @Override - public InputStream source() { + public InputStream src() { return source; } http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/main/java/org/apache/commons/rdf/simple/io/ParseJob.java ---------------------------------------------------------------------- diff --git a/simple/src/main/java/org/apache/commons/rdf/simple/io/ParseJob.java b/simple/src/main/java/org/apache/commons/rdf/simple/io/ParseJob.java index eab29c9..79442c9 100644 --- a/simple/src/main/java/org/apache/commons/rdf/simple/io/ParseJob.java +++ b/simple/src/main/java/org/apache/commons/rdf/simple/io/ParseJob.java @@ -52,7 +52,7 @@ final class MutableParseJob implements ParseJob, Cloneable { return Objects.requireNonNull(impl); } public ImmutableParseJob freeze() { - return new FrozenParseJob(this); + return new FrozenParseJob(impl, source, syntax, target, rdf, options); } @Override public RDF rdf() { @@ -182,18 +182,16 @@ final class FrozenParseJob extends ImmutableParseJobImpl implements ImmutablePar private final RDF rdf; private final Map<Option, Object> options; - public FrozenParseJob(ParseJob parseJob) { - this(parseJob.impl(), parseJob.source(), parseJob.syntax().orElse(null), - parseJob.target(), parseJob.rdf(), parseJob.optionsAsMap()); - } - public FrozenParseJob(ParserImplementation impl, ParserSource source, RDFSyntax syntax, ParserTarget target, RDF rdf, - Map<Option, Object> options) { + public FrozenParseJob(ParserImplementation impl, ParserSource source, RDFSyntax syntax, + ParserTarget target, RDF rdf, Map<Option, Object> options) { this.impl = Objects.requireNonNull(impl); - this.source = Objects.requireNonNull(source); + // null -> Optional.empty() this.syntax = Optional.ofNullable(syntax); - this.target = Objects.requireNonNull(target); - this.rdf = Objects.requireNonNull(rdf); - // shallow copy of options + // fields may be null (not yet set) + this.source = source; + this.target = target; + this.rdf = rdf; + // shallow copy of options (can't be null) this.options = Collections.unmodifiableMap(new LinkedHashMap<>(options)); } @Override @@ -206,11 +204,11 @@ final class FrozenParseJob extends ImmutableParseJobImpl implements ImmutablePar } @Override public ParserSource source() { - return source; + return Objects.requireNonNull(source, "source not set"); } @Override public ParserTarget target() { - return target; + return Objects.requireNonNull(target, "target not set"); } @Override public Optional<RDFSyntax> syntax() { http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/main/java/org/apache/commons/rdf/simple/io/ParsedImpl.java ---------------------------------------------------------------------- diff --git a/simple/src/main/java/org/apache/commons/rdf/simple/io/ParsedImpl.java b/simple/src/main/java/org/apache/commons/rdf/simple/io/ParsedImpl.java index 3beed15..f93c551 100644 --- a/simple/src/main/java/org/apache/commons/rdf/simple/io/ParsedImpl.java +++ b/simple/src/main/java/org/apache/commons/rdf/simple/io/ParsedImpl.java @@ -22,12 +22,12 @@ public class ParsedImpl<T,S> implements Parsed<T, S> { } @Override - public ParserSource<S> source() { + public ParserSource<S> from() { return source; } @Override - public ParserTarget<T> target() { + public ParserTarget<T> into() { return target; } http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/main/java/org/apache/commons/rdf/simple/io/ParserBuilder.java ---------------------------------------------------------------------- diff --git a/simple/src/main/java/org/apache/commons/rdf/simple/io/ParserBuilder.java b/simple/src/main/java/org/apache/commons/rdf/simple/io/ParserBuilder.java index bb3eec7..9dc5eb9 100644 --- a/simple/src/main/java/org/apache/commons/rdf/simple/io/ParserBuilder.java +++ b/simple/src/main/java/org/apache/commons/rdf/simple/io/ParserBuilder.java @@ -12,16 +12,16 @@ import org.apache.commons.rdf.api.Graph; import org.apache.commons.rdf.api.IRI; import org.apache.commons.rdf.api.RDF; import org.apache.commons.rdf.api.RDFSyntax; -import org.apache.commons.rdf.api.io.Async; -import org.apache.commons.rdf.api.io.NeedSourceBased; -import org.apache.commons.rdf.api.io.NeedSourceOrBase; -import org.apache.commons.rdf.api.io.NeedTargetOrRDF; +import org.apache.commons.rdf.api.fluentparser.Async; +import org.apache.commons.rdf.api.fluentparser.NeedSourceBased; +import org.apache.commons.rdf.api.fluentparser.NeedSourceOrBase; +import org.apache.commons.rdf.api.fluentparser.NeedTargetOrRDF; +import org.apache.commons.rdf.api.fluentparser.OptionalTarget; +import org.apache.commons.rdf.api.fluentparser.Sync; import org.apache.commons.rdf.api.io.Option; -import org.apache.commons.rdf.api.io.OptionalTarget; import org.apache.commons.rdf.api.io.Parsed; import org.apache.commons.rdf.api.io.ParserSource; import org.apache.commons.rdf.api.io.ParserTarget; -import org.apache.commons.rdf.api.io.Sync; import org.apache.commons.rdf.api.io.Option.RequiredOption; @SuppressWarnings({ "rawtypes", "unchecked" }) @@ -62,6 +62,7 @@ public final class ParserBuilder implements NeedTargetOrRDF, NeedSourceBased, Sy @Override public NeedSourceBased<Dataset> base(IRI iri) { + // FIXME: Only do implicitTarget if target() can't be retrieved return newState(implicitTarget().withOption(BaseOption.BASE, iri)); } http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/main/java/org/apache/commons/rdf/simple/io/ParserFactoryImpl.java ---------------------------------------------------------------------- diff --git a/simple/src/main/java/org/apache/commons/rdf/simple/io/ParserFactoryImpl.java b/simple/src/main/java/org/apache/commons/rdf/simple/io/ParserFactoryImpl.java index e5df228..a80b5bb 100644 --- a/simple/src/main/java/org/apache/commons/rdf/simple/io/ParserFactoryImpl.java +++ b/simple/src/main/java/org/apache/commons/rdf/simple/io/ParserFactoryImpl.java @@ -1,21 +1,34 @@ package org.apache.commons.rdf.simple.io; +import java.nio.file.Path; +import java.util.Set; + import org.apache.commons.rdf.api.Dataset; import org.apache.commons.rdf.api.Graph; +import org.apache.commons.rdf.api.IRI; import org.apache.commons.rdf.api.RDF; import org.apache.commons.rdf.api.RDFSyntax; -import org.apache.commons.rdf.api.io.NeedSourceOrBase; -import org.apache.commons.rdf.api.io.NeedTargetOrRDF; -import org.apache.commons.rdf.api.io.OptionalTarget; +import org.apache.commons.rdf.api.fluentparser.NeedSourceBased; +import org.apache.commons.rdf.api.fluentparser.NeedSourceOrBase; +import org.apache.commons.rdf.api.fluentparser.NeedTargetOrRDF; +import org.apache.commons.rdf.api.fluentparser.OptionalTarget; +import org.apache.commons.rdf.api.fluentparser.Sync; +import org.apache.commons.rdf.api.io.Option; import org.apache.commons.rdf.api.io.ParserFactory; +import org.apache.commons.rdf.api.io.ParserSource; import org.apache.commons.rdf.api.io.ParserTarget; public class ParserFactoryImpl implements ParserFactory { - private ParserImplementation impl; + private final ParserImplementation impl; + private final RDF rdf; + private final Set<RDFSyntax> syntaxes; - public ParserFactoryImpl(ParserImplementation impl) { + public ParserFactoryImpl(final RDF rdf, final ParserImplementation impl, + final Set<RDFSyntax> syntaxes) { + this.rdf = rdf; this.impl = impl; + this.syntaxes = syntaxes; } @Override @@ -31,22 +44,70 @@ public class ParserFactoryImpl implements ParserFactory { @SuppressWarnings("unchecked") @Override public <T> NeedSourceOrBase<T> target(ParserTarget<T> target) { - return new ParserBuilder(mutableState().withTarget(target)); + return new ParserBuilder(createMutableState().withTarget(target)); + } + + private ParseJob createMutableState() { + return new MutableParseJob().withImplementation(impl).withRDF(rdf); + } + + private ParseJob createImmutableMutableState() { + return new DefaultParseJob().withImplementation(impl).withRDF(rdf); + } + + @Override + public NeedTargetOrRDF syntax(RDFSyntax syntax) { + return new ParserBuilder(createMutableState().withSyntax(syntax)); + } + + @Override + public Set<RDFSyntax> supportedSyntaxes() { + return syntaxes; + } + + @Override + public ParserBuilder build() { + return new ParserBuilder(createImmutableMutableState()); } @SuppressWarnings("unchecked") @Override - public OptionalTarget<Dataset> rdf(RDF rdf) { - return new ParserBuilder(mutableState().withRDF(rdf)); + public <V> OptionalTarget<Dataset> option(Option<V> o, V v) { + return new ParserBuilder(createMutableState()).option(o, v); } - private ParseJob mutableState() { - return new MutableParseJob().withImplementation(impl); + @Override + public NeedSourceBased<Dataset> base(IRI iri) { + return new ParserBuilder(createMutableState()).base(iri); } @Override - public NeedTargetOrRDF syntax(RDFSyntax syntax) { - return new ParserBuilder(mutableState().withSyntax(syntax)); + public NeedSourceBased<Dataset> base(String iri) { + return new ParserBuilder(createMutableState()).base(iri); + } + + @SuppressWarnings("unchecked") + @Override + public Sync<Dataset, IRI> source(IRI iri) { + return new ParserBuilder(createMutableState()).source(iri); + } + + @SuppressWarnings("unchecked") + @Override + public Sync<Dataset, Path> source(Path path) { + return new ParserBuilder(createMutableState()).source(path); + } + + @SuppressWarnings("unchecked") + @Override + public <S> Sync<Dataset, S> source(ParserSource<S> source) { + return new ParserBuilder(createMutableState()).source(source); + } + + @SuppressWarnings("unchecked") + @Override + public Sync<Dataset, IRI> source(String iri) { + return new ParserBuilder(createMutableState()).source(iri); } } http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/main/java/org/apache/commons/rdf/simple/io/PathSource.java ---------------------------------------------------------------------- diff --git a/simple/src/main/java/org/apache/commons/rdf/simple/io/PathSource.java b/simple/src/main/java/org/apache/commons/rdf/simple/io/PathSource.java index 25fdd0a..384c4bd 100644 --- a/simple/src/main/java/org/apache/commons/rdf/simple/io/PathSource.java +++ b/simple/src/main/java/org/apache/commons/rdf/simple/io/PathSource.java @@ -21,7 +21,7 @@ public class PathSource implements ParserSource<Path> { } @Override - public Path source() { + public Path src() { return source; } http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/test/java/org/apache/commons/rdf/simple/io/ParserFactoryTest.java ---------------------------------------------------------------------- diff --git a/simple/src/test/java/org/apache/commons/rdf/simple/io/ParserFactoryTest.java b/simple/src/test/java/org/apache/commons/rdf/simple/io/ParserFactoryTest.java index 1377c2f..6b32f70 100644 --- a/simple/src/test/java/org/apache/commons/rdf/simple/io/ParserFactoryTest.java +++ b/simple/src/test/java/org/apache/commons/rdf/simple/io/ParserFactoryTest.java @@ -1,30 +1,67 @@ package org.apache.commons.rdf.simple.io; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; + import java.io.InputStream; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.Collections; +import java.util.Map; +import java.util.Set; import java.util.concurrent.Future; import org.apache.commons.rdf.api.Dataset; +import org.apache.commons.rdf.api.Graph; +import org.apache.commons.rdf.api.RDF; import org.apache.commons.rdf.api.RDFSyntax; -import org.apache.commons.rdf.api.io.Async; -import org.apache.commons.rdf.api.io.OptionalTarget; +import org.apache.commons.rdf.api.fluentparser.Async; +import org.apache.commons.rdf.api.fluentparser.NeedSourceBased; +import org.apache.commons.rdf.api.fluentparser.Sync; +import org.apache.commons.rdf.api.io.Option; import org.apache.commons.rdf.api.io.Parsed; import org.apache.commons.rdf.api.io.ParserFactory; +import org.apache.commons.rdf.api.io.ParserSource; +import org.apache.commons.rdf.api.io.ParserTarget; import org.apache.commons.rdf.simple.SimpleRDF; import org.junit.Test; -public class ParserFactoryTest { +public class ParserFactoryTest implements ParserImplementation { @Test public void testName() throws Exception { - ParserFactory f = new ParserFactoryImpl((a,b,c,d,e) -> 1); - InputStream is = getClass().getResourceAsStream("Fred"); - OptionalTarget<Dataset> p = f.rdf(new SimpleRDF()); - Dataset ds = p.source("hello").parse().target().target(); - - - Async<Dataset, InputStream> g = f.syntax(RDFSyntax.JSONLD).rdf(new SimpleRDF()).base("http://example.com/").source(is).async(); - + SimpleRDF rdf = new SimpleRDF(); + Set<RDFSyntax> s = Collections.emptySet(); + ParserFactory f = new ParserFactoryImpl(rdf, this, s); + // + NeedSourceBased<Graph> reusable = f.target(rdf.createGraph()).base("sd").build(); + // + Sync<Graph, Path> src1 = reusable.source(Paths.get("/tmp/file1.ttl")); + Sync<Graph, Path> src2 = reusable.source(Paths.get("/tmp/file2.jsonld")); + Parsed<Graph, Path> src1Parsed = src1.parse(); + Parsed<Graph, Path> src2Parsed = src2.parse(); + Graph g1 = src1Parsed.into().dest(); + Graph g2 = src2Parsed.into().dest(); + assertEquals(g1, g2); + Path p1 = src1Parsed.from().src(); + Path p2 = src2Parsed.from().src(); + assertNotEquals(p1, p2); + + + Dataset ds = f.source("hello").parse().into().dest(); + Async<Dataset, InputStream> g; + try (InputStream is = getClass().getResourceAsStream("Fred")) { + //f.base("fred").source(is).async().parseAsync().get().target(); + g = f.syntax(RDFSyntax.JSONLD).rdf(new SimpleRDF()).base("http://example.com/").source(is).async(); + } Future<Parsed<Dataset, InputStream>> x = g.parseAsync(); - Parsed<Dataset, InputStream> p2 = x.get(); - System.out.println(p2.count()); + Parsed<Dataset, InputStream> p3 = x.get(); + System.out.println(p3.count()); + } + + @Override + public long parse(ParserSource source, RDFSyntax rdfSyntax, ParserTarget target, RDF rdf, + Map<Option, Object> options) { + + return 0; } }