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/07/08 11:53:45 UTC
[1/9] incubator-commonsrdf git commit: Propagate BlankNode salt UUID
-- In progress
Repository: incubator-commonsrdf
Updated Branches:
refs/heads/jena f3b377cd9 -> 0f349723d
Propagate BlankNode salt UUID -- In progress
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/a7c1dbef
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/a7c1dbef
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/a7c1dbef
Branch: refs/heads/jena
Commit: a7c1dbefc804f927658af1269ff9a429c64f6a9c
Parents: f3b377c
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Jul 7 15:29:59 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Jul 7 15:29:59 2016 +0100
----------------------------------------------------------------------
.../apache/commons/rdf/jena/JenaCommonsRDF.java | 22 ++++++++++--------
.../commons/rdf/jena/RDFTermFactoryJena.java | 8 +++++--
.../commons/rdf/jena/impl/AbstractRDFTerm.java | 4 +---
.../commons/rdf/jena/impl/BlankNodeImpl.java | 13 +++++++++--
.../commons/rdf/jena/impl/JenaFactory.java | 24 ++++++++++++--------
.../apache/commons/rdf/jena/impl/QuadImpl.java | 11 +++++----
.../commons/rdf/jena/impl/TripleImpl.java | 9 ++++----
7 files changed, 57 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/a7c1dbef/jena/src/main/java/org/apache/commons/rdf/jena/JenaCommonsRDF.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaCommonsRDF.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaCommonsRDF.java
index b3999ec..397d77c 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaCommonsRDF.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaCommonsRDF.java
@@ -19,6 +19,7 @@
package org.apache.commons.rdf.jena;
import java.util.Optional;
+import java.util.UUID;
import java.util.function.Consumer;
import org.apache.commons.rdf.api.BlankNode;
@@ -104,14 +105,16 @@ public class JenaCommonsRDF {
return g ;
}
- /** Adapt an existing Jena Node to CommonsRDF {@link RDFTerm}. */
- public static RDFTerm fromJena( Node node) {
- return JenaFactory.fromJena(node) ;
+ /** Adapt an existing Jena Node to CommonsRDF {@link RDFTerm}.
+ * @param salt */
+ public static RDFTerm fromJena( Node node, UUID salt) {
+ return JenaFactory.fromJena(node, salt) ;
}
- /** Adapt an existing Jena Triple to CommonsRDF {@link Triple}. */
- public static Triple fromJena(org.apache.jena.graph.Triple triple) {
- return JenaFactory.fromJena(triple) ;
+ /** Adapt an existing Jena Triple to CommonsRDF {@link Triple}.
+ * @param salt */
+ public static Triple fromJena(org.apache.jena.graph.Triple triple, UUID salt) {
+ return JenaFactory.fromJena(triple, salt) ;
}
/** Adapt an existring Jena Graph to CommonsRDF {@link Graph}.
@@ -122,14 +125,15 @@ public class JenaCommonsRDF {
return JenaFactory.fromJena(graph) ;
}
- /** Convert from Jena {@link Node} to any RDFCommons implementation */
- public static RDFTerm fromJena(RDFTermFactory factory, Node node) {
+ /** Convert from Jena {@link Node} to any RDFCommons implementation
+ * @param salt */
+ public static RDFTerm fromJena(RDFTermFactory factory, Node node, UUID salt) {
if (node == null) {
return null;
}
if (factory instanceof RDFTermFactoryJena) {
// No need to convert, just wrap
- return fromJena(node);
+ return fromJena(node, salt);
}
if ( node.isURI() )
return factory.createIRI(node.getURI()) ;
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/a7c1dbef/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java b/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
index 727ee1e..1284240 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
@@ -18,6 +18,8 @@
package org.apache.commons.rdf.jena;
+import java.util.UUID;
+
import org.apache.commons.rdf.api.* ;
import org.apache.commons.rdf.jena.impl.JenaFactory;
@@ -28,14 +30,16 @@ import org.apache.commons.rdf.jena.impl.JenaFactory;
*/
public final class RDFTermFactoryJena implements RDFTermFactory {
+ private UUID salt = UUID.randomUUID();
+
@Override
public BlankNode createBlankNode() {
- return JenaFactory.createBlankNode() ;
+ return JenaFactory.createBlankNode(salt) ;
}
@Override
public BlankNode createBlankNode(String name) {
- return JenaFactory.createBlankNode(name) ;
+ return JenaFactory.createBlankNode(name, salt) ;
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/a7c1dbef/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractRDFTerm.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractRDFTerm.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractRDFTerm.java
index 347ebf9..1aaa476 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractRDFTerm.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractRDFTerm.java
@@ -22,12 +22,10 @@ import org.apache.commons.rdf.api.RDFTerm;
import org.apache.commons.rdf.jena.JenaNode;
import org.apache.jena.graph.Node ;
import org.apache.jena.riot.out.NodeFmtLib ;
-import org.apache.jena.shared.PrefixMapping ;
-import org.apache.jena.shared.impl.PrefixMappingImpl ;
class AbstractRDFTerm implements JenaNode, RDFTerm {
private Node node;
- static private PrefixMapping empty = new PrefixMappingImpl() ;
+ //static private PrefixMapping empty = new PrefixMappingImpl() ;
protected AbstractRDFTerm(Node node) {
this.node = node ;
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/a7c1dbef/jena/src/main/java/org/apache/commons/rdf/jena/impl/BlankNodeImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/BlankNodeImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/BlankNodeImpl.java
index c443092..9a41c71 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/BlankNodeImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/BlankNodeImpl.java
@@ -18,17 +18,24 @@
package org.apache.commons.rdf.jena.impl;
+import java.util.UUID;
+
import org.apache.commons.rdf.api.BlankNode ;
import org.apache.commons.rdf.jena.JenaNode;
import org.apache.jena.graph.Node ;
public class BlankNodeImpl extends AbstractRDFTerm implements BlankNode, JenaNode {
- /*package*/ BlankNodeImpl(Node node) { super(node) ; }
+ private UUID salt;
+
+ /* package */ BlankNodeImpl(Node node, UUID salt) {
+ super(node);
+ this.salt = salt;
+ }
@Override
public String uniqueReference() {
- return asJenaNode().getBlankNodeLabel() ;
+ return salt + asJenaNode().getBlankNodeLabel() ;
}
@Override
@@ -44,5 +51,7 @@ public class BlankNodeImpl extends AbstractRDFTerm implements BlankNode, JenaNod
BlankNode bNode = (BlankNode)other ;
return uniqueReference().equals(bNode.uniqueReference()) ;
}
+
+
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/a7c1dbef/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
index fbd89cc..73759c9 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
@@ -19,6 +19,8 @@
package org.apache.commons.rdf.jena.impl;
import static org.apache.commons.rdf.jena.JenaCommonsRDF.conversionError;
+import java.util.UUID;
+
import org.apache.commons.rdf.api.* ;
import org.apache.commons.rdf.jena.JenaCommonsRDF;
import org.apache.jena.graph.Node ;
@@ -44,11 +46,15 @@ public class JenaFactory {
}
public static BlankNode createBlankNode() {
- return new BlankNodeImpl(NodeFactory.createBlankNode());
+ return new BlankNodeImpl(NodeFactory.createBlankNode(), UUID.randomUUID());
+ }
+
+ public static BlankNode createBlankNode(UUID salt) {
+ return new BlankNodeImpl(NodeFactory.createBlankNode(), salt);
}
- public static BlankNode createBlankNode(String id) {
- return new BlankNodeImpl(NodeFactory.createBlankNode(id));
+ public static BlankNode createBlankNode(String id, UUID salt) {
+ return new BlankNodeImpl(NodeFactory.createBlankNode(id), salt);
}
public static Graph createGraph() { return new GraphImpl(GraphFactory.createDefaultGraph()) ; }
@@ -57,15 +63,15 @@ public class JenaFactory {
return new TripleImpl(subject, predicate, object) ;
}
- public static Triple fromJena(org.apache.jena.graph.Triple triple) {
- return new TripleImpl(triple) ;
+ public static Triple fromJena(org.apache.jena.graph.Triple triple, UUID salt) {
+ return new TripleImpl(triple, salt) ;
}
public static Graph fromJena(org.apache.jena.graph.Graph graph) {
return new GraphImpl(graph) ;
}
- public static RDFTerm fromJena(Node node) {
+ public static RDFTerm fromJena(Node node, UUID salt) {
if ( node.isURI() )
return new IRIImpl(node) ;
if ( node.isLiteral() ) {
@@ -78,13 +84,13 @@ public class JenaFactory {
// return createLiteralDT(node.getLiteralLexicalForm(), node.getLiteralDatatype().getURI());
}
if ( node.isBlank() )
- return new BlankNodeImpl(node) ;
+ return new BlankNodeImpl(node, salt) ;
conversionError("Node is not a concrete RDF Term: "+node) ;
return null ;
}
- public static Quad fromJena(org.apache.jena.sparql.core.Quad quad) {
- return new QuadImpl(quad) ;
+ public static Quad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
+ return new QuadImpl(quad, salt) ;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/a7c1dbef/jena/src/main/java/org/apache/commons/rdf/jena/impl/QuadImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/QuadImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/QuadImpl.java
index 905e47b..0ecd743 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/QuadImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/QuadImpl.java
@@ -20,6 +20,7 @@ package org.apache.commons.rdf.jena.impl;
import java.util.Objects;
import java.util.Optional;
+import java.util.UUID;
import org.apache.commons.rdf.api.BlankNodeOrIRI;
import org.apache.commons.rdf.api.IRI;
@@ -44,12 +45,12 @@ public class QuadImpl implements Quad, JenaQuad {
this.object = Objects.requireNonNull(object) ;
}
- /* package */ QuadImpl(org.apache.jena.sparql.core.Quad quad) {
+ /* package */ QuadImpl(org.apache.jena.sparql.core.Quad quad, UUID salt) {
this.quad = Objects.requireNonNull(quad) ;
- this.graphName = Optional.of((BlankNodeOrIRI)JenaFactory.fromJena(quad.getGraph())) ;
- this.subject = (BlankNodeOrIRI)JenaFactory.fromJena(quad.getSubject()) ;
- this.predicate = (IRI)JenaFactory.fromJena(quad.getPredicate()) ;
- this.object = JenaFactory.fromJena(quad.getObject()) ;
+ this.graphName = Optional.of((BlankNodeOrIRI)JenaFactory.fromJena(quad.getGraph(), salt)) ;
+ this.subject = (BlankNodeOrIRI)JenaFactory.fromJena(quad.getSubject(), salt) ;
+ this.predicate = (IRI)JenaFactory.fromJena(quad.getPredicate(), salt) ;
+ this.object = JenaFactory.fromJena(quad.getObject(), salt) ;
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/a7c1dbef/jena/src/main/java/org/apache/commons/rdf/jena/impl/TripleImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/TripleImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/TripleImpl.java
index fba7304..922d9c2 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/TripleImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/TripleImpl.java
@@ -19,6 +19,7 @@
package org.apache.commons.rdf.jena.impl;
import java.util.Objects ;
+import java.util.UUID;
import org.apache.commons.rdf.api.* ;
import org.apache.commons.rdf.jena.JenaCommonsRDF;
@@ -36,10 +37,10 @@ public class TripleImpl implements Triple, JenaTriple {
this.object = object ;
}
- /* package */ TripleImpl(org.apache.jena.graph.Triple triple) {
- this.subject = (BlankNodeOrIRI)JenaFactory.fromJena(triple.getSubject()) ;
- this.predicate = (IRI)JenaFactory.fromJena(triple.getPredicate()) ;
- this.object = JenaFactory.fromJena(triple.getObject()) ;
+ /* package */ TripleImpl(org.apache.jena.graph.Triple triple, UUID salt) {
+ this.subject = (BlankNodeOrIRI)JenaFactory.fromJena(triple.getSubject(), salt) ;
+ this.predicate = (IRI)JenaFactory.fromJena(triple.getPredicate(), salt) ;
+ this.object = JenaFactory.fromJena(triple.getObject(), salt) ;
this.triple = triple ;
}
[7/9] incubator-commonsrdf git commit: Added JenaAny/JenaVariable and
fromJenaGeneralized(Triple)
Posted by st...@apache.org.
Added JenaAny/JenaVariable and fromJenaGeneralized(Triple)
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/c38aae23
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/c38aae23
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/c38aae23
Branch: refs/heads/jena
Commit: c38aae23447e1eaafff80c3036b643e8bda65a17
Parents: 35c3261
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Jul 8 12:40:18 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Jul 8 12:40:18 2016 +0100
----------------------------------------------------------------------
.../org/apache/commons/rdf/jena/JenaAny.java | 5 +
.../apache/commons/rdf/jena/JenaVariable.java | 6 ++
.../commons/rdf/jena/RDFTermFactoryJena.java | 98 +++++++++++++++++++-
.../apache/commons/rdf/jena/impl/AnyImpl.java | 31 +++++++
.../commons/rdf/jena/impl/BlankNodeImpl.java | 3 +
.../apache/commons/rdf/jena/impl/IRIImpl.java | 4 +
.../commons/rdf/jena/impl/JenaFactory.java | 40 +++++---
.../commons/rdf/jena/impl/LiteralImpl.java | 3 +
.../commons/rdf/jena/impl/VariableImpl.java | 33 +++++++
9 files changed, 207 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c38aae23/jena/src/main/java/org/apache/commons/rdf/jena/JenaAny.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaAny.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaAny.java
new file mode 100644
index 0000000..90599a4
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaAny.java
@@ -0,0 +1,5 @@
+package org.apache.commons.rdf.jena;
+
+public interface JenaAny extends JenaRDFTerm {
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c38aae23/jena/src/main/java/org/apache/commons/rdf/jena/JenaVariable.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaVariable.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaVariable.java
new file mode 100644
index 0000000..55791d4
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaVariable.java
@@ -0,0 +1,6 @@
+package org.apache.commons.rdf.jena;
+
+public interface JenaVariable extends JenaRDFTerm {
+ public String getVariableName();
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c38aae23/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java b/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
index 2ffabfb..760d911 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
@@ -32,6 +32,7 @@ import org.apache.commons.rdf.api.RDFSyntax;
import org.apache.commons.rdf.api.RDFTerm;
import org.apache.commons.rdf.api.RDFTermFactory;
import org.apache.commons.rdf.api.Triple;
+import org.apache.commons.rdf.api.TripleLike;
import org.apache.commons.rdf.jena.impl.JenaFactory;
import org.apache.jena.datatypes.RDFDatatype;
import org.apache.jena.datatypes.xsd.XSDDatatype;
@@ -104,6 +105,34 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
public JenaTriple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
return JenaFactory.createTriple(subject, predicate, object);
}
+
+ /**
+ * Adapt a generalized Jena Triple to a CommonsRDF {@link TripleLike} statement.
+ * <p>
+ * The generalized triple supports any {@link RDFTerm} as its {@link TripleLike#getSubject()}
+ * {@link TripleLike#getPredicate()} or {@link TripleLike#getObject()}.
+ * <p>
+ * If the Jena triple contains any {@link Node#isBlank()}, then any corresponding
+ * {@link BlankNode} will use a {@link UUID} salt from this
+ * {@link RDFTermFactoryJena} instance in combination with
+ * {@link Node#getBlankNodeId()} for the purpose of its
+ * {@link BlankNode#uniqueReference()}.
+ *
+ * @see #fromJena(org.apache.jena.graph.Triple, UUID)
+ * @see #fromJena(RDFTermFactory, org.apache.jena.graph.Triple)
+ *
+ * @param subject The subject of the statement
+ *
+ * @return Adapted {@link TripleLike}. Note that the generalized triple does
+ * <strong>not</strong> implement {@link Triple#equals(Object)} or
+ * {@link Triple#hashCode()}.
+ * @throws ConversionException
+ * if any of the triple's nodes are not concrete
+ */
+ public JenaTripleLike<RDFTerm, RDFTerm, RDFTerm> createGeneralizedTriple(
+ RDFTerm subject, RDFTerm predicate, RDFTerm object) {
+ return JenaFactory.createGeneralizedTriple(subject, predicate, object);
+ }
/**
* Adapt an existing Jena Node to CommonsRDF {@link RDFTerm}.
@@ -219,6 +248,65 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
return JenaFactory.fromJena(triple, salt);
}
+
+ /**
+ * Adapt a generalized Jena Triple to a CommonsRDF {@link TripleLike}.
+ * <p>
+ * The generalized triple supports any {@link RDFTerm} as its {@link TripleLike#getSubject()}
+ * {@link TripleLike#getPredicate()} or {@link TripleLike#getObject()}.
+ * <p>
+ * If the Jena triple contains any {@link Node#isBlank()}, then any corresponding
+ * {@link BlankNode} will use the provided {@link UUID} salt
+ * in combination with
+ * {@link Node#getBlankNodeId()} for the purpose of its
+ * {@link BlankNode#uniqueReference()}.
+ *
+ * @see #fromJena(org.apache.jena.graph.Triple, UUID)
+ * @see #fromJena(RDFTermFactory, org.apache.jena.graph.Triple)
+ *
+ * @param triple
+ * Jena triple
+ * @param salt
+ * UUID salt for the purpose of
+ * {@link BlankNode#uniqueReference()}
+ * @return Adapted {@link TripleLike}. Note that the generalized triple does
+ * <strong>not</strong> implement {@link Triple#equals(Object)} or
+ * {@link Triple#hashCode()}.
+ * @throws ConversionException
+ * if any of the triple's nodes are not concrete
+ */
+ public JenaTripleLike<RDFTerm, RDFTerm, RDFTerm> fromJenaGeneralized(org.apache.jena.graph.Triple triple, UUID salt) throws ConversionException {
+ return JenaFactory.fromJenaGeneralized(triple, salt);
+ }
+
+ /**
+ * Adapt a generalized Jena Triple to a CommonsRDF {@link TripleLike}.
+ * <p>
+ * The generalized triple supports any {@link RDFTerm} as its {@link TripleLike#getSubject()}
+ * {@link TripleLike#getPredicate()} or {@link TripleLike#getObject()}.
+ * <p>
+ * If the Jena triple contains any {@link Node#isBlank()}, then any corresponding
+ * {@link BlankNode} will use a {@link UUID} salt from this
+ * {@link RDFTermFactoryJena} instance in combination with
+ * {@link Node#getBlankNodeId()} for the purpose of its
+ * {@link BlankNode#uniqueReference()}.
+ *
+ * @see #fromJena(org.apache.jena.graph.Triple, UUID)
+ * @see #fromJena(RDFTermFactory, org.apache.jena.graph.Triple)
+ *
+ * @param triple
+ * Jena triple
+ * @return Adapted {@link TripleLike}. Note that the generalized triple does
+ * <strong>not</strong> implement {@link Triple#equals(Object)} or
+ * {@link Triple#hashCode()}.
+ * @throws ConversionException
+ * if any of the triple's nodes are not concrete
+ */
+ public JenaTripleLike<RDFTerm, RDFTerm, RDFTerm> fromJenaGeneralized(org.apache.jena.graph.Triple triple) throws ConversionException {
+ return JenaFactory.fromJenaGeneralized(triple, salt);
+ }
+
+
/**
* Adapt an existing Jena Triple to CommonsRDF {@link Triple}.
* <p>
@@ -270,9 +358,9 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
BlankNodeOrIRI subject;
IRI predicate;
try {
- subject = (BlankNodeOrIRI) (fromJena(factory, triple.getSubject()));
- predicate = (IRI) (fromJena(factory, triple.getPredicate()));
- } (catch ClassCastException ex) {
+ subject = (BlankNodeOrIRI) fromJena(factory, triple.getSubject());
+ predicate = (IRI) fromJena(factory, triple.getPredicate());
+ } catch (ClassCastException ex) {
throw new ConversionException("Can't convert generalized triple: " + triple, ex);
}
RDFTerm object = fromJena(factory, triple.getObject());
@@ -400,11 +488,11 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
if (term == null) {
return null;
}
- if (term instanceof JenaNode)
+ if (term instanceof JenaRDFTerm)
// TODO: What if it's a BlankNodeImpl with
// a different salt? Do we need to rewrite the
// jena blanknode identifier?
- return ((JenaNode) term).asJenaNode();
+ return ((JenaRDFTerm) term).asJenaNode();
if (term instanceof IRI)
return NodeFactory.createURI(((IRI) term).getIRIString());
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c38aae23/jena/src/main/java/org/apache/commons/rdf/jena/impl/AnyImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/AnyImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/AnyImpl.java
new file mode 100644
index 0000000..956851b
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/AnyImpl.java
@@ -0,0 +1,31 @@
+package org.apache.commons.rdf.jena.impl;
+
+import org.apache.commons.rdf.jena.JenaAny;
+import org.apache.commons.rdf.jena.JenaRDFTerm;
+import org.apache.jena.graph.Node;
+
+public class AnyImpl implements JenaRDFTerm, JenaAny {
+
+ static class Singleton {
+ static AnyImpl instance = new AnyImpl();
+ }
+
+ /**
+ * Private constructor
+ *
+ * @see {@link Singleton#instance}
+ */
+ private AnyImpl() {
+ }
+
+ @Override
+ public String ntriplesString() {
+ return "[]";
+ }
+
+ @Override
+ public Node asJenaNode() {
+ return Node.ANY;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c38aae23/jena/src/main/java/org/apache/commons/rdf/jena/impl/BlankNodeImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/BlankNodeImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/BlankNodeImpl.java
index 928da61..2acb635 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/BlankNodeImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/BlankNodeImpl.java
@@ -30,6 +30,9 @@ public class BlankNodeImpl extends AbstractRDFTerm implements JenaBlankNode {
/* package */ BlankNodeImpl(Node node, UUID salt) {
super(node);
+ if (! node.isBlank()) {
+ throw new IllegalArgumentException("Node is not a blank node: " + node);
+ }
this.salt = salt;
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c38aae23/jena/src/main/java/org/apache/commons/rdf/jena/impl/IRIImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/IRIImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/IRIImpl.java
index 9ad20d0..e85c80f 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/IRIImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/IRIImpl.java
@@ -27,6 +27,10 @@ public class IRIImpl extends AbstractRDFTerm implements JenaIRI {
/* package */ IRIImpl(Node node) {
super(node);
+ if (! node.isURI()) {
+ throw new IllegalArgumentException("Node is not a blank node: " + node);
+ }
+
}
/* package */ IRIImpl(String iriStr) {
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c38aae23/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
index 797557c..4a6d44b 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
@@ -26,6 +26,7 @@ import org.apache.commons.rdf.api.IRI;
import org.apache.commons.rdf.api.Quad;
import org.apache.commons.rdf.api.RDFTerm;
import org.apache.commons.rdf.jena.ConversionException;
+import org.apache.commons.rdf.jena.JenaAny;
import org.apache.commons.rdf.jena.JenaBlankNode;
import org.apache.commons.rdf.jena.JenaGraph;
import org.apache.commons.rdf.jena.JenaIRI;
@@ -33,6 +34,7 @@ import org.apache.commons.rdf.jena.JenaLiteral;
import org.apache.commons.rdf.jena.JenaRDFTerm;
import org.apache.commons.rdf.jena.JenaTriple;
import org.apache.commons.rdf.jena.JenaTripleLike;
+import org.apache.commons.rdf.jena.JenaVariable;
import org.apache.jena.graph.Node;
import org.apache.jena.graph.NodeFactory;
import org.apache.jena.sparql.graph.GraphFactory;
@@ -58,7 +60,6 @@ public class JenaFactory {
return new GraphImpl(GraphFactory.createDefaultGraph(), salt);
}
- // basic components to commonsrdf backed by Jena.
public static JenaIRI createIRI(String iriStr) {
return new IRIImpl(iriStr);
}
@@ -78,28 +79,45 @@ public class JenaFactory {
public static JenaTriple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
return new TripleImpl(subject, predicate, object);
}
+
+ public static JenaVariable createVariable(String name) {
+ return new VariableImpl(NodeFactory.createVariable(name));
+ }
+
+ public static JenaAny createVariable() {
+ return AnyImpl.Singleton.instance;
+ }
public static JenaTripleLike<RDFTerm, RDFTerm, RDFTerm> createGeneralizedTriple(RDFTerm subject, RDFTerm predicate, RDFTerm object) {
return new GeneralizedTripleImpl(subject, predicate, object);
}
public static JenaRDFTerm fromJena(Node node, UUID salt) throws ConversionException {
- if (node.isURI())
+ if (! node.isConcrete()) {
+ throw new ConversionException("Node is not a concrete RDF Term: " + node);
+ }
+ return fromJenaGeneralized(node, salt);
+ }
+
+ public static JenaRDFTerm fromJenaGeneralized(Node node, UUID salt) {
+ if (node.isURI()) {
return new IRIImpl(node);
+ }
if (node.isLiteral()) {
return new LiteralImpl(node);
-// String lang = node.getLiteralLanguage();
-// if (lang != null && lang.isEmpty())
-// return createLiteralLang(node.getLiteralLexicalForm(), lang);
-// if (node.getLiteralDatatype().equals(XSDDatatype.XSDstring))
-// return createLiteral(node.getLiteralLexicalForm());
-// return createLiteralDT(node.getLiteralLexicalForm(), node.getLiteralDatatype().getURI());
}
- if (node.isBlank())
+ if (node.isBlank()) {
return new BlankNodeImpl(node, salt);
- throw new ConversionException("Node is not a concrete RDF Term: " + node);
+ }
+ if (node.equals(Node.ANY)) {
+ return AnyImpl.Singleton.instance;
+ }
+ if (node.isVariable()) {
+ return new VariableImpl(node);
+ }
+ throw new IllegalArgumentException("Unrecognized node type: " + node);
}
-
+
public static JenaGraph fromJena(org.apache.jena.graph.Graph graph) {
return new GraphImpl(graph, UUID.randomUUID());
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c38aae23/jena/src/main/java/org/apache/commons/rdf/jena/impl/LiteralImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/LiteralImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/LiteralImpl.java
index 0530d08..2750198 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/LiteralImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/LiteralImpl.java
@@ -30,6 +30,9 @@ public class LiteralImpl extends AbstractRDFTerm implements JenaLiteral {
/* package */ LiteralImpl(Node node) {
super(node);
+ if (! node.isLiteral()) {
+ throw new IllegalArgumentException("Node is not a literal: " + node);
+ }
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c38aae23/jena/src/main/java/org/apache/commons/rdf/jena/impl/VariableImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/VariableImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/VariableImpl.java
new file mode 100644
index 0000000..13f62e9
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/VariableImpl.java
@@ -0,0 +1,33 @@
+package org.apache.commons.rdf.jena.impl;
+
+import org.apache.commons.rdf.jena.JenaRDFTerm;
+import org.apache.commons.rdf.jena.JenaVariable;
+import org.apache.jena.graph.Node;
+
+public class VariableImpl implements JenaRDFTerm, JenaVariable {
+
+ private Node node;
+
+ VariableImpl(Node node) {
+ if (! node.isVariable()) {
+ throw new IllegalArgumentException("Node is not a variable: " + node);
+ }
+ this.node = node;
+ }
+
+ @Override
+ public String ntriplesString() {
+ return "?" + getVariableName();
+ }
+
+ @Override
+ public String getVariableName() {
+ return node.getName();
+ }
+
+ @Override
+ public Node asJenaNode() {
+ return node;
+ }
+
+}
[2/9] incubator-commonsrdf git commit: Moved JenaCommonsRDF methods
to RDFTermFactoryJena
Posted by st...@apache.org.
Moved JenaCommonsRDF methods to RDFTermFactoryJena
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/35479886
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/35479886
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/35479886
Branch: refs/heads/jena
Commit: 354798863f6851dae60a75289a8f0c4b2efb29b3
Parents: a7c1dbe
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Jul 8 09:28:23 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Jul 8 09:28:23 2016 +0100
----------------------------------------------------------------------
.../apache/commons/rdf/jena/JenaCommonsRDF.java | 222 ------------
.../commons/rdf/jena/JenaRDFParserBuilder.java | 4 +-
.../commons/rdf/jena/RDFTermFactoryJena.java | 343 +++++++++++++++----
.../apache/commons/rdf/jena/impl/GraphImpl.java | 41 ++-
.../commons/rdf/jena/impl/JenaFactory.java | 148 ++++----
.../apache/commons/rdf/jena/impl/QuadImpl.java | 10 +-
.../commons/rdf/jena/impl/TripleImpl.java | 7 +-
7 files changed, 398 insertions(+), 377 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35479886/jena/src/main/java/org/apache/commons/rdf/jena/JenaCommonsRDF.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaCommonsRDF.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaCommonsRDF.java
deleted file mode 100644
index 397d77c..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaCommonsRDF.java
+++ /dev/null
@@ -1,222 +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.commons.rdf.jena;
-
-import java.util.Optional;
-import java.util.UUID;
-import java.util.function.Consumer;
-
-import org.apache.commons.rdf.api.BlankNode;
-import org.apache.commons.rdf.api.BlankNodeOrIRI;
-import org.apache.commons.rdf.api.Graph;
-import org.apache.commons.rdf.api.IRI;
-import org.apache.commons.rdf.api.Literal;
-import org.apache.commons.rdf.api.Quad;
-import org.apache.commons.rdf.api.RDFSyntax;
-import org.apache.commons.rdf.api.RDFTerm;
-import org.apache.commons.rdf.api.RDFTermFactory;
-import org.apache.commons.rdf.api.Triple;
-import org.apache.commons.rdf.jena.impl.JenaFactory;
-import org.apache.jena.datatypes.RDFDatatype ;
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.riot.Lang;
-import org.apache.jena.riot.RDFLanguages;
-import org.apache.jena.riot.system.StreamRDF ;
-import org.apache.jena.riot.system.StreamRDFBase;
-import org.apache.jena.sparql.graph.GraphFactory ;
-
-/** A set of utilities for moving between CommonsRDF and Jena
- * The {@link RDFTermFactory} for is {@link RDFTermFactoryJena} which
- * creates CommonsRDF objects backed by Jena.
- * <p>
- * This class encapsulates moving between existing object (RDFTerms, Triples, Graphs)
- * which is usually necessary when working with existing data.
- *
- * @see RDFTermFactoryJena
- */
-public class JenaCommonsRDF {
-
- /** Convert a CommonsRDF RDFTerm to a Jena Node.
- * If the RDFTerm was from Jena originally, return that original object else
- * create a copy using Jena objects.
- */
- public static Node toJena(RDFTerm term) {
- if (term == null) {
- return null;
- }
- if ( term instanceof JenaNode )
- return ((JenaNode)term).asJenaNode() ;
-
- if ( term instanceof IRI )
- return NodeFactory.createURI(((IRI)term).getIRIString()) ;
-
- if ( term instanceof Literal ) {
- Literal lit = (Literal)term ;
- RDFDatatype dt = NodeFactory.getType(lit.getDatatype().getIRIString()) ;
- String lang = lit.getLanguageTag().orElse("") ;
- return NodeFactory.createLiteral(lit.getLexicalForm(), lang, dt) ;
- }
-
- if ( term instanceof BlankNode ) {
- String id = ((BlankNode)term).uniqueReference() ;
- return NodeFactory.createBlankNode(id) ;
- }
- conversionError("Not a concrete RDF Term: "+term) ;
- return null ;
- }
-
- /** Convert a CommonsRDF Triple to a Jena Triple.
- * If the Triple was from Jena originally, return that original object else
- * create a copy using Jena objects.
- */
- public static org.apache.jena.graph.Triple toJena(Triple triple) {
- if ( triple instanceof JenaTriple )
- return ((JenaTriple)triple).asJenaTriple() ;
- return new org.apache.jena.graph.Triple(toJena(triple.getSubject()), toJena(triple.getPredicate()), toJena(triple.getObject()) ) ;
- }
-
- /** Convert a CommonsRDF Graph to a Jena Graph.
- * If the Graph was from Jena originally, return that original object else
- * create a copy using Jena objects.
- */
- public static org.apache.jena.graph.Graph toJena(Graph graph) {
- if ( graph instanceof JenaGraph )
- return ((JenaGraph)graph).asJenaGraph() ;
- org.apache.jena.graph.Graph g = GraphFactory.createGraphMem() ;
- graph.stream().forEach(t->g.add(toJena(t))) ;
- return g ;
- }
-
- /** Adapt an existing Jena Node to CommonsRDF {@link RDFTerm}.
- * @param salt */
- public static RDFTerm fromJena( Node node, UUID salt) {
- return JenaFactory.fromJena(node, salt) ;
- }
-
- /** Adapt an existing Jena Triple to CommonsRDF {@link Triple}.
- * @param salt */
- public static Triple fromJena(org.apache.jena.graph.Triple triple, UUID salt) {
- return JenaFactory.fromJena(triple, salt) ;
- }
-
- /** Adapt an existring Jena Graph to CommonsRDF {@link Graph}.
- * This does not take a copy.
- * Changes to the CommonsRDF Graph are reflected in the jena graph.
- */
- public static Graph fromJena(org.apache.jena.graph.Graph graph) {
- return JenaFactory.fromJena(graph) ;
- }
-
- /** Convert from Jena {@link Node} to any RDFCommons implementation
- * @param salt */
- public static RDFTerm fromJena(RDFTermFactory factory, Node node, UUID salt) {
- if (node == null) {
- return null;
- }
- if (factory instanceof RDFTermFactoryJena) {
- // No need to convert, just wrap
- return fromJena(node, salt);
- }
- if ( node.isURI() )
- return factory.createIRI(node.getURI()) ;
- if ( node.isLiteral() ) {
- String lang = node.getLiteralLanguage() ;
- if ( lang != null && ! lang.isEmpty() )
- return factory.createLiteral(node.getLiteralLexicalForm(), lang) ;
- if ( node.getLiteralDatatype().equals(XSDDatatype.XSDstring) )
- return factory.createLiteral(node.getLiteralLexicalForm()) ;
- IRI dt = factory.createIRI(node.getLiteralDatatype().getURI()) ;
- return factory.createLiteral(node.getLiteralLexicalForm(), dt);
- }
- if ( node.isBlank() )
- return factory.createBlankNode(node.getBlankNodeLabel()) ;
- throw new ConversionException("Node is not a concrete RDF Term: "+node) ;
- }
-
- /** Convert from Jena {@link org.apache.jena.graph.Triple} to any RDFCommons implementation */
- public static Triple fromJena(RDFTermFactory factory, org.apache.jena.graph.Triple triple) {
- if (factory instanceof RDFTermFactoryJena) {
- // No need to convert, just wrap
- return fromJena(triple);
- }
- BlankNodeOrIRI subject = (BlankNodeOrIRI)(fromJena(factory, triple.getSubject())) ;
- IRI predicate = (IRI)(fromJena(factory, triple.getPredicate())) ;
- RDFTerm object = fromJena(factory, triple.getObject()) ;
- return factory.createTriple(subject, predicate, object) ;
- }
-
- /** Convert from Jena to any RDFCommons implementation.
- * This is a copy, even if the factory is a RDFTermFactoryJena.
- * Use {@link #fromJena(org.apache.jena.graph.Graph)} for a wrapper.
- */
- public static Graph fromJena(RDFTermFactory factory, org.apache.jena.graph.Graph graph) {
- if (factory instanceof RDFTermFactoryJena) {
- // No need to convert, just wrap
- return fromJena(graph);
- }
-
- Graph g = factory.createGraph() ;
- graph.find(Node.ANY, Node.ANY, Node.ANY).forEachRemaining( t-> {
- g.add(fromJena(factory, t) );
- }) ;
- return g ;
- }
-
- /** Create a {@link StreamRDF} that inserts into any RDFCommons implementation of Graph */
- public static StreamRDF streamJenaToCommonsRDF(RDFTermFactory factory, Consumer<Quad> consumer) {
- return new StreamRDFBase() {
- @Override
- public void quad(org.apache.jena.sparql.core.Quad quad) {
- consumer.accept(JenaCommonsRDF.fromJena(factory, quad));
- }
- };
- }
-
-
-
-public static Quad fromJena(RDFTermFactory factory, org.apache.jena.sparql.core.Quad quad) {
- if (factory instanceof RDFTermFactoryJena) {
- // No need to convert, just wrap
- return fromJena(quad);
- }
- BlankNodeOrIRI graphName = (BlankNodeOrIRI)(fromJena(factory, quad.getGraph())) ;
- BlankNodeOrIRI subject = (BlankNodeOrIRI)(fromJena(factory, quad.getSubject())) ;
- IRI predicate = (IRI)(fromJena(factory, quad.getPredicate())) ;
- RDFTerm object = fromJena(factory, quad.getObject()) ;
- return factory.createQuad(graphName, subject, predicate, object);
-}
-
-public static Quad fromJena(org.apache.jena.sparql.core.Quad quad) { //
- return JenaFactory.fromJena(quad) ;
-}
-
-public static void conversionError(String msg) {
- throw new ConversionException(msg) ;
- }
-
- public static Optional<Lang> rdfSyntaxToLang(RDFSyntax rdfSyntax) {
- return Optional.ofNullable(RDFLanguages.contentTypeToLang(rdfSyntax.mediaType));
- }
- public static Optional<RDFSyntax> langToRdfSyntax(Lang lang) {
- return RDFSyntax.byMediaType(lang.getContentType().getContentType());
- }
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35479886/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFParserBuilder.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFParserBuilder.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFParserBuilder.java
index bc73e55..2349f8b 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFParserBuilder.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFParserBuilder.java
@@ -46,10 +46,10 @@ public class JenaRDFParserBuilder extends AbstractRDFParserBuilder<JenaRDFParser
Graph jenaGraph = ((JenaGraph)getTargetGraph().get()).asJenaGraph();
dest = StreamRDFLib.graph(jenaGraph);
} else {
- dest = JenaCommonsRDF.streamJenaToCommonsRDF(getRdfTermFactory().get(), getTarget());
+ dest = RDFTermFactoryJena.streamJenaToCommonsRDF(getRdfTermFactory().get(), getTarget());
}
- Lang lang = getContentTypeSyntax().flatMap(JenaCommonsRDF::rdfSyntaxToLang).orElse(null);
+ Lang lang = getContentTypeSyntax().flatMap(RDFTermFactoryJena::rdfSyntaxToLang).orElse(null);
String baseStr = getBase().map(IRI::getIRIString).orElse(null);
if (getSourceIri().isPresent()) {
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35479886/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java b/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
index 1284240..12b0904 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
@@ -18,72 +18,295 @@
package org.apache.commons.rdf.jena;
+import java.util.Optional;
import java.util.UUID;
+import java.util.function.Consumer;
-import org.apache.commons.rdf.api.* ;
+import org.apache.commons.rdf.api.*;
import org.apache.commons.rdf.jena.impl.JenaFactory;
+import org.apache.jena.datatypes.RDFDatatype;
+import org.apache.jena.datatypes.xsd.XSDDatatype;
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.NodeFactory;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFLanguages;
+import org.apache.jena.riot.system.StreamRDF;
+import org.apache.jena.riot.system.StreamRDFBase;
+import org.apache.jena.sparql.graph.GraphFactory;
-/** RDFTermFactory with Jena-backed objects.
- * See {@link JenaCommonsRDF} for other conversions of existing objects.
- *
- * @see RDFTermFactory
+/**
+ * RDFTermFactory with Jena-backed objects.
+ * <p>
+ * This factory can also convert existing objects from/to Jena
+ * with methods like {@link #fromJena(org.apache.jena.graph.Graph)}
+ * and {@link #toJena(Graph)}.
+ *
+ * @see RDFTermFactory
*/
public final class RDFTermFactoryJena implements RDFTermFactory {
-
- private UUID salt = UUID.randomUUID();
+
+ private UUID salt = UUID.randomUUID();
+
+ @Override
+ public BlankNode createBlankNode() {
+ return JenaFactory.createBlankNode(salt);
+ }
+
+ @Override
+ public BlankNode createBlankNode(String name) {
+ return JenaFactory.createBlankNode(name, salt);
+ }
+
+ @Override
+ public Graph createGraph() {
+ return JenaFactory.createGraph(salt);
+ }
+
+ @Override
+ public IRI createIRI(String iri) {
+ validateIRI(iri);
+ return JenaFactory.createIRI(iri);
+ }
+
+ // Some simple validations - full IRI parsing is not cheap.
+ private static void validateIRI(String iri) {
+ if (iri.contains(" "))
+ throw new IllegalArgumentException();
+ if (iri.contains("<"))
+ throw new IllegalArgumentException();
+ if (iri.contains(">"))
+ throw new IllegalArgumentException();
+ }
+
+ @Override
+ public Literal createLiteral(String lexicalForm) {
+ return JenaFactory.createLiteral(lexicalForm);
+ }
+
+ @Override
+ public Literal createLiteral(String lexicalForm, IRI dataType) {
+ return JenaFactory.createLiteralDT(lexicalForm, dataType.getIRIString());
+ }
+
+ @Override
+ public Literal createLiteral(String lexicalForm, String languageTag) {
+ validateLang(languageTag);
+ return JenaFactory.createLiteralLang(lexicalForm, languageTag);
+ }
+
+ private static void validateLang(String languageTag) {
+ if (languageTag.contains(" "))
+ throw new IllegalArgumentException("Invalid language tag: " + languageTag);
+ }
+
+ @Override
+ public Triple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ return JenaFactory.createTriple(subject, predicate, object);
+ }
+
+ /**
+ * Convert a CommonsRDF RDFTerm to a Jena Node. If the RDFTerm was from Jena
+ * originally, return that original object, else create a copy using Jena
+ * objects.
+ */
+ public static Node toJena(RDFTerm term) {
+ if (term == null) {
+ return null;
+ }
+ if (term instanceof JenaNode)
+ // TODO: What if it's a BlankNodeImpl with
+ // a different salt? Do we need to rewrite the
+ // jena blanknode identifier?
+ return ((JenaNode) term).asJenaNode();
+
+ if (term instanceof IRI)
+ return NodeFactory.createURI(((IRI) term).getIRIString());
+
+ if (term instanceof Literal) {
+ Literal lit = (Literal) term;
+ RDFDatatype dt = NodeFactory.getType(lit.getDatatype().getIRIString());
+ String lang = lit.getLanguageTag().orElse("");
+ return NodeFactory.createLiteral(lit.getLexicalForm(), lang, dt);
+ }
+
+ if (term instanceof BlankNode) {
+ String id = ((BlankNode) term).uniqueReference();
+ return NodeFactory.createBlankNode(id);
+ }
+ conversionError("Not a concrete RDF Term: " + term);
+ return null;
+ }
+
+ /**
+ * Convert a CommonsRDF Triple to a Jena Triple. If the Triple was from Jena
+ * originally, return that original object else create a copy using Jena
+ * objects.
+ */
+ public static org.apache.jena.graph.Triple toJena(Triple triple) {
+ if (triple instanceof JenaTriple)
+ return ((JenaTriple) triple).asJenaTriple();
+ return new org.apache.jena.graph.Triple(
+ toJena(triple.getSubject()),
+ toJena(triple.getPredicate()),
+ toJena(triple.getObject()));
+ }
+
+ /**
+ * Convert a CommonsRDF Graph to a Jena Graph. If the Graph was from Jena
+ * originally, return that original object else create a copy using Jena
+ * objects.
+ */
+ public static org.apache.jena.graph.Graph toJena(Graph graph) {
+ if (graph instanceof JenaGraph)
+ return ((JenaGraph) graph).asJenaGraph();
+ org.apache.jena.graph.Graph g = GraphFactory.createGraphMem();
+ graph.stream().forEach(t -> g.add(toJena(t)));
+ return g;
+ }
+
+ /**
+ * Adapt an existing Jena Node to CommonsRDF {@link RDFTerm}.
+ *
+ * @param salt
+ */
+ public static RDFTerm fromJena(Node node, UUID salt) {
+ return JenaFactory.fromJena(node, salt);
+ }
+
+ /**
+ * Adapt an existing Jena Node to CommonsRDF {@link RDFTerm}.
+ *
+ * @param salt
+ */
+ public RDFTerm fromJena(Node node) {
+ return JenaFactory.fromJena(node, salt);
+ }
+
- @Override
- public BlankNode createBlankNode() {
- return JenaFactory.createBlankNode(salt) ;
- }
-
- @Override
- public BlankNode createBlankNode(String name) {
- return JenaFactory.createBlankNode(name, salt) ;
- }
-
- @Override
- public Graph createGraph() {
- return JenaFactory.createGraph() ;
- }
-
- @Override
- public IRI createIRI(String iri) {
- validateIRI(iri) ;
- return JenaFactory.createIRI(iri) ;
- }
-
- // Some simple validations - full IRI parsing is not cheap.
- private static void validateIRI(String iri) {
- if ( iri.contains(" ") ) throw new IllegalArgumentException() ;
- if ( iri.contains("<") ) throw new IllegalArgumentException() ;
- if ( iri.contains(">") ) throw new IllegalArgumentException() ;
- }
-
- @Override
- public Literal createLiteral(String lexicalForm) {
- return JenaFactory.createLiteral(lexicalForm) ;
- }
-
- @Override
- public Literal createLiteral(String lexicalForm, IRI dataType) {
- return JenaFactory.createLiteralDT(lexicalForm, dataType.getIRIString()) ;
- }
-
- @Override
- public Literal createLiteral(String lexicalForm, String languageTag) {
- validateLang(languageTag) ;
- return JenaFactory.createLiteralLang(lexicalForm, languageTag) ;
- }
-
- private static void validateLang(String languageTag) {
- if ( languageTag.contains(" ") ) throw new IllegalArgumentException() ;
- }
-
- @Override
- public Triple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
- return JenaFactory.createTriple(subject, predicate, object) ;
- }
+ /**
+ * Adapt an existing Jena Triple to CommonsRDF {@link Triple}.
+ *
+ * @param salt
+ */
+ public Triple fromJena(org.apache.jena.graph.Triple triple) {
+ return JenaFactory.fromJena(triple, salt);
+ }
+
+ /**
+ * Adapt an existing Jena Triple to CommonsRDF {@link Triple}.
+ *
+ * @param salt
+ */
+ public static Triple fromJena(org.apache.jena.graph.Triple triple, UUID salt) {
+ return JenaFactory.fromJena(triple, salt);
+ }
-}
+ /**
+ * Adapt an existring Jena Graph to CommonsRDF {@link Graph}. This does not
+ * take a copy. Changes to the CommonsRDF Graph are reflected in the jena
+ * graph.
+ */
+ public static Graph fromJena(org.apache.jena.graph.Graph graph) {
+ return fromJena(new RDFTermFactoryJena(), graph);
+ }
+
+ /**
+ * Convert from Jena {@link Node} to any RDFCommons implementation
+ *
+ * @param salt
+ */
+ public static RDFTerm fromJena(RDFTermFactory factory, Node node, UUID salt) {
+ if (node == null) {
+ return null;
+ }
+ if (factory instanceof RDFTermFactoryJena) {
+ // No need to convert, just wrap (we'll use the parameter-provided salt)
+ return fromJena(node, salt);
+ }
+ if (node.isURI())
+ return factory.createIRI(node.getURI());
+ if (node.isLiteral()) {
+ String lang = node.getLiteralLanguage();
+ if (lang != null && !lang.isEmpty())
+ return factory.createLiteral(node.getLiteralLexicalForm(), lang);
+ if (node.getLiteralDatatype().equals(XSDDatatype.XSDstring))
+ return factory.createLiteral(node.getLiteralLexicalForm());
+ IRI dt = factory.createIRI(node.getLiteralDatatype().getURI());
+ return factory.createLiteral(node.getLiteralLexicalForm(), dt);
+ }
+ if (node.isBlank())
+ return factory.createBlankNode(node.getBlankNodeLabel());
+ throw new ConversionException("Node is not a concrete RDF Term: " + node);
+ }
+
+ /**
+ * Convert from Jena {@link org.apache.jena.graph.Triple} to any RDFCommons
+ * implementation
+ */
+ public static Triple fromJena(RDFTermFactory factory, org.apache.jena.graph.Triple triple) {
+ if (factory instanceof RDFTermFactoryJena) {
+ // No need to convert, just wrap
+ return ((RDFTermFactoryJena)factory).fromJena(triple);
+ }
+ BlankNodeOrIRI subject = (BlankNodeOrIRI) (fromJena(factory, triple.getSubject()));
+ IRI predicate = (IRI) (fromJena(factory, triple.getPredicate()));
+ RDFTerm object = fromJena(factory, triple.getObject());
+ return factory.createTriple(subject, predicate, object);
+ }
+ /**
+ * Convert from Jena to any RDFCommons implementation. This is a copy, even
+ * if the factory is a RDFTermFactoryJena. Use
+ * {@link #fromJena(org.apache.jena.graph.Graph)} for a wrapper.
+ */
+ public static Graph fromJena(RDFTermFactory factory, org.apache.jena.graph.Graph graph) {
+ if (factory instanceof RDFTermFactoryJena) {
+ // No need to convert, just wrap
+ return fromJena(graph);
+ }
+
+ Graph g = factory.createGraph();
+ graph.find(Node.ANY, Node.ANY, Node.ANY).forEachRemaining(t -> {
+ g.add(fromJena(factory, t));
+ });
+ return g;
+ }
+
+ /**
+ * Create a {@link StreamRDF} that inserts into any RDFCommons
+ * implementation of Graph
+ */
+ public static StreamRDF streamJenaToCommonsRDF(RDFTermFactory factory, Consumer<Quad> consumer) {
+ return new StreamRDFBase() {
+ @Override
+ public void quad(org.apache.jena.sparql.core.Quad quad) {
+ consumer.accept(fromJena(factory, quad));
+ }
+ };
+ }
+
+ public static Quad fromJena(RDFTermFactory factory, org.apache.jena.sparql.core.Quad quad) {
+ if (factory instanceof RDFTermFactoryJena) {
+ // No need to convert, just wrap
+ return fromJena(quad);
+ }
+ BlankNodeOrIRI graphName = (BlankNodeOrIRI) (fromJena(factory, quad.getGraph()));
+ BlankNodeOrIRI subject = (BlankNodeOrIRI) (fromJena(factory, quad.getSubject()));
+ IRI predicate = (IRI) (fromJena(factory, quad.getPredicate()));
+ RDFTerm object = fromJena(factory, quad.getObject());
+ return factory.createQuad(graphName, subject, predicate, object);
+ }
+
+ public static void conversionError(String msg) {
+ throw new ConversionException(msg);
+ }
+
+ public static Optional<Lang> rdfSyntaxToLang(RDFSyntax rdfSyntax) {
+ return Optional.ofNullable(RDFLanguages.contentTypeToLang(rdfSyntax.mediaType));
+ }
+
+ public static Optional<RDFSyntax> langToRdfSyntax(Lang lang) {
+ return RDFSyntax.byMediaType(lang.getContentType().getContentType());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35479886/jena/src/main/java/org/apache/commons/rdf/jena/impl/GraphImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/GraphImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/GraphImpl.java
index ab684c5..f1243f1 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/GraphImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/GraphImpl.java
@@ -19,6 +19,7 @@
package org.apache.commons.rdf.jena.impl;
import java.io.StringWriter ;
+import java.util.UUID;
import java.util.stream.Stream ;
import org.apache.commons.rdf.api.BlankNodeOrIRI;
@@ -26,8 +27,9 @@ import org.apache.commons.rdf.api.Graph;
import org.apache.commons.rdf.api.IRI;
import org.apache.commons.rdf.api.RDFTerm;
import org.apache.commons.rdf.api.Triple;
-import org.apache.commons.rdf.jena.JenaCommonsRDF;
+import org.apache.commons.rdf.jena.RDFTermFactoryJena;
import org.apache.commons.rdf.jena.JenaGraph;
+import org.apache.commons.rdf.jena.RDFTermFactoryJena;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.graph.Node ;
import org.apache.jena.riot.Lang ;
@@ -36,9 +38,11 @@ import org.apache.jena.riot.RDFDataMgr ;
public class GraphImpl implements Graph, JenaGraph {
private org.apache.jena.graph.Graph graph;
+ private UUID salt;
- /*package*/ GraphImpl(org.apache.jena.graph.Graph graph) {
- this.graph = graph ;
+ /*package*/ GraphImpl(org.apache.jena.graph.Graph graph, UUID salt) {
+ this.graph = graph ;
+ this.salt = salt;
}
@Override
@@ -47,35 +51,35 @@ public class GraphImpl implements Graph, JenaGraph {
}
@Override
- public void add(Triple triple) { graph.add(JenaCommonsRDF.toJena(triple)); }
+ public void add(Triple triple) { graph.add(RDFTermFactoryJena.toJena(triple)); }
@Override
public void add(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
- graph.add(org.apache.jena.graph.Triple.create(JenaCommonsRDF.toJena(subject),
- JenaCommonsRDF.toJena(predicate),
- JenaCommonsRDF.toJena(object)));
+ graph.add(org.apache.jena.graph.Triple.create(RDFTermFactoryJena.toJena(subject),
+ RDFTermFactoryJena.toJena(predicate),
+ RDFTermFactoryJena.toJena(object)));
}
@Override
public boolean contains(Triple triple) {
- return graph.contains(JenaCommonsRDF.toJena(triple)) ;
+ return graph.contains(RDFTermFactoryJena.toJena(triple)) ;
}
@Override
public boolean contains(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
- return graph.contains(JenaCommonsRDF.toJena(subject),
- JenaCommonsRDF.toJena(predicate),
- JenaCommonsRDF.toJena(object) );
+ return graph.contains(RDFTermFactoryJena.toJena(subject),
+ RDFTermFactoryJena.toJena(predicate),
+ RDFTermFactoryJena.toJena(object) );
}
@Override
- public void remove(Triple triple) { graph.delete(JenaCommonsRDF.toJena(triple)); }
+ public void remove(Triple triple) { graph.delete(RDFTermFactoryJena.toJena(triple)); }
@Override
public void remove(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
- graph.delete(org.apache.jena.graph.Triple.create(JenaCommonsRDF.toJena(subject),
- JenaCommonsRDF.toJena(predicate),
- JenaCommonsRDF.toJena(object)));
+ graph.delete(org.apache.jena.graph.Triple.create(RDFTermFactoryJena.toJena(subject),
+ RDFTermFactoryJena.toJena(predicate),
+ RDFTermFactoryJena.toJena(object)));
}
@Override
@@ -88,19 +92,20 @@ public class GraphImpl implements Graph, JenaGraph {
@Override
public Stream<? extends Triple> stream() {
- return Iter.asStream(graph.find(null, null, null), true).map(JenaCommonsRDF::fromJena);
+ return Iter.asStream(graph.find(null, null, null), true).map(RDFTermFactoryJena::fromJena);
}
@Override
public Stream<? extends Triple> stream(BlankNodeOrIRI s, IRI p, RDFTerm o) {
+ RDFTermFactoryJena factory = new RDFTermFactoryJena();
return Iter.asStream(graph.find(toJenaAny(s),toJenaAny(p),toJenaAny(o)), true).
- map(JenaCommonsRDF::fromJena);
+ map(factory::fromJena);
}
private Node toJenaAny(RDFTerm term) {
if ( term == null )
return Node.ANY ;
- return JenaCommonsRDF.toJena(term) ;
+ return RDFTermFactoryJena.toJena(term) ;
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35479886/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
index 73759c9..b94e3bd 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
@@ -17,80 +17,92 @@
*/
package org.apache.commons.rdf.jena.impl;
-import static org.apache.commons.rdf.jena.JenaCommonsRDF.conversionError;
+
+import static org.apache.commons.rdf.jena.RDFTermFactoryJena.conversionError;
import java.util.UUID;
-import org.apache.commons.rdf.api.* ;
-import org.apache.commons.rdf.jena.JenaCommonsRDF;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.sparql.graph.GraphFactory ;
+import org.apache.commons.rdf.api.BlankNode;
+import org.apache.commons.rdf.api.BlankNodeOrIRI;
+import org.apache.commons.rdf.api.Graph;
+import org.apache.commons.rdf.api.IRI;
+import org.apache.commons.rdf.api.Literal;
+import org.apache.commons.rdf.api.Quad;
+import org.apache.commons.rdf.api.RDFTerm;
+import org.apache.commons.rdf.api.Triple;
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.NodeFactory;
+import org.apache.jena.sparql.graph.GraphFactory;
public class JenaFactory {
- // basic components to commonsrdf backed by Jena.
- public static IRI createIRI(String iriStr) {
- return (IRI)JenaCommonsRDF.fromJena(NodeFactory.createURI(iriStr));
- }
-
- public static Literal createLiteral(String lexStr) {
- return new LiteralImpl(NodeFactory.createLiteral(lexStr));
- }
-
- public static Literal createLiteralDT(String lexStr, String datatypeIRI) {
- return new LiteralImpl(NodeFactory.createLiteral(lexStr, NodeFactory.getType(datatypeIRI))) ;
- }
-
- public static Literal createLiteralLang(String lexStr, String langTag) {
- return new LiteralImpl(NodeFactory.createLiteral(lexStr, langTag));
- }
-
- public static BlankNode createBlankNode() {
- return new BlankNodeImpl(NodeFactory.createBlankNode(), UUID.randomUUID());
- }
-
- public static BlankNode createBlankNode(UUID salt) {
- return new BlankNodeImpl(NodeFactory.createBlankNode(), salt);
- }
-
- public static BlankNode createBlankNode(String id, UUID salt) {
- return new BlankNodeImpl(NodeFactory.createBlankNode(id), salt);
- }
-
- public static Graph createGraph() { return new GraphImpl(GraphFactory.createDefaultGraph()) ; }
-
- public static Triple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
- return new TripleImpl(subject, predicate, object) ;
- }
-
- public static Triple fromJena(org.apache.jena.graph.Triple triple, UUID salt) {
- return new TripleImpl(triple, salt) ;
- }
-
- public static Graph fromJena(org.apache.jena.graph.Graph graph) {
- return new GraphImpl(graph) ;
- }
-
- public static RDFTerm fromJena(Node node, UUID salt) {
- if ( node.isURI() )
- return new IRIImpl(node) ;
- if ( node.isLiteral() ) {
- return new LiteralImpl(node) ;
-// String lang = node.getLiteralLanguage() ;
-// if ( lang != null && lang.isEmpty() )
-// return createLiteralLang(node.getLiteralLexicalForm(), lang) ;
-// if ( node.getLiteralDatatype().equals(XSDDatatype.XSDstring) )
-// return createLiteral(node.getLiteralLexicalForm()) ;
-// return createLiteralDT(node.getLiteralLexicalForm(), node.getLiteralDatatype().getURI());
- }
- if ( node.isBlank() )
- return new BlankNodeImpl(node, salt) ;
- conversionError("Node is not a concrete RDF Term: "+node) ;
- return null ;
- }
+ // basic components to commonsrdf backed by Jena.
+ public static IRI createIRI(String iriStr) {
+ return new IRIImpl(iriStr);
+ }
+
+ public static Literal createLiteral(String lexStr) {
+ return new LiteralImpl(NodeFactory.createLiteral(lexStr));
+ }
+
+ public static Literal createLiteralDT(String lexStr, String datatypeIRI) {
+ return new LiteralImpl(NodeFactory.createLiteral(lexStr, NodeFactory.getType(datatypeIRI)));
+ }
+
+ public static Literal createLiteralLang(String lexStr, String langTag) {
+ return new LiteralImpl(NodeFactory.createLiteral(lexStr, langTag));
+ }
+
+ public static BlankNode createBlankNode() {
+ return new BlankNodeImpl(NodeFactory.createBlankNode(), UUID.randomUUID());
+ }
+
+ public static BlankNode createBlankNode(UUID salt) {
+ return new BlankNodeImpl(NodeFactory.createBlankNode(), salt);
+ }
+
+ public static BlankNode createBlankNode(String id, UUID salt) {
+ return new BlankNodeImpl(NodeFactory.createBlankNode(id), salt);
+ }
+
+ public static Graph createGraph() {
+ return createGraph(UUID.randomUUID());
+ }
+
+ public static Triple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ return new TripleImpl(subject, predicate, object);
+ }
+
+ public static Triple fromJena(org.apache.jena.graph.Triple triple, UUID salt) {
+ return new TripleImpl(triple, salt);
+ }
+
+ public static Graph fromJena(org.apache.jena.graph.Graph graph) {
+ return new GraphImpl(graph, UUID.randomUUID());
+ }
+
+ public static RDFTerm fromJena(Node node, UUID salt) {
+ if (node.isURI())
+ return new IRIImpl(node);
+ if (node.isLiteral()) {
+ return new LiteralImpl(node);
+// String lang = node.getLiteralLanguage();
+// if (lang != null && lang.isEmpty())
+// return createLiteralLang(node.getLiteralLexicalForm(), lang);
+// if (node.getLiteralDatatype().equals(XSDDatatype.XSDstring))
+// return createLiteral(node.getLiteralLexicalForm());
+// return createLiteralDT(node.getLiteralLexicalForm(), node.getLiteralDatatype().getURI());
+ }
+ if (node.isBlank())
+ return new BlankNodeImpl(node, salt);
+ conversionError("Node is not a concrete RDF Term: " + node);
+ return null;
+ }
public static Quad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
- return new QuadImpl(quad, salt) ;
+ return new QuadImpl(quad, salt);
}
-}
+ public static Graph createGraph(UUID salt) {
+ return new GraphImpl(GraphFactory.createDefaultGraph(), salt);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35479886/jena/src/main/java/org/apache/commons/rdf/jena/impl/QuadImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/QuadImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/QuadImpl.java
index 0ecd743..4a347b3 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/QuadImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/QuadImpl.java
@@ -27,7 +27,7 @@ import org.apache.commons.rdf.api.IRI;
import org.apache.commons.rdf.api.Quad;
import org.apache.commons.rdf.api.RDFTerm;
import org.apache.commons.rdf.api.Triple;
-import org.apache.commons.rdf.jena.JenaCommonsRDF;
+import org.apache.commons.rdf.jena.RDFTermFactoryJena;
import org.apache.commons.rdf.jena.JenaQuad;
public class QuadImpl implements Quad, JenaQuad {
@@ -57,10 +57,10 @@ public class QuadImpl implements Quad, JenaQuad {
public org.apache.jena.sparql.core.Quad asJenaQuad() {
if ( quad == null ) {
quad = org.apache.jena.sparql.core.Quad.create(
- JenaCommonsRDF.toJena(graphName.orElse(null)),
- JenaCommonsRDF.toJena(subject),
- JenaCommonsRDF.toJena(predicate),
- JenaCommonsRDF.toJena(object)) ;
+ RDFTermFactoryJena.toJena(graphName.orElse(null)),
+ RDFTermFactoryJena.toJena(subject),
+ RDFTermFactoryJena.toJena(predicate),
+ RDFTermFactoryJena.toJena(object)) ;
}
return quad ;
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35479886/jena/src/main/java/org/apache/commons/rdf/jena/impl/TripleImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/TripleImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/TripleImpl.java
index 922d9c2..a778a8e 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/TripleImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/TripleImpl.java
@@ -22,7 +22,7 @@ import java.util.Objects ;
import java.util.UUID;
import org.apache.commons.rdf.api.* ;
-import org.apache.commons.rdf.jena.JenaCommonsRDF;
+import org.apache.commons.rdf.jena.RDFTermFactoryJena;
import org.apache.commons.rdf.jena.JenaTriple;
public class TripleImpl implements Triple, JenaTriple {
@@ -47,7 +47,10 @@ public class TripleImpl implements Triple, JenaTriple {
@Override
public org.apache.jena.graph.Triple asJenaTriple() {
if ( triple == null )
- triple = org.apache.jena.graph.Triple.create(JenaCommonsRDF.toJena(subject), JenaCommonsRDF.toJena(predicate), JenaCommonsRDF.toJena(object)) ;
+ triple = org.apache.jena.graph.Triple.create(
+ RDFTermFactoryJena.toJena(subject),
+ RDFTermFactoryJena.toJena(predicate),
+ RDFTermFactoryJena.toJena(object)) ;
return triple ;
}
[5/9] incubator-commonsrdf git commit: code tidy
Posted by st...@apache.org.
code tidy
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/8a7b3ada
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/8a7b3ada
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/8a7b3ada
Branch: refs/heads/jena
Commit: 8a7b3ada5d43d997b55123dc55ee0840dbadf016
Parents: 7136d55
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Jul 8 11:32:34 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Jul 8 11:32:34 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/jena/RDFTermFactoryJena.java | 278 +++++++++++--------
.../commons/rdf/jena/impl/JenaFactory.java | 8 +-
2 files changed, 168 insertions(+), 118 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/8a7b3ada/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java b/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
index f1ac450..1515a78 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
@@ -84,16 +84,6 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
return JenaFactory.createIRI(iri);
}
- // Some simple validations - full IRI parsing is not cheap.
- private static void validateIRI(String iri) {
- if (iri.contains(" "))
- throw new IllegalArgumentException();
- if (iri.contains("<"))
- throw new IllegalArgumentException();
- if (iri.contains(">"))
- throw new IllegalArgumentException();
- }
-
@Override
public Literal createLiteral(String lexicalForm) {
return JenaFactory.createLiteral(lexicalForm);
@@ -110,97 +100,58 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
return JenaFactory.createLiteralLang(lexicalForm, languageTag);
}
- private static void validateLang(String languageTag) {
- if (languageTag.contains(" "))
- throw new IllegalArgumentException("Invalid language tag: " + languageTag);
- }
-
@Override
public Triple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
return JenaFactory.createTriple(subject, predicate, object);
}
/**
- * Convert a CommonsRDF RDFTerm to a Jena Node. If the RDFTerm was from Jena
- * originally, return that original object, else create a copy using Jena
- * objects.
- */
- public static Node toJena(RDFTerm term) {
- if (term == null) {
- return null;
- }
- if (term instanceof JenaNode)
- // TODO: What if it's a BlankNodeImpl with
- // a different salt? Do we need to rewrite the
- // jena blanknode identifier?
- return ((JenaNode) term).asJenaNode();
-
- if (term instanceof IRI)
- return NodeFactory.createURI(((IRI) term).getIRIString());
-
- if (term instanceof Literal) {
- Literal lit = (Literal) term;
- RDFDatatype dt = NodeFactory.getType(lit.getDatatype().getIRIString());
- String lang = lit.getLanguageTag().orElse("");
- return NodeFactory.createLiteral(lit.getLexicalForm(), lang, dt);
- }
-
- if (term instanceof BlankNode) {
- String id = ((BlankNode) term).uniqueReference();
- return NodeFactory.createBlankNode(id);
- }
- conversionError("Not a concrete RDF Term: " + term);
- return null;
- }
-
- /**
- * Convert a CommonsRDF Triple to a Jena Triple. If the Triple was from Jena
- * originally, return that original object else create a copy using Jena
- * objects.
- */
- public static org.apache.jena.graph.Triple toJena(Triple triple) {
- if (triple instanceof JenaTriple)
- return ((JenaTriple) triple).asJenaTriple();
- return new org.apache.jena.graph.Triple(toJena(triple.getSubject()), toJena(triple.getPredicate()),
- toJena(triple.getObject()));
- }
-
- /**
- * Convert a CommonsRDF Graph to a Jena Graph. If the Graph was from Jena
- * originally, return that original object else create a copy using Jena
- * objects.
- */
- public static org.apache.jena.graph.Graph toJena(Graph graph) {
- if (graph instanceof JenaGraph)
- return ((JenaGraph) graph).asJenaGraph();
- org.apache.jena.graph.Graph g = GraphFactory.createGraphMem();
- graph.stream().forEach(t -> g.add(toJena(t)));
- return g;
- }
-
- /**
* Adapt an existing Jena Node to CommonsRDF {@link RDFTerm}.
+ * <p>
+ * If {@link Node#isLiteral()}, then the returned value is a
+ * {@link Literal}. If {@link Node#isURI(), the returned value is a
+ * IRI. If Node#isBlank(), the returned value is a {@link BlankNode},
+ * which will use a {@link UUID} salt from this {@link RDFTermFactoryJena} instance
+ * in combination with {@link Node#getBlankNodeId()}
+ * for the purpose of its {@link BlankNode#uniqueReference()}.
*
- * @param salt
+ * @param node The Jena Node to adapt. It's {@link Node#isConcrete()} must be <code>true</code>.
+ * @throws ConversionException if the node is not concrete.
*/
- public static RDFTerm fromJena(Node node, UUID salt) {
+ public RDFTerm fromJena(Node node) throws ConversionException {
return JenaFactory.fromJena(node, salt);
}
/**
* Adapt an existing Jena Node to CommonsRDF {@link RDFTerm}.
+ * <p>
+ * If {@link Node#isLiteral()}, then the returned value is a
+ * {@link Literal}. If {@link Node#isURI(), the returned value is a
+ * IRI. If Node#isBlank(), the returned value is a {@link BlankNode},
+ * which will use the provided {@link UUID} salt
+ * in combination with {@link Node#getBlankNodeId()}
+ * for the purpose of its {@link BlankNode#uniqueReference()}.
*
- * @param salt
+ * @param node The Jena Node to adapt. It's {@link Node#isConcrete()} must be <code>true</code>.
+ * @param salt UUID salt for the purpose of {@link BlankNode#uniqueReference()}
+ * @throws ConversionException if the node is not concrete.
*/
- public RDFTerm fromJena(Node node) {
+ public static RDFTerm fromJena(Node node, UUID salt) {
return JenaFactory.fromJena(node, salt);
}
-
+
/**
* Adapt an existing Jena Triple to CommonsRDF {@link Triple}.
+ * <p>
+ * If the triple contains any {@link Node#isBlank()}, then any corresponding
+ * {@link BlankNode} will use a {@link UUID} salt from this
+ * {@link RDFTermFactoryJena} instance
+ * in combination with {@link Node#getBlankNodeId()}
+ * for the purpose of its {@link BlankNode#uniqueReference()}.
*
* @param triple
* Jena triple
+ * @return Adapted triple
*/
public Triple fromJena(org.apache.jena.graph.Triple triple) {
return JenaFactory.fromJena(triple, salt);
@@ -208,23 +159,22 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
/**
* Adapt an existing Jena Triple to CommonsRDF {@link Triple}.
+ * <p>
+ * If the triple contains any {@link Node#isBlank()}, then any corresponding
+ * {@link BlankNode} will use the provided a {@link UUID} salt
+ * in combination with {@link Node#getBlankNodeId()}
+ * for the purpose of its {@link BlankNode#uniqueReference()}.
*
* @param triple
* Jena triple
* @param salt
* A {@link UUID} salt for adapting any {@link BlankNode}s
+ * @return Adapted triple
*/
public static Triple fromJena(org.apache.jena.graph.Triple triple, UUID salt) {
return JenaFactory.fromJena(triple, salt);
}
-
- public Quad fromJena(org.apache.jena.sparql.core.Quad quad) {
- return JenaFactory.fromJena(quad, salt);
- }
-
- public static Quad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
- return JenaFactory.fromJena(quad, salt);
- }
+
/**
* Adapt an existring Jena Graph to CommonsRDF {@link Graph}. This does not
@@ -235,6 +185,40 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
// NOTE: This generates a new UUID salt per graph
return JenaFactory.fromJena(graph);
}
+
+ /**
+ * Adapt an existing Jena Quad to CommonsRDF {@link Quad}.
+ * <p>
+ * If the quad contains any {@link Node#isBlank()}, then any corresponding
+ * {@link BlankNode} will use a {@link UUID} salt from this
+ * {@link RDFTermFactoryJena} instance
+ * in combination with {@link Node#getBlankNodeId()}
+ * for the purpose of its {@link BlankNode#uniqueReference()}.
+ *
+ * @param quad
+ * Jena quad
+ * @return Adapted quad
+ */
+ public Quad fromJena(org.apache.jena.sparql.core.Quad quad) {
+ return JenaFactory.fromJena(quad, salt);
+ }
+
+ /**
+ * Adapt an existing Jena Quad to CommonsRDF {@link Quad}.
+ * <p>
+ * If the quad contains any {@link Node#isBlank()}, then any corresponding
+ * {@link BlankNode} will use a {@link UUID} salt from this
+ * {@link RDFTermFactoryJena} instance
+ * in combination with {@link Node#getBlankNodeId()}
+ * for the purpose of its {@link BlankNode#uniqueReference()}.
+ *
+ * @param quad
+ * Jena quad
+ * @return Adapted quad
+ */
+ public static Quad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
+ return JenaFactory.fromJena(quad, salt);
+ }
/**
* Convert from Jena {@link Node} to any RDFCommons implementation
@@ -266,6 +250,24 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
}
/**
+ * Convert from Jena to any RDFCommons implementation. This is a copy, even
+ * if the factory is a RDFTermFactoryJena. Use
+ * {@link #fromJena(org.apache.jena.graph.Graph)} for a wrapper.
+ */
+ public static Graph fromJena(RDFTermFactory factory, org.apache.jena.graph.Graph graph) {
+ if (factory instanceof RDFTermFactoryJena) {
+ // No need to convert, just wrap
+ return fromJena(graph);
+ }
+
+ Graph g = factory.createGraph();
+ graph.find(Node.ANY, Node.ANY, Node.ANY).forEachRemaining(t -> {
+ g.add(fromJena(factory, t));
+ });
+ return g;
+ }
+
+ /**
* Convert from Jena {@link org.apache.jena.graph.Triple} to any RDFCommons
* implementation
*/
@@ -280,22 +282,24 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
return factory.createTriple(subject, predicate, object);
}
- /**
- * Convert from Jena to any RDFCommons implementation. This is a copy, even
- * if the factory is a RDFTermFactoryJena. Use
- * {@link #fromJena(org.apache.jena.graph.Graph)} for a wrapper.
- */
- public static Graph fromJena(RDFTermFactory factory, org.apache.jena.graph.Graph graph) {
+ public static Quad fromJena(RDFTermFactory factory, org.apache.jena.sparql.core.Quad quad) {
if (factory instanceof RDFTermFactoryJena) {
// No need to convert, just wrap
- return fromJena(graph);
+ return ((RDFTermFactoryJena) factory).fromJena(quad);
}
+ BlankNodeOrIRI graphName = (BlankNodeOrIRI) (fromJena(factory, quad.getGraph()));
+ BlankNodeOrIRI subject = (BlankNodeOrIRI) (fromJena(factory, quad.getSubject()));
+ IRI predicate = (IRI) (fromJena(factory, quad.getPredicate()));
+ RDFTerm object = fromJena(factory, quad.getObject());
+ return factory.createQuad(graphName, subject, predicate, object);
+ }
- Graph g = factory.createGraph();
- graph.find(Node.ANY, Node.ANY, Node.ANY).forEachRemaining(t -> {
- g.add(fromJena(factory, t));
- });
- return g;
+ public static Optional<RDFSyntax> langToRdfSyntax(Lang lang) {
+ return RDFSyntax.byMediaType(lang.getContentType().getContentType());
+ }
+
+ public static Optional<Lang> rdfSyntaxToLang(RDFSyntax rdfSyntax) {
+ return Optional.ofNullable(RDFLanguages.contentTypeToLang(rdfSyntax.mediaType));
}
/**
@@ -311,28 +315,76 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
};
}
- public static Quad fromJena(RDFTermFactory factory, org.apache.jena.sparql.core.Quad quad) {
- if (factory instanceof RDFTermFactoryJena) {
- // No need to convert, just wrap
- return ((RDFTermFactoryJena) factory).fromJena(quad);
+ /**
+ * Convert a CommonsRDF Graph to a Jena Graph. If the Graph was from Jena
+ * originally, return that original object else create a copy using Jena
+ * objects.
+ */
+ public static org.apache.jena.graph.Graph toJena(Graph graph) {
+ if (graph instanceof JenaGraph)
+ return ((JenaGraph) graph).asJenaGraph();
+ org.apache.jena.graph.Graph g = GraphFactory.createGraphMem();
+ graph.stream().forEach(t -> g.add(toJena(t)));
+ return g;
+ }
+
+ /**
+ * Convert a CommonsRDF RDFTerm to a Jena Node. If the RDFTerm was from Jena
+ * originally, return that original object, else create a copy using Jena
+ * objects.
+ */
+ public static Node toJena(RDFTerm term) {
+ if (term == null) {
+ return null;
}
- BlankNodeOrIRI graphName = (BlankNodeOrIRI) (fromJena(factory, quad.getGraph()));
- BlankNodeOrIRI subject = (BlankNodeOrIRI) (fromJena(factory, quad.getSubject()));
- IRI predicate = (IRI) (fromJena(factory, quad.getPredicate()));
- RDFTerm object = fromJena(factory, quad.getObject());
- return factory.createQuad(graphName, subject, predicate, object);
+ if (term instanceof JenaNode)
+ // TODO: What if it's a BlankNodeImpl with
+ // a different salt? Do we need to rewrite the
+ // jena blanknode identifier?
+ return ((JenaNode) term).asJenaNode();
+
+ if (term instanceof IRI)
+ return NodeFactory.createURI(((IRI) term).getIRIString());
+
+ if (term instanceof Literal) {
+ Literal lit = (Literal) term;
+ RDFDatatype dt = NodeFactory.getType(lit.getDatatype().getIRIString());
+ String lang = lit.getLanguageTag().orElse("");
+ return NodeFactory.createLiteral(lit.getLexicalForm(), lang, dt);
+ }
+
+ if (term instanceof BlankNode) {
+ String id = ((BlankNode) term).uniqueReference();
+ return NodeFactory.createBlankNode(id);
+ }
+ throw new ConversionException("Not a concrete RDF Term: " + term);
}
- public static void conversionError(String msg) {
- throw new ConversionException(msg);
+ /**
+ * Convert a CommonsRDF Triple to a Jena Triple. If the Triple was from Jena
+ * originally, return that original object else create a copy using Jena
+ * objects.
+ */
+ public static org.apache.jena.graph.Triple toJena(Triple triple) {
+ if (triple instanceof JenaTriple)
+ return ((JenaTriple) triple).asJenaTriple();
+ return new org.apache.jena.graph.Triple(toJena(triple.getSubject()), toJena(triple.getPredicate()),
+ toJena(triple.getObject()));
}
- public static Optional<Lang> rdfSyntaxToLang(RDFSyntax rdfSyntax) {
- return Optional.ofNullable(RDFLanguages.contentTypeToLang(rdfSyntax.mediaType));
+ // Some simple validations - full IRI parsing is not cheap.
+ private static void validateIRI(String iri) {
+ if (iri.contains(" "))
+ throw new IllegalArgumentException();
+ if (iri.contains("<"))
+ throw new IllegalArgumentException();
+ if (iri.contains(">"))
+ throw new IllegalArgumentException();
}
- public static Optional<RDFSyntax> langToRdfSyntax(Lang lang) {
- return RDFSyntax.byMediaType(lang.getContentType().getContentType());
+ private static void validateLang(String languageTag) {
+ if (languageTag.contains(" "))
+ throw new IllegalArgumentException("Invalid language tag: " + languageTag);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/8a7b3ada/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
index c67bb7c..2b4eab9 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
@@ -18,8 +18,6 @@
package org.apache.commons.rdf.jena.impl;
-import static org.apache.commons.rdf.jena.RDFTermFactoryJena.conversionError;
-
import java.util.UUID;
import org.apache.commons.rdf.api.BlankNode;
@@ -30,6 +28,7 @@ import org.apache.commons.rdf.api.Literal;
import org.apache.commons.rdf.api.Quad;
import org.apache.commons.rdf.api.RDFTerm;
import org.apache.commons.rdf.api.Triple;
+import org.apache.commons.rdf.jena.ConversionException;
import org.apache.jena.graph.Node;
import org.apache.jena.graph.NodeFactory;
import org.apache.jena.sparql.graph.GraphFactory;
@@ -76,7 +75,7 @@ public class JenaFactory {
return new TripleImpl(subject, predicate, object);
}
- public static RDFTerm fromJena(Node node, UUID salt) {
+ public static RDFTerm fromJena(Node node, UUID salt) throws ConversionException {
if (node.isURI())
return new IRIImpl(node);
if (node.isLiteral()) {
@@ -90,8 +89,7 @@ public class JenaFactory {
}
if (node.isBlank())
return new BlankNodeImpl(node, salt);
- conversionError("Node is not a concrete RDF Term: " + node);
- return null;
+ throw new ConversionException("Node is not a concrete RDF Term: " + node);
}
public static Graph fromJena(org.apache.jena.graph.Graph graph) {
[6/9] incubator-commonsrdf git commit: Added Jena* interfaces and
GeneralizedTripleImpl
Posted by st...@apache.org.
Added Jena* interfaces and GeneralizedTripleImpl
e.g. JenaIRI, JenaBlankNode
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/35c32616
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/35c32616
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/35c32616
Branch: refs/heads/jena
Commit: 35c326166ef587adb460cfe36c23ea863b7cffba
Parents: 8a7b3ad
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Jul 8 12:06:08 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Jul 8 12:06:08 2016 +0100
----------------------------------------------------------------------
.../apache/commons/rdf/jena/JenaBlankNode.java | 7 +
.../org/apache/commons/rdf/jena/JenaIRI.java | 7 +
.../apache/commons/rdf/jena/JenaLiteral.java | 7 +
.../org/apache/commons/rdf/jena/JenaNode.java | 27 ---
.../apache/commons/rdf/jena/JenaRDFTerm.java | 27 +++
.../org/apache/commons/rdf/jena/JenaTriple.java | 7 +-
.../apache/commons/rdf/jena/JenaTripleLike.java | 34 +++
.../commons/rdf/jena/RDFTermFactoryJena.java | 241 ++++++++++++-------
.../commons/rdf/jena/impl/AbstractRDFTerm.java | 4 +-
.../commons/rdf/jena/impl/BlankNodeImpl.java | 4 +-
.../rdf/jena/impl/GeneralizedTripleImpl.java | 74 ++++++
.../apache/commons/rdf/jena/impl/IRIImpl.java | 4 +-
.../commons/rdf/jena/impl/JenaFactory.java | 44 ++--
.../commons/rdf/jena/impl/LiteralImpl.java | 3 +-
.../apache/commons/rdf/jena/impl/QuadImpl.java | 2 +-
.../commons/rdf/jena/impl/TripleImpl.java | 11 +-
16 files changed, 358 insertions(+), 145 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35c32616/jena/src/main/java/org/apache/commons/rdf/jena/JenaBlankNode.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaBlankNode.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaBlankNode.java
new file mode 100644
index 0000000..3c7a912
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaBlankNode.java
@@ -0,0 +1,7 @@
+package org.apache.commons.rdf.jena;
+
+import org.apache.commons.rdf.api.BlankNode;
+
+public interface JenaBlankNode extends JenaRDFTerm, BlankNode {
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35c32616/jena/src/main/java/org/apache/commons/rdf/jena/JenaIRI.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaIRI.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaIRI.java
new file mode 100644
index 0000000..c001d74
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaIRI.java
@@ -0,0 +1,7 @@
+package org.apache.commons.rdf.jena;
+
+import org.apache.commons.rdf.api.IRI;
+
+public interface JenaIRI extends JenaRDFTerm, IRI {
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35c32616/jena/src/main/java/org/apache/commons/rdf/jena/JenaLiteral.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaLiteral.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaLiteral.java
new file mode 100644
index 0000000..a2906ff
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaLiteral.java
@@ -0,0 +1,7 @@
+package org.apache.commons.rdf.jena;
+
+import org.apache.commons.rdf.api.Literal;
+
+public interface JenaLiteral extends JenaRDFTerm, Literal {
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35c32616/jena/src/main/java/org/apache/commons/rdf/jena/JenaNode.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaNode.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaNode.java
deleted file mode 100644
index 4be7940..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaNode.java
+++ /dev/null
@@ -1,27 +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.commons.rdf.jena;
-
-import org.apache.commons.rdf.api.RDFTerm;
-import org.apache.jena.graph.Node;
-
-/** Access the Jena node backing this object */
-public interface JenaNode extends RDFTerm {
- public Node asJenaNode();
-}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35c32616/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTerm.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTerm.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTerm.java
new file mode 100644
index 0000000..623f8b4
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTerm.java
@@ -0,0 +1,27 @@
+/**
+ * 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.jena;
+
+import org.apache.commons.rdf.api.RDFTerm;
+import org.apache.jena.graph.Node;
+
+/** Access the Jena node backing this object */
+public interface JenaRDFTerm extends RDFTerm {
+ public Node asJenaNode();
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35c32616/jena/src/main/java/org/apache/commons/rdf/jena/JenaTriple.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaTriple.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaTriple.java
index 3735bdd..b94cc08 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaTriple.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaTriple.java
@@ -18,9 +18,10 @@
package org.apache.commons.rdf.jena;
-import org.apache.jena.graph.Triple;
+import org.apache.commons.rdf.api.BlankNodeOrIRI;
+import org.apache.commons.rdf.api.IRI;
+import org.apache.commons.rdf.api.RDFTerm;
/** Access the Jena triple backing this object */
-public interface JenaTriple extends org.apache.commons.rdf.api.Triple {
- public Triple asJenaTriple();
+public interface JenaTriple extends org.apache.commons.rdf.api.Triple, JenaTripleLike<BlankNodeOrIRI, IRI, RDFTerm> {
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35c32616/jena/src/main/java/org/apache/commons/rdf/jena/JenaTripleLike.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaTripleLike.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaTripleLike.java
new file mode 100644
index 0000000..4f0deb8
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaTripleLike.java
@@ -0,0 +1,34 @@
+/**
+ * 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.jena;
+
+import org.apache.commons.rdf.api.RDFTerm;
+import org.apache.jena.graph.Triple;
+
+/** Access the Jena triple backing this object */
+public interface JenaTripleLike<S extends RDFTerm, P extends RDFTerm, O extends RDFTerm>
+ extends org.apache.commons.rdf.api.TripleLike<S,P,O> {
+
+ /**
+ * Return the adapted Jena triple
+ *
+ * @return Adapted Jena {@link Triple}.
+ */
+ Triple asJenaTriple();
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35c32616/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java b/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
index 1515a78..2ffabfb 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
@@ -64,96 +64,158 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
}
@Override
- public BlankNode createBlankNode() {
+ public JenaBlankNode createBlankNode() {
return JenaFactory.createBlankNode(salt);
}
@Override
- public BlankNode createBlankNode(String name) {
+ public JenaBlankNode createBlankNode(String name) {
return JenaFactory.createBlankNode(name, salt);
}
@Override
- public Graph createGraph() {
+ public JenaGraph createGraph() {
return JenaFactory.createGraph(salt);
}
@Override
- public IRI createIRI(String iri) {
+ public JenaIRI createIRI(String iri) {
validateIRI(iri);
return JenaFactory.createIRI(iri);
}
@Override
- public Literal createLiteral(String lexicalForm) {
+ public JenaLiteral createLiteral(String lexicalForm) {
return JenaFactory.createLiteral(lexicalForm);
}
@Override
- public Literal createLiteral(String lexicalForm, IRI dataType) {
+ public JenaLiteral createLiteral(String lexicalForm, IRI dataType) {
return JenaFactory.createLiteralDT(lexicalForm, dataType.getIRIString());
}
@Override
- public Literal createLiteral(String lexicalForm, String languageTag) {
+ public JenaLiteral createLiteral(String lexicalForm, String languageTag) {
validateLang(languageTag);
return JenaFactory.createLiteralLang(lexicalForm, languageTag);
}
@Override
- public Triple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ public JenaTriple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
return JenaFactory.createTriple(subject, predicate, object);
}
/**
* Adapt an existing Jena Node to CommonsRDF {@link RDFTerm}.
* <p>
- * If {@link Node#isLiteral()}, then the returned value is a
- * {@link Literal}. If {@link Node#isURI(), the returned value is a
- * IRI. If Node#isBlank(), the returned value is a {@link BlankNode},
- * which will use a {@link UUID} salt from this {@link RDFTermFactoryJena} instance
- * in combination with {@link Node#getBlankNodeId()}
- * for the purpose of its {@link BlankNode#uniqueReference()}.
+ * If {@link Node#isLiteral()}, then the returned value is a {@link Literal}.
+ * If {@link Node#isURI(), the returned value is a IRI. If Node#isBlank(),
+ * the returned value is a {@link BlankNode}, which will use a {@link UUID}
+ * salt from this {@link RDFTermFactoryJena} instance in combination with
+ * {@link Node#getBlankNodeId()} for the purpose of its
+ * {@link BlankNode#uniqueReference()}.
*
- * @param node The Jena Node to adapt. It's {@link Node#isConcrete()} must be <code>true</code>.
- * @throws ConversionException if the node is not concrete.
+ * @see #fromJena(Node, UUID)
+ * @see #fromJena(RDFTermFactory, Node)
+ *
+ * @param node
+ * The Jena Node to adapt. It's {@link Node#isConcrete()} must be
+ * <code>true</code>.
+ * @throws ConversionException
+ * if the node is not concrete.
*/
- public RDFTerm fromJena(Node node) throws ConversionException {
+ public JenaRDFTerm fromJena(Node node) throws ConversionException {
return JenaFactory.fromJena(node, salt);
}
/**
* Adapt an existing Jena Node to CommonsRDF {@link RDFTerm}.
* <p>
- * If {@link Node#isLiteral()}, then the returned value is a
- * {@link Literal}. If {@link Node#isURI(), the returned value is a
- * IRI. If Node#isBlank(), the returned value is a {@link BlankNode},
- * which will use the provided {@link UUID} salt
- * in combination with {@link Node#getBlankNodeId()}
- * for the purpose of its {@link BlankNode#uniqueReference()}.
+ * If {@link Node#isLiteral()}, then the returned value is a {@link Literal}
+ * . If {@link Node#isURI(), the returned value is a IRI. If Node#isBlank(),
+ * the returned value is a {@link BlankNode}, which will use the provided
+ * {@link UUID} salt in combination with {@link Node#getBlankNodeId()} for
+ * the purpose of its {@link BlankNode#uniqueReference()}.
+ *
+ * @see #fromJena(Node)
+ * @see #fromJena(RDFTermFactory, Node)
*
- * @param node The Jena Node to adapt. It's {@link Node#isConcrete()} must be <code>true</code>.
- * @param salt UUID salt for the purpose of {@link BlankNode#uniqueReference()}
- * @throws ConversionException if the node is not concrete.
+ * @param node
+ * The Jena Node to adapt. It's {@link Node#isConcrete()} must be
+ * <code>true</code>.
+ * @param salt
+ * UUID salt for the purpose of
+ * {@link BlankNode#uniqueReference()}
+ * @throws ConversionException
+ * if the node is not concrete.
*/
- public static RDFTerm fromJena(Node node, UUID salt) {
+ public static JenaRDFTerm fromJena(Node node, UUID salt) {
return JenaFactory.fromJena(node, salt);
}
/**
+ * Convert from Jena {@link Node} to any RDFCommons implementation.
+ * <p>
+ * Note that if the {@link Node#isBlank()}, then the factory's
+ * {@link RDFTermFactory#createBlankNode(String)} will be used, meaning
+ * that care should be taken if reusing an {@link RDFTermFactory} instance
+ * for multiple conversion sessions.
+ *
+ * @see #fromJena(Node)
+ * @see #fromJena(Node, UUID)
+ *
+ * @param factory {@link RDFTermFactory} to use for creating {@link RDFTerm}.
+ * @param node
+ * The Jena Node to adapt. It's {@link Node#isConcrete()} must be
+ * <code>true</code>.
+ * @throws ConversionException
+ * if the node is not concrete.
+ */
+ public static RDFTerm fromJena(RDFTermFactory factory, Node node) {
+ if (node == null) {
+ return null;
+ }
+ if (factory instanceof RDFTermFactoryJena) {
+ // No need to convert, just wrap
+ return ((RDFTermFactoryJena) factory).fromJena(node);
+ }
+ if (node.isURI())
+ return factory.createIRI(node.getURI());
+ if (node.isLiteral()) {
+ String lang = node.getLiteralLanguage();
+ if (lang != null && !lang.isEmpty())
+ return factory.createLiteral(node.getLiteralLexicalForm(), lang);
+ if (node.getLiteralDatatype().equals(XSDDatatype.XSDstring))
+ return factory.createLiteral(node.getLiteralLexicalForm());
+ IRI dt = factory.createIRI(node.getLiteralDatatype().getURI());
+ return factory.createLiteral(node.getLiteralLexicalForm(), dt);
+ }
+ if (node.isBlank())
+ // The factory
+ return factory.createBlankNode(node.getBlankNodeLabel());
+ throw new ConversionException("Node is not a concrete RDF Term: " + node);
+ }
+
+ /**
* Adapt an existing Jena Triple to CommonsRDF {@link Triple}.
* <p>
* If the triple contains any {@link Node#isBlank()}, then any corresponding
- * {@link BlankNode} will use a {@link UUID} salt from this
- * {@link RDFTermFactoryJena} instance
- * in combination with {@link Node#getBlankNodeId()}
- * for the purpose of its {@link BlankNode#uniqueReference()}.
+ * {@link BlankNode} will use a {@link UUID} salt from this
+ * {@link RDFTermFactoryJena} instance in combination with
+ * {@link Node#getBlankNodeId()} for the purpose of its
+ * {@link BlankNode#uniqueReference()}.
+ *
+ * @see #fromJena(org.apache.jena.graph.Triple, UUID)
+ * @see #fromJena(RDFTermFactory, org.apache.jena.graph.Triple)
*
* @param triple
* Jena triple
- * @return Adapted triple
+ * @return Adapted triple
+ * @throws ConversionException
+ * if any of the triple's nodes are not concrete or the triple
+ * is a generalized triple
*/
- public Triple fromJena(org.apache.jena.graph.Triple triple) {
+ public JenaTriple fromJena(org.apache.jena.graph.Triple triple) throws ConversionException {
return JenaFactory.fromJena(triple, salt);
}
@@ -161,31 +223,62 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
* Adapt an existing Jena Triple to CommonsRDF {@link Triple}.
* <p>
* If the triple contains any {@link Node#isBlank()}, then any corresponding
- * {@link BlankNode} will use the provided a {@link UUID} salt
- * in combination with {@link Node#getBlankNodeId()}
- * for the purpose of its {@link BlankNode#uniqueReference()}.
+ * {@link BlankNode} will use the provided a {@link UUID} salt in
+ * combination with {@link Node#getBlankNodeId()} for the purpose of its
+ * {@link BlankNode#uniqueReference()}.
*
* @param triple
* Jena triple
* @param salt
* A {@link UUID} salt for adapting any {@link BlankNode}s
- * @return Adapted triple
+ * @return Adapted triple
+ * @throws ConversionException
+ * if any of the triple's nodes are not concrete or the triple
+ * is a generalized triple
*/
- public static Triple fromJena(org.apache.jena.graph.Triple triple, UUID salt) {
+ public static JenaTriple fromJena(org.apache.jena.graph.Triple triple, UUID salt) throws ConversionException {
return JenaFactory.fromJena(triple, salt);
}
-
/**
- * Adapt an existring Jena Graph to CommonsRDF {@link Graph}. This does not
- * take a copy. Changes to the CommonsRDF Graph are reflected in the jena
- * graph.
+ * Convert from Jena {@link org.apache.jena.graph.Triple} to any RDFCommons
+ * implementation.
+ * <p>
+ * Note that if any of the triple's nodes {@link Node#isBlank()}, then the factory's
+ * {@link RDFTermFactory#createBlankNode(String)} will be used, meaning
+ * that care should be taken if reusing an {@link RDFTermFactory} instance
+ * for multiple conversion sessions.
+ *
+ * @see #fromJena(org.apache.jena.graph.Triple)
+ * @see #fromJena(org.apache.jena.graph.Triple, UUID)
+ *
+ * @param factory {@link RDFTermFactory} to use for creating the {@link Triple} and its
+ * {@link RDFTerm}s.
+ * @param triple
+ * Jena triple
+ * @return Converted triple
+ * @throws ConversionException
+ * if any of the triple's nodes are not concrete or the triple
+ * is a generalized triple
*/
- public static Graph fromJena(org.apache.jena.graph.Graph graph) {
- // NOTE: This generates a new UUID salt per graph
- return JenaFactory.fromJena(graph);
+ public static Triple fromJena(RDFTermFactory factory, org.apache.jena.graph.Triple triple)
+ throws ConversionException{
+ if (factory instanceof RDFTermFactoryJena) {
+ // No need to convert, just wrap
+ return ((RDFTermFactoryJena) factory).fromJena(triple);
+ }
+ BlankNodeOrIRI subject;
+ IRI predicate;
+ try {
+ subject = (BlankNodeOrIRI) (fromJena(factory, triple.getSubject()));
+ predicate = (IRI) (fromJena(factory, triple.getPredicate()));
+ } (catch ClassCastException ex) {
+ throw new ConversionException("Can't convert generalized triple: " + triple, ex);
+ }
+ RDFTerm object = fromJena(factory, triple.getObject());
+ return factory.createTriple(subject, predicate, object);
}
-
+
/**
* Adapt an existing Jena Quad to CommonsRDF {@link Quad}.
* <p>
@@ -207,13 +300,14 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
* Adapt an existing Jena Quad to CommonsRDF {@link Quad}.
* <p>
* If the quad contains any {@link Node#isBlank()}, then any corresponding
- * {@link BlankNode} will use a {@link UUID} salt from this
- * {@link RDFTermFactoryJena} instance
+ * {@link BlankNode} will use the provided {@link UUID} salt
* in combination with {@link Node#getBlankNodeId()}
* for the purpose of its {@link BlankNode#uniqueReference()}.
*
* @param quad
* Jena quad
+ * @param salt
+ * A {@link UUID} salt for adapting any {@link BlankNode}s
* @return Adapted quad
*/
public static Quad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
@@ -221,33 +315,16 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
}
/**
- * Convert from Jena {@link Node} to any RDFCommons implementation
- *
- * @param salt
+ * Adapt an existing Jena Graph to CommonsRDF {@link Graph}. This does not
+ * take a copy, changes to the CommonsRDF Graph are reflected in the jena
+ * graph.
*/
- public static RDFTerm fromJena(RDFTermFactory factory, Node node) {
- if (node == null) {
- return null;
- }
- if (factory instanceof RDFTermFactoryJena) {
- // No need to convert, just wrap
- return ((RDFTermFactoryJena) factory).fromJena(node);
- }
- if (node.isURI())
- return factory.createIRI(node.getURI());
- if (node.isLiteral()) {
- String lang = node.getLiteralLanguage();
- if (lang != null && !lang.isEmpty())
- return factory.createLiteral(node.getLiteralLexicalForm(), lang);
- if (node.getLiteralDatatype().equals(XSDDatatype.XSDstring))
- return factory.createLiteral(node.getLiteralLexicalForm());
- IRI dt = factory.createIRI(node.getLiteralDatatype().getURI());
- return factory.createLiteral(node.getLiteralLexicalForm(), dt);
- }
- if (node.isBlank())
- return factory.createBlankNode(node.getBlankNodeLabel());
- throw new ConversionException("Node is not a concrete RDF Term: " + node);
+ public static Graph fromJena(org.apache.jena.graph.Graph graph) {
+ // NOTE: This generates a new UUID salt per graph
+ return JenaFactory.fromJena(graph);
}
+
+
/**
* Convert from Jena to any RDFCommons implementation. This is a copy, even
@@ -267,20 +344,6 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
return g;
}
- /**
- * Convert from Jena {@link org.apache.jena.graph.Triple} to any RDFCommons
- * implementation
- */
- public static Triple fromJena(RDFTermFactory factory, org.apache.jena.graph.Triple triple) {
- if (factory instanceof RDFTermFactoryJena) {
- // No need to convert, just wrap
- return ((RDFTermFactoryJena) factory).fromJena(triple);
- }
- BlankNodeOrIRI subject = (BlankNodeOrIRI) (fromJena(factory, triple.getSubject()));
- IRI predicate = (IRI) (fromJena(factory, triple.getPredicate()));
- RDFTerm object = fromJena(factory, triple.getObject());
- return factory.createTriple(subject, predicate, object);
- }
public static Quad fromJena(RDFTermFactory factory, org.apache.jena.sparql.core.Quad quad) {
if (factory instanceof RDFTermFactoryJena) {
@@ -368,7 +431,9 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
public static org.apache.jena.graph.Triple toJena(Triple triple) {
if (triple instanceof JenaTriple)
return ((JenaTriple) triple).asJenaTriple();
- return new org.apache.jena.graph.Triple(toJena(triple.getSubject()), toJena(triple.getPredicate()),
+ return new org.apache.jena.graph.Triple(
+ toJena(triple.getSubject()),
+ toJena(triple.getPredicate()),
toJena(triple.getObject()));
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35c32616/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractRDFTerm.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractRDFTerm.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractRDFTerm.java
index e7bc125..5c828ef 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractRDFTerm.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractRDFTerm.java
@@ -19,11 +19,11 @@
package org.apache.commons.rdf.jena.impl;
import org.apache.commons.rdf.api.RDFTerm;
-import org.apache.commons.rdf.jena.JenaNode;
+import org.apache.commons.rdf.jena.JenaRDFTerm;
import org.apache.jena.graph.Node;
import org.apache.jena.riot.out.NodeFmtLib;
-class AbstractRDFTerm implements JenaNode, RDFTerm {
+class AbstractRDFTerm implements JenaRDFTerm, RDFTerm {
private Node node;
// static private PrefixMapping empty = new PrefixMappingImpl() ;
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35c32616/jena/src/main/java/org/apache/commons/rdf/jena/impl/BlankNodeImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/BlankNodeImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/BlankNodeImpl.java
index fc7d1c3..928da61 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/BlankNodeImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/BlankNodeImpl.java
@@ -21,10 +21,10 @@ package org.apache.commons.rdf.jena.impl;
import java.util.UUID;
import org.apache.commons.rdf.api.BlankNode;
-import org.apache.commons.rdf.jena.JenaNode;
+import org.apache.commons.rdf.jena.JenaBlankNode;
import org.apache.jena.graph.Node;
-public class BlankNodeImpl extends AbstractRDFTerm implements BlankNode, JenaNode {
+public class BlankNodeImpl extends AbstractRDFTerm implements JenaBlankNode {
private UUID salt;
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35c32616/jena/src/main/java/org/apache/commons/rdf/jena/impl/GeneralizedTripleImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/GeneralizedTripleImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/GeneralizedTripleImpl.java
new file mode 100644
index 0000000..c36c615
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/GeneralizedTripleImpl.java
@@ -0,0 +1,74 @@
+/**
+ * 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.jena.impl;
+
+import java.util.UUID;
+
+import org.apache.commons.rdf.api.RDFTerm;
+import org.apache.commons.rdf.jena.ConversionException;
+import org.apache.commons.rdf.jena.JenaTripleLike;
+import org.apache.commons.rdf.jena.RDFTermFactoryJena;
+
+public class GeneralizedTripleImpl implements JenaTripleLike<RDFTerm, RDFTerm, RDFTerm> {
+ private final RDFTerm object;
+ private final RDFTerm predicate;
+ private final RDFTerm subject;
+ private org.apache.jena.graph.Triple triple = null;
+
+ /* package */ GeneralizedTripleImpl(RDFTerm subject, RDFTerm predicate, RDFTerm object) {
+ this.subject = subject;
+ this.predicate = predicate;
+ this.object = object;
+ }
+
+ /* package */ GeneralizedTripleImpl(org.apache.jena.graph.Triple triple, UUID salt) throws ConversionException {
+ this.subject = JenaFactory.fromJena(triple.getSubject(), salt);
+ this.predicate = JenaFactory.fromJena(triple.getPredicate(), salt);
+ this.object = JenaFactory.fromJena(triple.getObject(), salt);
+ this.triple = triple;
+ }
+
+ @Override
+ public org.apache.jena.graph.Triple asJenaTriple() {
+ if (triple == null)
+ triple = org.apache.jena.graph.Triple.create(RDFTermFactoryJena.toJena(subject),
+ RDFTermFactoryJena.toJena(predicate), RDFTermFactoryJena.toJena(object));
+ return triple;
+ }
+ @Override
+ public RDFTerm getObject() {
+ return object;
+ }
+
+ @Override
+ public RDFTerm getPredicate() {
+ return predicate;
+ }
+
+ @Override
+ public RDFTerm getSubject() {
+ return subject;
+ }
+
+ @Override
+ public String toString() {
+ return getSubject() + " " + getPredicate() + " " + getObject() + " .";
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35c32616/jena/src/main/java/org/apache/commons/rdf/jena/impl/IRIImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/IRIImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/IRIImpl.java
index d5373b7..9ad20d0 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/IRIImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/IRIImpl.java
@@ -19,11 +19,11 @@
package org.apache.commons.rdf.jena.impl;
import org.apache.commons.rdf.api.IRI;
-import org.apache.commons.rdf.jena.JenaNode;
+import org.apache.commons.rdf.jena.JenaIRI;
import org.apache.jena.graph.Node;
import org.apache.jena.graph.NodeFactory;
-public class IRIImpl extends AbstractRDFTerm implements IRI, JenaNode {
+public class IRIImpl extends AbstractRDFTerm implements JenaIRI {
/* package */ IRIImpl(Node node) {
super(node);
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35c32616/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
index 2b4eab9..797557c 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
@@ -22,13 +22,17 @@ import java.util.UUID;
import org.apache.commons.rdf.api.BlankNode;
import org.apache.commons.rdf.api.BlankNodeOrIRI;
-import org.apache.commons.rdf.api.Graph;
import org.apache.commons.rdf.api.IRI;
-import org.apache.commons.rdf.api.Literal;
import org.apache.commons.rdf.api.Quad;
import org.apache.commons.rdf.api.RDFTerm;
-import org.apache.commons.rdf.api.Triple;
import org.apache.commons.rdf.jena.ConversionException;
+import org.apache.commons.rdf.jena.JenaBlankNode;
+import org.apache.commons.rdf.jena.JenaGraph;
+import org.apache.commons.rdf.jena.JenaIRI;
+import org.apache.commons.rdf.jena.JenaLiteral;
+import org.apache.commons.rdf.jena.JenaRDFTerm;
+import org.apache.commons.rdf.jena.JenaTriple;
+import org.apache.commons.rdf.jena.JenaTripleLike;
import org.apache.jena.graph.Node;
import org.apache.jena.graph.NodeFactory;
import org.apache.jena.sparql.graph.GraphFactory;
@@ -38,44 +42,48 @@ public class JenaFactory {
return new BlankNodeImpl(NodeFactory.createBlankNode(), UUID.randomUUID());
}
- public static BlankNode createBlankNode(String id, UUID salt) {
+ public static JenaBlankNode createBlankNode(String id, UUID salt) {
return new BlankNodeImpl(NodeFactory.createBlankNode(id), salt);
}
- public static BlankNode createBlankNode(UUID salt) {
+ public static JenaBlankNode createBlankNode(UUID salt) {
return new BlankNodeImpl(NodeFactory.createBlankNode(), salt);
}
- public static Graph createGraph() {
+ public static JenaGraph createGraph() {
return createGraph(UUID.randomUUID());
}
- public static Graph createGraph(UUID salt) {
+ public static JenaGraph createGraph(UUID salt) {
return new GraphImpl(GraphFactory.createDefaultGraph(), salt);
}
// basic components to commonsrdf backed by Jena.
- public static IRI createIRI(String iriStr) {
+ public static JenaIRI createIRI(String iriStr) {
return new IRIImpl(iriStr);
}
- public static Literal createLiteral(String lexStr) {
+ public static JenaLiteral createLiteral(String lexStr) {
return new LiteralImpl(NodeFactory.createLiteral(lexStr));
}
- public static Literal createLiteralDT(String lexStr, String datatypeIRI) {
+ public static JenaLiteral createLiteralDT(String lexStr, String datatypeIRI) {
return new LiteralImpl(NodeFactory.createLiteral(lexStr, NodeFactory.getType(datatypeIRI)));
}
- public static Literal createLiteralLang(String lexStr, String langTag) {
+ public static JenaLiteral createLiteralLang(String lexStr, String langTag) {
return new LiteralImpl(NodeFactory.createLiteral(lexStr, langTag));
}
- public static Triple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ public static JenaTriple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
return new TripleImpl(subject, predicate, object);
}
- public static RDFTerm fromJena(Node node, UUID salt) throws ConversionException {
+ public static JenaTripleLike<RDFTerm, RDFTerm, RDFTerm> createGeneralizedTriple(RDFTerm subject, RDFTerm predicate, RDFTerm object) {
+ return new GeneralizedTripleImpl(subject, predicate, object);
+ }
+
+ public static JenaRDFTerm fromJena(Node node, UUID salt) throws ConversionException {
if (node.isURI())
return new IRIImpl(node);
if (node.isLiteral()) {
@@ -92,18 +100,22 @@ public class JenaFactory {
throw new ConversionException("Node is not a concrete RDF Term: " + node);
}
- public static Graph fromJena(org.apache.jena.graph.Graph graph) {
+ public static JenaGraph fromJena(org.apache.jena.graph.Graph graph) {
return new GraphImpl(graph, UUID.randomUUID());
}
- public static Graph fromJena(org.apache.jena.graph.Graph graph, UUID salt) {
+ public static JenaGraph fromJena(org.apache.jena.graph.Graph graph, UUID salt) {
return new GraphImpl(graph, salt);
}
- public static Triple fromJena(org.apache.jena.graph.Triple triple, UUID salt) {
+ public static JenaTriple fromJena(org.apache.jena.graph.Triple triple, UUID salt) {
return new TripleImpl(triple, salt);
}
+ public static JenaTripleLike<RDFTerm, RDFTerm, RDFTerm> fromJenaGeneralized(org.apache.jena.graph.Triple triple, UUID salt) {
+ return new GeneralizedTripleImpl(triple, salt);
+ }
+
public static Quad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
return new QuadImpl(quad, salt);
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35c32616/jena/src/main/java/org/apache/commons/rdf/jena/impl/LiteralImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/LiteralImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/LiteralImpl.java
index efcf099..0530d08 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/LiteralImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/LiteralImpl.java
@@ -23,9 +23,10 @@ import java.util.Optional;
import org.apache.commons.rdf.api.IRI;
import org.apache.commons.rdf.api.Literal;
+import org.apache.commons.rdf.jena.JenaLiteral;
import org.apache.jena.graph.Node;
-public class LiteralImpl extends AbstractRDFTerm implements Literal {
+public class LiteralImpl extends AbstractRDFTerm implements JenaLiteral {
/* package */ LiteralImpl(Node node) {
super(node);
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35c32616/jena/src/main/java/org/apache/commons/rdf/jena/impl/QuadImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/QuadImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/QuadImpl.java
index 31c96b2..16deb02 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/QuadImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/QuadImpl.java
@@ -30,7 +30,7 @@ import org.apache.commons.rdf.api.Triple;
import org.apache.commons.rdf.jena.JenaQuad;
import org.apache.commons.rdf.jena.RDFTermFactoryJena;
-public class QuadImpl implements Quad, JenaQuad {
+public class QuadImpl implements JenaQuad {
private final Optional<BlankNodeOrIRI> graphName;
private final RDFTerm object;
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35c32616/jena/src/main/java/org/apache/commons/rdf/jena/impl/TripleImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/TripleImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/TripleImpl.java
index 3a0f15b..f65fd6d 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/TripleImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/TripleImpl.java
@@ -25,6 +25,7 @@ import org.apache.commons.rdf.api.BlankNodeOrIRI;
import org.apache.commons.rdf.api.IRI;
import org.apache.commons.rdf.api.RDFTerm;
import org.apache.commons.rdf.api.Triple;
+import org.apache.commons.rdf.jena.ConversionException;
import org.apache.commons.rdf.jena.JenaTriple;
import org.apache.commons.rdf.jena.RDFTermFactoryJena;
@@ -40,9 +41,13 @@ public class TripleImpl implements Triple, JenaTriple {
this.object = object;
}
- /* package */ TripleImpl(org.apache.jena.graph.Triple triple, UUID salt) {
- this.subject = (BlankNodeOrIRI) JenaFactory.fromJena(triple.getSubject(), salt);
- this.predicate = (IRI) JenaFactory.fromJena(triple.getPredicate(), salt);
+ /* package */ TripleImpl(org.apache.jena.graph.Triple triple, UUID salt) throws ConversionException {
+ try {
+ this.subject = (BlankNodeOrIRI) JenaFactory.fromJena(triple.getSubject(), salt);
+ this.predicate = (IRI) JenaFactory.fromJena(triple.getPredicate(), salt);
+ } catch (ClassCastException ex) {
+ throw new ConversionException("Can't adapt generalized triple: " + triple, ex);
+ }
this.object = JenaFactory.fromJena(triple.getObject(), salt);
this.triple = triple;
}
[8/9] incubator-commonsrdf git commit: ASF license headers
Posted by st...@apache.org.
ASF license headers
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/0475259b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/0475259b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/0475259b
Branch: refs/heads/jena
Commit: 0475259b2eebed51fc9563fc2dbbb74c70d9d825
Parents: c38aae2
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Jul 8 12:42:18 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Jul 8 12:42:18 2016 +0100
----------------------------------------------------------------------
.../java/org/apache/commons/rdf/jena/JenaAny.java | 18 ++++++++++++++++++
.../apache/commons/rdf/jena/JenaBlankNode.java | 18 ++++++++++++++++++
.../java/org/apache/commons/rdf/jena/JenaIRI.java | 18 ++++++++++++++++++
.../org/apache/commons/rdf/jena/JenaLiteral.java | 18 ++++++++++++++++++
.../org/apache/commons/rdf/jena/JenaVariable.java | 18 ++++++++++++++++++
.../org/apache/commons/rdf/jena/impl/AnyImpl.java | 18 ++++++++++++++++++
.../apache/commons/rdf/jena/impl/GraphImpl.java | 3 +--
.../commons/rdf/jena/impl/VariableImpl.java | 18 ++++++++++++++++++
8 files changed, 127 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/0475259b/jena/src/main/java/org/apache/commons/rdf/jena/JenaAny.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaAny.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaAny.java
index 90599a4..b6c32fd 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaAny.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaAny.java
@@ -1,3 +1,21 @@
+/**
+ * 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.jena;
public interface JenaAny extends JenaRDFTerm {
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/0475259b/jena/src/main/java/org/apache/commons/rdf/jena/JenaBlankNode.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaBlankNode.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaBlankNode.java
index 3c7a912..099821f 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaBlankNode.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaBlankNode.java
@@ -1,3 +1,21 @@
+/**
+ * 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.jena;
import org.apache.commons.rdf.api.BlankNode;
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/0475259b/jena/src/main/java/org/apache/commons/rdf/jena/JenaIRI.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaIRI.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaIRI.java
index c001d74..ee58465 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaIRI.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaIRI.java
@@ -1,3 +1,21 @@
+/**
+ * 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.jena;
import org.apache.commons.rdf.api.IRI;
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/0475259b/jena/src/main/java/org/apache/commons/rdf/jena/JenaLiteral.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaLiteral.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaLiteral.java
index a2906ff..7d0757b 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaLiteral.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaLiteral.java
@@ -1,3 +1,21 @@
+/**
+ * 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.jena;
import org.apache.commons.rdf.api.Literal;
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/0475259b/jena/src/main/java/org/apache/commons/rdf/jena/JenaVariable.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaVariable.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaVariable.java
index 55791d4..218272f 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaVariable.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaVariable.java
@@ -1,5 +1,23 @@
+/**
+ * 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.jena;
+
public interface JenaVariable extends JenaRDFTerm {
public String getVariableName();
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/0475259b/jena/src/main/java/org/apache/commons/rdf/jena/impl/AnyImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/AnyImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/AnyImpl.java
index 956851b..a468f43 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/AnyImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/AnyImpl.java
@@ -1,3 +1,21 @@
+/**
+ * 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.jena.impl;
import org.apache.commons.rdf.jena.JenaAny;
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/0475259b/jena/src/main/java/org/apache/commons/rdf/jena/impl/GraphImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/GraphImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/GraphImpl.java
index 29d3a61..1e03b2c 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/GraphImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/GraphImpl.java
@@ -23,7 +23,6 @@ import java.util.UUID;
import java.util.stream.Stream;
import org.apache.commons.rdf.api.BlankNodeOrIRI;
-import org.apache.commons.rdf.api.Graph;
import org.apache.commons.rdf.api.IRI;
import org.apache.commons.rdf.api.RDFTerm;
import org.apache.commons.rdf.api.Triple;
@@ -34,7 +33,7 @@ import org.apache.jena.graph.Node;
import org.apache.jena.riot.Lang;
import org.apache.jena.riot.RDFDataMgr;
-public class GraphImpl implements Graph, JenaGraph {
+public class GraphImpl implements JenaGraph {
private org.apache.jena.graph.Graph graph;
private UUID salt;
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/0475259b/jena/src/main/java/org/apache/commons/rdf/jena/impl/VariableImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/VariableImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/VariableImpl.java
index 13f62e9..130462a 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/VariableImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/VariableImpl.java
@@ -1,3 +1,21 @@
+/**
+ * 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.jena.impl;
import org.apache.commons.rdf.jena.JenaRDFTerm;
[4/9] incubator-commonsrdf git commit: code tidy
Posted by st...@apache.org.
code tidy
Eclipse reformat/organize import/member sort
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/7136d557
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/7136d557
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/7136d557
Branch: refs/heads/jena
Commit: 7136d5579e74d3f7c66d239254a7008957efc23b
Parents: ed89a1b
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Jul 8 09:42:44 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Jul 8 09:42:44 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/jena/ConversionException.java | 28 ++-
.../org/apache/commons/rdf/jena/JenaGraph.java | 6 +-
.../org/apache/commons/rdf/jena/JenaNode.java | 6 +-
.../org/apache/commons/rdf/jena/JenaQuad.java | 4 +-
.../commons/rdf/jena/JenaRDFParserBuilder.java | 8 +-
.../org/apache/commons/rdf/jena/JenaTriple.java | 6 +-
.../commons/rdf/jena/RDFTermFactoryJena.java | 42 ++---
.../commons/rdf/jena/impl/AbstractRDFTerm.java | 43 +++--
.../commons/rdf/jena/impl/BlankNodeImpl.java | 49 ++---
.../apache/commons/rdf/jena/impl/GraphImpl.java | 181 ++++++++++---------
.../apache/commons/rdf/jena/impl/IRIImpl.java | 63 +++----
.../commons/rdf/jena/impl/JenaFactory.java | 64 +++----
.../commons/rdf/jena/impl/LiteralImpl.java | 81 +++++----
.../apache/commons/rdf/jena/impl/QuadImpl.java | 161 +++++++++--------
.../commons/rdf/jena/impl/TripleImpl.java | 122 +++++++------
15 files changed, 442 insertions(+), 422 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/7136d557/jena/src/main/java/org/apache/commons/rdf/jena/ConversionException.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/ConversionException.java b/jena/src/main/java/org/apache/commons/rdf/jena/ConversionException.java
index 44953cd..990086f 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/ConversionException.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/ConversionException.java
@@ -18,20 +18,30 @@
package org.apache.commons.rdf.jena;
-import org.apache.jena.shared.JenaException ;
+import org.apache.jena.shared.JenaException;
/**
* Exception thrown when a problem arises across the Jena-CommonRDF boundary.
* This should not happen in well-formed RDF data but, for example, Jena triples
- * allow
- * <a href="http://www.w3.org/TR/rdf11-concepts/#section-generalized-rdf"
- * >generalized RDF</a>.
+ * allow
+ * <a href="http://www.w3.org/TR/rdf11-concepts/#section-generalized-rdf" >
+ * generalized RDF</a>.
*/
public class ConversionException extends JenaException {
- public ConversionException() { super(); }
- public ConversionException(String message) { super(message); }
- public ConversionException(Throwable cause) { super(cause) ; }
- public ConversionException(String message, Throwable cause) { super(message, cause) ; }
-}
+ public ConversionException() {
+ super();
+ }
+
+ public ConversionException(String message) {
+ super(message);
+ }
+ public ConversionException(Throwable cause) {
+ super(cause);
+ }
+
+ public ConversionException(String message, Throwable cause) {
+ super(message, cause);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/7136d557/jena/src/main/java/org/apache/commons/rdf/jena/JenaGraph.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaGraph.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaGraph.java
index a101da4..7596021 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaGraph.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaGraph.java
@@ -18,9 +18,9 @@
package org.apache.commons.rdf.jena;
-import org.apache.jena.graph.Graph ;
+import org.apache.jena.graph.Graph;
-/** Access the Jena graph backing this object */
+/** Access the Jena graph backing this object */
public interface JenaGraph extends org.apache.commons.rdf.api.Graph {
- public Graph asJenaGraph() ;
+ public Graph asJenaGraph();
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/7136d557/jena/src/main/java/org/apache/commons/rdf/jena/JenaNode.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaNode.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaNode.java
index 0a47d9f..4be7940 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaNode.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaNode.java
@@ -19,9 +19,9 @@
package org.apache.commons.rdf.jena;
import org.apache.commons.rdf.api.RDFTerm;
-import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Node;
-/** Access the Jena node backing this object */
+/** Access the Jena node backing this object */
public interface JenaNode extends RDFTerm {
- public Node asJenaNode() ;
+ public Node asJenaNode();
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/7136d557/jena/src/main/java/org/apache/commons/rdf/jena/JenaQuad.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaQuad.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaQuad.java
index a9c4f05..7fdb658 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaQuad.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaQuad.java
@@ -20,7 +20,7 @@ package org.apache.commons.rdf.jena;
import org.apache.jena.sparql.core.Quad;
-/** Access the Jena quad backing this object */
+/** Access the Jena quad backing this object */
public interface JenaQuad extends org.apache.commons.rdf.api.Quad {
- public Quad asJenaQuad() ;
+ public Quad asJenaQuad();
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/7136d557/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFParserBuilder.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFParserBuilder.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFParserBuilder.java
index 2349f8b..e0eb19d 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFParserBuilder.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFParserBuilder.java
@@ -32,8 +32,7 @@ import org.apache.jena.riot.RDFDataMgr;
import org.apache.jena.riot.system.StreamRDF;
import org.apache.jena.riot.system.StreamRDFLib;
-public class JenaRDFParserBuilder extends AbstractRDFParserBuilder<JenaRDFParserBuilder>
- implements RDFParserBuilder {
+public class JenaRDFParserBuilder extends AbstractRDFParserBuilder<JenaRDFParserBuilder> implements RDFParserBuilder {
protected RDFTermFactory createRDFTermFactory() {
return new RDFTermFactoryJena();
@@ -43,9 +42,9 @@ public class JenaRDFParserBuilder extends AbstractRDFParserBuilder<JenaRDFParser
protected void parseSynchronusly() throws IOException {
StreamRDF dest;
if (getTargetGraph().isPresent() && getTargetGraph().get() instanceof JenaGraph) {
- Graph jenaGraph = ((JenaGraph)getTargetGraph().get()).asJenaGraph();
+ Graph jenaGraph = ((JenaGraph) getTargetGraph().get()).asJenaGraph();
dest = StreamRDFLib.graph(jenaGraph);
- } else {
+ } else {
dest = RDFTermFactoryJena.streamJenaToCommonsRDF(getRdfTermFactory().get(), getTarget());
}
@@ -63,5 +62,4 @@ public class JenaRDFParserBuilder extends AbstractRDFParserBuilder<JenaRDFParser
}
}
-
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/7136d557/jena/src/main/java/org/apache/commons/rdf/jena/JenaTriple.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaTriple.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaTriple.java
index f8e93ed..3735bdd 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaTriple.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaTriple.java
@@ -18,9 +18,9 @@
package org.apache.commons.rdf.jena;
-import org.apache.jena.graph.Triple ;
+import org.apache.jena.graph.Triple;
-/** Access the Jena triple backing this object */
+/** Access the Jena triple backing this object */
public interface JenaTriple extends org.apache.commons.rdf.api.Triple {
- public Triple asJenaTriple() ;
+ public Triple asJenaTriple();
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/7136d557/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java b/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
index 820884c..f1ac450 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
@@ -44,11 +44,10 @@ import org.apache.jena.riot.system.StreamRDFBase;
import org.apache.jena.sparql.graph.GraphFactory;
/**
- * RDFTermFactory with Jena-backed objects.
+ * RDFTermFactory with Jena-backed objects.
* <p>
- * This factory can also convert existing objects from/to Jena
- * with methods like {@link #fromJena(org.apache.jena.graph.Graph)}
- * and {@link #toJena(Graph)}.
+ * This factory can also convert existing objects from/to Jena with methods like
+ * {@link #fromJena(org.apache.jena.graph.Graph)} and {@link #toJena(Graph)}.
*
* @see RDFTermFactory
*/
@@ -56,10 +55,10 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
private UUID salt;
- public RDFTermFactoryJena() {
+ public RDFTermFactoryJena() {
this.salt = UUID.randomUUID();
}
-
+
public RDFTermFactoryJena(UUID salt) {
this.salt = salt;
}
@@ -75,7 +74,7 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
}
@Override
- public Graph createGraph() {
+ public Graph createGraph() {
return JenaFactory.createGraph(salt);
}
@@ -162,9 +161,7 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
public static org.apache.jena.graph.Triple toJena(Triple triple) {
if (triple instanceof JenaTriple)
return ((JenaTriple) triple).asJenaTriple();
- return new org.apache.jena.graph.Triple(
- toJena(triple.getSubject()),
- toJena(triple.getPredicate()),
+ return new org.apache.jena.graph.Triple(toJena(triple.getSubject()), toJena(triple.getPredicate()),
toJena(triple.getObject()));
}
@@ -199,26 +196,28 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
return JenaFactory.fromJena(node, salt);
}
-
/**
* Adapt an existing Jena Triple to CommonsRDF {@link Triple}.
*
- * @param triple Jena triple
+ * @param triple
+ * Jena triple
*/
public Triple fromJena(org.apache.jena.graph.Triple triple) {
return JenaFactory.fromJena(triple, salt);
}
-
+
/**
* Adapt an existing Jena Triple to CommonsRDF {@link Triple}.
*
- * @param triple Jena triple
- * @param salt A {@link UUID} salt for adapting any {@link BlankNode}s
+ * @param triple
+ * Jena triple
+ * @param salt
+ * A {@link UUID} salt for adapting any {@link BlankNode}s
*/
public static Triple fromJena(org.apache.jena.graph.Triple triple, UUID salt) {
return JenaFactory.fromJena(triple, salt);
}
-
+
public Quad fromJena(org.apache.jena.sparql.core.Quad quad) {
return JenaFactory.fromJena(quad, salt);
}
@@ -226,18 +225,17 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
public static Quad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
return JenaFactory.fromJena(quad, salt);
}
-
/**
* Adapt an existring Jena Graph to CommonsRDF {@link Graph}. This does not
* take a copy. Changes to the CommonsRDF Graph are reflected in the jena
* graph.
*/
- public static Graph fromJena(org.apache.jena.graph.Graph graph) {
+ public static Graph fromJena(org.apache.jena.graph.Graph graph) {
// NOTE: This generates a new UUID salt per graph
return JenaFactory.fromJena(graph);
}
-
+
/**
* Convert from Jena {@link Node} to any RDFCommons implementation
*
@@ -249,7 +247,7 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
}
if (factory instanceof RDFTermFactoryJena) {
// No need to convert, just wrap
- return ((RDFTermFactoryJena)factory).fromJena(node);
+ return ((RDFTermFactoryJena) factory).fromJena(node);
}
if (node.isURI())
return factory.createIRI(node.getURI());
@@ -274,7 +272,7 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
public static Triple fromJena(RDFTermFactory factory, org.apache.jena.graph.Triple triple) {
if (factory instanceof RDFTermFactoryJena) {
// No need to convert, just wrap
- return ((RDFTermFactoryJena)factory).fromJena(triple);
+ return ((RDFTermFactoryJena) factory).fromJena(triple);
}
BlankNodeOrIRI subject = (BlankNodeOrIRI) (fromJena(factory, triple.getSubject()));
IRI predicate = (IRI) (fromJena(factory, triple.getPredicate()));
@@ -316,7 +314,7 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
public static Quad fromJena(RDFTermFactory factory, org.apache.jena.sparql.core.Quad quad) {
if (factory instanceof RDFTermFactoryJena) {
// No need to convert, just wrap
- return ((RDFTermFactoryJena)factory).fromJena(quad);
+ return ((RDFTermFactoryJena) factory).fromJena(quad);
}
BlankNodeOrIRI graphName = (BlankNodeOrIRI) (fromJena(factory, quad.getGraph()));
BlankNodeOrIRI subject = (BlankNodeOrIRI) (fromJena(factory, quad.getSubject()));
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/7136d557/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractRDFTerm.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractRDFTerm.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractRDFTerm.java
index 1aaa476..e7bc125 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractRDFTerm.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractRDFTerm.java
@@ -20,29 +20,28 @@ package org.apache.commons.rdf.jena.impl;
import org.apache.commons.rdf.api.RDFTerm;
import org.apache.commons.rdf.jena.JenaNode;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.riot.out.NodeFmtLib ;
+import org.apache.jena.graph.Node;
+import org.apache.jena.riot.out.NodeFmtLib;
class AbstractRDFTerm implements JenaNode, RDFTerm {
- private Node node;
- //static private PrefixMapping empty = new PrefixMappingImpl() ;
-
- protected AbstractRDFTerm(Node node) {
- this.node = node ;
- }
-
- @Override
- public Node asJenaNode() {
- return node ;
- }
+ private Node node;
+ // static private PrefixMapping empty = new PrefixMappingImpl() ;
- public String ntriplesString() {
- return NodeFmtLib.str(node) ;
- }
-
- @Override
- public String toString() {
- return ntriplesString() ;
- }
-}
+ protected AbstractRDFTerm(Node node) {
+ this.node = node;
+ }
+
+ @Override
+ public Node asJenaNode() {
+ return node;
+ }
+ public String ntriplesString() {
+ return NodeFmtLib.str(node);
+ }
+
+ @Override
+ public String toString() {
+ return ntriplesString();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/7136d557/jena/src/main/java/org/apache/commons/rdf/jena/impl/BlankNodeImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/BlankNodeImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/BlankNodeImpl.java
index 9a41c71..fc7d1c3 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/BlankNodeImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/BlankNodeImpl.java
@@ -20,38 +20,39 @@ package org.apache.commons.rdf.jena.impl;
import java.util.UUID;
-import org.apache.commons.rdf.api.BlankNode ;
+import org.apache.commons.rdf.api.BlankNode;
import org.apache.commons.rdf.jena.JenaNode;
-import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Node;
public class BlankNodeImpl extends AbstractRDFTerm implements BlankNode, JenaNode {
- private UUID salt;
+ private UUID salt;
/* package */ BlankNodeImpl(Node node, UUID salt) {
super(node);
this.salt = salt;
}
- @Override
- public String uniqueReference() {
- return salt + asJenaNode().getBlankNodeLabel() ;
- }
-
- @Override
- public int hashCode() {
- return uniqueReference().hashCode() ;
- }
-
- @Override
- public boolean equals(Object other) {
- if ( other == this ) return true ;
- if ( other == null ) return false ;
- if ( ! ( other instanceof BlankNode ) ) return false ;
- BlankNode bNode = (BlankNode)other ;
- return uniqueReference().equals(bNode.uniqueReference()) ;
- }
-
-
-}
+ @Override
+ public boolean equals(Object other) {
+ if (other == this)
+ return true;
+ if (other == null)
+ return false;
+ if (!(other instanceof BlankNode))
+ return false;
+ BlankNode bNode = (BlankNode) other;
+ return uniqueReference().equals(bNode.uniqueReference());
+ }
+
+ @Override
+ public int hashCode() {
+ return uniqueReference().hashCode();
+ }
+ @Override
+ public String uniqueReference() {
+ return salt + asJenaNode().getBlankNodeLabel();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/7136d557/jena/src/main/java/org/apache/commons/rdf/jena/impl/GraphImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/GraphImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/GraphImpl.java
index ed16b4c..29d3a61 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/GraphImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/GraphImpl.java
@@ -18,106 +18,115 @@
package org.apache.commons.rdf.jena.impl;
-import java.io.StringWriter ;
+import java.io.StringWriter;
import java.util.UUID;
-import java.util.stream.Stream ;
+import java.util.stream.Stream;
import org.apache.commons.rdf.api.BlankNodeOrIRI;
import org.apache.commons.rdf.api.Graph;
import org.apache.commons.rdf.api.IRI;
import org.apache.commons.rdf.api.RDFTerm;
import org.apache.commons.rdf.api.Triple;
-import org.apache.commons.rdf.jena.RDFTermFactoryJena;
import org.apache.commons.rdf.jena.JenaGraph;
import org.apache.commons.rdf.jena.RDFTermFactoryJena;
-import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.riot.Lang ;
-import org.apache.jena.riot.RDFDataMgr ;
+import org.apache.jena.atlas.iterator.Iter;
+import org.apache.jena.graph.Node;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFDataMgr;
public class GraphImpl implements Graph, JenaGraph {
- private org.apache.jena.graph.Graph graph;
+ private org.apache.jena.graph.Graph graph;
private UUID salt;
- /*package*/ GraphImpl(org.apache.jena.graph.Graph graph, UUID salt) {
- this.graph = graph ;
+ /* package */ GraphImpl(org.apache.jena.graph.Graph graph, UUID salt) {
+ this.graph = graph;
this.salt = salt;
- }
-
- @Override
- public org.apache.jena.graph.Graph asJenaGraph() {
- return graph ;
- }
-
- @Override
- public void add(Triple triple) { graph.add(RDFTermFactoryJena.toJena(triple)); }
-
- @Override
- public void add(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
- graph.add(org.apache.jena.graph.Triple.create(RDFTermFactoryJena.toJena(subject),
- RDFTermFactoryJena.toJena(predicate),
- RDFTermFactoryJena.toJena(object)));
- }
-
- @Override
- public boolean contains(Triple triple) {
- return graph.contains(RDFTermFactoryJena.toJena(triple)) ;
- }
-
- @Override
- public boolean contains(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
- return graph.contains(RDFTermFactoryJena.toJena(subject),
- RDFTermFactoryJena.toJena(predicate),
- RDFTermFactoryJena.toJena(object) );
- }
-
- @Override
- public void remove(Triple triple) { graph.delete(RDFTermFactoryJena.toJena(triple)); }
-
- @Override
- public void remove(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
- graph.delete(org.apache.jena.graph.Triple.create(RDFTermFactoryJena.toJena(subject),
- RDFTermFactoryJena.toJena(predicate),
- RDFTermFactoryJena.toJena(object)));
- }
-
- @Override
- public void clear() { graph.clear(); }
-
- @Override
- public long size() {
- return graph.size() ;
- }
-
- @Override
- public Stream<? extends Triple> stream() {
- RDFTermFactoryJena factory = new RDFTermFactoryJena(salt);
- return Iter.asStream(graph.find(null, null, null), true).map(factory::fromJena);
- }
-
- @Override
- public Stream<? extends Triple> stream(BlankNodeOrIRI s, IRI p, RDFTerm o) {
- RDFTermFactoryJena factory = new RDFTermFactoryJena(salt);
- return Iter.asStream(graph.find(toJenaAny(s),toJenaAny(p),toJenaAny(o)), true).
- map(factory::fromJena);
- }
-
- private Node toJenaAny(RDFTerm term) {
- if ( term == null )
- return Node.ANY ;
- return RDFTermFactoryJena.toJena(term) ;
- }
-
- @Override
- public void close() { graph.close(); }
-
- @Override
- public String toString() {
- StringWriter sw = new StringWriter() ;
- RDFDataMgr.write(sw, graph, Lang.NT) ;
- return sw.toString() ;
- }
+ }
+
+ @Override
+ public void add(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ graph.add(org.apache.jena.graph.Triple.create(
+ RDFTermFactoryJena.toJena(subject),
+ RDFTermFactoryJena.toJena(predicate),
+ RDFTermFactoryJena.toJena(object)));
+ }
+
+ @Override
+ public void add(Triple triple) {
+ graph.add(RDFTermFactoryJena.toJena(triple));
+ }
+
+ @Override
+ public org.apache.jena.graph.Graph asJenaGraph() {
+ return graph;
+ }
+
+ @Override
+ public void clear() {
+ graph.clear();
+ }
+
+ @Override
+ public void close() {
+ graph.close();
+ }
+
+ @Override
+ public boolean contains(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ return graph.contains(
+ RDFTermFactoryJena.toJena(subject),
+ RDFTermFactoryJena.toJena(predicate),
+ RDFTermFactoryJena.toJena(object));
+ }
+
+ @Override
+ public boolean contains(Triple triple) {
+ return graph.contains(RDFTermFactoryJena.toJena(triple));
+ }
+
+ @Override
+ public void remove(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ graph.delete(org.apache.jena.graph.Triple.create(
+ RDFTermFactoryJena.toJena(subject),
+ RDFTermFactoryJena.toJena(predicate),
+ RDFTermFactoryJena.toJena(object)));
+ }
+
+ @Override
+ public void remove(Triple triple) {
+ graph.delete(RDFTermFactoryJena.toJena(triple));
+ }
+
+ @Override
+ public long size() {
+ return graph.size();
+ }
+
+ @Override
+ public Stream<? extends Triple> stream() {
+ RDFTermFactoryJena factory = new RDFTermFactoryJena(salt);
+ return Iter.asStream(graph.find(null, null, null), true).map(factory::fromJena);
+ }
+
+ @Override
+ public Stream<? extends Triple> stream(BlankNodeOrIRI s, IRI p, RDFTerm o) {
+ RDFTermFactoryJena factory = new RDFTermFactoryJena(salt);
+ return Iter.asStream(graph.find(toJenaAny(s), toJenaAny(p), toJenaAny(o)), true)
+ .map(factory::fromJena);
+ }
+
+ private Node toJenaAny(RDFTerm term) {
+ if (term == null)
+ return Node.ANY;
+ return RDFTermFactoryJena.toJena(term);
+ }
+
+ @Override
+ public String toString() {
+ StringWriter sw = new StringWriter();
+ RDFDataMgr.write(sw, graph, Lang.NT);
+ return sw.toString();
+ }
}
-
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/7136d557/jena/src/main/java/org/apache/commons/rdf/jena/impl/IRIImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/IRIImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/IRIImpl.java
index 0716e8d..d5373b7 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/IRIImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/IRIImpl.java
@@ -18,39 +18,40 @@
package org.apache.commons.rdf.jena.impl;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-
-import org.apache.commons.rdf.api.* ;
+import org.apache.commons.rdf.api.IRI;
import org.apache.commons.rdf.jena.JenaNode;
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.NodeFactory;
public class IRIImpl extends AbstractRDFTerm implements IRI, JenaNode {
- /*package*/ IRIImpl(String iriStr) {
- super(NodeFactory.createURI(iriStr)) ;
- }
-
- /*package*/ IRIImpl(Node node) {
- super(node) ;
- }
-
- @Override
- public String getIRIString() {
- return asJenaNode().getURI() ;
- }
-
- @Override
- public int hashCode() {
- return getIRIString().hashCode() ;
- }
-
- @Override
- public boolean equals(Object other) {
- if ( other == this ) return true ;
- if ( other == null ) return false ;
- if ( ! ( other instanceof IRI ) ) return false ;
- IRI iri = (IRI)other ;
- return getIRIString().equals(iri.getIRIString()) ;
- }
-}
+ /* package */ IRIImpl(Node node) {
+ super(node);
+ }
+
+ /* package */ IRIImpl(String iriStr) {
+ super(NodeFactory.createURI(iriStr));
+ }
+ @Override
+ public boolean equals(Object other) {
+ if (other == this)
+ return true;
+ if (other == null)
+ return false;
+ if (!(other instanceof IRI))
+ return false;
+ IRI iri = (IRI) other;
+ return getIRIString().equals(iri.getIRIString());
+ }
+
+ @Override
+ public String getIRIString() {
+ return asJenaNode().getURI();
+ }
+
+ @Override
+ public int hashCode() {
+ return getIRIString().hashCode();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/7136d557/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
index a856d07..c67bb7c 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
@@ -35,6 +35,26 @@ import org.apache.jena.graph.NodeFactory;
import org.apache.jena.sparql.graph.GraphFactory;
public class JenaFactory {
+ public static BlankNode createBlankNode() {
+ return new BlankNodeImpl(NodeFactory.createBlankNode(), UUID.randomUUID());
+ }
+
+ public static BlankNode createBlankNode(String id, UUID salt) {
+ return new BlankNodeImpl(NodeFactory.createBlankNode(id), salt);
+ }
+
+ public static BlankNode createBlankNode(UUID salt) {
+ return new BlankNodeImpl(NodeFactory.createBlankNode(), salt);
+ }
+
+ public static Graph createGraph() {
+ return createGraph(UUID.randomUUID());
+ }
+
+ public static Graph createGraph(UUID salt) {
+ return new GraphImpl(GraphFactory.createDefaultGraph(), salt);
+ }
+
// basic components to commonsrdf backed by Jena.
public static IRI createIRI(String iriStr) {
return new IRIImpl(iriStr);
@@ -52,38 +72,10 @@ public class JenaFactory {
return new LiteralImpl(NodeFactory.createLiteral(lexStr, langTag));
}
- public static BlankNode createBlankNode() {
- return new BlankNodeImpl(NodeFactory.createBlankNode(), UUID.randomUUID());
- }
-
- public static BlankNode createBlankNode(UUID salt) {
- return new BlankNodeImpl(NodeFactory.createBlankNode(), salt);
- }
-
- public static BlankNode createBlankNode(String id, UUID salt) {
- return new BlankNodeImpl(NodeFactory.createBlankNode(id), salt);
- }
-
- public static Graph createGraph() {
- return createGraph(UUID.randomUUID());
- }
-
public static Triple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
return new TripleImpl(subject, predicate, object);
}
- public static Triple fromJena(org.apache.jena.graph.Triple triple, UUID salt) {
- return new TripleImpl(triple, salt);
- }
-
- public static Graph fromJena(org.apache.jena.graph.Graph graph) {
- return new GraphImpl(graph, UUID.randomUUID());
- }
-
- public static Graph fromJena(org.apache.jena.graph.Graph graph, UUID salt) {
- return new GraphImpl(graph, salt);
- }
-
public static RDFTerm fromJena(Node node, UUID salt) {
if (node.isURI())
return new IRIImpl(node);
@@ -102,11 +94,19 @@ public class JenaFactory {
return null;
}
- public static Quad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
- return new QuadImpl(quad, salt);
+ public static Graph fromJena(org.apache.jena.graph.Graph graph) {
+ return new GraphImpl(graph, UUID.randomUUID());
}
- public static Graph createGraph(UUID salt) {
- return new GraphImpl(GraphFactory.createDefaultGraph(), salt);
+ public static Graph fromJena(org.apache.jena.graph.Graph graph, UUID salt) {
+ return new GraphImpl(graph, salt);
+ }
+
+ public static Triple fromJena(org.apache.jena.graph.Triple triple, UUID salt) {
+ return new TripleImpl(triple, salt);
+ }
+
+ public static Quad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
+ return new QuadImpl(quad, salt);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/7136d557/jena/src/main/java/org/apache/commons/rdf/jena/impl/LiteralImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/LiteralImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/LiteralImpl.java
index 345532d..efcf099 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/LiteralImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/LiteralImpl.java
@@ -18,51 +18,52 @@
package org.apache.commons.rdf.jena.impl;
-import java.util.Objects ;
-import java.util.Optional ;
+import java.util.Objects;
+import java.util.Optional;
-import org.apache.commons.rdf.api.IRI ;
-import org.apache.commons.rdf.api.Literal ;
-import org.apache.jena.graph.Node ;
+import org.apache.commons.rdf.api.IRI;
+import org.apache.commons.rdf.api.Literal;
+import org.apache.jena.graph.Node;
public class LiteralImpl extends AbstractRDFTerm implements Literal {
- /* package */ LiteralImpl(Node node) {
- super(node) ;
- }
+ /* package */ LiteralImpl(Node node) {
+ super(node);
+ }
- @Override
- public String getLexicalForm() {
- return asJenaNode().getLiteralLexicalForm() ;
- }
+ @Override
+ public boolean equals(Object other) {
+ if (other == this)
+ return true;
+ if (other == null)
+ return false;
+ if (!(other instanceof Literal))
+ return false;
+ Literal literal = (Literal) other;
+ return getLexicalForm().equals(literal.getLexicalForm()) && getLanguageTag().equals(literal.getLanguageTag())
+ && getDatatype().equals(literal.getDatatype());
+ }
- @Override
- public IRI getDatatype() {
- return JenaFactory.createIRI(asJenaNode().getLiteralDatatype().getURI()) ;
- }
+ @Override
+ public IRI getDatatype() {
+ return JenaFactory.createIRI(asJenaNode().getLiteralDatatype().getURI());
+ }
- @Override
- public Optional<String> getLanguageTag() {
- String x = asJenaNode().getLiteralLanguage() ;
- if ( x == null || x.isEmpty() )
- return Optional.empty() ;
- return Optional.of(x) ;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(getLexicalForm(), getDatatype(), getLanguageTag()) ;
- }
-
- @Override
- public boolean equals(Object other) {
- if ( other == this ) return true ;
- if ( other == null ) return false ;
- if ( ! ( other instanceof Literal ) ) return false ;
- Literal literal = (Literal)other ;
- return getLexicalForm().equals(literal.getLexicalForm()) &&
- getLanguageTag().equals(literal.getLanguageTag()) &&
- getDatatype().equals(literal.getDatatype()) ;
- }
-}
+ @Override
+ public Optional<String> getLanguageTag() {
+ String x = asJenaNode().getLiteralLanguage();
+ if (x == null || x.isEmpty())
+ return Optional.empty();
+ return Optional.of(x);
+ }
+
+ @Override
+ public String getLexicalForm() {
+ return asJenaNode().getLiteralLexicalForm();
+ }
+ @Override
+ public int hashCode() {
+ return Objects.hash(getLexicalForm(), getDatatype(), getLanguageTag());
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/7136d557/jena/src/main/java/org/apache/commons/rdf/jena/impl/QuadImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/QuadImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/QuadImpl.java
index 4a347b3..31c96b2 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/QuadImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/QuadImpl.java
@@ -27,93 +27,94 @@ import org.apache.commons.rdf.api.IRI;
import org.apache.commons.rdf.api.Quad;
import org.apache.commons.rdf.api.RDFTerm;
import org.apache.commons.rdf.api.Triple;
-import org.apache.commons.rdf.jena.RDFTermFactoryJena;
import org.apache.commons.rdf.jena.JenaQuad;
+import org.apache.commons.rdf.jena.RDFTermFactoryJena;
public class QuadImpl implements Quad, JenaQuad {
- private final Optional<BlankNodeOrIRI> graphName;
- private final BlankNodeOrIRI subject ;
- private final IRI predicate ;
- private final RDFTerm object ;
- private org.apache.jena.sparql.core.Quad quad = null ;
-
- /* package */ QuadImpl(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
- this.graphName = Objects.requireNonNull(graphName);
- this.subject = Objects.requireNonNull(subject) ;
- this.predicate = Objects.requireNonNull(predicate) ;
- this.object = Objects.requireNonNull(object) ;
- }
-
- /* package */ QuadImpl(org.apache.jena.sparql.core.Quad quad, UUID salt) {
- this.quad = Objects.requireNonNull(quad) ;
- this.graphName = Optional.of((BlankNodeOrIRI)JenaFactory.fromJena(quad.getGraph(), salt)) ;
- this.subject = (BlankNodeOrIRI)JenaFactory.fromJena(quad.getSubject(), salt) ;
- this.predicate = (IRI)JenaFactory.fromJena(quad.getPredicate(), salt) ;
- this.object = JenaFactory.fromJena(quad.getObject(), salt) ;
- }
-
- @Override
- public org.apache.jena.sparql.core.Quad asJenaQuad() {
- if ( quad == null ) {
- quad = org.apache.jena.sparql.core.Quad.create(
- RDFTermFactoryJena.toJena(graphName.orElse(null)),
- RDFTermFactoryJena.toJena(subject),
- RDFTermFactoryJena.toJena(predicate),
- RDFTermFactoryJena.toJena(object)) ;
- }
- return quad ;
- }
-
- @Override
- public BlankNodeOrIRI getSubject() {
- return subject ;
- }
-
- @Override
- public IRI getPredicate() {
- return predicate ;
- }
-
- @Override
- public RDFTerm getObject() {
- return object ;
- }
-
- @Override
+ private final Optional<BlankNodeOrIRI> graphName;
+ private final RDFTerm object;
+ private final IRI predicate;
+ private org.apache.jena.sparql.core.Quad quad = null;
+ private final BlankNodeOrIRI subject;
+
+ /* package */ QuadImpl(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ this.graphName = Objects.requireNonNull(graphName);
+ this.subject = Objects.requireNonNull(subject);
+ this.predicate = Objects.requireNonNull(predicate);
+ this.object = Objects.requireNonNull(object);
+ }
+
+ /* package */ QuadImpl(org.apache.jena.sparql.core.Quad quad, UUID salt) {
+ this.quad = Objects.requireNonNull(quad);
+ this.graphName = Optional.of((BlankNodeOrIRI) JenaFactory.fromJena(quad.getGraph(), salt));
+ this.subject = (BlankNodeOrIRI) JenaFactory.fromJena(quad.getSubject(), salt);
+ this.predicate = (IRI) JenaFactory.fromJena(quad.getPredicate(), salt);
+ this.object = JenaFactory.fromJena(quad.getObject(), salt);
+ }
+
+ @Override
+ public org.apache.jena.sparql.core.Quad asJenaQuad() {
+ if (quad == null) {
+ quad = org.apache.jena.sparql.core.Quad.create(
+ RDFTermFactoryJena.toJena(graphName.orElse(null)),
+ RDFTermFactoryJena.toJena(subject),
+ RDFTermFactoryJena.toJena(predicate),
+ RDFTermFactoryJena.toJena(object));
+ }
+ return quad;
+ }
+
+ @Override
+ public Triple asTriple() {
+ return new TripleImpl(getSubject(), getPredicate(), getObject());
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == this)
+ return true;
+ if (other == null)
+ return false;
+ if (!(other instanceof Quad))
+ return false;
+ Quad quad = (Quad) other;
+ return getGraphName().equals(quad.getGraphName()) && getSubject().equals(quad.getSubject())
+ && getPredicate().equals(quad.getPredicate()) && getObject().equals(quad.getObject());
+ }
+
+ @Override
public Optional<BlankNodeOrIRI> getGraphName() {
return graphName;
}
-
- @Override
- public int hashCode() {
- return Objects.hash(getSubject(), getPredicate(), getObject(), getGraphName()) ;
- }
-
- @Override
- public boolean equals(Object other) {
- if ( other == this ) return true ;
- if ( other == null ) return false ;
- if ( ! ( other instanceof Quad ) ) return false ;
- Quad quad = (Quad)other ;
- return getGraphName().equals(quad.getGraphName()) &&
- getSubject().equals(quad.getSubject()) &&
- getPredicate().equals(quad.getPredicate()) &&
- getObject().equals(quad.getObject()) ;
- }
-
- @Override
- public String toString() {
- // kind of nquad syntax
+
+ @Override
+ public RDFTerm getObject() {
+ return object;
+ }
+
+ @Override
+ public IRI getPredicate() {
+ return predicate;
+ }
+
+ @Override
+ public BlankNodeOrIRI getSubject() {
+ return subject;
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(getSubject(), getPredicate(), getObject(), getGraphName());
+ }
+
+ @Override
+ public String toString() {
+ // kind of nquad syntax
return getSubject().ntriplesString() + " " +
- getPredicate().ntriplesString() + " " +
- getObject().ntriplesString() + " " +
- getGraphName().map(RDFTerm::ntriplesString).orElse("") + ".";
- }
-
- @Override
- public Triple asTriple() {
- return new TripleImpl(getSubject(), getPredicate(), getObject());
- }
+ getPredicate().ntriplesString() + " "
+ + getObject().ntriplesString() + " " +
+ getGraphName().map(RDFTerm::ntriplesString).orElse("") + ".";
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/7136d557/jena/src/main/java/org/apache/commons/rdf/jena/impl/TripleImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/TripleImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/TripleImpl.java
index a778a8e..3a0f15b 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/TripleImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/TripleImpl.java
@@ -18,76 +18,78 @@
package org.apache.commons.rdf.jena.impl;
-import java.util.Objects ;
+import java.util.Objects;
import java.util.UUID;
-import org.apache.commons.rdf.api.* ;
-import org.apache.commons.rdf.jena.RDFTermFactoryJena;
+import org.apache.commons.rdf.api.BlankNodeOrIRI;
+import org.apache.commons.rdf.api.IRI;
+import org.apache.commons.rdf.api.RDFTerm;
+import org.apache.commons.rdf.api.Triple;
import org.apache.commons.rdf.jena.JenaTriple;
+import org.apache.commons.rdf.jena.RDFTermFactoryJena;
public class TripleImpl implements Triple, JenaTriple {
- private final BlankNodeOrIRI subject ;
- private final IRI predicate ;
- private final RDFTerm object ;
- private org.apache.jena.graph.Triple triple = null ;
+ private final RDFTerm object;
+ private final IRI predicate;
+ private final BlankNodeOrIRI subject;
+ private org.apache.jena.graph.Triple triple = null;
- /* package */ TripleImpl(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
- this.subject = subject ;
- this.predicate = predicate ;
- this.object = object ;
- }
-
- /* package */ TripleImpl(org.apache.jena.graph.Triple triple, UUID salt) {
- this.subject = (BlankNodeOrIRI)JenaFactory.fromJena(triple.getSubject(), salt) ;
- this.predicate = (IRI)JenaFactory.fromJena(triple.getPredicate(), salt) ;
- this.object = JenaFactory.fromJena(triple.getObject(), salt) ;
- this.triple = triple ;
- }
+ /* package */ TripleImpl(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ this.subject = subject;
+ this.predicate = predicate;
+ this.object = object;
+ }
- @Override
- public org.apache.jena.graph.Triple asJenaTriple() {
- if ( triple == null )
- triple = org.apache.jena.graph.Triple.create(
- RDFTermFactoryJena.toJena(subject),
- RDFTermFactoryJena.toJena(predicate),
- RDFTermFactoryJena.toJena(object)) ;
- return triple ;
- }
+ /* package */ TripleImpl(org.apache.jena.graph.Triple triple, UUID salt) {
+ this.subject = (BlankNodeOrIRI) JenaFactory.fromJena(triple.getSubject(), salt);
+ this.predicate = (IRI) JenaFactory.fromJena(triple.getPredicate(), salt);
+ this.object = JenaFactory.fromJena(triple.getObject(), salt);
+ this.triple = triple;
+ }
- @Override
- public BlankNodeOrIRI getSubject() {
- return subject ;
- }
+ @Override
+ public org.apache.jena.graph.Triple asJenaTriple() {
+ if (triple == null)
+ triple = org.apache.jena.graph.Triple.create(RDFTermFactoryJena.toJena(subject),
+ RDFTermFactoryJena.toJena(predicate), RDFTermFactoryJena.toJena(object));
+ return triple;
+ }
- @Override
- public IRI getPredicate() {
- return predicate ;
- }
+ @Override
+ public boolean equals(Object other) {
+ if (other == this)
+ return true;
+ if (other == null)
+ return false;
+ if (!(other instanceof Triple))
+ return false;
+ Triple triple = (Triple) other;
+ return getSubject().equals(triple.getSubject()) && getPredicate().equals(triple.getPredicate())
+ && getObject().equals(triple.getObject());
+ }
- @Override
- public RDFTerm getObject() {
- return object ;
- }
+ @Override
+ public RDFTerm getObject() {
+ return object;
+ }
- @Override
- public int hashCode() {
- return Objects.hash(getSubject(), getPredicate(), getObject()) ;
- }
+ @Override
+ public IRI getPredicate() {
+ return predicate;
+ }
- @Override
- public boolean equals(Object other) {
- if ( other == this ) return true ;
- if ( other == null ) return false ;
- if ( ! ( other instanceof Triple ) ) return false ;
- Triple triple = (Triple)other ;
- return getSubject().equals(triple.getSubject()) &&
- getPredicate().equals(triple.getPredicate()) &&
- getObject().equals(triple.getObject()) ;
- }
-
- @Override
- public String toString() {
- return getSubject()+" "+getPredicate()+" "+getObject()+" ." ;
- }
-}
+ @Override
+ public BlankNodeOrIRI getSubject() {
+ return subject;
+ }
+ @Override
+ public int hashCode() {
+ return Objects.hash(getSubject(), getPredicate(), getObject());
+ }
+
+ @Override
+ public String toString() {
+ return getSubject() + " " + getPredicate() + " " + getObject() + " .";
+ }
+}
[3/9] incubator-commonsrdf git commit: non-static fromJena methods
Posted by st...@apache.org.
non-static fromJena methods
which uses the factory's salt
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/ed89a1b9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/ed89a1b9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/ed89a1b9
Branch: refs/heads/jena
Commit: ed89a1b9659dc62af77bc84565d2043cc30b6c2e
Parents: 3547988
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Jul 8 09:39:55 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Jul 8 09:39:55 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/jena/RDFTermFactoryJena.java | 48 ++++++++++++++++----
.../apache/commons/rdf/jena/impl/GraphImpl.java | 5 +-
.../commons/rdf/jena/impl/JenaFactory.java | 4 ++
3 files changed, 45 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/ed89a1b9/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java b/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
index 12b0904..820884c 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
@@ -22,7 +22,16 @@ import java.util.Optional;
import java.util.UUID;
import java.util.function.Consumer;
-import org.apache.commons.rdf.api.*;
+import org.apache.commons.rdf.api.BlankNode;
+import org.apache.commons.rdf.api.BlankNodeOrIRI;
+import org.apache.commons.rdf.api.Graph;
+import org.apache.commons.rdf.api.IRI;
+import org.apache.commons.rdf.api.Literal;
+import org.apache.commons.rdf.api.Quad;
+import org.apache.commons.rdf.api.RDFSyntax;
+import org.apache.commons.rdf.api.RDFTerm;
+import org.apache.commons.rdf.api.RDFTermFactory;
+import org.apache.commons.rdf.api.Triple;
import org.apache.commons.rdf.jena.impl.JenaFactory;
import org.apache.jena.datatypes.RDFDatatype;
import org.apache.jena.datatypes.xsd.XSDDatatype;
@@ -45,7 +54,15 @@ import org.apache.jena.sparql.graph.GraphFactory;
*/
public final class RDFTermFactoryJena implements RDFTermFactory {
- private UUID salt = UUID.randomUUID();
+ private UUID salt;
+
+ public RDFTermFactoryJena() {
+ this.salt = UUID.randomUUID();
+ }
+
+ public RDFTermFactoryJena(UUID salt) {
+ this.salt = salt;
+ }
@Override
public BlankNode createBlankNode() {
@@ -186,7 +203,7 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
/**
* Adapt an existing Jena Triple to CommonsRDF {@link Triple}.
*
- * @param salt
+ * @param triple Jena triple
*/
public Triple fromJena(org.apache.jena.graph.Triple triple) {
return JenaFactory.fromJena(triple, salt);
@@ -195,19 +212,30 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
/**
* Adapt an existing Jena Triple to CommonsRDF {@link Triple}.
*
- * @param salt
+ * @param triple Jena triple
+ * @param salt A {@link UUID} salt for adapting any {@link BlankNode}s
*/
public static Triple fromJena(org.apache.jena.graph.Triple triple, UUID salt) {
return JenaFactory.fromJena(triple, salt);
}
+
+ public Quad fromJena(org.apache.jena.sparql.core.Quad quad) {
+ return JenaFactory.fromJena(quad, salt);
+ }
+
+ public static Quad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
+ return JenaFactory.fromJena(quad, salt);
+ }
+
/**
* Adapt an existring Jena Graph to CommonsRDF {@link Graph}. This does not
* take a copy. Changes to the CommonsRDF Graph are reflected in the jena
* graph.
*/
- public static Graph fromJena(org.apache.jena.graph.Graph graph) {
- return fromJena(new RDFTermFactoryJena(), graph);
+ public static Graph fromJena(org.apache.jena.graph.Graph graph) {
+ // NOTE: This generates a new UUID salt per graph
+ return JenaFactory.fromJena(graph);
}
/**
@@ -215,13 +243,13 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
*
* @param salt
*/
- public static RDFTerm fromJena(RDFTermFactory factory, Node node, UUID salt) {
+ public static RDFTerm fromJena(RDFTermFactory factory, Node node) {
if (node == null) {
return null;
}
if (factory instanceof RDFTermFactoryJena) {
- // No need to convert, just wrap (we'll use the parameter-provided salt)
- return fromJena(node, salt);
+ // No need to convert, just wrap
+ return ((RDFTermFactoryJena)factory).fromJena(node);
}
if (node.isURI())
return factory.createIRI(node.getURI());
@@ -288,7 +316,7 @@ public final class RDFTermFactoryJena implements RDFTermFactory {
public static Quad fromJena(RDFTermFactory factory, org.apache.jena.sparql.core.Quad quad) {
if (factory instanceof RDFTermFactoryJena) {
// No need to convert, just wrap
- return fromJena(quad);
+ return ((RDFTermFactoryJena)factory).fromJena(quad);
}
BlankNodeOrIRI graphName = (BlankNodeOrIRI) (fromJena(factory, quad.getGraph()));
BlankNodeOrIRI subject = (BlankNodeOrIRI) (fromJena(factory, quad.getSubject()));
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/ed89a1b9/jena/src/main/java/org/apache/commons/rdf/jena/impl/GraphImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/GraphImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/GraphImpl.java
index f1243f1..ed16b4c 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/GraphImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/GraphImpl.java
@@ -92,12 +92,13 @@ public class GraphImpl implements Graph, JenaGraph {
@Override
public Stream<? extends Triple> stream() {
- return Iter.asStream(graph.find(null, null, null), true).map(RDFTermFactoryJena::fromJena);
+ RDFTermFactoryJena factory = new RDFTermFactoryJena(salt);
+ return Iter.asStream(graph.find(null, null, null), true).map(factory::fromJena);
}
@Override
public Stream<? extends Triple> stream(BlankNodeOrIRI s, IRI p, RDFTerm o) {
- RDFTermFactoryJena factory = new RDFTermFactoryJena();
+ RDFTermFactoryJena factory = new RDFTermFactoryJena(salt);
return Iter.asStream(graph.find(toJenaAny(s),toJenaAny(p),toJenaAny(o)), true).
map(factory::fromJena);
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/ed89a1b9/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
index b94e3bd..a856d07 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
@@ -80,6 +80,10 @@ public class JenaFactory {
return new GraphImpl(graph, UUID.randomUUID());
}
+ public static Graph fromJena(org.apache.jena.graph.Graph graph, UUID salt) {
+ return new GraphImpl(graph, salt);
+ }
+
public static RDFTerm fromJena(Node node, UUID salt) {
if (node.isURI())
return new IRIImpl(node);
[9/9] incubator-commonsrdf git commit: javadoc improvements
Posted by st...@apache.org.
javadoc improvements
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/0f349723
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/0f349723
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/0f349723
Branch: refs/heads/jena
Commit: 0f349723de52c5a9cbc78f70edd41f40c355631b
Parents: 0475259
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Jul 8 12:53:32 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Jul 8 12:53:32 2016 +0100
----------------------------------------------------------------------
.../java/org/apache/commons/rdf/jena/JenaAny.java | 16 ++++++++++++++++
.../org/apache/commons/rdf/jena/JenaBlankNode.java | 6 ++++++
.../java/org/apache/commons/rdf/jena/JenaIRI.java | 6 ++++++
.../org/apache/commons/rdf/jena/JenaLiteral.java | 6 ++++++
.../org/apache/commons/rdf/jena/JenaVariable.java | 15 +++++++++++++++
.../org/apache/commons/rdf/jena/impl/AnyImpl.java | 5 +++++
.../apache/commons/rdf/jena/impl/VariableImpl.java | 13 +++++++++++++
7 files changed, 67 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/0f349723/jena/src/main/java/org/apache/commons/rdf/jena/JenaAny.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaAny.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaAny.java
index b6c32fd..5b6f398 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaAny.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaAny.java
@@ -18,6 +18,22 @@
package org.apache.commons.rdf.jena;
+import org.apache.jena.graph.Node;
+
+/**
+ * A placeholder for "any" RDFTerm.
+ * <p>
+ * Equivalent to <code>[]</code> in SPARQL. This is a Jena-specific
+ * RDFTerm extension used in SPARQL queries.
+ * <p>
+ * Note that any JenaAny is {@link Object#equals(Object)} equal to
+ * any other JenaAny - in practice there is only a singleton instance -
+ * but every ocurrance of JenaAny in a generalized statement
+ * would independently represent "any" RDFTerm.
+ *
+ * @see Node#ANY
+ *
+ */
public interface JenaAny extends JenaRDFTerm {
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/0f349723/jena/src/main/java/org/apache/commons/rdf/jena/JenaBlankNode.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaBlankNode.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaBlankNode.java
index 099821f..4777dda 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaBlankNode.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaBlankNode.java
@@ -19,7 +19,13 @@
package org.apache.commons.rdf.jena;
import org.apache.commons.rdf.api.BlankNode;
+import org.apache.jena.graph.Node;
+/**
+ * A Jena-backed {@link BlankNode}.
+ *
+ * @see Node#isBlank()
+ */
public interface JenaBlankNode extends JenaRDFTerm, BlankNode {
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/0f349723/jena/src/main/java/org/apache/commons/rdf/jena/JenaIRI.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaIRI.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaIRI.java
index ee58465..b16acd8 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaIRI.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaIRI.java
@@ -19,7 +19,13 @@
package org.apache.commons.rdf.jena;
import org.apache.commons.rdf.api.IRI;
+import org.apache.jena.graph.Node;
+/**
+ * A Jena-backed {@link IRI}.
+ *
+ * @see Node#isURI()
+ */
public interface JenaIRI extends JenaRDFTerm, IRI {
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/0f349723/jena/src/main/java/org/apache/commons/rdf/jena/JenaLiteral.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaLiteral.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaLiteral.java
index 7d0757b..df0c697 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaLiteral.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaLiteral.java
@@ -19,7 +19,13 @@
package org.apache.commons.rdf.jena;
import org.apache.commons.rdf.api.Literal;
+import org.apache.jena.graph.Node;
+/**
+ * A Jena-backed {@link Literal}
+ *
+ * @see Node#isLiteral()
+ */
public interface JenaLiteral extends JenaRDFTerm, Literal {
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/0f349723/jena/src/main/java/org/apache/commons/rdf/jena/JenaVariable.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaVariable.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaVariable.java
index 218272f..099018f 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaVariable.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaVariable.java
@@ -17,7 +17,22 @@
*/
package org.apache.commons.rdf.jena;
+import org.apache.commons.rdf.api.BlankNode;
+import org.apache.jena.graph.Node;
+/**
+ * A placeholder for a variable RDFTerm.
+ * <p>
+ * Equivalent to <code>?variable</code> in SPARQL. This is a Jena-specific
+ * RDFTerm extension used in SPARQL queries.
+ * <p>
+ * Note that any JenaVariable is {@link Object#equals(Object)} equal to
+ * any other JenaVariable if they have the same {@link #getVariableName()}. There
+ * is no equivalent of {@link BlankNode#uniqueReference()} and actual equality depend
+ * on the SPARQL query using the variable.
+ *
+ * @see Node#isVariable()
+ */
public interface JenaVariable extends JenaRDFTerm {
public String getVariableName();
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/0f349723/jena/src/main/java/org/apache/commons/rdf/jena/impl/AnyImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/AnyImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/AnyImpl.java
index a468f43..e2d3809 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/AnyImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/AnyImpl.java
@@ -45,5 +45,10 @@ public class AnyImpl implements JenaRDFTerm, JenaAny {
public Node asJenaNode() {
return Node.ANY;
}
+
+ @Override
+ public boolean equals(Object obj) {
+ return obj == this || obj instanceof JenaAny;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/0f349723/jena/src/main/java/org/apache/commons/rdf/jena/impl/VariableImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/VariableImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/VariableImpl.java
index 130462a..b72ecde 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/VariableImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/VariableImpl.java
@@ -18,6 +18,8 @@
package org.apache.commons.rdf.jena.impl;
+import java.util.Objects;
+
import org.apache.commons.rdf.jena.JenaRDFTerm;
import org.apache.commons.rdf.jena.JenaVariable;
import org.apache.jena.graph.Node;
@@ -47,5 +49,16 @@ public class VariableImpl implements JenaRDFTerm, JenaVariable {
public Node asJenaNode() {
return node;
}
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (! (obj instanceof JenaVariable)) {
+ return false;
+ }
+ return Objects.equals(getVariableName(), ((JenaVariable)obj).getVariableName());
+ }
}