You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commonsrdf.apache.org by st...@apache.org on 2016/10/23 02:17:00 UTC
[1/2] incubator-commonsrdf git commit: RDF4J asRDFTermDataset ->
asDataset()
Repository: incubator-commonsrdf
Updated Branches:
refs/heads/COMMONSRDF-46 9c191fc2f -> 44b4b6808
RDF4J asRDFTermDataset -> asDataset()
..and friends
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/351c2965
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/351c2965
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/351c2965
Branch: refs/heads/COMMONSRDF-46
Commit: 351c2965b5cc0694fc4b21b21e99a8ac80bcde83
Parents: 0bb9369
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Sun Oct 23 03:11:07 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Sun Oct 23 03:11:07 2016 +0100
----------------------------------------------------------------------
.../apache/commons/rdf/rdf4j/RDF4JDataset.java | 2 +-
.../apache/commons/rdf/rdf4j/RDF4JFactory.java | 22 ++++++++++----------
.../apache/commons/rdf/rdf4j/RDF4JGraph.java | 8 +++----
.../rdf/rdf4j/impl/InternalRDF4JFactory.java | 2 +-
.../apache/commons/rdf/rdf4j/package-info.java | 4 ++--
.../commons/rdf/rdf4j/MemoryGraphTest.java | 2 +-
.../commons/rdf/rdf4j/NativeStoreGraphTest.java | 2 +-
7 files changed, 21 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/351c2965/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JDataset.java
----------------------------------------------------------------------
diff --git a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JDataset.java b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JDataset.java
index 2066c34..87803fa 100644
--- a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JDataset.java
+++ b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JDataset.java
@@ -31,7 +31,7 @@ import org.apache.commons.rdf.api.RDFTerm;
* Marker interface for RDF4J implementations of Dataset.
*
* @see RDF4JFactory#createDataset()
- * @see RDF4JFactory#asRDFTermDataset(org.eclipse.rdf4j.repository.Repository, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)
+ * @see RDF4JFactory#asDataset(org.eclipse.rdf4j.repository.Repository, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)
*/
public interface RDF4JDataset extends Dataset, RDF4JGraphLike<Quad> {
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/351c2965/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JFactory.java
----------------------------------------------------------------------
diff --git a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JFactory.java b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JFactory.java
index 7d4eabe..e435167 100644
--- a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JFactory.java
+++ b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JFactory.java
@@ -64,12 +64,12 @@ import org.eclipse.rdf4j.sail.memory.MemoryStore;
* {@link BNode#getID()}.
* <p>
* {@link #createGraph()} creates a new Graph backed by {@link LinkedHashModel}.
- * To use other models, see {@link #asRDFTermGraph(Model)}.
+ * To use other models, see {@link #asGraph(Model)}.
* <p>
* To adapt a RDF4J {@link Repository} as a {@link Dataset} or {@link Graph},
- * use {@link #asRDFTermDataset(Repository, Option...)}
+ * use {@link #asDataset(Repository, Option...)}
* or
- * {@link #asRDFTermGraph(Repository, Option...)}.
+ * {@link #asGraph(Repository, Option...)}.
* <p>
* {@link #asTriple(Statement)} can be used to convert a RDF4J {@link Statement}
* to a Commons RDF {@link Triple}, and equivalent {@link #asQuad(Statement)} to
@@ -93,9 +93,9 @@ import org.eclipse.rdf4j.sail.memory.MemoryStore;
* the same {@link BNode#getID()}, converting them with the above methods might
* cause accidental {@link BlankNode} equivalence. Note that the {@link Graph}
* and {@link Dataset} adapter methods like
- * {@link #asRDFTermDataset(Repository, Option...)}
+ * {@link #asDataset(Repository, Option...)}
* and
- * {@link #asRDFTermGraph(Repository, Option...)}
+ * {@link #asGraph(Repository, Option...)}
* therefore uses a unique {@link RDF4JFactory} internally.
*
*/
@@ -286,7 +286,7 @@ public final class RDF4JFactory implements RDFTermFactory {
* Zero or more {@link Option}
* @return A {@link Dataset} backed by the RDF4J repository.
*/
- public RDF4JDataset asRDFTermDataset(Repository repository, Option... options) {
+ public RDF4JDataset asDataset(Repository repository, Option... options) {
EnumSet<Option> opts = optionSet(options);
return rdf4j.createRepositoryDatasetImpl(repository,
opts.contains(Option.handleInitAndShutdown),
@@ -302,7 +302,7 @@ public final class RDF4JFactory implements RDFTermFactory {
* RDF4J {@link Model} to adapt.
* @return Adapted {@link Graph}.
*/
- public RDF4JGraph asRDFTermGraph(Model model) {
+ public RDF4JGraph asGraph(Model model) {
return rdf4j.createModelGraphImpl(model, this);
}
@@ -326,7 +326,7 @@ public final class RDF4JFactory implements RDFTermFactory {
* Zero or more {@link Option}
* @return A {@link Graph} backed by the RDF4J repository.
*/
- public RDF4JGraph asRDFTermGraph(Repository repository, Option... options) {
+ public RDF4JGraph asGraph(Repository repository, Option... options) {
EnumSet<Option> opts = optionSet(options);
return rdf4j.createRepositoryGraphImpl(repository,
opts.contains(Option.handleInitAndShutdown),
@@ -347,7 +347,7 @@ public final class RDF4JFactory implements RDFTermFactory {
* Zero or more {@link Option}
* @return A union {@link Graph} backed by the RDF4J repository.
*/
- public RDF4JGraph asRDFTermGraphUnion(Repository repository, Option... options) {
+ public RDF4JGraph asGraphUnion(Repository repository, Option... options) {
EnumSet<Option> opts = optionSet(options);
return rdf4j.createRepositoryGraphImpl(repository,
opts.contains(Option.handleInitAndShutdown),
@@ -382,7 +382,7 @@ public final class RDF4JFactory implements RDFTermFactory {
* Zero or more {@link Option}s
* @return A {@link Graph} backed by the RDF4J repository.
*/
- public RDF4JGraph asRDFTermGraph(Repository repository, Set<? extends BlankNodeOrIRI> contexts,
+ public RDF4JGraph asGraph(Repository repository, Set<? extends BlankNodeOrIRI> contexts,
Option... option) {
EnumSet<Option> opts = optionSet(option);
/** NOTE: asValue() deliberately CAN handle <code>null</code> */
@@ -538,7 +538,7 @@ public final class RDF4JFactory implements RDFTermFactory {
@Override
public RDF4JGraph createGraph() {
- return asRDFTermGraph(new LinkedHashModel());
+ return asGraph(new LinkedHashModel());
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/351c2965/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraph.java
----------------------------------------------------------------------
diff --git a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraph.java b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraph.java
index b7ef9a2..70edd3f 100644
--- a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraph.java
+++ b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraph.java
@@ -34,9 +34,9 @@ import org.eclipse.rdf4j.repository.Repository;
* Marker interface for RDF4J implementations of Graph.
*
* @see RDF4JFactory#createGraph()
- * @see RDF4JFactory#asRDFTermGraph(Model)
- * @see RDF4JFactory#asRDFTermGraph(Repository, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)
- * @see RDF4JFactory#asRDFTermGraphUnion(Repository, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)
+ * @see RDF4JFactory#asGraph(Model)
+ * @see RDF4JFactory#asGraph(Repository, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)
+ * @see RDF4JFactory#asGraphUnion(Repository, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)
* @see RDF4JDataset#getGraph()
* @see RDF4JDataset#getGraph(BlankNodeOrIRI)
*/
@@ -64,7 +64,7 @@ public interface RDF4JGraph extends Graph, RDF4JGraphLike<Triple> {
* Note that the context mask itself cannot be <code>null</code>.
* <p>
* The returned set is an immutable copy; to specify a different mask, use
- * {@link RDF4JFactory#asRDFTermGraph(Repository, Set, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)}
+ * {@link RDF4JFactory#asGraph(Repository, Set, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)}
*
* @return The context mask as a set of {@link BlankNodeOrIRI} graph names, which
* may contain the value <code>null</code>.
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/351c2965/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/InternalRDF4JFactory.java
----------------------------------------------------------------------
diff --git a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/InternalRDF4JFactory.java b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/InternalRDF4JFactory.java
index 7744e01..b43c15f 100644
--- a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/InternalRDF4JFactory.java
+++ b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/InternalRDF4JFactory.java
@@ -45,7 +45,7 @@ import org.eclipse.rdf4j.repository.Repository;
* {@link RDF4JFactory} methods like
* {@link RDF4JFactory#createBlankNode()},
* {@link RDF4JFactory#asRDFTerm(org.eclipse.rdf4j.model.Value)} and
- * {@link RDF4JFactory#asRDFTermGraph(Repository, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)}
+ * {@link RDF4JFactory#asGraph(Repository, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)}
* <p>
* This class exists as a <code>public</code> bridge between the packages
* {@link org.apache.commons.rdf.rdf4j} and
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/351c2965/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/package-info.java
----------------------------------------------------------------------
diff --git a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/package-info.java b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/package-info.java
index f17a499..1d5e677 100644
--- a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/package-info.java
+++ b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/package-info.java
@@ -32,9 +32,9 @@
* {@link org.eclipse.rdf4j.repository.Repository} instances can be adapted to
* Commons RDF {@link org.apache.commons.rdf.api.Graph} and
* {@link org.apache.commons.rdf.api.Dataset}, e.g. using
- * {@link org.apache.commons.rdf.rdf4j.RDF4JFactory#asRDFTermGraph(org.eclipse.rdf4j.model.Model)}
+ * {@link org.apache.commons.rdf.rdf4j.RDF4JFactory#asGraph(org.eclipse.rdf4j.model.Model)}
* or
- * {@link org.apache.commons.rdf.rdf4j.RDF4JFactory#asRDFTermDataset(org.eclipse.rdf4j.repository.Repository, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)}
+ * {@link org.apache.commons.rdf.rdf4j.RDF4JFactory#asDataset(org.eclipse.rdf4j.repository.Repository, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)}
* The returned adapted graph/dataset is directly mapped, so changes are
* propagated both ways. For convenience, the marker interface
* {@link org.apache.commons.rdf.rdf4j.RDF4JGraph} and
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/351c2965/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/MemoryGraphTest.java
----------------------------------------------------------------------
diff --git a/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/MemoryGraphTest.java b/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/MemoryGraphTest.java
index c275e67..3a57138 100644
--- a/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/MemoryGraphTest.java
+++ b/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/MemoryGraphTest.java
@@ -77,7 +77,7 @@ public class MemoryGraphTest extends AbstractGraphTest {
Sail sail = new MemoryStore();
Repository repository = new SailRepository(sail);
repository.initialize();
- return rdf4jFactory.asRDFTermGraph(repository);
+ return rdf4jFactory.asGraph(repository);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/351c2965/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/NativeStoreGraphTest.java
----------------------------------------------------------------------
diff --git a/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/NativeStoreGraphTest.java b/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/NativeStoreGraphTest.java
index 77ee128..ccabf72 100644
--- a/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/NativeStoreGraphTest.java
+++ b/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/NativeStoreGraphTest.java
@@ -57,7 +57,7 @@ public class NativeStoreGraphTest extends AbstractGraphTest {
public RDF4JGraph createGraph() {
// We re-use the repository connection, but use a different context every time
Set<RDF4JBlankNode> context = Collections.singleton(rdf4jFactory.createBlankNode());
- return rdf4jFactory.asRDFTermGraph(getRepository(), context);
+ return rdf4jFactory.asGraph(getRepository(), context);
}
// Delegate methods
[2/2] incubator-commonsrdf git commit: Merge branch 'master' into a
Posted by st...@apache.org.
Merge branch 'master' into a
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/44b4b680
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/44b4b680
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/44b4b680
Branch: refs/heads/COMMONSRDF-46
Commit: 44b4b6808d19715006adcc075f749fd57345b965
Parents: 9c191fc 351c296
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Sun Oct 23 03:16:39 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Sun Oct 23 03:16:39 2016 +0100
----------------------------------------------------------------------
.../org/apache/commons/rdf/rdf4j/RDF4J.java | 22 ++++++++++----------
.../apache/commons/rdf/rdf4j/RDF4JDataset.java | 2 +-
.../apache/commons/rdf/rdf4j/RDF4JGraph.java | 8 +++----
.../rdf/rdf4j/impl/InternalRDF4JFactory.java | 2 +-
.../apache/commons/rdf/rdf4j/package-info.java | 4 ++--
.../commons/rdf/rdf4j/MemoryGraphTest.java | 2 +-
.../commons/rdf/rdf4j/NativeStoreGraphTest.java | 2 +-
7 files changed, 21 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/44b4b680/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4J.java
----------------------------------------------------------------------
diff --cc rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4J.java
index fb5743b,0000000..7f70c75
mode 100644,000000..100644
--- a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4J.java
+++ b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4J.java
@@@ -1,603 -1,0 +1,603 @@@
+/**
+ * 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.commons.rdf.rdf4j;
+
+import java.util.Arrays;
+import java.util.EnumSet;
+import java.util.Objects;
+import java.util.Set;
+import java.util.UUID;
+
+// To avoid confusion, avoid importing
+// classes that are in both
+// commons.rdf and openrdf.model (e.g. IRI, Literal)
+import org.apache.commons.rdf.api.BlankNode;
+import org.apache.commons.rdf.api.BlankNodeOrIRI;
+import org.apache.commons.rdf.api.Dataset;
+import org.apache.commons.rdf.api.Graph;
+import org.apache.commons.rdf.api.Quad;
+import org.apache.commons.rdf.api.RDFTerm;
+import org.apache.commons.rdf.api.RDF;
+import org.apache.commons.rdf.api.Triple;
+import org.apache.commons.rdf.api.TripleLike;
+import org.apache.commons.rdf.rdf4j.impl.InternalRDF4JFactory;
+import org.eclipse.rdf4j.model.BNode;
+import org.eclipse.rdf4j.model.Model;
+import org.eclipse.rdf4j.model.Resource;
+import org.eclipse.rdf4j.model.Statement;
+import org.eclipse.rdf4j.model.Value;
+import org.eclipse.rdf4j.model.ValueFactory;
+import org.eclipse.rdf4j.model.impl.LinkedHashModel;
+import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
+import org.eclipse.rdf4j.repository.Repository;
+import org.eclipse.rdf4j.repository.RepositoryConnection;
+import org.eclipse.rdf4j.repository.sail.SailRepository;
+import org.eclipse.rdf4j.sail.Sail;
+import org.eclipse.rdf4j.sail.memory.MemoryStore;
+
+/**
+ * RDF4J implementation of RDF.
+ * <p>
+ * The {@link #RDF4J()} constructor uses a {@link SimpleValueFactory}
+ * to create corresponding RDF4J {@link Value} instances. Alternatively, this
+ * factory can be constructed with a different {@link ValueFactory} using
+ * {@link #RDF4J(ValueFactory)}.
+ * <p>
+ * {@link #asRDFTerm(Value)} can be used to convert any RDF4J {@link Value} to
+ * an RDFTerm. Note that adapted {@link BNode}s are considered equal if they are
+ * converted with the same {@link RDF4J} instance and have the same
+ * {@link BNode#getID()}.
+ * <p>
+ * {@link #createGraph()} creates a new Graph backed by {@link LinkedHashModel}.
- * To use other models, see {@link #asRDFTermGraph(Model)}.
++ * To use other models, see {@link #asGraph(Model)}.
+ * <p>
+ * To adapt a RDF4J {@link Repository} as a {@link Dataset} or {@link Graph},
- * use {@link #asRDFTermDataset(Repository, Option...)}
++ * use {@link #asDataset(Repository, Option...)}
+ * or
- * {@link #asRDFTermGraph(Repository, Option...)}.
++ * {@link #asGraph(Repository, Option...)}.
+ * <p>
+ * {@link #asTriple(Statement)} can be used to convert a RDF4J {@link Statement}
+ * to a Commons RDF {@link Triple}, and equivalent {@link #asQuad(Statement)} to
+ * convert a {@link Quad}.
+ * <p>
+ * To convert any {@link Triple} or {@link Quad} to to RDF4J {@link Statement},
+ * use {@link #asStatement(TripleLike)}. This recognises previously converted
+ * {@link RDF4JTriple}s and {@link RDF4JQuad}s without re-converting their
+ * {@link RDF4JTripleLike#asStatement()}.
+ * <p>
+ * Likewise, {@link #asValue(RDFTerm)} can be used to convert any Commons RDF
+ * {@link RDFTerm} to a corresponding RDF4J {@link Value}. This recognises
+ * previously converted {@link RDF4JTerm}s without re-converting their
+ * {@link RDF4JTerm#asValue()}.
+ * <p>
+ * For the purpose of {@link BlankNode} equivalence, this factory contains an
+ * internal {@link UUID} salt that is used by adapter methods like
+ * {@link #asQuad(Statement)}, {@link #asTriple(Statement)},
+ * {@link #asRDFTerm(Value)} as well as {@link #createBlankNode(String)}. As
+ * RDF4J {@link BNode} instances from multiple repositories or models may have
+ * the same {@link BNode#getID()}, converting them with the above methods might
+ * cause accidental {@link BlankNode} equivalence. Note that the {@link Graph}
+ * and {@link Dataset} adapter methods like
- * {@link #asRDFTermDataset(Repository, Option...)}
++ * {@link #asDataset(Repository, Option...)}
+ * and
- * {@link #asRDFTermGraph(Repository, Option...)}
++ * {@link #asGraph(Repository, Option...)}
+ * therefore uses a unique {@link RDF4J} internally.
+ *
+ * @see RDF
+ *
+ */
+public final class RDF4J implements RDF {
+
+ /**
+ * InternalRDF4JFactory is deliberately abstract
+ */
+ private static InternalRDF4JFactory rdf4j = new InternalRDF4JFactory() {
+ };
+
+ public enum Option {
+ /**
+ * The Graph/Dataset should include any inferred statements
+ */
+ includeInferred,
+ /**
+ * The graph/dataset should handle {@link Repository#initialize()} (if
+ * needed) and {@link Repository#shutDown()} on {@link Graph#close()} /
+ * {@link Dataset#close()}.
+ */
+ handleInitAndShutdown
+ }
+
+ private final UUID salt;
+
+ private final ValueFactory valueFactory;
+
+ /**
+ * Construct an {@link RDF4J}.
+ *
+ */
+ public RDF4J() {
+ this(SimpleValueFactory.getInstance(), UUID.randomUUID());
+ }
+
+ /**
+ * Construct an {@link RDF4J}.
+ * <p>
+ * This constructor is intended for use with the value factory from
+ * {@link Repository#getValueFactory()} when using
+ * Repository-based graphs and datasets.
+ *
+ * @param valueFactory
+ * The RDF4J {@link ValueFactory} to use
+ */
+ public RDF4J(ValueFactory valueFactory) {
+ this(valueFactory, UUID.randomUUID());
+ }
+
+ /**
+ * Construct an {@link RDF4J}.
+ * <p>
+ * This constructor may be used if reproducible
+ * {@link BlankNode#uniqueReference()} in {@link BlankNode} is desirable.
+ *
+ * @param salt
+ * An {@link UUID} salt to be used by any created
+ * {@link BlankNode}s for the purpose of
+ * {@link BlankNode#uniqueReference()}
+ */
+ public RDF4J(UUID salt) {
+ this(SimpleValueFactory.getInstance(), salt);
+ }
+ /**
+ * Construct an {@link RDF4J}.
+ * <p>
+ * This constructor may be used if reproducible
+ * {@link BlankNode#uniqueReference()} in {@link BlankNode} is desirable.
+ *
+ * @param valueFactory
+ * The RDF4J {@link ValueFactory} to use
+ * @param salt
+ * An {@link UUID} salt to be used by any created
+ * {@link BlankNode}s for the purpose of
+ * {@link BlankNode#uniqueReference()}
+ */
+ public RDF4J(ValueFactory valueFactory, UUID salt) {
+ this.valueFactory = valueFactory;
+ this.salt = salt;
+ }
+
+ /**
+ * Adapt a RDF4J {@link Statement} as a Commons RDF {@link Quad}.
+ * <p>
+ * For the purpose of {@link BlankNode} equivalence, this method will use an
+ * internal salt UUID that is unique per instance of
+ * {@link RDF4J}.
+ * <p>
+ * <strong>NOTE:</strong> If combining RDF4J {@link Statement}s multiple
+ * repositories or models, then their {@link BNode}s may have the same
+ * {@link BNode#getID()}, which with this method would become equivalent
+ * according to {@link BlankNode#equals(Object)} and
+ * {@link BlankNode#uniqueReference()}, unless a separate
+ * {@link RDF4J} instance is used per RDF4J repository/model.
+ *
+ * @param statement
+ * The statement to convert
+ * @return A {@link RDF4JQuad} that is equivalent to the statement
+ */
+ public RDF4JQuad asQuad(final Statement statement) {
+ return rdf4j.createQuadImpl(statement, salt);
+ }
+
+ /**
+ *
+ * Adapt a RDF4J {@link Value} as a Commons RDF {@link RDFTerm}.
+ * <p>
+ * The value will be of the same kind as the term, e.g. a
+ * {@link org.eclipse.rdf4j.model.BNode} is converted to a
+ * {@link org.apache.commons.rdf.api.BlankNode}, a
+ * {@link org.eclipse.rdf4j.model.IRI} is converted to a
+ * {@link org.apache.commons.rdf.api.IRI} and a
+ * {@link org.eclipse.rdf4j.model.Literal}. is converted to a
+ * {@link org.apache.commons.rdf.api.Literal}
+ * <p>
+ * For the purpose of {@link BlankNode} equivalence, this method will use an
+ * internal salt UUID that is unique per instance of
+ * {@link RDF4J}.
+ * <p>
+ * <strong>NOTE:</strong> If combining RDF4J values from multiple
+ * repositories or models, then their {@link BNode}s may have the same
+ * {@link BNode#getID()}, which with this method would become equivalent
+ * according to {@link BlankNode#equals(Object)} and
+ * {@link BlankNode#uniqueReference()}, unless a separate
+ * {@link RDF4J} instance is used per RDF4J repository/model.
+ *
+ * @param value
+ * The RDF4J {@link Value} to convert.
+ * @return A {@link RDFTerm} that corresponds to the RDF4J value
+ * @throws IllegalArgumentException
+ * if the value is not a BNode, Literal or IRI
+ */
+ public RDF4JTerm asRDFTerm(Value value) {
+ return asRDFTerm(value, salt);
+ }
+
+ /**
+ * Adapt a RDF4J {@link Value} as a Commons RDF {@link RDFTerm}.
+ * <p>
+ * The value will be of the same kind as the term, e.g. a
+ * {@link org.eclipse.rdf4j.model.BNode} is converted to a
+ * {@link org.apache.commons.rdf.api.BlankNode}, a
+ * {@link org.eclipse.rdf4j.model.IRI} is converted to a
+ * {@link org.apache.commons.rdf.api.IRI} and a
+ * {@link org.eclipse.rdf4j.model.Literal}. is converted to a
+ * {@link org.apache.commons.rdf.api.Literal}
+ *
+ * @param value
+ * The RDF4J {@link Value} to convert.
+ * @param salt
+ * A {@link UUID} salt to use for uniquely mapping any
+ * {@link BNode}s. The salt should typically be the same for
+ * multiple statements in the same {@link Repository} or
+ * {@link Model} to ensure {@link BlankNode#equals(Object)} and
+ * {@link BlankNode#uniqueReference()} works as intended.
+ * @return A {@link RDFTerm} that corresponds to the RDF4J value
+ * @throws IllegalArgumentException
+ * if the value is not a BNode, Literal or IRI
+ */
+ public static RDF4JTerm asRDFTerm(final Value value, UUID salt) {
+ if (value instanceof BNode) {
+ return rdf4j.createBlankNodeImpl((BNode) value, salt);
+ }
+ if (value instanceof org.eclipse.rdf4j.model.Literal) {
+ return rdf4j.createLiteralImpl((org.eclipse.rdf4j.model.Literal) value);
+ }
+ if (value instanceof org.eclipse.rdf4j.model.IRI) {
+ return rdf4j.createIRIImpl((org.eclipse.rdf4j.model.IRI) value);
+ }
+ throw new IllegalArgumentException("Value is not a BNode, Literal or IRI: " + value.getClass());
+ }
+
+ /**
+ * Adapt an RDF4J {@link Repository} as a Commons RDF {@link Dataset}.
+ * <p>
+ * Changes to the dataset are reflected in the repository, and vice versa.
+ * <p>
+ * <strong>Note:</strong> Some operations on the {@link RDF4JDataset}
+ * requires the use of try-with-resources to close underlying
+ * {@link RepositoryConnection}s, including
+ * {@link RDF4JDataset#iterate()},
+ * {@link RDF4JDataset#stream()} and {@link RDF4JDataset#getGraphNames()}.
+ *
+ * @param repository
+ * RDF4J {@link Repository} to connect to.
+ * @param options
+ * Zero or more {@link Option}
+ * @return A {@link Dataset} backed by the RDF4J repository.
+ */
- public RDF4JDataset asRDFTermDataset(Repository repository, Option... options) {
++ public RDF4JDataset asDataset(Repository repository, Option... options) {
+ EnumSet<Option> opts = optionSet(options);
+ return rdf4j.createRepositoryDatasetImpl(repository,
+ opts.contains(Option.handleInitAndShutdown),
+ opts.contains(Option.includeInferred));
+ }
+
+ /**
+ * Adapt an RDF4J {@link Model} as a Commons RDF {@link Graph}.
+ * <p>
+ * Changes to the graph are reflected in the model, and vice versa.
+ *
+ * @param model
+ * RDF4J {@link Model} to adapt.
+ * @return Adapted {@link Graph}.
+ */
- public RDF4JGraph asRDFTermGraph(Model model) {
++ public RDF4JGraph asGraph(Model model) {
+ return rdf4j.createModelGraphImpl(model, this);
+ }
+
+ /**
+ * Adapt an RDF4J {@link Repository} as a Commons RDF {@link Graph}.
+ * <p>
+ * The graph will only include triples in the default graph (equivalent to
+ * context <code>new Resource[0]{null})</code> in RDF4J).
+ * <p>
+ * Changes to the graph are reflected in the repository, and vice versa.
+ * <p>
+ * <strong>Note:</strong> Some operations on the {@link RDF4JGraph}
+ * requires the use of try-with-resources to close underlying
+ * {@link RepositoryConnection}s, including
+ * {@link RDF4JGraph#iterate()} and
+ * {@link RDF4JGraph#stream()}.
+ *
+ * @param repository
+ * RDF4J {@link Repository} to connect to.
+ * @param options
+ * Zero or more {@link Option}
+ * @return A {@link Graph} backed by the RDF4J repository.
+ */
- public RDF4JGraph asRDFTermGraph(Repository repository, Option... options) {
++ public RDF4JGraph asGraph(Repository repository, Option... options) {
+ EnumSet<Option> opts = optionSet(options);
+ return rdf4j.createRepositoryGraphImpl(repository,
+ opts.contains(Option.handleInitAndShutdown),
+ opts.contains(Option.includeInferred),
+ new Resource[]{null}); // default graph
+ }
+
+ /**
+ * Adapt an RDF4J {@link Repository} as a Commons RDF {@link Graph}.
+ * <p>
+ * The graph will include triples in any contexts (e.g. the union graph).
+ * <p>
+ * Changes to the graph are reflected in the repository, and vice versa.
+ *
+ * @param repository
+ * RDF4J {@link Repository} to connect to.
+ * @param options
+ * Zero or more {@link Option}
+ * @return A union {@link Graph} backed by the RDF4J repository.
+ */
- public RDF4JGraph asRDFTermGraphUnion(Repository repository, Option... options) {
++ public RDF4JGraph asGraphUnion(Repository repository, Option... options) {
+ EnumSet<Option> opts = optionSet(options);
+ return rdf4j.createRepositoryGraphImpl(repository,
+ opts.contains(Option.handleInitAndShutdown),
+ opts.contains(Option.includeInferred),
+ new Resource[]{}); // union graph
+
+ }
+
+ /**
+ * Adapt an RDF4J {@link Repository} as a Commons RDF {@link Graph}.
+ * <p>
+ * The graph will include triples in the specified contexts.
+ * <p>
+ * Changes to the graph are reflected in the repository, and vice versa.
+ * Triples added/removed to the graph are reflected in all the specified
+ * contexts.
+ * <p>
+ * <strong>Note:</strong> Some operations on the {@link RDF4JGraph}
+ * requires the use of try-with-resources to close underlying
+ * {@link RepositoryConnection}s, including
+ * {@link RDF4JGraph#iterate()} and
+ * {@link RDF4JGraph#stream()}.
+ *
+ * @param repository
+ * RDF4J {@link Repository} to connect to.
+ * @param contexts
+ * A {@link Set} of {@link BlankNodeOrIRI} specifying the graph
+ * names to use as a context. The set may include the value
+ * <code>null</code> to indicate the default graph. The empty set
+ * indicates any context, e.g. the <em>union graph</em>.
+ * @param option
+ * Zero or more {@link Option}s
+ * @return A {@link Graph} backed by the RDF4J repository.
+ */
- public RDF4JGraph asRDFTermGraph(Repository repository, Set<? extends BlankNodeOrIRI> contexts,
++ public RDF4JGraph asGraph(Repository repository, Set<? extends BlankNodeOrIRI> contexts,
+ Option... option) {
+ EnumSet<Option> opts = optionSet(option);
+ /** NOTE: asValue() deliberately CAN handle <code>null</code> */
+ Resource[] resources = contexts.stream().map(g -> (Resource) asValue(g)).toArray(Resource[]::new);
+ return rdf4j.createRepositoryGraphImpl(Objects.requireNonNull(repository),
+ opts.contains(Option.handleInitAndShutdown),
+ opts.contains(Option.includeInferred),
+ resources);
+ }
+
+ /**
+ * Adapt a Commons RDF {@link Triple} or {@link Quad} as a RDF4J
+ * {@link Statement}.
+ * <p>
+ * If the <code>tripleLike</code> argument is an {@link RDF4JTriple} or a
+ * {@link RDF4JQuad}, then its {@link RDF4JTripleLike#asStatement()} is
+ * returned as-is. Note that this means that a {@link RDF4JTriple} would
+ * preserve its {@link Statement#getContext()}, and that any
+ * {@link BlankNode}s would be deemed equivalent in RDF4J if they have the
+ * same {@link BNode#getID()}.
+ *
+ * @param tripleLike
+ * A {@link Triple} or {@link Quad} to adapt
+ * @return A corresponding {@link Statement}
+ */
+ public Statement asStatement(TripleLike tripleLike) {
+ if (tripleLike instanceof RDF4JTripleLike) {
+ // Return original statement - this covers both RDF4JQuad and
+ // RDF4JTriple
+ return ((RDF4JTripleLike) tripleLike).asStatement();
+ }
+
+ org.eclipse.rdf4j.model.Resource subject = (org.eclipse.rdf4j.model.Resource) asValue(tripleLike.getSubject());
+ org.eclipse.rdf4j.model.IRI predicate = (org.eclipse.rdf4j.model.IRI) asValue(tripleLike.getPredicate());
+ Value object = asValue(tripleLike.getObject());
+
+ org.eclipse.rdf4j.model.Resource context = null;
+ if (tripleLike instanceof Quad) {
+ Quad quad = (Quad) tripleLike;
+ context = (org.eclipse.rdf4j.model.Resource) asValue(quad.getGraphName().orElse(null));
+ }
+
+ return getValueFactory().createStatement(subject, predicate, object, context);
+ }
+
+ /**
+ * Adapt a RDF4J {@link Statement} as a Commons RDF {@link Triple}.
+ * <p>
+ * For the purpose of {@link BlankNode} equivalence, this method will use an
+ * internal salt UUID that is unique per instance of
+ * {@link RDF4J}.
+ * <p>
+ * <strong>NOTE:</strong> If combining RDF4J statements from multiple
+ * repositories or models, then their {@link BNode}s may have the same
+ * {@link BNode#getID()}, which with this method would become equivalent
+ * according to {@link BlankNode#equals(Object)} and
+ * {@link BlankNode#uniqueReference()}, unless a separate
+ * {@link RDF4J} instance is used per RDF4J repository/model.
+ *
+ * @param statement
+ * The RDF4J {@link Statement} to adapt.
+ * @return A {@link RDF4JTriple} that is equivalent to the statement
+ */
+ public RDF4JTriple asTriple(final Statement statement) {
+ return rdf4j.createTripleImpl(statement, salt);
+ }
+
+ /**
+ * Adapt a Commons RDF {@link RDFTerm} as a RDF4J {@link Value}.
+ * <p>
+ * The value will be of the same kind as the term, e.g. a
+ * {@link org.apache.commons.rdf.api.BlankNode} is converted to a
+ * {@link org.eclipse.rdf4j.model.BNode}, a
+ * {@link org.apache.commons.rdf.api.IRI} is converted to a
+ * {@link org.eclipse.rdf4j.model.IRI} and a
+ * {@link org.apache.commons.rdf.api.Literal} is converted to a
+ * {@link org.eclipse.rdf4j.model.Literal}.
+ * <p>
+ * If the provided {@link RDFTerm} is <code>null</code>, then the returned
+ * value is <code>null</code>.
+ * <p>
+ * If the provided term is an instance of {@link RDF4JTerm}, then the
+ * {@link RDF4JTerm#asValue()} is returned without any conversion. Note that
+ * this could mean that a {@link Value} from a different kind of
+ * {@link ValueFactory} could be returned.
+ *
+ * @param term
+ * RDFTerm to adapt to RDF4J Value
+ * @return Adapted RDF4J {@link Value}
+ */
+ public Value asValue(RDFTerm term) {
+ if (term == null) {
+ return null;
+ }
+ if (term instanceof RDF4JTerm) {
+ // One of our own - avoid converting again.
+ // (This is crucial to avoid double-escaping in BlankNode)
+ return ((RDF4JTerm) term).asValue();
+ }
+ if (term instanceof org.apache.commons.rdf.api.IRI) {
+ org.apache.commons.rdf.api.IRI iri = (org.apache.commons.rdf.api.IRI) term;
+ return getValueFactory().createIRI(iri.getIRIString());
+ }
+ if (term instanceof org.apache.commons.rdf.api.Literal) {
+ org.apache.commons.rdf.api.Literal literal = (org.apache.commons.rdf.api.Literal) term;
+ String label = literal.getLexicalForm();
+ if (literal.getLanguageTag().isPresent()) {
+ String lang = literal.getLanguageTag().get();
+ return getValueFactory().createLiteral(label, lang);
+ }
+ org.eclipse.rdf4j.model.IRI dataType = (org.eclipse.rdf4j.model.IRI) asValue(literal.getDatatype());
+ return getValueFactory().createLiteral(label, dataType);
+ }
+ if (term instanceof BlankNode) {
+ // This is where it gets tricky to support round trips!
+ BlankNode blankNode = (BlankNode) term;
+ // FIXME: The uniqueReference might not be a valid BlankNode
+ // identifier..
+ // does it have to be in RDF4J?
+ return getValueFactory().createBNode(blankNode.uniqueReference());
+ }
+ throw new IllegalArgumentException("RDFTerm was not an IRI, Literal or BlankNode: " + term.getClass());
+ }
+
+ @Override
+ public RDF4JBlankNode createBlankNode() {
+ BNode bnode = getValueFactory().createBNode();
+ return (RDF4JBlankNode) asRDFTerm(bnode);
+ }
+
+ @Override
+ public RDF4JBlankNode createBlankNode(String name) {
+ BNode bnode = getValueFactory().createBNode(name);
+ return (RDF4JBlankNode) asRDFTerm(bnode);
+ }
+
+ /**
+ * {@inheritDoc}
+ * <p>
+ * <strong>Note:</strong> Some operations on the {@link RDF4JDataset}
+ * requires the use of try-with-resources to close underlying
+ * {@link RepositoryConnection}s, including
+ * {@link RDF4JDataset#iterate()},
+ * {@link RDF4JDataset#stream()} and {@link RDF4JDataset#getGraphNames()}.
+ *
+ */
+ @Override
+ public RDF4JDataset createDataset() {
+ Sail sail = new MemoryStore();
+ Repository repository = new SailRepository(sail);
+ return rdf4j.createRepositoryDatasetImpl(repository, true, false);
+ }
+
+ @Override
+ public RDF4JGraph createGraph() {
- return asRDFTermGraph(new LinkedHashModel());
++ return asGraph(new LinkedHashModel());
+ }
+
+ @Override
+ public RDF4JIRI createIRI(String iri) throws IllegalArgumentException {
+ return (RDF4JIRI) asRDFTerm(getValueFactory().createIRI(iri));
+ }
+
+ @Override
+ public RDF4JLiteral createLiteral(String lexicalForm)
+ throws IllegalArgumentException {
+ org.eclipse.rdf4j.model.Literal lit = getValueFactory().createLiteral(lexicalForm);
+ return (RDF4JLiteral) asRDFTerm(lit);
+ }
+
+ @Override
+ public org.apache.commons.rdf.api.Literal createLiteral(String lexicalForm, org.apache.commons.rdf.api.IRI dataType)
+ throws IllegalArgumentException {
+ org.eclipse.rdf4j.model.IRI iri = getValueFactory().createIRI(dataType.getIRIString());
+ org.eclipse.rdf4j.model.Literal lit = getValueFactory().createLiteral(lexicalForm, iri);
+ return (org.apache.commons.rdf.api.Literal) asRDFTerm(lit);
+ }
+
+ @Override
+ public org.apache.commons.rdf.api.Literal createLiteral(String lexicalForm, String languageTag)
+ throws IllegalArgumentException {
+ org.eclipse.rdf4j.model.Literal lit = getValueFactory().createLiteral(lexicalForm, languageTag);
+ return (org.apache.commons.rdf.api.Literal) asRDFTerm(lit);
+ }
+
+ @Override
+ public RDF4JTriple createTriple(BlankNodeOrIRI subject, org.apache.commons.rdf.api.IRI predicate, RDFTerm object)
+ throws IllegalArgumentException {
+ final Statement statement = getValueFactory().createStatement(
+ (org.eclipse.rdf4j.model.Resource) asValue(subject), (org.eclipse.rdf4j.model.IRI) asValue(predicate),
+ asValue(object));
+ return asTriple(statement);
+ }
+
+ @Override
+ public Quad createQuad(BlankNodeOrIRI graphName, BlankNodeOrIRI subject, org.apache.commons.rdf.api.IRI predicate,
+ RDFTerm object) throws IllegalArgumentException {
+ final Statement statement = getValueFactory().createStatement(
+ (org.eclipse.rdf4j.model.Resource) asValue(subject), (org.eclipse.rdf4j.model.IRI) asValue(predicate),
+ asValue(object), (org.eclipse.rdf4j.model.Resource) asValue(graphName));
+ return asQuad(statement);
+ }
+
+ public ValueFactory getValueFactory() {
+ return valueFactory;
+ }
+
+ private EnumSet<Option> optionSet(Option... options) {
+ EnumSet<Option> opts = EnumSet.noneOf(Option.class);
+ opts.addAll(Arrays.asList(options));
+ return opts;
+ }
+
+
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/44b4b680/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JDataset.java
----------------------------------------------------------------------
diff --cc rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JDataset.java
index 28c2659,87803fa..fb54a09
--- a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JDataset.java
+++ b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JDataset.java
@@@ -30,8 -30,8 +30,8 @@@ import org.apache.commons.rdf.api.RDFTe
/**
* Marker interface for RDF4J implementations of Dataset.
*
- * @see RDF4JFactory#createDataset()
- * @see RDF4JFactory#asDataset(org.eclipse.rdf4j.repository.Repository, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)
+ * @see RDF4J#createDataset()
- * @see RDF4J#asRDFTermDataset(org.eclipse.rdf4j.repository.Repository, org.apache.commons.rdf.rdf4j.RDF4J.Option...)
++ * @see RDF4J#asDataset(org.eclipse.rdf4j.repository.Repository, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)
*/
public interface RDF4JDataset extends Dataset, RDF4JGraphLike<Quad> {
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/44b4b680/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraph.java
----------------------------------------------------------------------
diff --cc rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraph.java
index 68978ce,70edd3f..d1ab485
--- a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraph.java
+++ b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraph.java
@@@ -33,10 -33,10 +33,10 @@@ import org.eclipse.rdf4j.repository.Rep
/**
* Marker interface for RDF4J implementations of Graph.
*
- * @see RDF4JFactory#createGraph()
- * @see RDF4JFactory#asGraph(Model)
- * @see RDF4JFactory#asGraph(Repository, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)
- * @see RDF4JFactory#asGraphUnion(Repository, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)
+ * @see RDF4J#createGraph()
- * @see RDF4J#asRDFTermGraph(Model)
- * @see RDF4J#asRDFTermGraph(Repository, org.apache.commons.rdf.rdf4j.RDF4J.Option...)
- * @see RDF4J#asRDFTermGraphUnion(Repository, org.apache.commons.rdf.rdf4j.RDF4J.Option...)
++ * @see RDF4J#asGraph(Model)
++ * @see RDF4J#asGraph(Repository, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)
++ * @see RDF4J#asGraphUnion(Repository, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)
* @see RDF4JDataset#getGraph()
* @see RDF4JDataset#getGraph(BlankNodeOrIRI)
*/
@@@ -64,7 -64,7 +64,7 @@@ public interface RDF4JGraph extends Gra
* Note that the context mask itself cannot be <code>null</code>.
* <p>
* The returned set is an immutable copy; to specify a different mask, use
- * {@link RDF4J#asRDFTermGraph(Repository, Set, org.apache.commons.rdf.rdf4j.RDF4J.Option...)}
- * {@link RDF4JFactory#asGraph(Repository, Set, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)}
++ * {@link RDF4J#asGraph(Repository, Set, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)}
*
* @return The context mask as a set of {@link BlankNodeOrIRI} graph names, which
* may contain the value <code>null</code>.
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/44b4b680/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/InternalRDF4JFactory.java
----------------------------------------------------------------------
diff --cc rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/InternalRDF4JFactory.java
index b1cd419,b43c15f..ca97472
--- a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/InternalRDF4JFactory.java
+++ b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/InternalRDF4JFactory.java
@@@ -42,10 -42,10 +42,10 @@@ import org.eclipse.rdf4j.repository.Rep
* <p>
* <strong>Internal class:</strong> This "abstract" class is intended for
* internal use by Commons RDF and may change in any minor update. Use instead
- * {@link RDF4JFactory} methods like
- * {@link RDF4JFactory#createBlankNode()},
- * {@link RDF4JFactory#asRDFTerm(org.eclipse.rdf4j.model.Value)} and
- * {@link RDF4JFactory#asGraph(Repository, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)}
+ * {@link RDF4J} methods like
+ * {@link RDF4J#createBlankNode()},
+ * {@link RDF4J#asRDFTerm(org.eclipse.rdf4j.model.Value)} and
- * {@link RDF4J#asRDFTermGraph(Repository, org.apache.commons.rdf.rdf4j.RDF4J.Option...)}
++ * {@link RDF4J#asGraph(Repository, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)}
* <p>
* This class exists as a <code>public</code> bridge between the packages
* {@link org.apache.commons.rdf.rdf4j} and
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/44b4b680/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/package-info.java
----------------------------------------------------------------------
diff --cc rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/package-info.java
index 51556bc,1d5e677..dbccdb3
--- a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/package-info.java
+++ b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/package-info.java
@@@ -32,9 -32,9 +32,9 @@@
* {@link org.eclipse.rdf4j.repository.Repository} instances can be adapted to
* Commons RDF {@link org.apache.commons.rdf.api.Graph} and
* {@link org.apache.commons.rdf.api.Dataset}, e.g. using
- * {@link org.apache.commons.rdf.rdf4j.RDF4J#asRDFTermGraph(org.eclipse.rdf4j.model.Model)}
- * {@link org.apache.commons.rdf.rdf4j.RDF4JFactory#asGraph(org.eclipse.rdf4j.model.Model)}
++ * {@link org.apache.commons.rdf.rdf4j.RDF4J#asGraph(org.eclipse.rdf4j.model.Model)}
* or
- * {@link org.apache.commons.rdf.rdf4j.RDF4J#asRDFTermDataset(org.eclipse.rdf4j.repository.Repository, org.apache.commons.rdf.rdf4j.RDF4J.Option...)}
- * {@link org.apache.commons.rdf.rdf4j.RDF4JFactory#asDataset(org.eclipse.rdf4j.repository.Repository, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)}
++ * {@link org.apache.commons.rdf.rdf4j.RDF4J#asDataset(org.eclipse.rdf4j.repository.Repository, org.apache.commons.rdf.rdf4j.RDF4JFactory.Option...)}
* The returned adapted graph/dataset is directly mapped, so changes are
* propagated both ways. For convenience, the marker interface
* {@link org.apache.commons.rdf.rdf4j.RDF4JGraph} and
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/44b4b680/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/MemoryGraphTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/44b4b680/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/NativeStoreGraphTest.java
----------------------------------------------------------------------
diff --cc rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/NativeStoreGraphTest.java
index 3697069,ccabf72..7e43068
--- a/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/NativeStoreGraphTest.java
+++ b/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/NativeStoreGraphTest.java
@@@ -59,15 -57,9 +59,15 @@@ public class NativeStoreGraphTest exten
public RDF4JGraph createGraph() {
// We re-use the repository connection, but use a different context every time
Set<RDF4JBlankNode> context = Collections.singleton(rdf4jFactory.createBlankNode());
- return rdf4jFactory.asRDFTermGraph(getRepository(), context);
+ return rdf4jFactory.asGraph(getRepository(), context);
}
-
+ @Override
+ public Dataset createDataset() {
+ throw new UnsupportedOperationException("Can't create more than one Dataset in this test");
+ // ...as the below would re-use the same repository:
+ //return rdf4jFactory.asRDFTermDataset(getRepository());
+ }
+
// Delegate methods
public RDF4JBlankNode createBlankNode() {
return rdf4jFactory.createBlankNode();