You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commonsrdf.apache.org by st...@apache.org on 2016/10/07 14:22:55 UTC
[01/50] incubator-commonsrdf git commit: ASF license headers
Repository: incubator-commonsrdf
Updated Branches:
refs/heads/rdf4j 756977ad1 -> 45faf6ee8
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/rdf4j
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;
[06/50] incubator-commonsrdf git commit: fromJena(Graph) now uses
factory salt
Posted by st...@apache.org.
fromJena(Graph) now uses factory 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/20c7ad3b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/20c7ad3b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/20c7ad3b
Branch: refs/heads/rdf4j
Commit: 20c7ad3b391f6a0a4126e74dc3166b74de4fa0ee
Parents: 3a09004
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Jul 8 16:44:36 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Jul 8 16:44:36 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/jena/JenaRDFTermFactory.java | 45 ++++++++++++++++----
.../jena/TestJenaGraphToCommonsRDFGraph.java | 2 +-
2 files changed, 38 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/20c7ad3b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index 78dc5f7..6560894 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -414,7 +414,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
/**
- * Adapt an existing Jena Quad to CommonsRDF {@link Quad}.
+ * Adapt an existing Jena {@link org.apache.jena.sparql.core.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
@@ -431,7 +431,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
/**
- * Adapt an existing Jena Quad to CommonsRDF {@link Quad}.
+ * Adapt an existing Jena {@link org.apache.jena.sparql.core.Quad} to CommonsRDF {@link Quad}.
* <p>
* If the quad contains any {@link Node#isBlank()}, then any corresponding
* {@link BlankNode} will use the provided {@link UUID} salt
@@ -449,17 +449,46 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
/**
- * Adapt an existing Jena Graph to CommonsRDF {@link Graph}. This does not
+ * Adapt an existing Jena {@link org.apache.jena.graph.Graph} to CommonsRDF {@link Graph}.
+ * <p>
+ * This does not
* take a copy, changes to the CommonsRDF Graph are reflected in the jena
- * graph.
+ * graph, which is accessible from {@link JenaGraph#asJenaGraph()}.
+ * <p>
+ * If the graph contains any {@link Node#isBlank()}, then any corresponding
+ * {@link BlankNode} will use a {@link UUID} salt from this
+ * {@link JenaRDFTermFactory} instance
+ * in combination with {@link Node#getBlankNodeId()}
+ * for the purpose of its {@link BlankNode#uniqueReference()}.
+
*/
- public static Graph fromJena(org.apache.jena.graph.Graph graph) {
- // NOTE: This generates a new UUID salt per graph
- return JenaFactory.fromJena(graph);
+ public Graph fromJena(org.apache.jena.graph.Graph graph) {
+ return JenaFactory.fromJena(graph, salt);
}
+
+ /**
+ * Adapt an existing Jena {@link org.apache.jena.graph.Graph} to CommonsRDF {@link Graph}.
+ * <p>
+ * This does not
+ * take a copy, changes to the CommonsRDF Graph are reflected in the jena
+ * graph, which is accessible from {@link JenaGraph#asJenaGraph()}.
+ * <p>
+ * If the graph 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()}.
+ *
+ * @param graph Jena graph to adapt
+ * @param salt A {@link UUID} salt for adapting any {@link BlankNode}s
+ * @return Adapted graph
+ */
+ public static JenaGraph fromJena(org.apache.jena.graph.Graph graph, UUID salt) {
+ return JenaFactory.fromJena(graph, salt);
+ }
+
/**
* Convert from Jena to any RDFCommons implementation. This is a copy, even
* if the factory is a RDFTermFactoryJena. Use
@@ -468,7 +497,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
public static Graph fromJena(RDFTermFactory factory, org.apache.jena.graph.Graph graph) {
if (factory instanceof JenaRDFTermFactory) {
// No need to convert, just wrap
- return fromJena(graph);
+ return ((JenaRDFTermFactory)factory).fromJena(graph);
}
Graph g = factory.createGraph();
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/20c7ad3b/jena/src/test/java/org/apache/commons/rdf/jena/TestJenaGraphToCommonsRDFGraph.java
----------------------------------------------------------------------
diff --git a/jena/src/test/java/org/apache/commons/rdf/jena/TestJenaGraphToCommonsRDFGraph.java b/jena/src/test/java/org/apache/commons/rdf/jena/TestJenaGraphToCommonsRDFGraph.java
index c81a8b1..2668343 100644
--- a/jena/src/test/java/org/apache/commons/rdf/jena/TestJenaGraphToCommonsRDFGraph.java
+++ b/jena/src/test/java/org/apache/commons/rdf/jena/TestJenaGraphToCommonsRDFGraph.java
@@ -56,7 +56,7 @@ public class TestJenaGraphToCommonsRDFGraph {
RDFDataMgr.read(jGraph, turtleFile.toUri().toString()) ;
// "graph" is a CommonsRDF graph
- Graph graph = JenaRDFTermFactory.fromJena(jGraph) ;
+ Graph graph = new JenaRDFTermFactory().fromJena(jGraph) ;
// Add to CommonsRDF Graph
RDFTermFactory rft = new JenaRDFTermFactory() ;
[41/50] incubator-commonsrdf git commit: JenaRDFTermFactory - less
static methods
Posted by st...@apache.org.
JenaRDFTermFactory - less static methods
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/35e13664
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/35e13664
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/35e13664
Branch: refs/heads/rdf4j
Commit: 35e1366419486b5b929f990670cf813995453673
Parents: afbcf11
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Oct 7 09:50:50 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Oct 7 09:50:50 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/jena/JenaRDFTermFactory.java | 169 +------------------
.../rdf/jena/experimental/JenaRDFParser.java | 15 +-
.../commons/rdf/jena/impl/JenaDatasetImpl.java | 3 +-
3 files changed, 15 insertions(+), 172 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35e13664/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index 5b9bebc..10d8fa1 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -221,33 +221,6 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
/**
- * 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 {@link 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()}
- * @return Adapted {@link JenaRDFTerm}
- * @throws ConversionException If the {@link Node} can't be represented as an {@link RDFTerm}, e.g.
- * if the node is not {@link Node#isConcrete()},
- * is {@link Node#isVariable()}, or is {@link Node.ANY}
- */
- public static JenaRDFTerm fromJena(Node node, UUID salt) {
- return JenaFactory.fromJena(node, salt);
- }
-
- /**
* Convert from Jena {@link Node} to any Commons RDF implementation.
* <p>
* Note that if the {@link Node#isBlank()}, then the factory's
@@ -314,37 +287,6 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
return JenaFactory.fromJena(triple, getSalt());
}
-
- /**
- * 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 {@link org.apache.jena.graph.Triple} to a CommonsRDF {@link TripleLike}.
* <p>
@@ -405,28 +347,6 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
return JenaFactory.fromJenaGeneralized(quad, getSalt());
}
-
- /**
- * 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
- * @throws ConversionException
- * if any of the triple's nodes are not concrete or the triple
- * is a generalized triple
- */
- public static JenaTriple fromJena(org.apache.jena.graph.Triple triple, UUID salt) throws ConversionException {
- return JenaFactory.fromJena(triple, salt);
- }
-
/**
* Convert from Jena {@link org.apache.jena.graph.Triple} to a Commons RDF
* {@link Triple}.
@@ -482,24 +402,6 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
public JenaQuad fromJena(org.apache.jena.sparql.core.Quad quad) {
return JenaFactory.fromJena(quad, getSalt());
}
-
- /**
- * Adapt an existing Jena {@link org.apache.jena.sparql.core.Quad} to CommonsRDF {@link Quad}.
- * <p>
- * If the quad 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()}.
- *
- * @param quad
- * Jena quad
- * @param salt
- * A {@link UUID} salt for adapting any {@link BlankNode}s
- * @return Adapted quad
- */
- public static JenaQuad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
- return JenaFactory.fromJena(quad, salt);
- }
/**
* Adapt an existing Jena {@link org.apache.jena.graph.Graph} to CommonsRDF
@@ -543,29 +445,6 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
/**
- * Adapt an existing Jena {@link org.apache.jena.graph.Graph} to CommonsRDF
- * {@link Graph}.
- * <p>
- * This does not take a copy, changes to the CommonsRDF Graph are reflected
- * in the jena graph, which is accessible from
- * {@link JenaGraph#asJenaGraph()}.
- * <p>
- * If the graph 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()}.
- *
- * @param graph
- * Jena {@link org.apache.jena.graph.Graph} to adapt
- * @param salt
- * A {@link UUID} salt for adapting any {@link BlankNode}s
- * @return Adapted {@link JenaGraph}
- */
- public static JenaGraph fromJena(org.apache.jena.graph.Graph graph, UUID salt) {
- return JenaFactory.fromJena(graph, salt);
- }
-
- /**
* Adapt an existing Jena {@link DatasetGraph} to CommonsRDF {@link Dataset}.
* <p>
* This does not
@@ -604,46 +483,6 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
public JenaDataset fromJena(org.apache.jena.query.Dataset datasetGraph) {
return JenaFactory.fromJena(datasetGraph.asDatasetGraph(), getSalt());
}
-
- /**
- * Adapt an existing Jena {@link DatasetGraph} to CommonsRDF
- * {@link Dataset}.
- * <p>
- * This does not take a copy, changes to the CommonsRDF Dataset are
- * reflected in the jena dataset graph, which is accessible from
- * {@link JenaDataset#asJenaDatasetGraph()}.
- * <p>
- * If the dataset 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()}.
- *
- * @param datasetGraph
- * Jena {@link DatasetGraph} to adapt
- * @param salt
- * A {@link UUID} salt for adapting any {@link BlankNode}s
- * @return Adapted {@link JenaDataset}
- */
- public static JenaDataset fromJena(DatasetGraph datasetGraph, UUID salt) {
- return JenaFactory.fromJena(datasetGraph, salt);
- }
-
- /**
- * Convert from Jena to any Commons RDF implementation. This is a copy, even
- * if the factory is a JenaRDFTermFactory. Use
- * {@link #fromJena(org.apache.jena.graph.Graph)} for a wrapper.
- *
- * @param factory {@link RDFTermFactory} to use for creating {@link RDFTerm}s
- * @param graph Jena {@link org.apache.jena.graph.Graph} to copy
- * @return Converted Graph
- */
- public static Graph fromJena(RDFTermFactory factory, org.apache.jena.graph.Graph 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.sparql.core.Quad} to a Commons
@@ -686,7 +525,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @param lang {@link Lang} to convert
* @return Matched {@link RDFSyntax}, otherwise {@link Optional#empty()}
*/
- public static Optional<RDFSyntax> langToRdfSyntax(Lang lang) {
+ public Optional<RDFSyntax> langToRdfSyntax(Lang lang) {
return RDFSyntax.byMediaType(lang.getContentType().getContentType());
}
@@ -696,7 +535,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @param rdfSyntax {@link RDFSyntax} to convert
* @return Matched {@link Lang}, otherwise {@link Optional#empty()}
*/
- public static Optional<Lang> rdfSyntaxToLang(RDFSyntax rdfSyntax) {
+ public Optional<Lang> rdfSyntaxToLang(RDFSyntax rdfSyntax) {
return Optional.ofNullable(RDFLanguages.contentTypeToLang(rdfSyntax.mediaType));
}
@@ -782,7 +621,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @param graph Commons RDF {@link Graph} to convert
* @return Converted Jena {@link org.apache.jena.graph.Graph}
*/
- public static org.apache.jena.graph.Graph toJena(Graph graph) {
+ public org.apache.jena.graph.Graph toJena(Graph graph) {
if (graph instanceof JenaGraph)
return ((JenaGraph) graph).asJenaGraph();
org.apache.jena.graph.Graph g = GraphFactory.createGraphMem();
@@ -867,7 +706,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
// Some simple validations - full IRI parsing is not cheap.
- private static void validateIRI(String iri) {
+ private void validateIRI(String iri) {
if (iri.contains(" "))
throw new IllegalArgumentException();
if (iri.contains("<"))
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/35e13664/jena/src/main/java/org/apache/commons/rdf/jena/experimental/JenaRDFParser.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/experimental/JenaRDFParser.java b/jena/src/main/java/org/apache/commons/rdf/jena/experimental/JenaRDFParser.java
index 873f1cf..0ad12b9 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/experimental/JenaRDFParser.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/experimental/JenaRDFParser.java
@@ -71,18 +71,21 @@ public class JenaRDFParser extends AbstractRDFParser<JenaRDFParser> implements R
@Override
protected void parseSynchronusly() throws IOException {
StreamRDF dest;
+ JenaRDFTermFactory jenaFactory = getJenaFactory();
if (getTargetGraph().isPresent() && getTargetGraph().get() instanceof JenaGraph) {
Graph jenaGraph = ((JenaGraph) getTargetGraph().get()).asJenaGraph();
dest = StreamRDFLib.graph(jenaGraph);
- } else if (generalizedConsumerQuad != null) {
- dest = getJenaFactory().streamJenaToGeneralizedQuad(generalizedConsumerQuad);
- } else if (generalizedConsumerTriple != null) {
- dest = getJenaFactory().streamJenaToGeneralizedTriple(generalizedConsumerTriple);
} else {
- dest = JenaRDFTermFactory.streamJenaToCommonsRDF(getRdfTermFactory().get(), getTarget());
+ if (generalizedConsumerQuad != null) {
+ dest = jenaFactory.streamJenaToGeneralizedQuad(generalizedConsumerQuad);
+ } else if (generalizedConsumerTriple != null) {
+ dest = jenaFactory.streamJenaToGeneralizedTriple(generalizedConsumerTriple);
+ } else {
+ dest = JenaRDFTermFactory.streamJenaToCommonsRDF(getRdfTermFactory().get(), getTarget());
+ }
}
- Lang lang = getContentTypeSyntax().flatMap(JenaRDFTermFactory::rdfSyntaxToLang).orElse(null);
+ Lang lang = getContentTypeSyntax().flatMap(jenaFactory::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/35e13664/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
index 45d753d..4cd6bd1 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
@@ -180,8 +180,9 @@ public class JenaDatasetImpl implements JenaDataset {
@Override
public Iterable<Quad> iterate() {
+ final JenaRDFTermFactory factory = new JenaRDFTermFactory(salt);
return Iter.asStream(graph.find(), false)
- .map(q -> (Quad) JenaRDFTermFactory.fromJena(q, salt))
+ .map(q -> (Quad) factory.fromJena(q))
::iterator;
}
[29/50] incubator-commonsrdf git commit: Added createGeneralizedQuad()
Posted by st...@apache.org.
Added createGeneralizedQuad()
See
https://github.com/apache/incubator-commonsrdf/pull/23#pullrequestreview-2147436
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/fe8104a2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/fe8104a2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/fe8104a2
Branch: refs/heads/rdf4j
Commit: fe8104a2940822646b2bf95a83bc6d4532bdcef8
Parents: 2462a95
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Sep 29 15:50:47 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Sep 29 15:50:47 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/jena/JenaRDFTermFactory.java | 78 ++++++++++++++------
1 file changed, 56 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/fe8104a2/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index d8406b8..9a58ce7 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -137,32 +137,37 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
throws IllegalArgumentException, UnsupportedOperationException {
return JenaFactory.createQuad(subject, predicate, object, graphName);
}
+
+ public JenaAny createAnyVariable() {
+ return JenaFactory.createAnyVariable();
+ }
+
+ public JenaVariable createVariable(String variableName) {
+ return JenaFactory.createVariable(variableName);
+ }
/**
- * Adapt a generalized Jena Triple to a CommonsRDF {@link TripleLike} statement.
+ * Create a generalized Jena triple.
* <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 JenaRDFTermFactory} instance in combination with
- * {@link Node#getBlankNodeId()} for the purpose of its
- * {@link BlankNode#uniqueReference()}.
+ * The <em>generalized triple</em> supports any {@link RDFTerm} as its
+ * {@link TripleLike#getSubject()} {@link TripleLike#getPredicate()} or
+ * {@link TripleLike#getObject()}, including {@link JenaAny} or
+ * {@link JenaVariable}.
*
- * @see #fromJena(org.apache.jena.graph.Triple, UUID)
- * @see #fromJena(RDFTermFactory, org.apache.jena.graph.Triple)
- *
- * @param subject The subject of the statement
- * @param predicate The predicate of the statement
- * @param object The object 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
+ * @see #createTriple(BlankNodeOrIRI, IRI, RDFTerm)
+ * @see #createGeneralizedQuad(RDFTerm, RDFTerm, RDFTerm, RDFTerm)
+ * @see #createAnyVariable()
+ * @see #createVariable(String)
+ *
+ * @param subject
+ * The subject of the statement
+ * @param predicate
+ * The predicate of the statement
+ * @param object
+ * The object of the statement
+ * @return Generalized {@link TripleLike}. Note that the generalized triple
+ * does <strong>not</strong> implement {@link Triple#equals(Object)}
+ * or {@link Triple#hashCode()}.
*/
public JenaTripleLike<RDFTerm, RDFTerm, RDFTerm> createGeneralizedTriple(
RDFTerm subject, RDFTerm predicate, RDFTerm object) {
@@ -170,6 +175,35 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
/**
+ * Create a generalized Jena quad.
+ * <p>
+ * The <em>generalized quad</em> supports any {@link RDFTerm} as its
+ * {@link QuadLike#getSubject()} {@link QuadLike#getPredicate()},
+ * {@link QuadLike#getObject()} or {@link QuadLike#getObject()} including
+ * {@link JenaAny} or {@link JenaVariable}.
+ *
+ * @see #createQuad(BlankNodeOrIRI, BlankNodeOrIRI, IRI, RDFTerm)
+ * @see #createGeneralizedTriple(RDFTerm, RDFTerm, RDFTerm)
+ * @see #createAnyVariable()
+ * @see #createVariable(String)
+ *
+ * @param subject
+ * The subject of the statement
+ * @param predicate
+ * The predicate of the statement
+ * @param object
+ * The object of the statement
+ * @param graphName
+ * The graph name of the statement
+ * @return Generalized {@link QuadLike}. Note that the generalized quad does
+ * <strong>not</strong> implement {@link Quad#equals(Object)} or
+ * {@link Quad#hashCode()}.
+ */
+ public JenaQuadLike<RDFTerm, RDFTerm, RDFTerm, RDFTerm> createGeneralizedQuad(
+ RDFTerm subject, RDFTerm predicate, RDFTerm object, RDFTerm graphName) {
+ return JenaFactory.createGeneralizedQuad(subject, predicate, object, graphName);
+ }
+ /**
* Adapt an existing Jena Node to CommonsRDF {@link RDFTerm}.
* <p>
* If {@link Node#isLiteral()}, then the returned value is a {@link Literal}.
[27/50] incubator-commonsrdf git commit: Corrected javadoc (again..:))
Posted by st...@apache.org.
Corrected javadoc (again..:))
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/c763ffa7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/c763ffa7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/c763ffa7
Branch: refs/heads/rdf4j
Commit: c763ffa75c434dde98844986029b097ad89ca70e
Parents: eb391f8
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Sep 29 01:13:06 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Sep 29 01:13:36 2016 +0100
----------------------------------------------------------------------
.../java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c763ffa7/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index 1c1be7f..d8406b8 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -663,9 +663,9 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
/**
- * Return Jena {@link Lang} corresponding to a {@link RDFSyntax.
+ * Return Jena {@link Lang} corresponding to a {@link RDFSyntax}.
*
- * @param lang {@link RDFSyntax} to convert
+ * @param rdfSyntax {@link RDFSyntax} to convert
* @return Matched {@link Lang}, otherwise {@link Optional#empty()}
*/
public static Optional<Lang> rdfSyntaxToLang(RDFSyntax rdfSyntax) {
[19/50] incubator-commonsrdf git commit: Merge branch 'master' into
jena
Posted by st...@apache.org.
Merge branch 'master' into jena
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/2eb821d6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/2eb821d6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/2eb821d6
Branch: refs/heads/rdf4j
Commit: 2eb821d65e6512ed160a5b18c0054595a8a006d7
Parents: 5e78763 e0d3191
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Wed Sep 28 14:24:33 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Wed Sep 28 14:24:33 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/api/RDFParserBuilder.java | 479 ----------------
.../commons/rdf/experimental/RDFParser.java | 495 +++++++++++++++++
.../commons/rdf/experimental/package-info.java | 34 ++
.../test/resources/example-rdf/example.jsonld | 25 +
api/src/test/resources/example-rdf/example.nq | 3 +
api/src/test/resources/example-rdf/example.nt | 2 +
api/src/test/resources/example-rdf/example.rdf | 23 +
api/src/test/resources/example-rdf/example.trig | 3 +
api/src/test/resources/example-rdf/example.ttl | 2 +
.../rdf/simple/AbstractRDFParserBuilder.java | 541 ------------------
.../apache/commons/rdf/simple/GraphImpl.java | 39 +-
.../commons/rdf/simple/RDFParseException.java | 50 --
.../simple/experimental/AbstractRDFParser.java | 542 +++++++++++++++++++
.../simple/experimental/RDFParseException.java | 50 ++
.../rdf/simple/experimental/package-info.java | 34 ++
.../simple/AbstractRDFParserBuilderTest.java | 253 ---------
.../rdf/simple/DummyRDFParserBuilder.java | 12 +-
.../experimental/AbstractRDFParserTest.java | 256 +++++++++
18 files changed, 1497 insertions(+), 1346 deletions(-)
----------------------------------------------------------------------
[43/50] incubator-commonsrdf git commit: avoid javadoc warnings
Posted by st...@apache.org.
avoid javadoc warnings
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/a072cb96
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/a072cb96
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/a072cb96
Branch: refs/heads/rdf4j
Commit: a072cb96943bc2d72d905502baa5c1212a10c18e
Parents: edc3036
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Oct 7 14:25:24 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Oct 7 14:25:24 2016 +0100
----------------------------------------------------------------------
.../apache/commons/rdf/jena/JenaDataset.java | 6 ++-
.../commons/rdf/jena/JenaRDFTermFactory.java | 41 ++++++++------------
2 files changed, 20 insertions(+), 27 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/a072cb96/jena/src/main/java/org/apache/commons/rdf/jena/JenaDataset.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaDataset.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaDataset.java
index f312c2a..ad8c0ca 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaDataset.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaDataset.java
@@ -36,8 +36,10 @@ public interface JenaDataset extends org.apache.commons.rdf.api.Dataset {
public DatasetGraph asJenaDatasetGraph();
/**
- * Return a union graph view of this dataset. <p The <em>union graph</em>
- * contains triples in any graph (including the default graph).
+ * Return a union graph view of this dataset.
+ * <p>
+ * The <em>union graph</em> contains triples in any graph (including the
+ * default graph).
* <p>
* Changes in the union graph are reflected in the Commons RDF dataset and
* vice versa. Triples added to the graph are added to the default graph.
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/a072cb96/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index aa4bacf..8b53c76 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -76,10 +76,13 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
/**
* Create a JenaRDFTermFactory.
* <p>
- * This constructor will use the specified {@link UUID} as a salt
- * for the purposes of {@link BlankNode} identity.
+ * This constructor will use the specified {@link UUID} as a salt for
+ * the purposes of {@link BlankNode} identity, and should only be used in
+ * cases where predictable and consistent
+ * {@link BlankNode#uniqueReference()} are important.
*
- * @param salt {@link UUID} to use as salt
+ * @param salt
+ * {@link UUID} to use as salt for {@link BlankNode} equality
*/
public JenaRDFTermFactory(UUID salt) {
this.salt = salt;
@@ -143,13 +146,10 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* <p>
* The <em>generalized triple</em> supports any {@link RDFTerm} as its
* {@link TripleLike#getSubject()} {@link TripleLike#getPredicate()} or
- * {@link TripleLike#getObject()}, including {@link JenaAny} or
- * {@link JenaVariable}.
+ * {@link TripleLike#getObject()}.
*
* @see #createTriple(BlankNodeOrIRI, IRI, RDFTerm)
* @see #createGeneralizedQuad(RDFTerm, RDFTerm, RDFTerm, RDFTerm)
- * @see #createAnyVariable()
- * @see #createVariable(String)
*
* @param subject
* The subject of the statement
@@ -171,13 +171,10 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* <p>
* The <em>generalized quad</em> supports any {@link RDFTerm} as its
* {@link QuadLike#getSubject()} {@link QuadLike#getPredicate()},
- * {@link QuadLike#getObject()} or {@link QuadLike#getObject()} including
- * {@link JenaAny} or {@link JenaVariable}.
+ * {@link QuadLike#getObject()} or {@link QuadLike#getObject()}.
*
* @see #createQuad(BlankNodeOrIRI, BlankNodeOrIRI, IRI, RDFTerm)
* @see #createGeneralizedTriple(RDFTerm, RDFTerm, RDFTerm)
- * @see #createAnyVariable()
- * @see #createVariable(String)
*
* @param subject
* The subject of the statement
@@ -212,8 +209,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* <code>true</code>.
* @return Adapted {@link JenaRDFTerm}
* @throws ConversionException If the {@link Node} can't be represented as an {@link RDFTerm}, e.g.
- * if the node is not {@link Node#isConcrete()},
- * is {@link Node#isVariable()}, or is {@link Node.ANY}
+ * if the node is not concrete or represents a variable in Jena.
*/
public JenaRDFTerm fromJena(Node node) throws ConversionException {
return JenaFactory.fromJena(node, getSalt());
@@ -233,9 +229,9 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @param node
* The Jena Node to adapt. It's {@link Node#isConcrete()} must be
* <code>true</code>.
- * @return Adapted {@link RDFTerm}
- * @throws ConversionException
- * if the node is not concrete.
+ * @return Adapted {@link RDFTerm}
+ * @throws ConversionException If the {@link Node} can't be represented as an {@link RDFTerm}, e.g.
+ * if the node is not concrete or represents a variable in Jena.
*/
public static RDFTerm fromJena(RDFTermFactory factory, Node node) {
if (node == null) {
@@ -288,8 +284,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* Adapt a generalized Jena {@link org.apache.jena.graph.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()}, including
- * the extensions {@link JenaAny} and {@link JenaVariable}.
+ * {@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
@@ -318,9 +313,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* {@link QuadLike#getGraphName()},
* {@link QuadLike#getSubject()}
* {@link QuadLike#getPredicate()} or
- * {@link QuadLike#getObject()}, including
- * the extensions
- * {@link JenaAny} and {@link JenaVariable}.
+ * {@link QuadLike#getObject()}.
* <p>
* If the Jena quad contains any {@link Node#isBlank()}, then any corresponding
* {@link BlankNode} will use a {@link UUID} salt from this
@@ -721,10 +714,8 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* {@link BlankNode#uniqueReference()} for details.
* <p>
* This salt can be used with the constructor
- * {@link JenaRDFTermFactory#JenaRDFTermFactory(UUID)} or
- * methods like {@link #fromJena(Node, UUID)} and
- * {@link #fromJena(org.apache.jena.graph.Triple, UUID)}
- * to ensure consistent {@link BlankNode}s.
+ * {@link JenaRDFTermFactory#JenaRDFTermFactory(UUID)}
+ * if consistent or reproducible {@link BlankNode}s are desirable.
*
* @return The {@link UUID} used as salt
*/
[38/50] incubator-commonsrdf git commit: Removed JenaAny, JenaVariable
Posted by st...@apache.org.
Removed JenaAny, JenaVariable
throw ConversionException if node can't be converted
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/3fdb27ff
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/3fdb27ff
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/3fdb27ff
Branch: refs/heads/rdf4j
Commit: 3fdb27ff0d418f62917d8beb224a823e5d6e2068
Parents: e569efe
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Oct 7 09:37:37 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Oct 7 09:37:37 2016 +0100
----------------------------------------------------------------------
.../org/apache/commons/rdf/jena/JenaAny.java | 39 ------------
.../commons/rdf/jena/JenaRDFTermFactory.java | 8 ---
.../apache/commons/rdf/jena/JenaVariable.java | 39 ------------
.../commons/rdf/jena/impl/JenaAnyImpl.java | 54 -----------------
.../commons/rdf/jena/impl/JenaFactory.java | 18 ++----
.../commons/rdf/jena/impl/JenaVariableImpl.java | 64 --------------------
6 files changed, 5 insertions(+), 217 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/3fdb27ff/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
deleted file mode 100644
index 5b6f398..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaAny.java
+++ /dev/null
@@ -1,39 +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.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/3fdb27ff/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index 6c1d9f7..6793335 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -138,14 +138,6 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
return JenaFactory.createQuad(subject, predicate, object, graphName);
}
- public JenaAny createAnyVariable() {
- return JenaFactory.createAnyVariable();
- }
-
- public JenaVariable createVariable(String variableName) {
- return JenaFactory.createVariable(variableName);
- }
-
/**
* Create a generalized Jena triple.
* <p>
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/3fdb27ff/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
deleted file mode 100644
index 099018f..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaVariable.java
+++ /dev/null
@@ -1,39 +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.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/3fdb27ff/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaAnyImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaAnyImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaAnyImpl.java
deleted file mode 100644
index 068cbd8..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaAnyImpl.java
+++ /dev/null
@@ -1,54 +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.impl;
-
-import org.apache.commons.rdf.jena.JenaAny;
-import org.apache.commons.rdf.jena.JenaRDFTerm;
-import org.apache.jena.graph.Node;
-
-public class JenaAnyImpl implements JenaRDFTerm, JenaAny {
-
- static class Singleton {
- static JenaAnyImpl instance = new JenaAnyImpl();
- }
-
- /**
- * Private constructor
- *
- * @see {@link Singleton#instance}
- */
- private JenaAnyImpl() {
- }
-
- @Override
- public String ntriplesString() {
- return "[]";
- }
-
- @Override
- 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/3fdb27ff/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 eb60cc0..2f75436 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,7 +26,6 @@ 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.jena.ConversionException;
-import org.apache.commons.rdf.jena.JenaAny;
import org.apache.commons.rdf.jena.JenaBlankNode;
import org.apache.commons.rdf.jena.JenaDataset;
import org.apache.commons.rdf.jena.JenaGraph;
@@ -38,7 +37,6 @@ import org.apache.commons.rdf.jena.JenaRDFTerm;
import org.apache.commons.rdf.jena.JenaRDFTermFactory;
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.rdf.model.Model;
@@ -99,14 +97,6 @@ public class JenaFactory {
public static JenaQuad createQuad(BlankNodeOrIRI subject, IRI predicate, RDFTerm object, BlankNodeOrIRI graphName) {
return new JenaQuadImpl(subject, predicate, object, Optional.ofNullable(graphName));
}
-
- public static JenaVariable createVariable(String name) {
- return new JenaVariableImpl(NodeFactory.createVariable(name));
- }
-
- public static JenaAny createAnyVariable() {
- return JenaAnyImpl.Singleton.instance;
- }
public static JenaTripleLike<RDFTerm,RDFTerm,RDFTerm> createGeneralizedTriple(RDFTerm subject, RDFTerm predicate, RDFTerm object) {
return new JenaGeneralizedQuad<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(subject, predicate, object);
@@ -134,12 +124,14 @@ public class JenaFactory {
return new JenaBlankNodeImpl(node, salt);
}
if (node.equals(Node.ANY)) {
- return JenaAnyImpl.Singleton.instance;
+ // NOTE: JenaAny no longer supported by Commons RDF
+ //return JenaAnyImpl.Singleton.instance;
}
if (node.isVariable()) {
- return new JenaVariableImpl(node);
+ // NOTE: JenaVariable no longer supported by Commons RDF
+ //return new JenaVariableImpl(node);
}
- throw new IllegalArgumentException("Unrecognized node type: " + node);
+ throw new ConversionException("Unrecognized node type: " + node);
}
public static JenaGraph fromJena(org.apache.jena.graph.Graph graph, UUID salt) {
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/3fdb27ff/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaVariableImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaVariableImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaVariableImpl.java
deleted file mode 100644
index 8027cf2..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaVariableImpl.java
+++ /dev/null
@@ -1,64 +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.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;
-
-public class JenaVariableImpl implements JenaRDFTerm, JenaVariable {
-
- private Node node;
-
- JenaVariableImpl(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;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj == this) {
- return true;
- }
- if (! (obj instanceof JenaVariable)) {
- return false;
- }
- return Objects.equals(getVariableName(), ((JenaVariable)obj).getVariableName());
- }
-
-}
[08/50] incubator-commonsrdf git commit: added javadoc
Posted by st...@apache.org.
added javadoc
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/c6d654ba
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/c6d654ba
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/c6d654ba
Branch: refs/heads/rdf4j
Commit: c6d654bacd840f8ec3e3c5db752ad15a60add7a9
Parents: d912b6b
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Mon Jul 18 01:39:44 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Mon Jul 18 01:39:44 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/jena/JenaRDFTermFactory.java | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c6d654ba/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index d8e41b1..52fde28 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -509,6 +509,26 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
/**
+ * Adapt an existing Jena {@link org.apache.jena.query.Dataset} to CommonsRDF {@link Dataset}.
+ * <p>
+ * This does not
+ * take a copy, changes to the CommonsRDF Dataset are reflected in the jena
+ * dataset graph, which is accessible from {@link JenaDataset#asJenaDatasetGraph()}.
+ * <p>
+ * If the dataset contains any {@link Node#isBlank()}, then any corresponding
+ * {@link BlankNode} will use a {@link UUID} salt from this
+ * {@link JenaRDFTermFactory} instance
+ * in combination with {@link Node#getBlankNodeId()}
+ * for the purpose of its {@link BlankNode#uniqueReference()}.
+ *
+ * @param datasetGraph Jena dataset graph to adapt
+ * @return Adapted dataset
+ */
+ public JenaDataset fromJena(org.apache.jena.query.Dataset datasetGraph) {
+ return JenaFactory.fromJena(datasetGraph.asDatasetGraph(), salt);
+ }
+
+ /**
* Adapt an existing Jena {@link DatasetGraph} to CommonsRDF {@link Dataset}.
* <p>
* This does not
[12/50] incubator-commonsrdf git commit: JenaRDFTermFactory javadoc
on constructors
Posted by st...@apache.org.
JenaRDFTermFactory javadoc on constructors
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/7fb1d889
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/7fb1d889
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/7fb1d889
Branch: refs/heads/rdf4j
Commit: 7fb1d8895c5947b54fec2f23d4e3d900414dade1
Parents: 361aaba
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Sep 8 15:28:00 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Sep 8 15:28:00 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/jena/JenaRDFTermFactory.java | 58 +++++++++++++++-----
1 file changed, 43 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/7fb1d889/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index a75b61e..f393cec 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -52,39 +52,56 @@ import org.apache.jena.sparql.graph.GraphFactory;
* <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)}.
+ * <p>
+ * For the purpose of {@link BlankNode} identity, this factory will use an internal
+ * {@link UUID} as a salt. See {@link BlankNode#uniqueReference()} for details.
*
* @see RDFTermFactory
*/
public final class JenaRDFTermFactory implements RDFTermFactory {
- private UUID salt;
+ private final UUID salt;
+ /**
+ * Create a JenaRDFTermFactory.
+ * <p>
+ * This constructor will use a randomly generated {@link UUID} as a salt
+ * for the purposes of {@link BlankNode} identity, see {@link #getSalt()}.
+ */
public JenaRDFTermFactory() {
this.salt = UUID.randomUUID();
}
+ /**
+ * Create a JenaRDFTermFactory.
+ * <p>
+ * This constructor will use the specified {@link UUID} as a salt
+ * for the purposes of {@link BlankNode} identity.
+ *
+ * @param salt {@link UUID} to use as salt
+ */
public JenaRDFTermFactory(UUID salt) {
this.salt = salt;
}
@Override
public JenaBlankNode createBlankNode() {
- return JenaFactory.createBlankNode(salt);
+ return JenaFactory.createBlankNode(getSalt());
}
@Override
public JenaBlankNode createBlankNode(String name) {
- return JenaFactory.createBlankNode(name, salt);
+ return JenaFactory.createBlankNode(name, getSalt());
}
@Override
public Dataset createDataset() {
- return JenaFactory.createDataset(salt);
+ return JenaFactory.createDataset(getSalt());
}
@Override
public JenaGraph createGraph() {
- return JenaFactory.createGraph(salt);
+ return JenaFactory.createGraph(getSalt());
}
@Override
@@ -168,7 +185,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* if the node is not concrete.
*/
public JenaRDFTerm fromJena(Node node) throws ConversionException {
- return JenaFactory.fromJena(node, salt);
+ return JenaFactory.fromJena(node, getSalt());
}
/**
@@ -259,7 +276,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* is a generalized triple
*/
public JenaTriple fromJena(org.apache.jena.graph.Triple triple) throws ConversionException {
- return JenaFactory.fromJena(triple, salt);
+ return JenaFactory.fromJena(triple, getSalt());
}
@@ -318,7 +335,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* 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);
+ return JenaFactory.fromJenaGeneralized(triple, getSalt());
}
/**
@@ -350,7 +367,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* if any of the quad nodes are not concrete
*/
public JenaQuadLike<RDFTerm, RDFTerm, RDFTerm, RDFTerm> fromJenaGeneralized(org.apache.jena.sparql.core.Quad quad) throws ConversionException {
- return JenaFactory.fromJenaGeneralized(quad, salt);
+ return JenaFactory.fromJenaGeneralized(quad, getSalt());
}
@@ -428,7 +445,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @return Adapted quad
*/
public Quad fromJena(org.apache.jena.sparql.core.Quad quad) {
- return JenaFactory.fromJena(quad, salt);
+ return JenaFactory.fromJena(quad, getSalt());
}
/**
@@ -464,7 +481,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
*/
public JenaGraph fromJena(org.apache.jena.graph.Graph graph) {
- return JenaFactory.fromJena(graph, salt);
+ return JenaFactory.fromJena(graph, getSalt());
}
/**
@@ -481,7 +498,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
*/
public JenaGraph fromJena(org.apache.jena.rdf.model.Model model) {
- return JenaFactory.fromJena(model, salt);
+ return JenaFactory.fromJena(model, getSalt());
}
/**
@@ -521,7 +538,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @return Adapted dataset
*/
public JenaDataset fromJena(DatasetGraph datasetGraph) {
- return JenaFactory.fromJena(datasetGraph, salt);
+ return JenaFactory.fromJena(datasetGraph, getSalt());
}
/**
@@ -541,7 +558,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @return Adapted dataset
*/
public JenaDataset fromJena(org.apache.jena.query.Dataset datasetGraph) {
- return JenaFactory.fromJena(datasetGraph.asDatasetGraph(), salt);
+ return JenaFactory.fromJena(datasetGraph.asDatasetGraph(), getSalt());
}
/**
@@ -582,7 +599,6 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
return g;
}
-
public static Quad fromJena(RDFTermFactory factory, org.apache.jena.sparql.core.Quad quad) {
if (factory instanceof JenaRDFTermFactory) {
// No need to convert, just wrap
@@ -737,4 +753,16 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
throw new IllegalArgumentException("Invalid language tag: " + languageTag);
}
+ /**
+ * Return the {@link UUID} salt.
+ * <p>
+ * The salt is used for the purposes of {@link BlankNode} identity, see
+ * {@link BlankNode#uniqueReference()} for details.
+ *
+ * @return The {@link UUID} used as salt
+ */
+ public UUID getSalt() {
+ return salt;
+ }
+
}
[22/50] incubator-commonsrdf git commit: COMMONSRDF-33 Avoid .settings
Posted by st...@apache.org.
COMMONSRDF-33 Avoid .settings
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/059aa82d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/059aa82d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/059aa82d
Branch: refs/heads/rdf4j
Commit: 059aa82d1c83fede7bfd27b54b1634e96a7ab644
Parents: c52979b
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Wed Sep 28 14:56:22 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Wed Sep 28 14:56:22 2016 +0100
----------------------------------------------------------------------
jena/.settings/org.eclipse.core.resources.prefs | 6 ------
jena/.settings/org.eclipse.jdt.core.prefs | 5 -----
jena/.settings/org.eclipse.m2e.core.prefs | 4 ----
3 files changed, 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/059aa82d/jena/.settings/org.eclipse.core.resources.prefs
----------------------------------------------------------------------
diff --git a/jena/.settings/org.eclipse.core.resources.prefs b/jena/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 29abf99..0000000
--- a/jena/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-eclipse.preferences.version=1
-encoding//src/main/java=UTF-8
-encoding//src/main/resources=UTF-8
-encoding//src/test/java=UTF-8
-encoding//src/test/resources=UTF-8
-encoding/<project>=UTF-8
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/059aa82d/jena/.settings/org.eclipse.jdt.core.prefs
----------------------------------------------------------------------
diff --git a/jena/.settings/org.eclipse.jdt.core.prefs b/jena/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 714351a..0000000
--- a/jena/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.compliance=1.8
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.8
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/059aa82d/jena/.settings/org.eclipse.m2e.core.prefs
----------------------------------------------------------------------
diff --git a/jena/.settings/org.eclipse.m2e.core.prefs b/jena/.settings/org.eclipse.m2e.core.prefs
deleted file mode 100644
index f897a7f..0000000
--- a/jena/.settings/org.eclipse.m2e.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
[35/50] incubator-commonsrdf git commit: COMMONSRDF-33 javadoc for
JenaDataset
Posted by st...@apache.org.
COMMONSRDF-33 javadoc for JenaDataset
.getUnionGraph() and .asJenaDatasetGraph()
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/e569efe0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/e569efe0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/e569efe0
Branch: refs/heads/rdf4j
Commit: e569efe0ec0f77a0a80232ebdadef6fa403dc0bf
Parents: cfbe28f
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Mon Oct 3 14:55:58 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Mon Oct 3 14:55:58 2016 +0100
----------------------------------------------------------------------
.../apache/commons/rdf/jena/JenaDataset.java | 21 +++++++++++++++++++-
.../commons/rdf/jena/impl/JenaDatasetImpl.java | 3 ++-
2 files changed, 22 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/e569efe0/jena/src/main/java/org/apache/commons/rdf/jena/JenaDataset.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaDataset.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaDataset.java
index 98fb840..f312c2a 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaDataset.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaDataset.java
@@ -23,8 +23,27 @@ import org.apache.jena.sparql.core.DatasetGraph;
/** Access the Jena graph backing this object */
public interface JenaDataset extends org.apache.commons.rdf.api.Dataset {
+
+
+ /**
+ * Return the underlying Jena {@link DatasetGraph}.
+ * <p>
+ * Changes to the Jena <em>dataset graph</em> are reflected in the Commons
+ * RDF dataset and vice versa.
+ *
+ * @return A Jena {@link DatasetGraph}
+ */
public DatasetGraph asJenaDatasetGraph();
- public Graph getUnionGraph();
+ /**
+ * Return a union graph view of this dataset. <p The <em>union graph</em>
+ * contains triples in any graph (including the default graph).
+ * <p>
+ * Changes in the union graph are reflected in the Commons RDF dataset and
+ * vice versa. Triples added to the graph are added to the default graph.
+ *
+ * @return A union {@link Graph}
+ */
+ public JenaGraph getUnionGraph();
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/e569efe0/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
index b756526..45d753d 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
@@ -31,6 +31,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.JenaDataset;
+import org.apache.commons.rdf.jena.JenaGraph;
import org.apache.commons.rdf.jena.JenaRDFTermFactory;
import org.apache.jena.atlas.iterator.Iter;
import org.apache.jena.graph.Node;
@@ -159,7 +160,7 @@ public class JenaDatasetImpl implements JenaDataset {
}
@Override
- public Graph getUnionGraph() {
+ public JenaGraph getUnionGraph() {
GraphView gv = GraphView.createUnionGraph(graph);
return new JenaGraphImpl(gv, salt);
}
[15/50] incubator-commonsrdf git commit: Merge branch
'parser-with-quads' into jena
Posted by st...@apache.org.
Merge branch 'parser-with-quads' into jena
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/77e90e39
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/77e90e39
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/77e90e39
Branch: refs/heads/rdf4j
Commit: 77e90e3933fb6fd16b613ac9c0abd0421b1e665a
Parents: 387eaae 7201668
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Tue Sep 13 00:10:15 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Tue Sep 13 00:10:15 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/api/RDFParserBuilder.java | 21 +++++++++++++-------
.../rdf/simple/AbstractRDFParserBuilder.java | 3 +--
2 files changed, 15 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
[32/50] incubator-commonsrdf git commit: newer japicmp plugin
Posted by st...@apache.org.
newer japicmp plugin
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/19d29a1e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/19d29a1e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/19d29a1e
Branch: refs/heads/rdf4j
Commit: 19d29a1e3378f7ba4558168164f0ae5a88454926
Parents: b6ec123
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Sep 29 16:03:45 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Sep 29 16:03:45 2016 +0100
----------------------------------------------------------------------
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/19d29a1e/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 512946c..913a659 100644
--- a/pom.xml
+++ b/pom.xml
@@ -53,7 +53,7 @@
<commons.scmPubCheckoutDirectory>${project.build.directory}/site-content</commons.scmPubCheckoutDirectory>
<commons.javadoc.java.link>https://docs.oracle.com/javase/8/docs/api/</commons.javadoc.java.link>
<!-- upgrade from 0.8.0 -->
- <commons.japicmp.version>0.9.0</commons.japicmp.version>
+ <commons.japicmp.version>0.9.1</commons.japicmp.version>
<ver.jena>3.1.0</ver.jena>
<dexx.collection.version>0.6</dexx.collection.version>
<servicemix.xerces.version>2.11.0_1</servicemix.xerces.version>
[21/50] incubator-commonsrdf git commit: COMMONSRDF-33 Rename
implementations to Jena*Impl
Posted by st...@apache.org.
COMMONSRDF-33 Rename implementations to Jena*Impl
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/c52979ba
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/c52979ba
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/c52979ba
Branch: refs/heads/rdf4j
Commit: c52979ba57ce5acda06151030040986b19b1792a
Parents: 4416acc
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Wed Sep 28 14:25:47 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Wed Sep 28 14:25:47 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/jena/JenaRDFTermFactory.java | 2 +-
.../rdf/jena/impl/AbstractJenaRDFTerm.java | 47 +++++
.../commons/rdf/jena/impl/AbstractRDFTerm.java | 47 -----
.../apache/commons/rdf/jena/impl/AnyImpl.java | 54 ------
.../commons/rdf/jena/impl/BlankNodeImpl.java | 61 ------
.../commons/rdf/jena/impl/DatasetImpl.java | 187 -------------------
.../rdf/jena/impl/GeneralizedQuadImpl.java | 136 --------------
.../apache/commons/rdf/jena/impl/GraphImpl.java | 154 ---------------
.../apache/commons/rdf/jena/impl/IRIImpl.java | 61 ------
.../commons/rdf/jena/impl/JenaAnyImpl.java | 54 ++++++
.../rdf/jena/impl/JenaBlankNodeImpl.java | 61 ++++++
.../commons/rdf/jena/impl/JenaDatasetImpl.java | 187 +++++++++++++++++++
.../commons/rdf/jena/impl/JenaFactory.java | 52 +++---
.../rdf/jena/impl/JenaGeneralizedQuad.java | 136 ++++++++++++++
.../commons/rdf/jena/impl/JenaGraphImpl.java | 154 +++++++++++++++
.../commons/rdf/jena/impl/JenaIRIImpl.java | 61 ++++++
.../commons/rdf/jena/impl/JenaLiteralImpl.java | 73 ++++++++
.../commons/rdf/jena/impl/JenaQuadImpl.java | 66 +++++++
.../commons/rdf/jena/impl/JenaTripleImpl.java | 67 +++++++
.../commons/rdf/jena/impl/JenaVariableImpl.java | 64 +++++++
.../commons/rdf/jena/impl/LiteralImpl.java | 73 --------
.../apache/commons/rdf/jena/impl/QuadImpl.java | 66 -------
.../commons/rdf/jena/impl/TripleImpl.java | 67 -------
.../commons/rdf/jena/impl/VariableImpl.java | 64 -------
.../commons/rdf/jena/TestRDFParserBuilder.java | 5 +-
25 files changed, 1000 insertions(+), 999 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c52979ba/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index ec84c0a..7359acb 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -681,7 +681,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
return null;
}
if (term instanceof JenaRDFTerm)
- // TODO: What if it's a BlankNodeImpl with
+ // TODO: What if it's a JenaBlankNodeImpl with
// a different salt? Do we need to rewrite the
// jena blanknode identifier?
return ((JenaRDFTerm) term).asJenaNode();
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c52979ba/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractJenaRDFTerm.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractJenaRDFTerm.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractJenaRDFTerm.java
new file mode 100644
index 0000000..9c0d7ec
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractJenaRDFTerm.java
@@ -0,0 +1,47 @@
+/**
+ * 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.api.RDFTerm;
+import org.apache.commons.rdf.jena.JenaRDFTerm;
+import org.apache.jena.graph.Node;
+import org.apache.jena.riot.out.NodeFmtLib;
+
+class AbstractJenaRDFTerm implements JenaRDFTerm, RDFTerm {
+ private Node node;
+ // static private PrefixMapping empty = new PrefixMappingImpl() ;
+
+ protected AbstractJenaRDFTerm(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/c52979ba/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
deleted file mode 100644
index 5c828ef..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractRDFTerm.java
+++ /dev/null
@@ -1,47 +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.impl;
-
-import org.apache.commons.rdf.api.RDFTerm;
-import org.apache.commons.rdf.jena.JenaRDFTerm;
-import org.apache.jena.graph.Node;
-import org.apache.jena.riot.out.NodeFmtLib;
-
-class AbstractRDFTerm implements JenaRDFTerm, RDFTerm {
- private Node node;
- // static private PrefixMapping empty = new PrefixMappingImpl() ;
-
- 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/c52979ba/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
deleted file mode 100644
index e2d3809..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/AnyImpl.java
+++ /dev/null
@@ -1,54 +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.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;
- }
-
- @Override
- public boolean equals(Object obj) {
- return obj == this || obj instanceof JenaAny;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c52979ba/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
deleted file mode 100644
index 2acb635..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/BlankNodeImpl.java
+++ /dev/null
@@ -1,61 +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.impl;
-
-import java.util.UUID;
-
-import org.apache.commons.rdf.api.BlankNode;
-import org.apache.commons.rdf.jena.JenaBlankNode;
-import org.apache.jena.graph.Node;
-
-public class BlankNodeImpl extends AbstractRDFTerm implements JenaBlankNode {
-
- private UUID salt;
-
- /* package */ BlankNodeImpl(Node node, UUID salt) {
- super(node);
- if (! node.isBlank()) {
- throw new IllegalArgumentException("Node is not a blank node: " + node);
- }
- this.salt = salt;
- }
-
- @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/c52979ba/jena/src/main/java/org/apache/commons/rdf/jena/impl/DatasetImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/DatasetImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/DatasetImpl.java
deleted file mode 100644
index 4094efe..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/DatasetImpl.java
+++ /dev/null
@@ -1,187 +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.impl;
-
-import static org.apache.jena.graph.Node.ANY;
-
-import java.io.StringWriter;
-import java.util.Optional;
-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.Quad;
-import org.apache.commons.rdf.api.RDFTerm;
-import org.apache.commons.rdf.jena.JenaDataset;
-import org.apache.commons.rdf.jena.JenaRDFTermFactory;
-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.sparql.core.DatasetGraph;
-import org.apache.jena.sparql.core.GraphView;
-
-public class DatasetImpl implements JenaDataset {
-
- private DatasetGraph graph;
- private UUID salt;
-
- /* package */ DatasetImpl(DatasetGraph graph, UUID salt) {
- this.graph = graph;
- this.salt = salt;
- }
-
- @Override
- public void add(BlankNodeOrIRI graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
- graph.add(
- org.apache.jena.sparql.core.Quad.create(
- JenaRDFTermFactory.toJena(graphName),
- JenaRDFTermFactory.toJena(subject),
- JenaRDFTermFactory.toJena(predicate),
- JenaRDFTermFactory.toJena(object)));
- }
-
- @Override
- public void add(Quad quad) {
- graph.add(JenaRDFTermFactory.toJena(quad));
- }
-
- @Override
- public DatasetGraph asJenaDatasetGraph() {
- return graph;
- }
-
- @Override
- public void clear() {
- graph.clear();
- }
-
- @Override
- public void close() {
- graph.close();
- }
-
-
- @Override
- public boolean contains(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
- return graph.contains(
- toJenaPattern(graphName),
- toJenaPattern(subject),
- toJenaPattern(predicate),
- toJenaPattern(object));
- }
-
- private Node toJenaPattern(Optional<? extends RDFTerm> graphName) {
- // In theory we could have done:
- // JenaRDFTermFactory.toJena(graphName.orElse(JenaFactory::createAnyVariable))
- // but because of generics casting rules that doesn't work :(
-
- if (graphName == null) {
- return ANY;
- }
- // null: default graph
- return JenaRDFTermFactory.toJena(graphName.orElse(null));
- }
-
- private Node toJenaPattern(RDFTerm term) {
- if (term == null)
- return ANY;
- return JenaRDFTermFactory.toJena(term);
- }
-
- @Override
- public boolean contains(Quad quad) {
- return graph.contains(JenaRDFTermFactory.toJena(quad));
- }
-
- @Override
- public void remove(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
- graph.delete(org.apache.jena.sparql.core.Quad.create(
- toJenaPattern(graphName),
- toJenaPattern(subject),
- toJenaPattern(predicate),
- toJenaPattern(object)));
- }
-
- @Override
- public void remove(Quad quad) {
- graph.delete(JenaRDFTermFactory.toJena(quad));
- }
-
- @Override
- public long size() {
- return graph.size();
- }
-
- @Override
- public Stream<? extends Quad> stream() {
- JenaRDFTermFactory factory = new JenaRDFTermFactory(salt);
- return Iter.asStream(graph.find(ANY, ANY, ANY, ANY), true)
- .map(factory::fromJena);
- }
-
- @Override
- public Stream<? extends Quad> stream(Optional<BlankNodeOrIRI> g, BlankNodeOrIRI s, IRI p, RDFTerm o) {
- JenaRDFTermFactory factory = new JenaRDFTermFactory(salt);
- return Iter.asStream(graph.find(toJenaPattern(g), toJenaPattern(s), toJenaPattern(p), toJenaPattern(o)), true)
- .map(factory::fromJena);
- }
-
- @Override
- public String toString() {
- StringWriter sw = new StringWriter();
- RDFDataMgr.write(sw, graph, Lang.NT);
- return sw.toString();
- }
-
- @Override
- public Graph getGraph() {
- GraphView gv = GraphView.createDefaultGraph(graph);
- return new GraphImpl(gv, salt);
- }
-
- @Override
- public Graph getUnionGraph() {
- GraphView gv = GraphView.createUnionGraph(graph);
- return new GraphImpl(gv, salt);
- }
-
- @Override
- public Optional<Graph> getGraph(BlankNodeOrIRI graphName) {
- GraphView gv = GraphView.createNamedGraph(graph, JenaRDFTermFactory.toJena(graphName));
- return Optional.of(new GraphImpl(gv, salt));
- }
-
- @Override
- public Stream<BlankNodeOrIRI> getGraphNames() {
- JenaRDFTermFactory factory = new JenaRDFTermFactory(salt);
- return Iter.asStream(graph.listGraphNodes()).map(node ->
- (BlankNodeOrIRI) factory.fromJena(node));
- }
-
- @Override
- public Iterable<Quad> iterate() {
- return Iter.asStream(graph.find(), false)
- .map(q -> (Quad) JenaRDFTermFactory.fromJena(q, salt))
- ::iterator;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c52979ba/jena/src/main/java/org/apache/commons/rdf/jena/impl/GeneralizedQuadImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/GeneralizedQuadImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/GeneralizedQuadImpl.java
deleted file mode 100644
index e772bd1..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/GeneralizedQuadImpl.java
+++ /dev/null
@@ -1,136 +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.impl;
-
-import java.util.Objects;
-import java.util.Optional;
-import java.util.UUID;
-
-import org.apache.commons.rdf.api.QuadLike;
-import org.apache.commons.rdf.api.RDFTerm;
-import org.apache.commons.rdf.jena.JenaQuad;
-import org.apache.commons.rdf.jena.JenaQuadLike;
-import org.apache.commons.rdf.jena.JenaRDFTermFactory;
-import org.apache.commons.rdf.jena.JenaTriple;
-import org.apache.jena.graph.Triple;
-import org.apache.jena.sparql.core.Quad;
-
-/**
- * A generalized {@link QuadLike}, backed by a Jena {@link Quad} or {@link Triple}.
- * <p>
- * This class does not implement any particular {@link #equals(Object)} or
- * {@link #hashCode()} but can otherwise be used as a base class for both
- * a {@link JenaTriple} and a {@link JenaQuad}.
- *
- * @see TripleImpl
- * @see QuadImpl
- * @see JenaFactory#createGeneralizedTriple(RDFTerm, RDFTerm, RDFTerm)
- * @see JenaFactory#createGeneralizedQuad(RDFTerm, RDFTerm, RDFTerm, RDFTerm)
- *
- */
-public class GeneralizedQuadImpl<S extends RDFTerm, P extends RDFTerm, O extends RDFTerm, G extends RDFTerm> implements JenaQuadLike<S,P,O,G> {
-
- final Optional<G> graphName;
- final S subject;
- final P predicate;
- final O object;
- org.apache.jena.sparql.core.Quad quad = null;
- org.apache.jena.graph.Triple triple = null;
-
- GeneralizedQuadImpl(S subject, P predicate, O object, Optional<G> graphName) {
- this.subject = Objects.requireNonNull(subject);
- this.predicate = Objects.requireNonNull(predicate);
- this.object = Objects.requireNonNull(object);
- this.graphName = Objects.requireNonNull(graphName);
- }
-
- GeneralizedQuadImpl(S subject, P predicate, O object) {
- this(subject, predicate, object, Optional.empty());
- }
-
- @SuppressWarnings("unchecked")
- GeneralizedQuadImpl(org.apache.jena.sparql.core.Quad quad, UUID salt) {
- this.quad = Objects.requireNonNull(quad);
- this.subject = (S) JenaFactory.fromJena(quad.getSubject(), salt);
- this.predicate = (P) JenaFactory.fromJena(quad.getPredicate(), salt);
- this.object = (O)JenaFactory.fromJena(quad.getObject(), salt);
- this.graphName = Optional.of((G) JenaFactory.fromJena(quad.getGraph(), salt));
- }
-
- @SuppressWarnings("unchecked")
- GeneralizedQuadImpl(org.apache.jena.graph.Triple triple, UUID salt) {
- this.triple = Objects.requireNonNull(triple);
- this.subject = (S) JenaFactory.fromJena(triple.getSubject(), salt);
- this.predicate = (P) JenaFactory.fromJena(triple.getPredicate(), salt);
- this.object = (O)JenaFactory.fromJena(triple.getObject(), salt);
- this.graphName = Optional.empty();
- }
-
- @Override
- public org.apache.jena.sparql.core.Quad asJenaQuad() {
- if (quad == null) {
- quad = org.apache.jena.sparql.core.Quad.create(
- JenaRDFTermFactory.toJena(graphName.orElse(null)),
- JenaRDFTermFactory.toJena(subject),
- JenaRDFTermFactory.toJena(predicate),
- JenaRDFTermFactory.toJena(object));
- }
- return quad;
- }
-
- @Override
- public org.apache.jena.graph.Triple asJenaTriple() {
- if (triple == null) {
- triple = org.apache.jena.graph.Triple.create(JenaRDFTermFactory.toJena(subject),
- JenaRDFTermFactory.toJena(predicate),
- JenaRDFTermFactory.toJena(object));
- }
- return triple;
- }
-
- @Override
- public S getSubject() {
- return subject;
- }
-
- @Override
- public P getPredicate() {
- return predicate;
- }
-
- @Override
- public O getObject() {
- return object;
- }
-
- @Override
- public Optional<G> getGraphName() {
- return graphName;
- }
-
- @Override
- public String toString() {
- // kind of nquad syntax
- return getSubject().ntriplesString() + " " +
- getPredicate().ntriplesString() + " "
- + getObject().ntriplesString() + " " +
- getGraphName().map(RDFTerm::ntriplesString).orElse("") + ".";
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c52979ba/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
deleted file mode 100644
index 3b74ee0..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/GraphImpl.java
+++ /dev/null
@@ -1,154 +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.impl;
-
-import java.io.StringWriter;
-import java.util.UUID;
-import java.util.stream.Stream;
-
-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.JenaGraph;
-import org.apache.commons.rdf.jena.JenaRDFTermFactory;
-import org.apache.jena.atlas.iterator.Iter;
-import org.apache.jena.graph.Node;
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.ModelFactory;
-import org.apache.jena.riot.Lang;
-import org.apache.jena.riot.RDFDataMgr;
-
-public class GraphImpl implements JenaGraph {
-
- private org.apache.jena.graph.Graph graph;
- private UUID salt;
- private Model model;
-
- GraphImpl(org.apache.jena.graph.Graph graph, UUID salt) {
- this.graph = graph;
- this.salt = salt;
- }
-
- GraphImpl(Model model, UUID salt) {
- this.model = model;
- this.graph = model.getGraph();
- this.salt = salt;
- }
-
- @Override
- public void add(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
- graph.add(org.apache.jena.graph.Triple.create(
- JenaRDFTermFactory.toJena(subject),
- JenaRDFTermFactory.toJena(predicate),
- JenaRDFTermFactory.toJena(object)));
- }
-
- @Override
- public void add(Triple triple) {
- graph.add(JenaRDFTermFactory.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(
- JenaRDFTermFactory.toJena(subject),
- JenaRDFTermFactory.toJena(predicate),
- JenaRDFTermFactory.toJena(object));
- }
-
- @Override
- public boolean contains(Triple triple) {
- return graph.contains(JenaRDFTermFactory.toJena(triple));
- }
-
- @Override
- public void remove(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
- graph.delete(org.apache.jena.graph.Triple.create(
- JenaRDFTermFactory.toJena(subject),
- JenaRDFTermFactory.toJena(predicate),
- JenaRDFTermFactory.toJena(object)));
- }
-
- @Override
- public void remove(Triple triple) {
- graph.delete(JenaRDFTermFactory.toJena(triple));
- }
-
- @Override
- public long size() {
- return graph.size();
- }
-
- @Override
- public Stream<? extends Triple> stream() {
- JenaRDFTermFactory factory = new JenaRDFTermFactory(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) {
- JenaRDFTermFactory factory = new JenaRDFTermFactory(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 JenaRDFTermFactory.toJena(term);
- }
-
- @Override
- public String toString() {
- StringWriter sw = new StringWriter();
- RDFDataMgr.write(sw, graph, Lang.NT);
- return sw.toString();
- }
-
- @Override
- public Model asJenaModel() {
- if (model == null) {
- synchronized(this) {
- // As Model can be used for locks, we should make sure we don't make
- // more than one model
- if (model == null) {
- model = ModelFactory.createModelForGraph(graph);
- }
- }
- }
- return model;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c52979ba/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
deleted file mode 100644
index e85c80f..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/IRIImpl.java
+++ /dev/null
@@ -1,61 +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.impl;
-
-import org.apache.commons.rdf.api.IRI;
-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 JenaIRI {
-
- /* package */ IRIImpl(Node node) {
- super(node);
- if (! node.isURI()) {
- throw new IllegalArgumentException("Node is not a blank node: " + 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/c52979ba/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaAnyImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaAnyImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaAnyImpl.java
new file mode 100644
index 0000000..068cbd8
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaAnyImpl.java
@@ -0,0 +1,54 @@
+/**
+ * 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;
+import org.apache.commons.rdf.jena.JenaRDFTerm;
+import org.apache.jena.graph.Node;
+
+public class JenaAnyImpl implements JenaRDFTerm, JenaAny {
+
+ static class Singleton {
+ static JenaAnyImpl instance = new JenaAnyImpl();
+ }
+
+ /**
+ * Private constructor
+ *
+ * @see {@link Singleton#instance}
+ */
+ private JenaAnyImpl() {
+ }
+
+ @Override
+ public String ntriplesString() {
+ return "[]";
+ }
+
+ @Override
+ 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/c52979ba/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaBlankNodeImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaBlankNodeImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaBlankNodeImpl.java
new file mode 100644
index 0000000..0cbd764
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaBlankNodeImpl.java
@@ -0,0 +1,61 @@
+/**
+ * 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.BlankNode;
+import org.apache.commons.rdf.jena.JenaBlankNode;
+import org.apache.jena.graph.Node;
+
+public class JenaBlankNodeImpl extends AbstractJenaRDFTerm implements JenaBlankNode {
+
+ private UUID salt;
+
+ /* package */ JenaBlankNodeImpl(Node node, UUID salt) {
+ super(node);
+ if (! node.isBlank()) {
+ throw new IllegalArgumentException("Node is not a blank node: " + node);
+ }
+ this.salt = salt;
+ }
+
+ @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/c52979ba/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
new file mode 100644
index 0000000..b756526
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
@@ -0,0 +1,187 @@
+/**
+ * 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 static org.apache.jena.graph.Node.ANY;
+
+import java.io.StringWriter;
+import java.util.Optional;
+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.Quad;
+import org.apache.commons.rdf.api.RDFTerm;
+import org.apache.commons.rdf.jena.JenaDataset;
+import org.apache.commons.rdf.jena.JenaRDFTermFactory;
+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.sparql.core.DatasetGraph;
+import org.apache.jena.sparql.core.GraphView;
+
+public class JenaDatasetImpl implements JenaDataset {
+
+ private DatasetGraph graph;
+ private UUID salt;
+
+ /* package */ JenaDatasetImpl(DatasetGraph graph, UUID salt) {
+ this.graph = graph;
+ this.salt = salt;
+ }
+
+ @Override
+ public void add(BlankNodeOrIRI graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ graph.add(
+ org.apache.jena.sparql.core.Quad.create(
+ JenaRDFTermFactory.toJena(graphName),
+ JenaRDFTermFactory.toJena(subject),
+ JenaRDFTermFactory.toJena(predicate),
+ JenaRDFTermFactory.toJena(object)));
+ }
+
+ @Override
+ public void add(Quad quad) {
+ graph.add(JenaRDFTermFactory.toJena(quad));
+ }
+
+ @Override
+ public DatasetGraph asJenaDatasetGraph() {
+ return graph;
+ }
+
+ @Override
+ public void clear() {
+ graph.clear();
+ }
+
+ @Override
+ public void close() {
+ graph.close();
+ }
+
+
+ @Override
+ public boolean contains(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ return graph.contains(
+ toJenaPattern(graphName),
+ toJenaPattern(subject),
+ toJenaPattern(predicate),
+ toJenaPattern(object));
+ }
+
+ private Node toJenaPattern(Optional<? extends RDFTerm> graphName) {
+ // In theory we could have done:
+ // JenaRDFTermFactory.toJena(graphName.orElse(JenaFactory::createAnyVariable))
+ // but because of generics casting rules that doesn't work :(
+
+ if (graphName == null) {
+ return ANY;
+ }
+ // null: default graph
+ return JenaRDFTermFactory.toJena(graphName.orElse(null));
+ }
+
+ private Node toJenaPattern(RDFTerm term) {
+ if (term == null)
+ return ANY;
+ return JenaRDFTermFactory.toJena(term);
+ }
+
+ @Override
+ public boolean contains(Quad quad) {
+ return graph.contains(JenaRDFTermFactory.toJena(quad));
+ }
+
+ @Override
+ public void remove(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ graph.delete(org.apache.jena.sparql.core.Quad.create(
+ toJenaPattern(graphName),
+ toJenaPattern(subject),
+ toJenaPattern(predicate),
+ toJenaPattern(object)));
+ }
+
+ @Override
+ public void remove(Quad quad) {
+ graph.delete(JenaRDFTermFactory.toJena(quad));
+ }
+
+ @Override
+ public long size() {
+ return graph.size();
+ }
+
+ @Override
+ public Stream<? extends Quad> stream() {
+ JenaRDFTermFactory factory = new JenaRDFTermFactory(salt);
+ return Iter.asStream(graph.find(ANY, ANY, ANY, ANY), true)
+ .map(factory::fromJena);
+ }
+
+ @Override
+ public Stream<? extends Quad> stream(Optional<BlankNodeOrIRI> g, BlankNodeOrIRI s, IRI p, RDFTerm o) {
+ JenaRDFTermFactory factory = new JenaRDFTermFactory(salt);
+ return Iter.asStream(graph.find(toJenaPattern(g), toJenaPattern(s), toJenaPattern(p), toJenaPattern(o)), true)
+ .map(factory::fromJena);
+ }
+
+ @Override
+ public String toString() {
+ StringWriter sw = new StringWriter();
+ RDFDataMgr.write(sw, graph, Lang.NT);
+ return sw.toString();
+ }
+
+ @Override
+ public Graph getGraph() {
+ GraphView gv = GraphView.createDefaultGraph(graph);
+ return new JenaGraphImpl(gv, salt);
+ }
+
+ @Override
+ public Graph getUnionGraph() {
+ GraphView gv = GraphView.createUnionGraph(graph);
+ return new JenaGraphImpl(gv, salt);
+ }
+
+ @Override
+ public Optional<Graph> getGraph(BlankNodeOrIRI graphName) {
+ GraphView gv = GraphView.createNamedGraph(graph, JenaRDFTermFactory.toJena(graphName));
+ return Optional.of(new JenaGraphImpl(gv, salt));
+ }
+
+ @Override
+ public Stream<BlankNodeOrIRI> getGraphNames() {
+ JenaRDFTermFactory factory = new JenaRDFTermFactory(salt);
+ return Iter.asStream(graph.listGraphNodes()).map(node ->
+ (BlankNodeOrIRI) factory.fromJena(node));
+ }
+
+ @Override
+ public Iterable<Quad> iterate() {
+ return Iter.asStream(graph.find(), false)
+ .map(q -> (Quad) JenaRDFTermFactory.fromJena(q, salt))
+ ::iterator;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c52979ba/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 7a6a7ab..0551094 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
@@ -62,60 +62,60 @@ import org.apache.jena.sparql.graph.GraphFactory;
public class JenaFactory {
public static JenaBlankNode createBlankNode(String id, UUID salt) {
- return new BlankNodeImpl(NodeFactory.createBlankNode(id), salt);
+ return new JenaBlankNodeImpl(NodeFactory.createBlankNode(id), salt);
}
public static JenaBlankNode createBlankNode(UUID salt) {
- return new BlankNodeImpl(NodeFactory.createBlankNode(), salt);
+ return new JenaBlankNodeImpl(NodeFactory.createBlankNode(), salt);
}
public static Dataset createDataset(UUID salt) {
DatasetGraph dg = DatasetGraphFactory.createGeneral();
// Or which createMethod() -- a bit confusing with lots of choice..
- return new DatasetImpl(dg, salt);
+ return new JenaDatasetImpl(dg, salt);
}
public static JenaGraph createGraph(UUID salt) {
- return new GraphImpl(GraphFactory.createDefaultGraph(), salt);
+ return new JenaGraphImpl(GraphFactory.createDefaultGraph(), salt);
}
public static JenaIRI createIRI(String iriStr) {
- return new IRIImpl(iriStr);
+ return new JenaIRIImpl(iriStr);
}
public static JenaLiteral createLiteral(String lexStr) {
- return new LiteralImpl(NodeFactory.createLiteral(lexStr));
+ return new JenaLiteralImpl(NodeFactory.createLiteral(lexStr));
}
public static JenaLiteral createLiteralDT(String lexStr, String datatypeIRI) {
- return new LiteralImpl(NodeFactory.createLiteral(lexStr, NodeFactory.getType(datatypeIRI)));
+ return new JenaLiteralImpl(NodeFactory.createLiteral(lexStr, NodeFactory.getType(datatypeIRI)));
}
public static JenaLiteral createLiteralLang(String lexStr, String langTag) {
- return new LiteralImpl(NodeFactory.createLiteral(lexStr, langTag));
+ return new JenaLiteralImpl(NodeFactory.createLiteral(lexStr, langTag));
}
public static JenaTriple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
- return new TripleImpl(subject, predicate, object);
+ return new JenaTripleImpl(subject, predicate, object);
}
public static JenaQuad createQuad(BlankNodeOrIRI subject, IRI predicate, RDFTerm object, BlankNodeOrIRI graphName) {
- return new QuadImpl(subject, predicate, object, Optional.ofNullable(graphName));
+ return new JenaQuadImpl(subject, predicate, object, Optional.ofNullable(graphName));
}
public static JenaVariable createVariable(String name) {
- return new VariableImpl(NodeFactory.createVariable(name));
+ return new JenaVariableImpl(NodeFactory.createVariable(name));
}
public static JenaAny createAnyVariable() {
- return AnyImpl.Singleton.instance;
+ return JenaAnyImpl.Singleton.instance;
}
public static JenaTripleLike<RDFTerm,RDFTerm,RDFTerm> createGeneralizedTriple(RDFTerm subject, RDFTerm predicate, RDFTerm object) {
- return new GeneralizedQuadImpl<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(subject, predicate, object);
+ return new JenaGeneralizedQuad<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(subject, predicate, object);
}
public static JenaQuadLike<RDFTerm,RDFTerm,RDFTerm,RDFTerm> createGeneralizedQuad(RDFTerm subject, RDFTerm predicate, RDFTerm object, RDFTerm graphName) {
- return new GeneralizedQuadImpl<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(subject, predicate, object, Optional.ofNullable(graphName));
+ return new JenaGeneralizedQuad<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(subject, predicate, object, Optional.ofNullable(graphName));
}
public static JenaRDFTerm fromJena(Node node, UUID salt) throws ConversionException {
@@ -127,49 +127,49 @@ public class JenaFactory {
public static JenaRDFTerm fromJenaGeneralized(Node node, UUID salt) {
if (node.isURI()) {
- return new IRIImpl(node);
+ return new JenaIRIImpl(node);
}
if (node.isLiteral()) {
- return new LiteralImpl(node);
+ return new JenaLiteralImpl(node);
}
if (node.isBlank()) {
- return new BlankNodeImpl(node, salt);
+ return new JenaBlankNodeImpl(node, salt);
}
if (node.equals(Node.ANY)) {
- return AnyImpl.Singleton.instance;
+ return JenaAnyImpl.Singleton.instance;
}
if (node.isVariable()) {
- return new VariableImpl(node);
+ return new JenaVariableImpl(node);
}
throw new IllegalArgumentException("Unrecognized node type: " + node);
}
public static JenaGraph fromJena(org.apache.jena.graph.Graph graph, UUID salt) {
- return new GraphImpl(graph, salt);
+ return new JenaGraphImpl(graph, salt);
}
public static JenaGraph fromJena(Model model, UUID salt) {
- return new GraphImpl(model, salt);
+ return new JenaGraphImpl(model, salt);
}
public static JenaDataset fromJena(DatasetGraph datasetGraph, UUID salt) {
- return new DatasetImpl(datasetGraph, salt);
+ return new JenaDatasetImpl(datasetGraph, salt);
}
public static JenaTriple fromJena(org.apache.jena.graph.Triple triple, UUID salt) {
- return new TripleImpl(triple, salt);
+ return new JenaTripleImpl(triple, salt);
}
public static JenaTripleLike<RDFTerm, RDFTerm, RDFTerm> fromJenaGeneralized(org.apache.jena.graph.Triple triple, UUID salt) {
- return new GeneralizedQuadImpl<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(triple, salt);
+ return new JenaGeneralizedQuad<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(triple, salt);
}
public static JenaQuadLike<RDFTerm,RDFTerm,RDFTerm,RDFTerm> fromJenaGeneralized(org.apache.jena.sparql.core.Quad quad, UUID salt) {
- return new GeneralizedQuadImpl<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(quad, salt);
+ return new JenaGeneralizedQuad<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(quad, salt);
}
public static Quad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
- return new QuadImpl(quad, salt);
+ return new JenaQuadImpl(quad, salt);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c52979ba/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuad.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuad.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuad.java
new file mode 100644
index 0000000..5456ec9
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuad.java
@@ -0,0 +1,136 @@
+/**
+ * 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.Objects;
+import java.util.Optional;
+import java.util.UUID;
+
+import org.apache.commons.rdf.api.QuadLike;
+import org.apache.commons.rdf.api.RDFTerm;
+import org.apache.commons.rdf.jena.JenaQuad;
+import org.apache.commons.rdf.jena.JenaQuadLike;
+import org.apache.commons.rdf.jena.JenaRDFTermFactory;
+import org.apache.commons.rdf.jena.JenaTriple;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.sparql.core.Quad;
+
+/**
+ * A generalized {@link QuadLike}, backed by a Jena {@link Quad} or {@link Triple}.
+ * <p>
+ * This class does not implement any particular {@link #equals(Object)} or
+ * {@link #hashCode()} but can otherwise be used as a base class for both
+ * a {@link JenaTriple} and a {@link JenaQuad}.
+ *
+ * @see JenaTripleImpl
+ * @see JenaQuadImpl
+ * @see JenaFactory#createGeneralizedTriple(RDFTerm, RDFTerm, RDFTerm)
+ * @see JenaFactory#createGeneralizedQuad(RDFTerm, RDFTerm, RDFTerm, RDFTerm)
+ *
+ */
+public class JenaGeneralizedQuad<S extends RDFTerm, P extends RDFTerm, O extends RDFTerm, G extends RDFTerm> implements JenaQuadLike<S,P,O,G> {
+
+ final Optional<G> graphName;
+ final S subject;
+ final P predicate;
+ final O object;
+ org.apache.jena.sparql.core.Quad quad = null;
+ org.apache.jena.graph.Triple triple = null;
+
+ JenaGeneralizedQuad(S subject, P predicate, O object, Optional<G> graphName) {
+ this.subject = Objects.requireNonNull(subject);
+ this.predicate = Objects.requireNonNull(predicate);
+ this.object = Objects.requireNonNull(object);
+ this.graphName = Objects.requireNonNull(graphName);
+ }
+
+ JenaGeneralizedQuad(S subject, P predicate, O object) {
+ this(subject, predicate, object, Optional.empty());
+ }
+
+ @SuppressWarnings("unchecked")
+ JenaGeneralizedQuad(org.apache.jena.sparql.core.Quad quad, UUID salt) {
+ this.quad = Objects.requireNonNull(quad);
+ this.subject = (S) JenaFactory.fromJena(quad.getSubject(), salt);
+ this.predicate = (P) JenaFactory.fromJena(quad.getPredicate(), salt);
+ this.object = (O)JenaFactory.fromJena(quad.getObject(), salt);
+ this.graphName = Optional.of((G) JenaFactory.fromJena(quad.getGraph(), salt));
+ }
+
+ @SuppressWarnings("unchecked")
+ JenaGeneralizedQuad(org.apache.jena.graph.Triple triple, UUID salt) {
+ this.triple = Objects.requireNonNull(triple);
+ this.subject = (S) JenaFactory.fromJena(triple.getSubject(), salt);
+ this.predicate = (P) JenaFactory.fromJena(triple.getPredicate(), salt);
+ this.object = (O)JenaFactory.fromJena(triple.getObject(), salt);
+ this.graphName = Optional.empty();
+ }
+
+ @Override
+ public org.apache.jena.sparql.core.Quad asJenaQuad() {
+ if (quad == null) {
+ quad = org.apache.jena.sparql.core.Quad.create(
+ JenaRDFTermFactory.toJena(graphName.orElse(null)),
+ JenaRDFTermFactory.toJena(subject),
+ JenaRDFTermFactory.toJena(predicate),
+ JenaRDFTermFactory.toJena(object));
+ }
+ return quad;
+ }
+
+ @Override
+ public org.apache.jena.graph.Triple asJenaTriple() {
+ if (triple == null) {
+ triple = org.apache.jena.graph.Triple.create(JenaRDFTermFactory.toJena(subject),
+ JenaRDFTermFactory.toJena(predicate),
+ JenaRDFTermFactory.toJena(object));
+ }
+ return triple;
+ }
+
+ @Override
+ public S getSubject() {
+ return subject;
+ }
+
+ @Override
+ public P getPredicate() {
+ return predicate;
+ }
+
+ @Override
+ public O getObject() {
+ return object;
+ }
+
+ @Override
+ public Optional<G> getGraphName() {
+ return graphName;
+ }
+
+ @Override
+ public String toString() {
+ // kind of nquad syntax
+ return getSubject().ntriplesString() + " " +
+ getPredicate().ntriplesString() + " "
+ + getObject().ntriplesString() + " " +
+ getGraphName().map(RDFTerm::ntriplesString).orElse("") + ".";
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c52979ba/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGraphImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGraphImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGraphImpl.java
new file mode 100644
index 0000000..49a09ae
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGraphImpl.java
@@ -0,0 +1,154 @@
+/**
+ * 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.io.StringWriter;
+import java.util.UUID;
+import java.util.stream.Stream;
+
+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.JenaGraph;
+import org.apache.commons.rdf.jena.JenaRDFTermFactory;
+import org.apache.jena.atlas.iterator.Iter;
+import org.apache.jena.graph.Node;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.ModelFactory;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFDataMgr;
+
+public class JenaGraphImpl implements JenaGraph {
+
+ private org.apache.jena.graph.Graph graph;
+ private UUID salt;
+ private Model model;
+
+ JenaGraphImpl(org.apache.jena.graph.Graph graph, UUID salt) {
+ this.graph = graph;
+ this.salt = salt;
+ }
+
+ JenaGraphImpl(Model model, UUID salt) {
+ this.model = model;
+ this.graph = model.getGraph();
+ this.salt = salt;
+ }
+
+ @Override
+ public void add(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ graph.add(org.apache.jena.graph.Triple.create(
+ JenaRDFTermFactory.toJena(subject),
+ JenaRDFTermFactory.toJena(predicate),
+ JenaRDFTermFactory.toJena(object)));
+ }
+
+ @Override
+ public void add(Triple triple) {
+ graph.add(JenaRDFTermFactory.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(
+ JenaRDFTermFactory.toJena(subject),
+ JenaRDFTermFactory.toJena(predicate),
+ JenaRDFTermFactory.toJena(object));
+ }
+
+ @Override
+ public boolean contains(Triple triple) {
+ return graph.contains(JenaRDFTermFactory.toJena(triple));
+ }
+
+ @Override
+ public void remove(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ graph.delete(org.apache.jena.graph.Triple.create(
+ JenaRDFTermFactory.toJena(subject),
+ JenaRDFTermFactory.toJena(predicate),
+ JenaRDFTermFactory.toJena(object)));
+ }
+
+ @Override
+ public void remove(Triple triple) {
+ graph.delete(JenaRDFTermFactory.toJena(triple));
+ }
+
+ @Override
+ public long size() {
+ return graph.size();
+ }
+
+ @Override
+ public Stream<? extends Triple> stream() {
+ JenaRDFTermFactory factory = new JenaRDFTermFactory(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) {
+ JenaRDFTermFactory factory = new JenaRDFTermFactory(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 JenaRDFTermFactory.toJena(term);
+ }
+
+ @Override
+ public String toString() {
+ StringWriter sw = new StringWriter();
+ RDFDataMgr.write(sw, graph, Lang.NT);
+ return sw.toString();
+ }
+
+ @Override
+ public Model asJenaModel() {
+ if (model == null) {
+ synchronized(this) {
+ // As Model can be used for locks, we should make sure we don't make
+ // more than one model
+ if (model == null) {
+ model = ModelFactory.createModelForGraph(graph);
+ }
+ }
+ }
+ return model;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c52979ba/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaIRIImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaIRIImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaIRIImpl.java
new file mode 100644
index 0000000..2aa170f
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaIRIImpl.java
@@ -0,0 +1,61 @@
+/**
+ * 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.api.IRI;
+import org.apache.commons.rdf.jena.JenaIRI;
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.NodeFactory;
+
+public class JenaIRIImpl extends AbstractJenaRDFTerm implements JenaIRI {
+
+ /* package */ JenaIRIImpl(Node node) {
+ super(node);
+ if (! node.isURI()) {
+ throw new IllegalArgumentException("Node is not a blank node: " + node);
+ }
+
+ }
+
+ /* package */ JenaIRIImpl(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/c52979ba/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaLiteralImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaLiteralImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaLiteralImpl.java
new file mode 100644
index 0000000..5bbc166
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaLiteralImpl.java
@@ -0,0 +1,73 @@
+/**
+ * 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.Objects;
+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 JenaLiteralImpl extends AbstractJenaRDFTerm implements JenaLiteral {
+
+ /* package */ JenaLiteralImpl(Node node) {
+ super(node);
+ if (! node.isLiteral()) {
+ throw new IllegalArgumentException("Node is not a literal: " + node);
+ }
+ }
+
+ @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 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/c52979ba/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaQuadImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaQuadImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaQuadImpl.java
new file mode 100644
index 0000000..0f3e3e3
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaQuadImpl.java
@@ -0,0 +1,66 @@
+/**
+ * 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.Objects;
+import java.util.Optional;
+import java.util.UUID;
+
+import org.apache.commons.rdf.api.BlankNodeOrIRI;
+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.JenaQuad;
+
+public class JenaQuadImpl extends JenaGeneralizedQuad<BlankNodeOrIRI,IRI,RDFTerm,BlankNodeOrIRI>
+ implements JenaQuad {
+
+ JenaQuadImpl(BlankNodeOrIRI subject, IRI predicate, RDFTerm object, Optional<BlankNodeOrIRI> graphName) {
+ super(subject, predicate, object, graphName);
+ }
+
+ JenaQuadImpl(org.apache.jena.sparql.core.Quad quad, UUID salt) {
+ super(quad, salt);
+ // Check the conversion
+ if ((graphName.isPresent() && ! (graphName.get() instanceof BlankNodeOrIRI)) ||
+ ! (subject instanceof BlankNodeOrIRI) ||
+ ! (predicate instanceof IRI) ||
+ ! (object instanceof RDFTerm)) {
+ throw new ConversionException("Can't adapt generalized quad: " + quad);
+ }
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == this)
+ return true;
+ 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 int hashCode() {
+ return Objects.hash(getSubject(), getPredicate(), getObject(), getGraphName());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c52979ba/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaTripleImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaTripleImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaTripleImpl.java
new file mode 100644
index 0000000..4e497f2
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaTripleImpl.java
@@ -0,0 +1,67 @@
+/**
+ * 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.Objects;
+import java.util.UUID;
+
+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;
+
+public class JenaTripleImpl extends JenaGeneralizedQuad<BlankNodeOrIRI, IRI, RDFTerm, RDFTerm>
+ implements JenaTriple {
+
+ JenaTripleImpl(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ super(subject, predicate, object);
+ }
+
+ JenaTripleImpl(org.apache.jena.graph.Triple triple, UUID salt) throws ConversionException {
+ super(triple, salt);
+ // Check the conversion
+ if (! (subject instanceof BlankNodeOrIRI) ||
+ ! (predicate instanceof IRI) ||
+ ! (object instanceof RDFTerm)) {
+ throw new ConversionException("Can't adapt generalized triple: " + quad);
+ }
+ }
+
+ @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 int hashCode() {
+ return Objects.hash(getSubject(), getPredicate(), getObject());
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c52979ba/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaVariableImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaVariableImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaVariableImpl.java
new file mode 100644
index 0000000..8027cf2
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaVariableImpl.java
@@ -0,0 +1,64 @@
+/**
+ * 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.Objects;
+
+import org.apache.commons.rdf.jena.JenaRDFTerm;
+import org.apache.commons.rdf.jena.JenaVariable;
+import org.apache.jena.graph.Node;
+
+public class JenaVariableImpl implements JenaRDFTerm, JenaVariable {
+
+ private Node node;
+
+ JenaVariableImpl(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;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (! (obj instanceof JenaVariable)) {
+ return false;
+ }
+ return Objects.equals(getVariableName(), ((JenaVariable)obj).getVariableName());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c52979ba/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
deleted file mode 100644
index 2750198..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/LiteralImpl.java
+++ /dev/null
@@ -1,73 +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.impl;
-
-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.commons.rdf.jena.JenaLiteral;
-import org.apache.jena.graph.Node;
-
-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
- 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 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/c52979ba/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
deleted file mode 100644
index d68fcaf..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/QuadImpl.java
+++ /dev/null
@@ -1,66 +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.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;
-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.JenaQuad;
-
-public class QuadImpl extends GeneralizedQuadImpl<BlankNodeOrIRI,IRI,RDFTerm,BlankNodeOrIRI>
- implements JenaQuad {
-
- QuadImpl(BlankNodeOrIRI subject, IRI predicate, RDFTerm object, Optional<BlankNodeOrIRI> graphName) {
- super(subject, predicate, object, graphName);
- }
-
- QuadImpl(org.apache.jena.sparql.core.Quad quad, UUID salt) {
- super(quad, salt);
- // Check the conversion
- if ((graphName.isPresent() && ! (graphName.get() instanceof BlankNodeOrIRI)) ||
- ! (subject instanceof BlankNodeOrIRI) ||
- ! (predicate instanceof IRI) ||
- ! (object instanceof RDFTerm)) {
- throw new ConversionException("Can't adapt generalized quad: " + quad);
- }
- }
-
- @Override
- public boolean equals(Object other) {
- if (other == this)
- return true;
- 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 int hashCode() {
- return Objects.hash(getSubject(), getPredicate(), getObject(), getGraphName());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c52979ba/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
deleted file mode 100644
index 9207b38..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/TripleImpl.java
+++ /dev/null
@@ -1,67 +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.impl;
-
-import java.util.Objects;
-import java.util.UUID;
-
-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;
-
-public class TripleImpl extends GeneralizedQuadImpl<BlankNodeOrIRI, IRI, RDFTerm, RDFTerm>
- implements JenaTriple {
-
- TripleImpl(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
- super(subject, predicate, object);
- }
-
- TripleImpl(org.apache.jena.graph.Triple triple, UUID salt) throws ConversionException {
- super(triple, salt);
- // Check the conversion
- if (! (subject instanceof BlankNodeOrIRI) ||
- ! (predicate instanceof IRI) ||
- ! (object instanceof RDFTerm)) {
- throw new ConversionException("Can't adapt generalized triple: " + quad);
- }
- }
-
- @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 int hashCode() {
- return Objects.hash(getSubject(), getPredicate(), getObject());
- }
-
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c52979ba/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
deleted file mode 100644
index b72ecde..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/VariableImpl.java
+++ /dev/null
@@ -1,64 +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.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;
-
-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;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj == this) {
- return true;
- }
- if (! (obj instanceof JenaVariable)) {
- return false;
- }
- return Objects.equals(getVariableName(), ((JenaVariable)obj).getVariableName());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c52979ba/jena/src/test/java/org/apache/commons/rdf/jena/TestRDFParserBuilder.java
----------------------------------------------------------------------
diff --git a/jena/src/test/java/org/apache/commons/rdf/jena/TestRDFParserBuilder.java b/jena/src/test/java/org/apache/commons/rdf/jena/TestRDFParserBuilder.java
index c689d0e..cd57a0e 100644
--- a/jena/src/test/java/org/apache/commons/rdf/jena/TestRDFParserBuilder.java
+++ b/jena/src/test/java/org/apache/commons/rdf/jena/TestRDFParserBuilder.java
@@ -28,8 +28,9 @@ import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import org.apache.commons.rdf.api.Graph;
-import org.apache.commons.rdf.api.RDFParserBuilder.ParseResult;
import org.apache.commons.rdf.api.RDFSyntax;
+import org.apache.commons.rdf.experimental.RDFParser.ParseResult;
+import org.apache.commons.rdf.jena.experimental.JenaRDFParser;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -54,7 +55,7 @@ public class TestRDFParserBuilder {
@Test
public void parseTurtle() throws Exception {
Graph g = new JenaRDFTermFactory().createGraph();
- Future<ParseResult> gFuture = new JenaRDFParserBuilder().contentType(RDFSyntax.TURTLE).source(turtleFile)
+ Future<ParseResult> gFuture = new JenaRDFParser().contentType(RDFSyntax.TURTLE).source(turtleFile)
.target(g).parse();
gFuture.get(5, TimeUnit.SECONDS);
assertEquals(3, g.size());
[49/50] incubator-commonsrdf git commit: Merge branch 'master' into
jena
Posted by st...@apache.org.
Merge branch 'master' into jena
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/4528e695
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/4528e695
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/4528e695
Branch: refs/heads/rdf4j
Commit: 4528e695f5ee1c56e3527dec4a25e8f4685cd702
Parents: 7dd08a2 0beee9d
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Oct 7 15:21:23 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Oct 7 15:21:23 2016 +0100
----------------------------------------------------------------------
jsonld-java/pom.xml | 67 ++++
.../commons/rdf/jsonldjava/JsonLdBlankNode.java | 62 ++++
.../commons/rdf/jsonldjava/JsonLdDataset.java | 115 +++++++
.../commons/rdf/jsonldjava/JsonLdGraph.java | 118 +++++++
.../commons/rdf/jsonldjava/JsonLdGraphLike.java | 220 +++++++++++++
.../commons/rdf/jsonldjava/JsonLdIRI.java | 64 ++++
.../commons/rdf/jsonldjava/JsonLdLiteral.java | 99 ++++++
.../commons/rdf/jsonldjava/JsonLdQuad.java | 66 ++++
.../commons/rdf/jsonldjava/JsonLdQuadLike.java | 75 +++++
.../rdf/jsonldjava/JsonLdRDFTermFactory.java | 306 +++++++++++++++++++
.../commons/rdf/jsonldjava/JsonLdTerm.java | 44 +++
.../commons/rdf/jsonldjava/JsonLdTriple.java | 61 ++++
.../rdf/jsonldjava/JsonLdUnionGraph.java | 118 +++++++
.../jsonldjava/experimental/JsonLdParser.java | 160 ++++++++++
.../jsonldjava/experimental/package-info.java | 34 +++
.../commons/rdf/jsonldjava/package-info.java | 27 ++
.../org.apache.commons.rdf.api.RDFTermFactory | 1 +
jsonld-java/src/main/resources/test.jsonld | 26 ++
.../rdf/jsonldjava/JsonLdBlankNodeTest.java | 24 ++
.../commons/rdf/jsonldjava/JsonLdGraphTest.java | 31 ++
.../rdf/jsonldjava/JsonLdParserBuilderTest.java | 127 ++++++++
.../jsonldjava/JsonLdRDFTermFactoryTest.java | 54 ++++
pom.xml | 14 +
23 files changed, 1913 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/4528e695/pom.xml
----------------------------------------------------------------------
diff --cc pom.xml
index 913a659,235dfa9..2b837c6
--- a/pom.xml
+++ b/pom.xml
@@@ -218,7 -215,7 +218,8 @@@
<modules>
<module>api</module>
<module>simple</module>
+ <module>jena</module>
+ <module>jsonld-java</module>
</modules>
<dependencyManagement>
[25/50] incubator-commonsrdf git commit: COMMONSRDF-33 JavaDoc
enhancement
Posted by st...@apache.org.
COMMONSRDF-33 JavaDoc enhancement
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/b0c55bda
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/b0c55bda
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/b0c55bda
Branch: refs/heads/rdf4j
Commit: b0c55bda2f1381b1b245228d8310c0cf8e7b5035
Parents: 70db409
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Sep 29 00:49:33 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Sep 29 00:49:33 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/jena/JenaRDFTermFactory.java | 202 ++++++++++++++-----
.../rdf/jena/experimental/package-info.java | 3 +-
2 files changed, 149 insertions(+), 56 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/b0c55bda/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index 7359acb..bde5bc4 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -41,6 +41,7 @@ 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.RDFDataMgr;
import org.apache.jena.riot.RDFLanguages;
import org.apache.jena.riot.system.StreamRDF;
import org.apache.jena.riot.system.StreamRDFBase;
@@ -153,6 +154,9 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @see #fromJena(RDFTermFactory, org.apache.jena.graph.Triple)
*
* @param subject The subject of the statement
+ * @param predicate The predicate of the statement
+ * @param object The object of the statement
+
*
* @return Adapted {@link TripleLike}. Note that the generalized triple does
* <strong>not</strong> implement {@link Triple#equals(Object)} or
@@ -181,6 +185,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @param node
* The Jena Node to adapt. It's {@link Node#isConcrete()} must be
* <code>true</code>.
+ * @return Adapted {@link JenaRDFTerm}
* @throws ConversionException
* if the node is not concrete.
*/
@@ -206,6 +211,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @param salt
* UUID salt for the purpose of
* {@link BlankNode#uniqueReference()}
+ * @return Adapted {@link JenaRDFTerm}
* @throws ConversionException
* if the node is not concrete.
*/
@@ -214,7 +220,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
/**
- * Convert from Jena {@link Node} to any RDFCommons implementation.
+ * Convert from Jena {@link Node} to any Commons RDF implementation.
* <p>
* Note that if the {@link Node#isBlank()}, then the factory's
* {@link RDFTermFactory#createBlankNode(String)} will be used, meaning
@@ -228,6 +234,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @param node
* The Jena Node to adapt. It's {@link Node#isConcrete()} must be
* <code>true</code>.
+ * @return Adapted {@link RDFTerm}
* @throws ConversionException
* if the node is not concrete.
*/
@@ -269,8 +276,8 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @see #fromJena(RDFTermFactory, org.apache.jena.graph.Triple)
*
* @param triple
- * Jena triple
- * @return Adapted triple
+ * Jena {@link org.apache.jena.graph.Triple} to adapt
+ * @return Adapted {@link JenaTriple}
* @throws ConversionException
* if any of the triple's nodes are not concrete or the triple
* is a generalized triple
@@ -393,8 +400,8 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
/**
- * Convert from Jena {@link org.apache.jena.graph.Triple} to any RDFCommons
- * implementation.
+ * Convert from Jena {@link org.apache.jena.graph.Triple} to a Commons RDF
+ * {@link Triple}.
* <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
@@ -467,18 +474,22 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
/**
- * Adapt an existing Jena {@link org.apache.jena.graph.Graph} to CommonsRDF {@link Graph}.
+ * Adapt an existing Jena {@link org.apache.jena.graph.Graph} to CommonsRDF
+ * {@link Graph}.
* <p>
- * This does not
- * take a copy, changes to the CommonsRDF Graph are reflected in the jena
- * graph, which is accessible from {@link JenaGraph#asJenaGraph()}.
+ * This does not take a copy, changes to the CommonsRDF Graph are reflected
+ * in the jena graph, which is accessible from
+ * {@link JenaGraph#asJenaGraph()}.
* <p>
* If the graph contains any {@link Node#isBlank()}, then any corresponding
- * {@link BlankNode} will use a {@link UUID} salt from this
- * {@link JenaRDFTermFactory} 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 JenaRDFTermFactory} instance in combination with
+ * {@link Node#getBlankNodeId()} for the purpose of its
+ * {@link BlankNode#uniqueReference()}.
+ *
+ * @param graph
+ * Jena {@link org.apache.jena.graph.Graph} to adapt
+ * @return Adapted {@link JenaGraph}
*/
public JenaGraph fromJena(org.apache.jena.graph.Graph graph) {
return JenaFactory.fromJena(graph, getSalt());
@@ -495,27 +506,32 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* {@link JenaRDFTermFactory} instance
* in combination with {@link Node#getBlankNodeId()}
* for the purpose of its {@link BlankNode#uniqueReference()}.
-
+ * @param model
+ * Jena {@link org.apache.jena.rdf.model.Model} to adapt
+ * @return Adapted {@link JenaGraph}
*/
public JenaGraph fromJena(org.apache.jena.rdf.model.Model model) {
return JenaFactory.fromJena(model, getSalt());
}
/**
- * Adapt an existing Jena {@link org.apache.jena.graph.Graph} to CommonsRDF {@link Graph}.
+ * Adapt an existing Jena {@link org.apache.jena.graph.Graph} to CommonsRDF
+ * {@link Graph}.
* <p>
- * This does not
- * take a copy, changes to the CommonsRDF Graph are reflected in the jena
- * graph, which is accessible from {@link JenaGraph#asJenaGraph()}.
+ * This does not take a copy, changes to the CommonsRDF Graph are reflected
+ * in the jena graph, which is accessible from
+ * {@link JenaGraph#asJenaGraph()}.
* <p>
* If the graph 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()}.
+ * {@link BlankNode} will use the provided {@link UUID} salt in combination
+ * with {@link Node#getBlankNodeId()} for the purpose of its
+ * {@link BlankNode#uniqueReference()}.
*
- * @param graph Jena graph to adapt
- * @param salt A {@link UUID} salt for adapting any {@link BlankNode}s
- * @return Adapted graph
+ * @param graph
+ * Jena {@link org.apache.jena.graph.Graph} to adapt
+ * @param salt
+ * A {@link UUID} salt for adapting any {@link BlankNode}s
+ * @return Adapted {@link JenaGraph}
*/
public static JenaGraph fromJena(org.apache.jena.graph.Graph graph, UUID salt) {
return JenaFactory.fromJena(graph, salt);
@@ -534,8 +550,8 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* in combination with {@link Node#getBlankNodeId()}
* for the purpose of its {@link BlankNode#uniqueReference()}.
*
- * @param datasetGraph Jena dataset graph to adapt
- * @return Adapted dataset
+ * @param datasetGraph Jena {@link DatasetGraph} to adapt
+ * @return Adapted {@link JenaDataset}
*/
public JenaDataset fromJena(DatasetGraph datasetGraph) {
return JenaFactory.fromJena(datasetGraph, getSalt());
@@ -554,44 +570,46 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* in combination with {@link Node#getBlankNodeId()}
* for the purpose of its {@link BlankNode#uniqueReference()}.
*
- * @param datasetGraph Jena dataset graph to adapt
- * @return Adapted dataset
+ * @param datasetGraph Jena {@link org.apache.jena.query.Dataset} to adapt
+ * @return Adapted {@link JenaDataset}
*/
public JenaDataset fromJena(org.apache.jena.query.Dataset datasetGraph) {
return JenaFactory.fromJena(datasetGraph.asDatasetGraph(), getSalt());
}
/**
- * Adapt an existing Jena {@link DatasetGraph} to CommonsRDF {@link Dataset}.
+ * Adapt an existing Jena {@link DatasetGraph} to CommonsRDF
+ * {@link Dataset}.
* <p>
- * This does not
- * take a copy, changes to the CommonsRDF Dataset are reflected in the jena
- * dataset graph, which is accessible from {@link JenaDataset#asJenaDatasetGraph()}.
+ * This does not take a copy, changes to the CommonsRDF Dataset are
+ * reflected in the jena dataset graph, which is accessible from
+ * {@link JenaDataset#asJenaDatasetGraph()}.
* <p>
- * If the dataset 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()}.
+ * If the dataset 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()}.
*
- * @param datasetGraph Jena dataset graph to adapt
- * @param salt A {@link UUID} salt for adapting any {@link BlankNode}s
- * @return Adapted dataset
+ * @param datasetGraph
+ * Jena {@link DatasetGraph} to adapt
+ * @param salt
+ * A {@link UUID} salt for adapting any {@link BlankNode}s
+ * @return Adapted {@link JenaDataset}
*/
public static JenaDataset fromJena(DatasetGraph datasetGraph, UUID salt) {
return JenaFactory.fromJena(datasetGraph, salt);
}
/**
- * Convert from Jena to any RDFCommons implementation. This is a copy, even
- * if the factory is a RDFTermFactoryJena. Use
+ * Convert from Jena to any Commons RDF implementation. This is a copy, even
+ * if the factory is a JenaRDFTermFactory. Use
* {@link #fromJena(org.apache.jena.graph.Graph)} for a wrapper.
+ *
+ * @param factory {@link RDFTermFactory} to use for creating {@link RDFTerm}s
+ * @param graph Jena {@link org.apache.jena.graph.Graph} to copy
+ * @return Converted Graph
*/
public static Graph fromJena(RDFTermFactory factory, org.apache.jena.graph.Graph graph) {
- if (factory instanceof JenaRDFTermFactory) {
- // No need to convert, just wrap
- return ((JenaRDFTermFactory)factory).fromJena(graph);
- }
-
Graph g = factory.createGraph();
graph.find(Node.ANY, Node.ANY, Node.ANY).forEachRemaining(t -> {
g.add(fromJena(factory, t));
@@ -599,6 +617,29 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
return g;
}
+ /**
+ * Convert from Jena {@link org.apache.jena.sparql.core.Quad} to a Commons
+ * RDF {@link Quad}.
+ * <p>
+ * Note that if any of the quad'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.sparql.core.Quad)
+ * @see #fromJena(org.apache.jena.sparql.core.Quad, UUID)
+ * @see #fromJenaGeneralized(org.apache.jena.sparql.core.Quad)
+ *
+ * @param factory
+ * {@link RDFTermFactory} to use for creating the {@link Triple}
+ * and its {@link RDFTerm}s.
+ * @param quad
+ * Jena {@link org.apache.jena.sparql.core.Quad} to adapt
+ * @return Converted {@link Quad}
+ * @throws ConversionException
+ * if any of the quad's nodes are not concrete or the quad
+ * is a generalized quad
+ */
public static Quad fromJena(RDFTermFactory factory, org.apache.jena.sparql.core.Quad quad) {
if (factory instanceof JenaRDFTermFactory) {
// No need to convert, just wrap
@@ -620,8 +661,19 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
/**
- * Create a {@link StreamRDF} that inserts into any RDFCommons
- * implementation of Graph
+ * Create a {@link StreamRDF} instance that inserts the converted
+ * {@link Quad}s. into a the provided {@link Consumer}.
+ * <p>
+ * The returned {@link StreamRDF} can be used for instance with Jena's
+ * {@link RDFDataMgr#parse(StreamRDF, String)}.
+ *
+ * @param factory
+ * {@link RDFTermFactory} to use for creating {@link RDFTerm}s
+ * and {@link Quad}s.
+ * @param consumer
+ * A {@link Consumer} of {@link Quad}s
+ * @return A {@link StreamRDF} that will stream converted quads to the
+ * consumer
*/
public static StreamRDF streamJenaToCommonsRDF(RDFTermFactory factory, Consumer<Quad> consumer) {
return new StreamRDFBase() {
@@ -633,8 +685,20 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
/**
- * Create a {@link StreamRDF} that inserts into any RDFCommons
- * implementation of Graph
+ * Create a {@link StreamRDF} instance that inserts generalized
+ * {@link TripleLike}s. into a the provided {@link Consumer}.
+ * <p>
+ * A generalized triple allows any {@link RDFTerm} for
+ * {@link TripleLike#getSubject()}, {@link TripleLike#getPredicate()} and
+ * {@link TripleLike#getObject()}.
+ * <p>
+ * The returned {@link StreamRDF} can be used for instance with Jena's
+ * {@link RDFDataMgr#parse(StreamRDF, String)}.
+ *
+ * @param generalizedConsumer
+ * A {@link Consumer} of generalized {@link TripleLike}s
+ * @return A {@link StreamRDF} that will stream generalized triples to the
+ * consumer
*/
public StreamRDF streamJenaToGeneralizedTriple(Consumer<TripleLike<RDFTerm, RDFTerm, RDFTerm>> generalizedConsumer) {
return new StreamRDFBase() {
@@ -646,8 +710,20 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
/**
- * Create a {@link StreamRDF} that inserts into any RDFCommons
- * implementation of Graph
+ * Create a {@link StreamRDF} instance that inserts generalized
+ * {@link QuadLike}s. into a the provided {@link Consumer}.
+ * <p>
+ * A generalized quad allows any {@link RDFTerm} for
+ * {@link QuadLike#getSubject()}, {@link TripleLike#getPredicate()},
+ * {@link QuadLike#getObject()} and {@link QuadLike#getGraphName()} .
+ * <p>
+ * The returned {@link StreamRDF} can be used for instance with Jena's
+ * {@link RDFDataMgr#parse(StreamRDF, String)}.
+ *
+ * @param generalizedConsumer
+ * A {@link Consumer} of generalized {@link QuadLike}s
+ * @return A {@link StreamRDF} that will stream generalized quads to the
+ * consumer
*/
public StreamRDF streamJenaToGeneralizedQuad(Consumer<QuadLike<RDFTerm, RDFTerm, RDFTerm, RDFTerm>> generalizedConsumer) {
return new StreamRDFBase() {
@@ -662,6 +738,9 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* 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.
+ *
+ * @param graph Commons RDF {@link Graph} to convert
+ * @return Converted Jena {@link org.apache.jena.graph.Graph}
*/
public static org.apache.jena.graph.Graph toJena(Graph graph) {
if (graph instanceof JenaGraph)
@@ -675,6 +754,9 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* 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.
+ *
+ * @param term Commons RDF {@link RDFTerm} to convert
+ * @return Converted Jena {@link Node}
*/
public static Node toJena(RDFTerm term) {
if (term == null) {
@@ -709,6 +791,9 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* <p>
* If the triple was from Jena originally, return that original object, else
* create a copy using Jena objects.
+ *
+ * @param triple Commons RDF {@link Triple} to convert
+ * @return Converted Jena {@link org.apache.jena.graph.Triple}
*/
public static org.apache.jena.graph.Triple toJena(Triple triple) {
if (triple instanceof JenaTriple)
@@ -726,6 +811,9 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* <p>
* If the quad was from Jena originally, return that original object,
* otherwise create a copy using Jena objects.
+ *
+ * @param quad Commons RDF {@link Quad} to convert
+ * @return Converted Jena {@link org.apache.jena.sparql.core.Quad}
*/
public static org.apache.jena.sparql.core.Quad toJena(Quad quad) {
if (quad instanceof JenaQuad) {
@@ -754,10 +842,16 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
/**
- * Return the {@link UUID} salt.
+ * Return the {@link UUID} salt used by this factory.
* <p>
* The salt is used for the purposes of {@link BlankNode} identity, see
* {@link BlankNode#uniqueReference()} for details.
+ * <p>
+ * This salt can be used with the constructor
+ * {@link JenaRDFTermFactory#JenaRDFTermFactory(UUID)} or
+ * methods like {@link #fromJena(Node, UUID)} and
+ * {@link #fromJena(org.apache.jena.graph.Triple, UUID)}
+ * to ensure consistent {@link BlankNode}s.
*
* @return The {@link UUID} used as salt
*/
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/b0c55bda/jena/src/main/java/org/apache/commons/rdf/jena/experimental/package-info.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/experimental/package-info.java b/jena/src/main/java/org/apache/commons/rdf/jena/experimental/package-info.java
index 9fe39f4..aa2201d 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/experimental/package-info.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/experimental/package-info.java
@@ -24,11 +24,10 @@
* <p>
* When a class has stabilized, it will move to the
* {@link org.apache.commons.rdf.jena} package.
- * <p>
* <ul>
* <li>{@link JenaRDFParser} - a Jena-backed
* implementations of
- * {@link org.apache.commons.rdf.api.experimental.RDFParser}.</li>
+ * {@link org.apache.commons.rdf.experimental.RDFParser}.</li>
* </ul>
*/
package org.apache.commons.rdf.jena.experimental;
\ No newline at end of file
[13/50] incubator-commonsrdf git commit: Remove UUID-less helper
methods
Posted by st...@apache.org.
Remove UUID-less helper methods
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/4e9b11b1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/4e9b11b1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/4e9b11b1
Branch: refs/heads/rdf4j
Commit: 4e9b11b1f352897f0d7b9fd5334d73f3ace375e0
Parents: 7fb1d88
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Sep 8 15:28:17 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Sep 8 15:29:15 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/jena/impl/JenaFactory.java | 32 ++++++++------------
.../commons/rdf/jena/TestBlankNodeJena.java | 6 ++--
2 files changed, 16 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/4e9b11b1/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 bc0ae0f..7a6a7ab 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
@@ -37,6 +37,7 @@ import org.apache.commons.rdf.jena.JenaLiteral;
import org.apache.commons.rdf.jena.JenaQuad;
import org.apache.commons.rdf.jena.JenaQuadLike;
import org.apache.commons.rdf.jena.JenaRDFTerm;
+import org.apache.commons.rdf.jena.JenaRDFTermFactory;
import org.apache.commons.rdf.jena.JenaTriple;
import org.apache.commons.rdf.jena.JenaTripleLike;
import org.apache.commons.rdf.jena.JenaVariable;
@@ -47,10 +48,18 @@ import org.apache.jena.sparql.core.DatasetGraph;
import org.apache.jena.sparql.core.DatasetGraphFactory;
import org.apache.jena.sparql.graph.GraphFactory;
+/**
+ * Construct Jena implementations of Commons RDF.
+ * <p>
+ * This class is primarily an internal helper class, users should instead use
+ * {@link JenaRDFTermFactory}.
+ * <p>
+ * For the purpose of blank node identity, some of
+ * these methods require a {@link UUID} to use as a salt.
+ * See {@link BlankNode#uniqueReference()} for details.
+ *
+ */
public class JenaFactory {
- public static BlankNode createBlankNode() {
- return new BlankNodeImpl(NodeFactory.createBlankNode(), UUID.randomUUID());
- }
public static JenaBlankNode createBlankNode(String id, UUID salt) {
return new BlankNodeImpl(NodeFactory.createBlankNode(id), salt);
@@ -59,21 +68,12 @@ public class JenaFactory {
public static JenaBlankNode createBlankNode(UUID salt) {
return new BlankNodeImpl(NodeFactory.createBlankNode(), salt);
}
-
- public static Dataset createDataset() {
- return createDataset(UUID.randomUUID());
- }
-
public static Dataset createDataset(UUID salt) {
DatasetGraph dg = DatasetGraphFactory.createGeneral();
// Or which createMethod() -- a bit confusing with lots of choice..
return new DatasetImpl(dg, salt);
}
- public static JenaGraph createGraph() {
- return createGraph(UUID.randomUUID());
- }
-
public static JenaGraph createGraph(UUID salt) {
return new GraphImpl(GraphFactory.createDefaultGraph(), salt);
}
@@ -144,10 +144,6 @@ public class JenaFactory {
throw new IllegalArgumentException("Unrecognized node type: " + node);
}
- public static JenaGraph fromJena(org.apache.jena.graph.Graph graph) {
- return new GraphImpl(graph, UUID.randomUUID());
- }
-
public static JenaGraph fromJena(org.apache.jena.graph.Graph graph, UUID salt) {
return new GraphImpl(graph, salt);
}
@@ -156,10 +152,6 @@ public class JenaFactory {
return new GraphImpl(model, salt);
}
- public static JenaDataset fromJena(DatasetGraph datasetGraph) {
- return new DatasetImpl(datasetGraph, UUID.randomUUID());
- }
-
public static JenaDataset fromJena(DatasetGraph datasetGraph, UUID salt) {
return new DatasetImpl(datasetGraph, salt);
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/4e9b11b1/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java
----------------------------------------------------------------------
diff --git a/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java b/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java
index 10edd09..f37922f 100644
--- a/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java
+++ b/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java
@@ -26,12 +26,14 @@ import org.apache.commons.rdf.jena.impl.JenaFactory;
public class TestBlankNodeJena extends AbstractBlankNodeTest {
-
+ /**
+ * Fixed salt for the purpose of this test.
+ */
private static final UUID SALT = UUID.fromString("ccfde817-55b8-4a5f-bc2d-6bfd8eaa41ce");
@Override
protected BlankNode getBlankNode() {
- return JenaFactory.createBlankNode() ;
+ return JenaFactory.createBlankNode(SALT) ;
}
@Override
[36/50] incubator-commonsrdf git commit: Option... instead of boolean
parameters
Posted by st...@apache.org.
Option... instead of boolean parameters
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/7f4fe0b0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/7f4fe0b0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/7f4fe0b0
Branch: refs/heads/rdf4j
Commit: 7f4fe0b04b3c56c4c205fbc55a9e1045ecce0d36
Parents: 756977a
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Oct 7 09:12:37 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Oct 7 09:12:37 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/rdf4j/RDF4JTermFactory.java | 96 +++++++++-----------
1 file changed, 45 insertions(+), 51 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/7f4fe0b0/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JTermFactory.java
----------------------------------------------------------------------
diff --git a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JTermFactory.java b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JTermFactory.java
index d35ed47..634648a 100644
--- a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JTermFactory.java
+++ b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JTermFactory.java
@@ -17,6 +17,8 @@
*/
package org.apache.commons.rdf.rdf4j;
+import java.util.Arrays;
+import java.util.EnumSet;
import java.util.Objects;
import java.util.Set;
import java.util.UUID;
@@ -102,6 +104,19 @@ public final class RDF4JTermFactory implements RDFTermFactory {
private static InternalRDF4JFactory rdf4j = new InternalRDF4JFactory() {
};
+ public enum Option {
+ /**
+ * The Graph/Dataset should include any inferred statements
+ */
+ includeInferred,
+ /**
+ * The graph/dataset should handle {@link Repository#initialize()} (if
+ * needed) and {@link Repository#shutDown()} on {@link Graph#close()} /
+ * {@link Dataset#close()}.
+ */
+ handleInitAndShutdown
+ }
+
/**
* Adapt a RDF4J {@link Value} as a Commons RDF {@link RDFTerm}.
* <p>
@@ -266,34 +281,18 @@ public final class RDF4JTermFactory implements RDFTermFactory {
* {@link RepositoryConnection}s, including
* {@link RDF4JDataset#iterate()},
* {@link RDF4JDataset#stream()} and {@link RDF4JDataset#getGraphNames()}.
- *
- * @param repository
- * RDF4J {@link Repository} to connect to.
- * @return A {@link Dataset} backed by the RDF4J repository.
- */
- public RDF4JDataset asRDFTermDataset(Repository repository) {
- return rdf4j.createRepositoryDatasetImpl(repository, false, false);
- }
-
- /**
- * Adapt an RDF4J {@link Repository} as a Commons RDF {@link Dataset}.
- * <p>
- * Changes to the dataset are reflected in the repository, and vice versa.
- * <p>
- * <strong>Note:</strong> Some operations on the {@link RDF4JDataset}
- * requires the use of try-with-resources to close underlying
- * {@link RepositoryConnection}s, including
- * {@link RDF4JDataset#iterate()},
- * {@link RDF4JDataset#stream()} and {@link RDF4JDataset#getGraphNames()}.
*
* @param repository
* RDF4J {@link Repository} to connect to.
- * @param includeInferred
- * If true, any inferred quads are included in the dataset
+ * @param options
+ * Zero or more {@link Option}
* @return A {@link Dataset} backed by the RDF4J repository.
*/
- public RDF4JDataset asRDFTermDataset(Repository repository, boolean includeInferred) {
- return rdf4j.createRepositoryDatasetImpl(repository, false, includeInferred);
+ public RDF4JDataset asRDFTermDataset(Repository repository, Option... options) {
+ EnumSet<Option> opts = optionSet(options);
+ return rdf4j.createRepositoryDatasetImpl(repository,
+ opts.contains(Option.handleInitAndShutdown),
+ opts.contains(Option.includeInferred));
}
/**
@@ -325,10 +324,16 @@ public final class RDF4JTermFactory implements RDFTermFactory {
*
* @param repository
* RDF4J {@link Repository} to connect to.
+ * @param options
+ * Zero or more {@link Option}
* @return A {@link Graph} backed by the RDF4J repository.
*/
- public RDF4JGraph asRDFTermGraph(Repository repository) {
- return rdf4j.createRepositoryGraphImpl(repository, false, false);
+ public RDF4JGraph asRDFTermGraph(Repository repository, Option... options) {
+ EnumSet<Option> opts = optionSet(options);
+ return rdf4j.createRepositoryGraphImpl(repository,
+ opts.contains(Option.handleInitAndShutdown),
+ opts.contains(Option.includeInferred),
+ new Resource[0]);
}
/**
@@ -368,36 +373,19 @@ public final class RDF4JTermFactory implements RDFTermFactory {
* names to use as a context. The set may include the value
* <code>null</code> to indicate the default graph. The empty set
* indicates any context, e.g. the <em>union graph</em>.
- *
+ * @param option
+ * Zero or more {@link Option}s
* @return A {@link Graph} backed by the RDF4J repository.
*/
- public RDF4JGraph asRDFTermGraph(Repository repository, Set<? extends BlankNodeOrIRI> contexts) {
+ public RDF4JGraph asRDFTermGraph(Repository repository, Set<? extends BlankNodeOrIRI> contexts,
+ Option... option) {
+ EnumSet<Option> opts = optionSet(option);
/** NOTE: asValue() deliberately CAN handle <code>null</code> */
Resource[] resources = contexts.stream().map(g -> (Resource) asValue(g)).toArray(Resource[]::new);
- return rdf4j.createRepositoryGraphImpl(Objects.requireNonNull(repository), false, true, resources);
- }
-
- /**
- * Adapt an RDF4J {@link Repository} as a Commons RDF {@link Graph}.
- * <p>
- * The graph will include triples in any contexts (e.g. the union graph).
- * <p>
- * Changes to the graph are reflected in the repository, and vice versa.
- * <p>
- * <strong>Note:</strong> Some operations on the {@link RDF4JGraph}
- * requires the use of try-with-resources to close underlying
- * {@link RepositoryConnection}s, including
- * {@link RDF4JGraph#iterate()} and
- * {@link RDF4JGraph#stream()}.
- *
- * @param repository
- * RDF4J {@link Repository} to connect to.
- * @param includeInferred
- * If true, any inferred triples are included in the graph
- * @return A {@link Graph} backed by the RDF4J repository.
- */
- public RDF4JGraph asRDFTermGraph(Repository repository, boolean includeInferred) {
- return rdf4j.createRepositoryGraphImpl(repository, false, includeInferred);
+ return rdf4j.createRepositoryGraphImpl(Objects.requireNonNull(repository),
+ opts.contains(Option.handleInitAndShutdown),
+ opts.contains(Option.includeInferred),
+ resources);
}
/**
@@ -598,4 +586,10 @@ public final class RDF4JTermFactory implements RDFTermFactory {
return valueFactory;
}
+ private EnumSet<Option> optionSet(Option... options) {
+ EnumSet<Option> opts = EnumSet.noneOf(Option.class);
+ opts.addAll(Arrays.asList(options));
+ return opts;
+ }
+
}
[20/50] incubator-commonsrdf git commit: COMMONSRDF-39 JenaRDFParser
moved to package ...jena.experimental
Posted by st...@apache.org.
COMMONSRDF-39 JenaRDFParser moved to package ...jena.experimental
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/4416acc1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/4416acc1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/4416acc1
Branch: refs/heads/rdf4j
Commit: 4416acc1bdbcb8192475c93aeaec8dae73e6f1cc
Parents: 2eb821d
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Wed Sep 28 14:25:07 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Wed Sep 28 14:25:07 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/jena/JenaRDFParserBuilder.java | 103 ------------------
.../rdf/jena/experimental/JenaRDFParser.java | 105 +++++++++++++++++++
.../rdf/jena/experimental/package-info.java | 34 ++++++
3 files changed, 139 insertions(+), 103 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/4416acc1/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
deleted file mode 100644
index 2149932..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFParserBuilder.java
+++ /dev/null
@@ -1,103 +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.io.IOException;
-import java.io.InputStream;
-import java.nio.file.Files;
-import java.util.function.Consumer;
-
-import org.apache.commons.rdf.api.IRI;
-import org.apache.commons.rdf.api.QuadLike;
-import org.apache.commons.rdf.api.RDFParserBuilder;
-import org.apache.commons.rdf.api.RDFTerm;
-import org.apache.commons.rdf.api.RDFTermFactory;
-import org.apache.commons.rdf.api.TripleLike;
-import org.apache.commons.rdf.simple.AbstractRDFParserBuilder;
-import org.apache.jena.graph.Graph;
-import org.apache.jena.riot.Lang;
-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 {
-
- private Consumer<TripleLike<RDFTerm, RDFTerm, RDFTerm>> generalizedConsumerTriple;
- private Consumer<QuadLike<RDFTerm, RDFTerm, RDFTerm, RDFTerm>> generalizedConsumerQuad;
-
- protected RDFTermFactory createRDFTermFactory() {
- return new JenaRDFTermFactory();
- }
-
- public JenaRDFParserBuilder targetGeneralizedTriple(Consumer<TripleLike<RDFTerm,RDFTerm,RDFTerm>> consumer) {
- JenaRDFParserBuilder c = this.clone();
- c.resetTarget();
- c.generalizedConsumerTriple = consumer;
- return c;
- }
-
- public JenaRDFParserBuilder targetGeneralizedQuad(Consumer<QuadLike<RDFTerm,RDFTerm,RDFTerm,RDFTerm>> consumer) {
- JenaRDFParserBuilder c = this.clone();
- c.resetTarget();
- c.generalizedConsumerQuad = consumer;
- return c;
- }
-
- @Override
- protected void resetTarget() {
- super.resetTarget();
- this.generalizedConsumerTriple = null;
- this.generalizedConsumerQuad = null;
- }
-
- @Override
- protected void parseSynchronusly() throws IOException {
- StreamRDF dest;
- if (getTargetGraph().isPresent() && getTargetGraph().get() instanceof JenaGraph) {
- Graph jenaGraph = ((JenaGraph) getTargetGraph().get()).asJenaGraph();
- dest = StreamRDFLib.graph(jenaGraph);
- } else if (generalizedConsumerQuad != null) {
- dest = getJenaFactory().streamJenaToGeneralizedQuad(generalizedConsumerQuad);
- } else if (generalizedConsumerTriple != null) {
- dest = getJenaFactory().streamJenaToGeneralizedTriple(generalizedConsumerTriple);
- } else {
- dest = JenaRDFTermFactory.streamJenaToCommonsRDF(getRdfTermFactory().get(), getTarget());
- }
-
- Lang lang = getContentTypeSyntax().flatMap(JenaRDFTermFactory::rdfSyntaxToLang).orElse(null);
- String baseStr = getBase().map(IRI::getIRIString).orElse(null);
-
- if (getSourceIri().isPresent()) {
- RDFDataMgr.parse(dest, getSourceIri().get().toString(), baseStr, lang, null);
- } else if (getSourceFile().isPresent()) {
- try (InputStream s = Files.newInputStream(getSourceFile().get())) {
- RDFDataMgr.parse(dest, s, baseStr, lang, null);
- }
- } else {
- RDFDataMgr.parse(dest, getSourceInputStream().get(), baseStr, lang, null);
- }
- }
-
- private JenaRDFTermFactory getJenaFactory() {
- return (JenaRDFTermFactory) getRdfTermFactory()
- .filter(JenaRDFTermFactory.class::isInstance)
- .orElseGet(this::createRDFTermFactory);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/4416acc1/jena/src/main/java/org/apache/commons/rdf/jena/experimental/JenaRDFParser.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/experimental/JenaRDFParser.java b/jena/src/main/java/org/apache/commons/rdf/jena/experimental/JenaRDFParser.java
new file mode 100644
index 0000000..873f1cf
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/experimental/JenaRDFParser.java
@@ -0,0 +1,105 @@
+/**
+ * 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.experimental;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.file.Files;
+import java.util.function.Consumer;
+
+import org.apache.commons.rdf.api.IRI;
+import org.apache.commons.rdf.api.QuadLike;
+import org.apache.commons.rdf.api.RDFTerm;
+import org.apache.commons.rdf.api.RDFTermFactory;
+import org.apache.commons.rdf.api.TripleLike;
+import org.apache.commons.rdf.experimental.RDFParser;
+import org.apache.commons.rdf.jena.JenaGraph;
+import org.apache.commons.rdf.jena.JenaRDFTermFactory;
+import org.apache.commons.rdf.simple.experimental.AbstractRDFParser;
+import org.apache.jena.graph.Graph;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFDataMgr;
+import org.apache.jena.riot.system.StreamRDF;
+import org.apache.jena.riot.system.StreamRDFLib;
+
+public class JenaRDFParser extends AbstractRDFParser<JenaRDFParser> implements RDFParser {
+
+ private Consumer<TripleLike<RDFTerm, RDFTerm, RDFTerm>> generalizedConsumerTriple;
+ private Consumer<QuadLike<RDFTerm, RDFTerm, RDFTerm, RDFTerm>> generalizedConsumerQuad;
+
+ protected RDFTermFactory createRDFTermFactory() {
+ return new JenaRDFTermFactory();
+ }
+
+ public JenaRDFParser targetGeneralizedTriple(Consumer<TripleLike<RDFTerm,RDFTerm,RDFTerm>> consumer) {
+ JenaRDFParser c = this.clone();
+ c.resetTarget();
+ c.generalizedConsumerTriple = consumer;
+ return c;
+ }
+
+ public JenaRDFParser targetGeneralizedQuad(Consumer<QuadLike<RDFTerm,RDFTerm,RDFTerm,RDFTerm>> consumer) {
+ JenaRDFParser c = this.clone();
+ c.resetTarget();
+ c.generalizedConsumerQuad = consumer;
+ return c;
+ }
+
+ @Override
+ protected void resetTarget() {
+ super.resetTarget();
+ this.generalizedConsumerTriple = null;
+ this.generalizedConsumerQuad = null;
+ }
+
+ @Override
+ protected void parseSynchronusly() throws IOException {
+ StreamRDF dest;
+ if (getTargetGraph().isPresent() && getTargetGraph().get() instanceof JenaGraph) {
+ Graph jenaGraph = ((JenaGraph) getTargetGraph().get()).asJenaGraph();
+ dest = StreamRDFLib.graph(jenaGraph);
+ } else if (generalizedConsumerQuad != null) {
+ dest = getJenaFactory().streamJenaToGeneralizedQuad(generalizedConsumerQuad);
+ } else if (generalizedConsumerTriple != null) {
+ dest = getJenaFactory().streamJenaToGeneralizedTriple(generalizedConsumerTriple);
+ } else {
+ dest = JenaRDFTermFactory.streamJenaToCommonsRDF(getRdfTermFactory().get(), getTarget());
+ }
+
+ Lang lang = getContentTypeSyntax().flatMap(JenaRDFTermFactory::rdfSyntaxToLang).orElse(null);
+ String baseStr = getBase().map(IRI::getIRIString).orElse(null);
+
+ if (getSourceIri().isPresent()) {
+ RDFDataMgr.parse(dest, getSourceIri().get().toString(), baseStr, lang, null);
+ } else if (getSourceFile().isPresent()) {
+ try (InputStream s = Files.newInputStream(getSourceFile().get())) {
+ RDFDataMgr.parse(dest, s, baseStr, lang, null);
+ }
+ } else {
+ RDFDataMgr.parse(dest, getSourceInputStream().get(), baseStr, lang, null);
+ }
+ }
+
+ private JenaRDFTermFactory getJenaFactory() {
+ return (JenaRDFTermFactory) getRdfTermFactory()
+ .filter(JenaRDFTermFactory.class::isInstance)
+ .orElseGet(this::createRDFTermFactory);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/4416acc1/jena/src/main/java/org/apache/commons/rdf/jena/experimental/package-info.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/experimental/package-info.java b/jena/src/main/java/org/apache/commons/rdf/jena/experimental/package-info.java
new file mode 100644
index 0000000..9fe39f4
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/experimental/package-info.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.
+ */
+/**
+ * Experimental Commons RDF Jena implementations.
+ * <p>
+ * Classes in this package should be considered <strong>at
+ * risk</strong>; they might change or be removed in the next minor update of
+ * Commons RDF.
+ * <p>
+ * When a class has stabilized, it will move to the
+ * {@link org.apache.commons.rdf.jena} package.
+ * <p>
+ * <ul>
+ * <li>{@link JenaRDFParser} - a Jena-backed
+ * implementations of
+ * {@link org.apache.commons.rdf.api.experimental.RDFParser}.</li>
+ * </ul>
+ */
+package org.apache.commons.rdf.jena.experimental;
\ No newline at end of file
[40/50] incubator-commonsrdf git commit: about ConversionException
Posted by st...@apache.org.
about ConversionException
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/afbcf114
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/afbcf114
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/afbcf114
Branch: refs/heads/rdf4j
Commit: afbcf114dbe296d7e20eec26c437a7e0a7dddbf9
Parents: fd87f5a
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Oct 7 09:42:26 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Oct 7 09:42:26 2016 +0100
----------------------------------------------------------------------
.../org/apache/commons/rdf/jena/JenaRDFTermFactory.java | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/afbcf114/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index 6793335..5b9bebc 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -212,8 +212,9 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* The Jena Node to adapt. It's {@link Node#isConcrete()} must be
* <code>true</code>.
* @return Adapted {@link JenaRDFTerm}
- * @throws ConversionException
- * if the node is not concrete.
+ * @throws ConversionException If the {@link Node} can't be represented as an {@link RDFTerm}, e.g.
+ * if the node is not {@link Node#isConcrete()},
+ * is {@link Node#isVariable()}, or is {@link Node.ANY}
*/
public JenaRDFTerm fromJena(Node node) throws ConversionException {
return JenaFactory.fromJena(node, getSalt());
@@ -238,8 +239,9 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* UUID salt for the purpose of
* {@link BlankNode#uniqueReference()}
* @return Adapted {@link JenaRDFTerm}
- * @throws ConversionException
- * if the node is not concrete.
+ * @throws ConversionException If the {@link Node} can't be represented as an {@link RDFTerm}, e.g.
+ * if the node is not {@link Node#isConcrete()},
+ * is {@link Node#isVariable()}, or is {@link Node.ANY}
*/
public static JenaRDFTerm fromJena(Node node, UUID salt) {
return JenaFactory.fromJena(node, salt);
[39/50] incubator-commonsrdf git commit: removed fromJenaGeneralized
Posted by st...@apache.org.
removed fromJenaGeneralized
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/fd87f5ae
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/fd87f5ae
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/fd87f5ae
Branch: refs/heads/rdf4j
Commit: fd87f5ae93fdec379feadda162a9ed41c92885de
Parents: 3fdb27f
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Oct 7 09:39:23 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Oct 7 09:39:23 2016 +0100
----------------------------------------------------------------------
.../main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java | 4 ----
1 file changed, 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/fd87f5ae/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 2f75436..b349df8 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
@@ -110,10 +110,6 @@ public class JenaFactory {
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 JenaIRIImpl(node);
}
[03/50] incubator-commonsrdf git commit: RDFTermFactoryJena ->
JenaRDFTermFactory
Posted by st...@apache.org.
RDFTermFactoryJena -> JenaRDFTermFactory
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/76dbe500
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/76dbe500
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/76dbe500
Branch: refs/heads/rdf4j
Commit: 76dbe500114bba89a9eef542c432dddb83c4c16b
Parents: 0f34972
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Jul 8 14:07:55 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Jul 8 14:07:55 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/jena/JenaRDFParserBuilder.java | 6 +-
.../commons/rdf/jena/JenaRDFTermFactory.java | 543 +++++++++++++++++++
.../commons/rdf/jena/RDFTermFactoryJena.java | 543 -------------------
.../rdf/jena/impl/GeneralizedTripleImpl.java | 6 +-
.../apache/commons/rdf/jena/impl/GraphImpl.java | 32 +-
.../apache/commons/rdf/jena/impl/QuadImpl.java | 10 +-
.../commons/rdf/jena/impl/TripleImpl.java | 6 +-
.../commons/rdf/jena/TestBlankNodeJena.java | 8 +-
.../apache/commons/rdf/jena/TestGraphJena.java | 2 +-
.../jena/TestJenaGraphToCommonsRDFGraph.java | 4 +-
.../commons/rdf/jena/TestRDFParserBuilder.java | 2 +-
.../rdf/jena/TestRDFTermFactoryJena.java | 2 +-
12 files changed, 584 insertions(+), 580 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/76dbe500/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 e0eb19d..9b5ac29 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
@@ -35,7 +35,7 @@ import org.apache.jena.riot.system.StreamRDFLib;
public class JenaRDFParserBuilder extends AbstractRDFParserBuilder<JenaRDFParserBuilder> implements RDFParserBuilder {
protected RDFTermFactory createRDFTermFactory() {
- return new RDFTermFactoryJena();
+ return new JenaRDFTermFactory();
}
@Override
@@ -45,10 +45,10 @@ public class JenaRDFParserBuilder extends AbstractRDFParserBuilder<JenaRDFParser
Graph jenaGraph = ((JenaGraph) getTargetGraph().get()).asJenaGraph();
dest = StreamRDFLib.graph(jenaGraph);
} else {
- dest = RDFTermFactoryJena.streamJenaToCommonsRDF(getRdfTermFactory().get(), getTarget());
+ dest = JenaRDFTermFactory.streamJenaToCommonsRDF(getRdfTermFactory().get(), getTarget());
}
- Lang lang = getContentTypeSyntax().flatMap(RDFTermFactoryJena::rdfSyntaxToLang).orElse(null);
+ Lang lang = getContentTypeSyntax().flatMap(JenaRDFTermFactory::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/76dbe500/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
new file mode 100644
index 0000000..f31173b
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -0,0 +1,543 @@
+/**
+ * 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.api.TripleLike;
+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.
+ * <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 JenaRDFTermFactory implements RDFTermFactory {
+
+ private UUID salt;
+
+ public JenaRDFTermFactory() {
+ this.salt = UUID.randomUUID();
+ }
+
+ public JenaRDFTermFactory(UUID salt) {
+ this.salt = salt;
+ }
+
+ @Override
+ public JenaBlankNode createBlankNode() {
+ return JenaFactory.createBlankNode(salt);
+ }
+
+ @Override
+ public JenaBlankNode createBlankNode(String name) {
+ return JenaFactory.createBlankNode(name, salt);
+ }
+
+ @Override
+ public JenaGraph createGraph() {
+ return JenaFactory.createGraph(salt);
+ }
+
+ @Override
+ public JenaIRI createIRI(String iri) {
+ validateIRI(iri);
+ return JenaFactory.createIRI(iri);
+ }
+
+ @Override
+ public JenaLiteral createLiteral(String lexicalForm) {
+ return JenaFactory.createLiteral(lexicalForm);
+ }
+
+ @Override
+ public JenaLiteral createLiteral(String lexicalForm, IRI dataType) {
+ return JenaFactory.createLiteralDT(lexicalForm, dataType.getIRIString());
+ }
+
+ @Override
+ public JenaLiteral createLiteral(String lexicalForm, String languageTag) {
+ validateLang(languageTag);
+ return JenaFactory.createLiteralLang(lexicalForm, languageTag);
+ }
+
+ @Override
+ 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 JenaRDFTermFactory} 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}.
+ * <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 JenaRDFTermFactory} instance in combination with
+ * {@link Node#getBlankNodeId()} for the purpose of its
+ * {@link BlankNode#uniqueReference()}.
+ *
+ * @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 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()}.
+ *
+ * @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.
+ */
+ 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 JenaRDFTermFactory) {
+ // No need to convert, just wrap
+ return ((JenaRDFTermFactory) 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 JenaRDFTermFactory} 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
+ * @throws ConversionException
+ * if any of the triple's nodes are not concrete or the triple
+ * is a generalized triple
+ */
+ public JenaTriple fromJena(org.apache.jena.graph.Triple triple) throws ConversionException {
+ 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 JenaRDFTermFactory} 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>
+ * 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
+ * @throws ConversionException
+ * if any of the triple's nodes are not concrete or the triple
+ * is a generalized triple
+ */
+ public static JenaTriple fromJena(org.apache.jena.graph.Triple triple, UUID salt) throws ConversionException {
+ return JenaFactory.fromJena(triple, salt);
+ }
+
+ /**
+ * 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 Triple fromJena(RDFTermFactory factory, org.apache.jena.graph.Triple triple)
+ throws ConversionException{
+ if (factory instanceof JenaRDFTermFactory) {
+ // No need to convert, just wrap
+ return ((JenaRDFTermFactory) 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>
+ * If the quad contains any {@link Node#isBlank()}, then any corresponding
+ * {@link BlankNode} will use a {@link UUID} salt from this
+ * {@link JenaRDFTermFactory} 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 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) {
+ return JenaFactory.fromJena(quad, 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 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
+ * 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 JenaRDFTermFactory) {
+ // 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;
+ }
+
+
+ public static Quad fromJena(RDFTermFactory factory, org.apache.jena.sparql.core.Quad quad) {
+ if (factory instanceof JenaRDFTermFactory) {
+ // No need to convert, just wrap
+ return ((JenaRDFTermFactory) 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);
+ }
+
+ 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));
+ }
+
+ /**
+ * 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));
+ }
+ };
+ }
+
+ /**
+ * 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;
+ }
+ 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 ((JenaRDFTerm) 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);
+ }
+
+ /**
+ * 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()));
+ }
+
+ // 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();
+ }
+
+ 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/76dbe500/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
deleted file mode 100644
index 760d911..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/RDFTermFactoryJena.java
+++ /dev/null
@@ -1,543 +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.api.TripleLike;
-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.
- * <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;
-
- public RDFTermFactoryJena() {
- this.salt = UUID.randomUUID();
- }
-
- public RDFTermFactoryJena(UUID salt) {
- this.salt = salt;
- }
-
- @Override
- public JenaBlankNode createBlankNode() {
- return JenaFactory.createBlankNode(salt);
- }
-
- @Override
- public JenaBlankNode createBlankNode(String name) {
- return JenaFactory.createBlankNode(name, salt);
- }
-
- @Override
- public JenaGraph createGraph() {
- return JenaFactory.createGraph(salt);
- }
-
- @Override
- public JenaIRI createIRI(String iri) {
- validateIRI(iri);
- return JenaFactory.createIRI(iri);
- }
-
- @Override
- public JenaLiteral createLiteral(String lexicalForm) {
- return JenaFactory.createLiteral(lexicalForm);
- }
-
- @Override
- public JenaLiteral createLiteral(String lexicalForm, IRI dataType) {
- return JenaFactory.createLiteralDT(lexicalForm, dataType.getIRIString());
- }
-
- @Override
- public JenaLiteral createLiteral(String lexicalForm, String languageTag) {
- validateLang(languageTag);
- return JenaFactory.createLiteralLang(lexicalForm, languageTag);
- }
-
- @Override
- 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}.
- * <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()}.
- *
- * @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 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()}.
- *
- * @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.
- */
- 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()}.
- *
- * @see #fromJena(org.apache.jena.graph.Triple, UUID)
- * @see #fromJena(RDFTermFactory, org.apache.jena.graph.Triple)
- *
- * @param triple
- * Jena triple
- * @return Adapted triple
- * @throws ConversionException
- * if any of the triple's nodes are not concrete or the triple
- * is a generalized triple
- */
- public JenaTriple fromJena(org.apache.jena.graph.Triple triple) throws ConversionException {
- 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>
- * 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
- * @throws ConversionException
- * if any of the triple's nodes are not concrete or the triple
- * is a generalized triple
- */
- public static JenaTriple fromJena(org.apache.jena.graph.Triple triple, UUID salt) throws ConversionException {
- return JenaFactory.fromJena(triple, salt);
- }
-
- /**
- * 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 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>
- * 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 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) {
- return JenaFactory.fromJena(quad, 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 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
- * 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;
- }
-
-
- 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);
- }
- 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 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));
- }
-
- /**
- * 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));
- }
- };
- }
-
- /**
- * 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;
- }
- 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 ((JenaRDFTerm) 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);
- }
-
- /**
- * 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()));
- }
-
- // 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();
- }
-
- 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/76dbe500/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
index c36c615..97ff7c5 100644
--- 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
@@ -23,7 +23,7 @@ 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;
+import org.apache.commons.rdf.jena.JenaRDFTermFactory;
public class GeneralizedTripleImpl implements JenaTripleLike<RDFTerm, RDFTerm, RDFTerm> {
private final RDFTerm object;
@@ -47,8 +47,8 @@ public class GeneralizedTripleImpl implements JenaTripleLike<RDFTerm, RDFTerm, R
@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));
+ triple = org.apache.jena.graph.Triple.create(JenaRDFTermFactory.toJena(subject),
+ JenaRDFTermFactory.toJena(predicate), JenaRDFTermFactory.toJena(object));
return triple;
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/76dbe500/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 1e03b2c..02c4a25 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
@@ -27,7 +27,7 @@ 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.JenaGraph;
-import org.apache.commons.rdf.jena.RDFTermFactoryJena;
+import org.apache.commons.rdf.jena.JenaRDFTermFactory;
import org.apache.jena.atlas.iterator.Iter;
import org.apache.jena.graph.Node;
import org.apache.jena.riot.Lang;
@@ -46,14 +46,14 @@ public class GraphImpl implements JenaGraph {
@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)));
+ JenaRDFTermFactory.toJena(subject),
+ JenaRDFTermFactory.toJena(predicate),
+ JenaRDFTermFactory.toJena(object)));
}
@Override
public void add(Triple triple) {
- graph.add(RDFTermFactoryJena.toJena(triple));
+ graph.add(JenaRDFTermFactory.toJena(triple));
}
@Override
@@ -74,27 +74,27 @@ public class GraphImpl implements JenaGraph {
@Override
public boolean contains(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
return graph.contains(
- RDFTermFactoryJena.toJena(subject),
- RDFTermFactoryJena.toJena(predicate),
- RDFTermFactoryJena.toJena(object));
+ JenaRDFTermFactory.toJena(subject),
+ JenaRDFTermFactory.toJena(predicate),
+ JenaRDFTermFactory.toJena(object));
}
@Override
public boolean contains(Triple triple) {
- return graph.contains(RDFTermFactoryJena.toJena(triple));
+ return graph.contains(JenaRDFTermFactory.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)));
+ JenaRDFTermFactory.toJena(subject),
+ JenaRDFTermFactory.toJena(predicate),
+ JenaRDFTermFactory.toJena(object)));
}
@Override
public void remove(Triple triple) {
- graph.delete(RDFTermFactoryJena.toJena(triple));
+ graph.delete(JenaRDFTermFactory.toJena(triple));
}
@Override
@@ -104,13 +104,13 @@ public class GraphImpl implements JenaGraph {
@Override
public Stream<? extends Triple> stream() {
- RDFTermFactoryJena factory = new RDFTermFactoryJena(salt);
+ JenaRDFTermFactory factory = new JenaRDFTermFactory(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);
+ JenaRDFTermFactory factory = new JenaRDFTermFactory(salt);
return Iter.asStream(graph.find(toJenaAny(s), toJenaAny(p), toJenaAny(o)), true)
.map(factory::fromJena);
}
@@ -118,7 +118,7 @@ public class GraphImpl implements JenaGraph {
private Node toJenaAny(RDFTerm term) {
if (term == null)
return Node.ANY;
- return RDFTermFactoryJena.toJena(term);
+ return JenaRDFTermFactory.toJena(term);
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/76dbe500/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 16deb02..19f154c 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
@@ -28,7 +28,7 @@ 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.JenaQuad;
-import org.apache.commons.rdf.jena.RDFTermFactoryJena;
+import org.apache.commons.rdf.jena.JenaRDFTermFactory;
public class QuadImpl implements JenaQuad {
@@ -57,10 +57,10 @@ public class QuadImpl implements JenaQuad {
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));
+ JenaRDFTermFactory.toJena(graphName.orElse(null)),
+ JenaRDFTermFactory.toJena(subject),
+ JenaRDFTermFactory.toJena(predicate),
+ JenaRDFTermFactory.toJena(object));
}
return quad;
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/76dbe500/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 f65fd6d..cadbdf5 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
@@ -27,7 +27,7 @@ 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;
+import org.apache.commons.rdf.jena.JenaRDFTermFactory;
public class TripleImpl implements Triple, JenaTriple {
private final RDFTerm object;
@@ -55,8 +55,8 @@ public class TripleImpl implements Triple, JenaTriple {
@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));
+ triple = org.apache.jena.graph.Triple.create(JenaRDFTermFactory.toJena(subject),
+ JenaRDFTermFactory.toJena(predicate), JenaRDFTermFactory.toJena(object));
return triple;
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/76dbe500/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java
----------------------------------------------------------------------
diff --git a/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java b/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java
index 764ee70..10edd09 100644
--- a/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java
+++ b/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java
@@ -18,6 +18,8 @@
package org.apache.commons.rdf.jena;
+import java.util.UUID;
+
import org.apache.commons.rdf.api.AbstractBlankNodeTest ;
import org.apache.commons.rdf.api.BlankNode ;
import org.apache.commons.rdf.jena.impl.JenaFactory;
@@ -25,14 +27,16 @@ import org.apache.commons.rdf.jena.impl.JenaFactory;
public class TestBlankNodeJena extends AbstractBlankNodeTest {
- @Override
+ private static final UUID SALT = UUID.fromString("ccfde817-55b8-4a5f-bc2d-6bfd8eaa41ce");
+
+ @Override
protected BlankNode getBlankNode() {
return JenaFactory.createBlankNode() ;
}
@Override
protected BlankNode getBlankNode(String identifier) {
- return JenaFactory.createBlankNode(identifier) ;
+ return JenaFactory.createBlankNode(identifier, SALT) ;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/76dbe500/jena/src/test/java/org/apache/commons/rdf/jena/TestGraphJena.java
----------------------------------------------------------------------
diff --git a/jena/src/test/java/org/apache/commons/rdf/jena/TestGraphJena.java b/jena/src/test/java/org/apache/commons/rdf/jena/TestGraphJena.java
index 973b7b1..e2749bb 100644
--- a/jena/src/test/java/org/apache/commons/rdf/jena/TestGraphJena.java
+++ b/jena/src/test/java/org/apache/commons/rdf/jena/TestGraphJena.java
@@ -25,7 +25,7 @@ public class TestGraphJena extends AbstractGraphTest {
@Override
public RDFTermFactory createFactory() {
- return new RDFTermFactoryJena() ;
+ return new JenaRDFTermFactory() ;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/76dbe500/jena/src/test/java/org/apache/commons/rdf/jena/TestJenaGraphToCommonsRDFGraph.java
----------------------------------------------------------------------
diff --git a/jena/src/test/java/org/apache/commons/rdf/jena/TestJenaGraphToCommonsRDFGraph.java b/jena/src/test/java/org/apache/commons/rdf/jena/TestJenaGraphToCommonsRDFGraph.java
index cfe5642..c81a8b1 100644
--- a/jena/src/test/java/org/apache/commons/rdf/jena/TestJenaGraphToCommonsRDFGraph.java
+++ b/jena/src/test/java/org/apache/commons/rdf/jena/TestJenaGraphToCommonsRDFGraph.java
@@ -56,10 +56,10 @@ public class TestJenaGraphToCommonsRDFGraph {
RDFDataMgr.read(jGraph, turtleFile.toUri().toString()) ;
// "graph" is a CommonsRDF graph
- Graph graph = JenaCommonsRDF.fromJena(jGraph) ;
+ Graph graph = JenaRDFTermFactory.fromJena(jGraph) ;
// Add to CommonsRDF Graph
- RDFTermFactory rft = new RDFTermFactoryJena() ;
+ RDFTermFactory rft = new JenaRDFTermFactory() ;
graph.add(rft.createIRI("http://example/s2"),
rft.createIRI("http://example/p2"),
rft.createLiteral("foo")) ;
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/76dbe500/jena/src/test/java/org/apache/commons/rdf/jena/TestRDFParserBuilder.java
----------------------------------------------------------------------
diff --git a/jena/src/test/java/org/apache/commons/rdf/jena/TestRDFParserBuilder.java b/jena/src/test/java/org/apache/commons/rdf/jena/TestRDFParserBuilder.java
index f230bdd..c689d0e 100644
--- a/jena/src/test/java/org/apache/commons/rdf/jena/TestRDFParserBuilder.java
+++ b/jena/src/test/java/org/apache/commons/rdf/jena/TestRDFParserBuilder.java
@@ -53,7 +53,7 @@ public class TestRDFParserBuilder {
@Test
public void parseTurtle() throws Exception {
- Graph g = new RDFTermFactoryJena().createGraph();
+ Graph g = new JenaRDFTermFactory().createGraph();
Future<ParseResult> gFuture = new JenaRDFParserBuilder().contentType(RDFSyntax.TURTLE).source(turtleFile)
.target(g).parse();
gFuture.get(5, TimeUnit.SECONDS);
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/76dbe500/jena/src/test/java/org/apache/commons/rdf/jena/TestRDFTermFactoryJena.java
----------------------------------------------------------------------
diff --git a/jena/src/test/java/org/apache/commons/rdf/jena/TestRDFTermFactoryJena.java b/jena/src/test/java/org/apache/commons/rdf/jena/TestRDFTermFactoryJena.java
index 6aa153f..4baec9c 100644
--- a/jena/src/test/java/org/apache/commons/rdf/jena/TestRDFTermFactoryJena.java
+++ b/jena/src/test/java/org/apache/commons/rdf/jena/TestRDFTermFactoryJena.java
@@ -25,7 +25,7 @@ public class TestRDFTermFactoryJena extends AbstractRDFTermFactoryTest {
@Override
public RDFTermFactory createFactory() {
- return new RDFTermFactoryJena() ;
+ return new JenaRDFTermFactory() ;
}
}
[31/50] incubator-commonsrdf git commit: Avoid Quad import
Posted by st...@apache.org.
Avoid Quad import
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/b6ec1230
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/b6ec1230
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/b6ec1230
Branch: refs/heads/rdf4j
Commit: b6ec1230d7b892ed35f2cc0f13090922485a709f
Parents: 379ac0a
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Sep 29 16:01:30 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Sep 29 16:01:30 2016 +0100
----------------------------------------------------------------------
.../src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java | 1 -
1 file changed, 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/b6ec1230/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 3fb3c3f..eb60cc0 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
@@ -24,7 +24,6 @@ import java.util.UUID;
import org.apache.commons.rdf.api.BlankNode;
import org.apache.commons.rdf.api.BlankNodeOrIRI;
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;
[11/50] incubator-commonsrdf git commit: Add asJenaModel() and
fromJena(Model)
Posted by st...@apache.org.
Add asJenaModel() and fromJena(Model)
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/361aaba1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/361aaba1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/361aaba1
Branch: refs/heads/rdf4j
Commit: 361aaba1c2ec3791d9dd88f18ccb4142b562fb09
Parents: c752d8c
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Sep 8 15:18:07 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Sep 8 15:18:07 2016 +0100
----------------------------------------------------------------------
jena/pom.xml | 3 ++-
.../org/apache/commons/rdf/jena/JenaGraph.java | 19 +++++++++++++++
.../commons/rdf/jena/JenaRDFTermFactory.java | 18 +++++++++++++-
.../apache/commons/rdf/jena/impl/GraphImpl.java | 25 +++++++++++++++++++-
.../commons/rdf/jena/impl/JenaFactory.java | 7 +++++-
5 files changed, 68 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/361aaba1/jena/pom.xml
----------------------------------------------------------------------
diff --git a/jena/pom.xml b/jena/pom.xml
index 6bf0aeb..c06c5bf 100644
--- a/jena/pom.xml
+++ b/jena/pom.xml
@@ -48,6 +48,8 @@
<!-- Uncomment below and disable jena-osgi to access the regular non-osgi
Jena dependencies (e.g. for debugging) -->
<!--
+ -->
+
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>apache-jena-libs</artifactId>
@@ -55,7 +57,6 @@
<type>pom</type>
<scope>optional</scope>
</dependency>
- -->
<!-- As commons-rdf-jena is an OSGi bundle, we'll use the Jena OSGi bundle -->
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/361aaba1/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 7596021..fa8954e 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
@@ -19,8 +19,27 @@
package org.apache.commons.rdf.jena;
import org.apache.jena.graph.Graph;
+import org.apache.jena.rdf.model.Model;
/** Access the Jena graph backing this object */
public interface JenaGraph extends org.apache.commons.rdf.api.Graph {
+
+ /**
+ * Return the underlying Jena {@link Graph}.
+ * <p>
+ * Changes to the Jena graph are reflected in the Commons RDF graph and vice versa.
+ *
+ * @return A Jena {@link Graph}
+ */
public Graph asJenaGraph();
+
+ /**
+ * Return the underlying Jena {@link Model}.
+ * <p>
+ * Changes to the Jena model are reflected in the Commons RDF graph and vice
+ * versa.
+ *
+ * @return A Jena {@link Model}
+ */
+ public Model asJenaModel();
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/361aaba1/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index 52fde28..a75b61e 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -78,7 +78,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
@Override
- public Dataset createDataset() throws UnsupportedOperationException {
+ public Dataset createDataset() {
return JenaFactory.createDataset(salt);
}
@@ -467,6 +467,22 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
return JenaFactory.fromJena(graph, salt);
}
+ /**
+ * Adapt an existing Jena {@link org.apache.jena.rdf.model.Model} to CommonsRDF {@link Graph}.
+ * <p>
+ * This does not ake a copy, changes to the CommonsRDF Graph are reflected in the jena
+ * graph, which is accessible from {@link JenaGraph#asJenaGraph()}.
+ * <p>
+ * If the graph contains any {@link Node#isBlank()}, then any corresponding
+ * {@link BlankNode} will use a {@link UUID} salt from this
+ * {@link JenaRDFTermFactory} instance
+ * in combination with {@link Node#getBlankNodeId()}
+ * for the purpose of its {@link BlankNode#uniqueReference()}.
+
+ */
+ public JenaGraph fromJena(org.apache.jena.rdf.model.Model model) {
+ return JenaFactory.fromJena(model, salt);
+ }
/**
* Adapt an existing Jena {@link org.apache.jena.graph.Graph} to CommonsRDF {@link Graph}.
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/361aaba1/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 02c4a25..3b74ee0 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
@@ -30,6 +30,8 @@ import org.apache.commons.rdf.jena.JenaGraph;
import org.apache.commons.rdf.jena.JenaRDFTermFactory;
import org.apache.jena.atlas.iterator.Iter;
import org.apache.jena.graph.Node;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.ModelFactory;
import org.apache.jena.riot.Lang;
import org.apache.jena.riot.RDFDataMgr;
@@ -37,12 +39,19 @@ public class GraphImpl implements JenaGraph {
private org.apache.jena.graph.Graph graph;
private UUID salt;
+ private Model model;
- /* package */ GraphImpl(org.apache.jena.graph.Graph graph, UUID salt) {
+ GraphImpl(org.apache.jena.graph.Graph graph, UUID salt) {
this.graph = graph;
this.salt = salt;
}
+ GraphImpl(Model model, UUID salt) {
+ this.model = model;
+ this.graph = model.getGraph();
+ this.salt = salt;
+ }
+
@Override
public void add(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
graph.add(org.apache.jena.graph.Triple.create(
@@ -128,4 +137,18 @@ public class GraphImpl implements JenaGraph {
return sw.toString();
}
+ @Override
+ public Model asJenaModel() {
+ if (model == null) {
+ synchronized(this) {
+ // As Model can be used for locks, we should make sure we don't make
+ // more than one model
+ if (model == null) {
+ model = ModelFactory.createModelForGraph(graph);
+ }
+ }
+ }
+ return model;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/361aaba1/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 1832232..bc0ae0f 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
@@ -42,6 +42,7 @@ 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.rdf.model.Model;
import org.apache.jena.sparql.core.DatasetGraph;
import org.apache.jena.sparql.core.DatasetGraphFactory;
import org.apache.jena.sparql.graph.GraphFactory;
@@ -142,7 +143,7 @@ public class JenaFactory {
}
throw new IllegalArgumentException("Unrecognized node type: " + node);
}
-
+
public static JenaGraph fromJena(org.apache.jena.graph.Graph graph) {
return new GraphImpl(graph, UUID.randomUUID());
}
@@ -151,6 +152,10 @@ public class JenaFactory {
return new GraphImpl(graph, salt);
}
+ public static JenaGraph fromJena(Model model, UUID salt) {
+ return new GraphImpl(model, salt);
+ }
+
public static JenaDataset fromJena(DatasetGraph datasetGraph) {
return new DatasetImpl(datasetGraph, UUID.randomUUID());
}
[05/50] incubator-commonsrdf git commit: Added JenaDataset
Posted by st...@apache.org.
Added JenaDataset
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/3a09004c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/3a09004c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/3a09004c
Branch: refs/heads/rdf4j
Commit: 3a09004ca1757490e7273d78ab00f901a3d0a613
Parents: a3cb3b1
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Jul 8 16:39:25 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Jul 8 16:39:25 2016 +0100
----------------------------------------------------------------------
.../apache/commons/rdf/jena/JenaDataset.java | 30 +++
.../commons/rdf/jena/JenaRDFTermFactory.java | 35 +++-
.../commons/rdf/jena/impl/DatasetImpl.java | 187 +++++++++++++++++++
.../commons/rdf/jena/impl/JenaFactory.java | 16 +-
4 files changed, 263 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/3a09004c/jena/src/main/java/org/apache/commons/rdf/jena/JenaDataset.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaDataset.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaDataset.java
new file mode 100644
index 0000000..98fb840
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaDataset.java
@@ -0,0 +1,30 @@
+/**
+ * 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.Graph;
+import org.apache.jena.sparql.core.DatasetGraph;
+
+/** Access the Jena graph backing this object */
+public interface JenaDataset extends org.apache.commons.rdf.api.Dataset {
+ public DatasetGraph asJenaDatasetGraph();
+
+ public Graph getUnionGraph();
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/3a09004c/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index 12b152e..78dc5f7 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -24,6 +24,7 @@ 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.Dataset;
import org.apache.commons.rdf.api.Graph;
import org.apache.commons.rdf.api.IRI;
import org.apache.commons.rdf.api.Literal;
@@ -74,6 +75,11 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
public JenaBlankNode createBlankNode(String name) {
return JenaFactory.createBlankNode(name, salt);
}
+
+ @Override
+ public Dataset createDataset() throws UnsupportedOperationException {
+ return JenaFactory.createDataset(salt);
+ }
@Override
public JenaGraph createGraph() {
@@ -578,19 +584,40 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
/**
- * 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.
+ * Convert a CommonsRDF {@link Triple} to a Jena
+ * {@link org.apache.jena.graph.Triple}.
+ * <p>
+ * 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(
+ return org.apache.jena.graph.Triple.create(
toJena(triple.getSubject()),
toJena(triple.getPredicate()),
toJena(triple.getObject()));
}
+
+ /**
+ * Convert a CommonsRDF {@link Quad} to a Jena
+ * {@link org.apache.jena.sparql.core.Quad}.
+ * <p>
+ * If the quad was from Jena originally, return that original object,
+ * otherwise create a copy using Jena objects.
+ */
+ public static org.apache.jena.sparql.core.Quad toJena(Quad quad) {
+ if (quad instanceof JenaQuad) {
+ return ((JenaQuad) quad).asJenaQuad();
+ }
+ return org.apache.jena.sparql.core.Quad.create(
+ toJena(quad.getGraphName().orElse(null)),
+ toJena(quad.getSubject()),
+ toJena(quad.getPredicate()),
+ toJena(quad.getObject()));
+ }
+
// Some simple validations - full IRI parsing is not cheap.
private static void validateIRI(String iri) {
if (iri.contains(" "))
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/3a09004c/jena/src/main/java/org/apache/commons/rdf/jena/impl/DatasetImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/DatasetImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/DatasetImpl.java
new file mode 100644
index 0000000..4094efe
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/DatasetImpl.java
@@ -0,0 +1,187 @@
+/**
+ * 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 static org.apache.jena.graph.Node.ANY;
+
+import java.io.StringWriter;
+import java.util.Optional;
+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.Quad;
+import org.apache.commons.rdf.api.RDFTerm;
+import org.apache.commons.rdf.jena.JenaDataset;
+import org.apache.commons.rdf.jena.JenaRDFTermFactory;
+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.sparql.core.DatasetGraph;
+import org.apache.jena.sparql.core.GraphView;
+
+public class DatasetImpl implements JenaDataset {
+
+ private DatasetGraph graph;
+ private UUID salt;
+
+ /* package */ DatasetImpl(DatasetGraph graph, UUID salt) {
+ this.graph = graph;
+ this.salt = salt;
+ }
+
+ @Override
+ public void add(BlankNodeOrIRI graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ graph.add(
+ org.apache.jena.sparql.core.Quad.create(
+ JenaRDFTermFactory.toJena(graphName),
+ JenaRDFTermFactory.toJena(subject),
+ JenaRDFTermFactory.toJena(predicate),
+ JenaRDFTermFactory.toJena(object)));
+ }
+
+ @Override
+ public void add(Quad quad) {
+ graph.add(JenaRDFTermFactory.toJena(quad));
+ }
+
+ @Override
+ public DatasetGraph asJenaDatasetGraph() {
+ return graph;
+ }
+
+ @Override
+ public void clear() {
+ graph.clear();
+ }
+
+ @Override
+ public void close() {
+ graph.close();
+ }
+
+
+ @Override
+ public boolean contains(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ return graph.contains(
+ toJenaPattern(graphName),
+ toJenaPattern(subject),
+ toJenaPattern(predicate),
+ toJenaPattern(object));
+ }
+
+ private Node toJenaPattern(Optional<? extends RDFTerm> graphName) {
+ // In theory we could have done:
+ // JenaRDFTermFactory.toJena(graphName.orElse(JenaFactory::createAnyVariable))
+ // but because of generics casting rules that doesn't work :(
+
+ if (graphName == null) {
+ return ANY;
+ }
+ // null: default graph
+ return JenaRDFTermFactory.toJena(graphName.orElse(null));
+ }
+
+ private Node toJenaPattern(RDFTerm term) {
+ if (term == null)
+ return ANY;
+ return JenaRDFTermFactory.toJena(term);
+ }
+
+ @Override
+ public boolean contains(Quad quad) {
+ return graph.contains(JenaRDFTermFactory.toJena(quad));
+ }
+
+ @Override
+ public void remove(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ graph.delete(org.apache.jena.sparql.core.Quad.create(
+ toJenaPattern(graphName),
+ toJenaPattern(subject),
+ toJenaPattern(predicate),
+ toJenaPattern(object)));
+ }
+
+ @Override
+ public void remove(Quad quad) {
+ graph.delete(JenaRDFTermFactory.toJena(quad));
+ }
+
+ @Override
+ public long size() {
+ return graph.size();
+ }
+
+ @Override
+ public Stream<? extends Quad> stream() {
+ JenaRDFTermFactory factory = new JenaRDFTermFactory(salt);
+ return Iter.asStream(graph.find(ANY, ANY, ANY, ANY), true)
+ .map(factory::fromJena);
+ }
+
+ @Override
+ public Stream<? extends Quad> stream(Optional<BlankNodeOrIRI> g, BlankNodeOrIRI s, IRI p, RDFTerm o) {
+ JenaRDFTermFactory factory = new JenaRDFTermFactory(salt);
+ return Iter.asStream(graph.find(toJenaPattern(g), toJenaPattern(s), toJenaPattern(p), toJenaPattern(o)), true)
+ .map(factory::fromJena);
+ }
+
+ @Override
+ public String toString() {
+ StringWriter sw = new StringWriter();
+ RDFDataMgr.write(sw, graph, Lang.NT);
+ return sw.toString();
+ }
+
+ @Override
+ public Graph getGraph() {
+ GraphView gv = GraphView.createDefaultGraph(graph);
+ return new GraphImpl(gv, salt);
+ }
+
+ @Override
+ public Graph getUnionGraph() {
+ GraphView gv = GraphView.createUnionGraph(graph);
+ return new GraphImpl(gv, salt);
+ }
+
+ @Override
+ public Optional<Graph> getGraph(BlankNodeOrIRI graphName) {
+ GraphView gv = GraphView.createNamedGraph(graph, JenaRDFTermFactory.toJena(graphName));
+ return Optional.of(new GraphImpl(gv, salt));
+ }
+
+ @Override
+ public Stream<BlankNodeOrIRI> getGraphNames() {
+ JenaRDFTermFactory factory = new JenaRDFTermFactory(salt);
+ return Iter.asStream(graph.listGraphNodes()).map(node ->
+ (BlankNodeOrIRI) factory.fromJena(node));
+ }
+
+ @Override
+ public Iterable<Quad> iterate() {
+ return Iter.asStream(graph.find(), false)
+ .map(q -> (Quad) JenaRDFTermFactory.fromJena(q, salt))
+ ::iterator;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/3a09004c/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 b685832..da24277 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
@@ -23,6 +23,7 @@ import java.util.UUID;
import org.apache.commons.rdf.api.BlankNode;
import org.apache.commons.rdf.api.BlankNodeOrIRI;
+import org.apache.commons.rdf.api.Dataset;
import org.apache.commons.rdf.api.IRI;
import org.apache.commons.rdf.api.Quad;
import org.apache.commons.rdf.api.RDFTerm;
@@ -40,6 +41,8 @@ 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.core.DatasetGraph;
+import org.apache.jena.sparql.core.DatasetGraphFactory;
import org.apache.jena.sparql.graph.GraphFactory;
public class JenaFactory {
@@ -55,6 +58,16 @@ public class JenaFactory {
return new BlankNodeImpl(NodeFactory.createBlankNode(), salt);
}
+ public static Dataset createDataset() {
+ return createDataset(UUID.randomUUID());
+ }
+
+ public static Dataset createDataset(UUID salt) {
+ DatasetGraph dg = DatasetGraphFactory.createGeneral();
+ // Or which createMethod() -- a bit confusing with lots of choice..
+ return new DatasetImpl(dg, salt);
+ }
+
public static JenaGraph createGraph() {
return createGraph(UUID.randomUUID());
}
@@ -91,7 +104,7 @@ public class JenaFactory {
return new VariableImpl(NodeFactory.createVariable(name));
}
- public static JenaAny createVariable() {
+ public static JenaAny createAnyVariable() {
return AnyImpl.Singleton.instance;
}
@@ -152,4 +165,5 @@ public class JenaFactory {
public static Quad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
return new QuadImpl(quad, salt);
}
+
}
[48/50] incubator-commonsrdf git commit: ConversionException is not a
JenaException
Posted by st...@apache.org.
ConversionException is not a JenaException
just RuntimeException
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/7dd08a24
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/7dd08a24
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/7dd08a24
Branch: refs/heads/rdf4j
Commit: 7dd08a24f18ed8e485e5f327a9be667c1700a28d
Parents: 1271ae0
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Oct 7 15:19:29 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Oct 7 15:19:29 2016 +0100
----------------------------------------------------------------------
.../java/org/apache/commons/rdf/jena/ConversionException.java | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/7dd08a24/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 be75427..29b9060 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,8 +18,6 @@
package org.apache.commons.rdf.jena;
-import org.apache.jena.shared.JenaException;
-
/**
* Exception thrown when a problem arises across the Jena-CommonRDF boundary.
* <p>
@@ -29,7 +27,7 @@ import org.apache.jena.shared.JenaException;
* generalized RDF</a>.
*/
-public class ConversionException extends JenaException {
+public class ConversionException extends RuntimeException {
private static final long serialVersionUID = -898179977312382568L;
public ConversionException() {
[26/50] incubator-commonsrdf git commit: Jena javadocs
Posted by st...@apache.org.
Jena javadocs
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/eb391f86
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/eb391f86
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/eb391f86
Branch: refs/heads/rdf4j
Commit: eb391f860b1aa223ae11e114d828e1f463d6fee3
Parents: b0c55bd
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Sep 29 01:10:11 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Sep 29 01:10:11 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/jena/JenaRDFTermFactory.java | 20 ++++++++++++++++----
.../commons/rdf/jena/impl/JenaFactory.java | 5 ++---
pom.xml | 6 ++++++
3 files changed, 24 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/eb391f86/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index bde5bc4..1c1be7f 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -96,7 +96,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
@Override
- public Dataset createDataset() {
+ public JenaDataset createDataset() {
return JenaFactory.createDataset(getSalt());
}
@@ -133,7 +133,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
@Override
- public Quad createQuad(BlankNodeOrIRI graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object)
+ public JenaQuad createQuad(BlankNodeOrIRI graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object)
throws IllegalArgumentException, UnsupportedOperationException {
return JenaFactory.createQuad(subject, predicate, object, graphName);
}
@@ -451,7 +451,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* Jena quad
* @return Adapted quad
*/
- public Quad fromJena(org.apache.jena.sparql.core.Quad quad) {
+ public JenaQuad fromJena(org.apache.jena.sparql.core.Quad quad) {
return JenaFactory.fromJena(quad, getSalt());
}
@@ -469,7 +469,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* 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) {
+ public static JenaQuad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
return JenaFactory.fromJena(quad, salt);
}
@@ -652,10 +652,22 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
return factory.createQuad(graphName, subject, predicate, object);
}
+ /**
+ * Return {@link RDFSyntax} corresponding to a Jena {@link Lang}.
+ *
+ * @param lang {@link Lang} to convert
+ * @return Matched {@link RDFSyntax}, otherwise {@link Optional#empty()}
+ */
public static Optional<RDFSyntax> langToRdfSyntax(Lang lang) {
return RDFSyntax.byMediaType(lang.getContentType().getContentType());
}
+ /**
+ * Return Jena {@link Lang} corresponding to a {@link RDFSyntax.
+ *
+ * @param lang {@link RDFSyntax} to convert
+ * @return Matched {@link Lang}, otherwise {@link Optional#empty()}
+ */
public static Optional<Lang> rdfSyntaxToLang(RDFSyntax rdfSyntax) {
return Optional.ofNullable(RDFLanguages.contentTypeToLang(rdfSyntax.mediaType));
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/eb391f86/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 0551094..3fb3c3f 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
@@ -23,7 +23,6 @@ import java.util.UUID;
import org.apache.commons.rdf.api.BlankNode;
import org.apache.commons.rdf.api.BlankNodeOrIRI;
-import org.apache.commons.rdf.api.Dataset;
import org.apache.commons.rdf.api.IRI;
import org.apache.commons.rdf.api.Quad;
import org.apache.commons.rdf.api.RDFTerm;
@@ -68,7 +67,7 @@ public class JenaFactory {
public static JenaBlankNode createBlankNode(UUID salt) {
return new JenaBlankNodeImpl(NodeFactory.createBlankNode(), salt);
}
- public static Dataset createDataset(UUID salt) {
+ public static JenaDataset createDataset(UUID salt) {
DatasetGraph dg = DatasetGraphFactory.createGeneral();
// Or which createMethod() -- a bit confusing with lots of choice..
return new JenaDatasetImpl(dg, salt);
@@ -168,7 +167,7 @@ public class JenaFactory {
return new JenaGeneralizedQuad<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(quad, salt);
}
- public static Quad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
+ public static JenaQuad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
return new JenaQuadImpl(quad, salt);
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/eb391f86/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 0dda6a7..512946c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -286,6 +286,12 @@
</executions>
<configuration>
<additionalparam>-Xdoclint:all</additionalparam>
+ <links>
+ <link>${commons.javadoc.java.link}</link>
+ <link>https://jena.apache.org/documentation/javadoc/jena/</link>
+ <link>https://jena.apache.org/documentation/javadoc/arq/</link>
+ <link>http://rdf4j.org/javadoc/2.0/</link>
+ </links>
</configuration>
</plugin>
<!--
[30/50] incubator-commonsrdf git commit: final to show variables are
assigned once
Posted by st...@apache.org.
final to show variables are assigned once
See
https://github.com/apache/incubator-commonsrdf/pull/23#discussion_r81152333
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/379ac0ad
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/379ac0ad
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/379ac0ad
Branch: refs/heads/rdf4j
Commit: 379ac0ad524d854dc19ec45d3e3e3d5549428a32
Parents: fe8104a
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Sep 29 15:57:40 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Sep 29 15:57:40 2016 +0100
----------------------------------------------------------------------
.../java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/379ac0ad/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index 9a58ce7..6c1d9f7 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -460,8 +460,8 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
// No need to convert, just wrap
return ((JenaRDFTermFactory) factory).fromJena(triple);
}
- BlankNodeOrIRI subject;
- IRI predicate;
+ final BlankNodeOrIRI subject;
+ final IRI predicate;
try {
subject = (BlankNodeOrIRI) fromJena(factory, triple.getSubject());
predicate = (IRI) fromJena(factory, triple.getPredicate());
[07/50] incubator-commonsrdf git commit: Added fromJena(DatasetGraph)
Posted by st...@apache.org.
Added fromJena(DatasetGraph)
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/d912b6bf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/d912b6bf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/d912b6bf
Branch: refs/heads/rdf4j
Commit: d912b6bf0d81a190bcb4eb3792c08750f39b95dc
Parents: 20c7ad3
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Jul 8 16:49:06 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Jul 8 16:49:06 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/jena/JenaRDFTermFactory.java | 43 +++++++++++++++++++-
.../commons/rdf/jena/impl/JenaFactory.java | 9 ++++
2 files changed, 50 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/d912b6bf/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index 6560894..d8e41b1 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -44,6 +44,7 @@ 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.core.DatasetGraph;
import org.apache.jena.sparql.graph.GraphFactory;
/**
@@ -462,11 +463,10 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* for the purpose of its {@link BlankNode#uniqueReference()}.
*/
- public Graph fromJena(org.apache.jena.graph.Graph graph) {
+ public JenaGraph fromJena(org.apache.jena.graph.Graph graph) {
return JenaFactory.fromJena(graph, salt);
}
-
/**
* Adapt an existing Jena {@link org.apache.jena.graph.Graph} to CommonsRDF {@link Graph}.
@@ -488,6 +488,45 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
return JenaFactory.fromJena(graph, salt);
}
+ /**
+ * Adapt an existing Jena {@link DatasetGraph} to CommonsRDF {@link Dataset}.
+ * <p>
+ * This does not
+ * take a copy, changes to the CommonsRDF Dataset are reflected in the jena
+ * dataset graph, which is accessible from {@link JenaDataset#asJenaDatasetGraph()}.
+ * <p>
+ * If the dataset contains any {@link Node#isBlank()}, then any corresponding
+ * {@link BlankNode} will use a {@link UUID} salt from this
+ * {@link JenaRDFTermFactory} instance
+ * in combination with {@link Node#getBlankNodeId()}
+ * for the purpose of its {@link BlankNode#uniqueReference()}.
+ *
+ * @param datasetGraph Jena dataset graph to adapt
+ * @return Adapted dataset
+ */
+ public JenaDataset fromJena(DatasetGraph datasetGraph) {
+ return JenaFactory.fromJena(datasetGraph, salt);
+ }
+
+ /**
+ * Adapt an existing Jena {@link DatasetGraph} to CommonsRDF {@link Dataset}.
+ * <p>
+ * This does not
+ * take a copy, changes to the CommonsRDF Dataset are reflected in the jena
+ * dataset graph, which is accessible from {@link JenaDataset#asJenaDatasetGraph()}.
+ * <p>
+ * If the dataset 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()}.
+ *
+ * @param datasetGraph Jena dataset graph to adapt
+ * @param salt A {@link UUID} salt for adapting any {@link BlankNode}s
+ * @return Adapted dataset
+ */
+ public static JenaDataset fromJena(DatasetGraph datasetGraph, UUID salt) {
+ return JenaFactory.fromJena(datasetGraph, salt);
+ }
/**
* Convert from Jena to any RDFCommons implementation. This is a copy, even
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/d912b6bf/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 da24277..1832232 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
@@ -30,6 +30,7 @@ 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.JenaDataset;
import org.apache.commons.rdf.jena.JenaGraph;
import org.apache.commons.rdf.jena.JenaIRI;
import org.apache.commons.rdf.jena.JenaLiteral;
@@ -150,6 +151,14 @@ public class JenaFactory {
return new GraphImpl(graph, salt);
}
+ public static JenaDataset fromJena(DatasetGraph datasetGraph) {
+ return new DatasetImpl(datasetGraph, UUID.randomUUID());
+ }
+
+ public static JenaDataset fromJena(DatasetGraph datasetGraph, UUID salt) {
+ return new DatasetImpl(datasetGraph, salt);
+ }
+
public static JenaTriple fromJena(org.apache.jena.graph.Triple triple, UUID salt) {
return new TripleImpl(triple, salt);
}
[37/50] incubator-commonsrdf git commit: javadoc: when to close the
stream/iterable
Posted by st...@apache.org.
javadoc: when to close the stream/iterable
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/f4bee879
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/f4bee879
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/f4bee879
Branch: refs/heads/rdf4j
Commit: f4bee8799adc29d58bee4a4d441d7304f56d844b
Parents: 7f4fe0b
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Oct 7 09:12:56 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Oct 7 09:12:56 2016 +0100
----------------------------------------------------------------------
.../apache/commons/rdf/rdf4j/RDF4JDataset.java | 29 +++++++++++---------
.../apache/commons/rdf/rdf4j/RDF4JGraph.java | 19 +++++++------
2 files changed, 27 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/f4bee879/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JDataset.java
----------------------------------------------------------------------
diff --git a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JDataset.java b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JDataset.java
index 8ed5d4d..262233e 100644
--- a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JDataset.java
+++ b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JDataset.java
@@ -25,8 +25,6 @@ import org.apache.commons.rdf.api.Dataset;
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.eclipse.rdf4j.repository.RepositoryConnection;
/**
@@ -40,8 +38,10 @@ public interface RDF4JDataset extends Dataset, RDF4JGraphLike<Quad> {
/**
* {@inheritDoc}
* <p>
- * Note that the stream must be closed with {@link Stream#close()} to ensure
- * the underlying {@link RepositoryConnection} is closed.
+ * <p>
+ * Note that for datasets backed by a repository ({@link #asRepository()} is
+ * present), the stream <strong>must be closed</strong> with
+ * {@link Stream#close()}.
* <p>
* This can generally achieved using a try-with-resources block, e.g.:
* <pre>
@@ -57,7 +57,8 @@ public interface RDF4JDataset extends Dataset, RDF4JGraphLike<Quad> {
/**
* {@inheritDoc}
* <p>
- * Note that the stream <strong>must be closed</strong> with
+ * Note that for datasets backed by a repository ({@link #asRepository()} is
+ * present), the stream <strong>must be closed</strong> with
* {@link Stream#close()}.
* <p>
* This can generally achieved using a try-with-resources block, e.g.:
@@ -75,8 +76,10 @@ public interface RDF4JDataset extends Dataset, RDF4JGraphLike<Quad> {
/**
* {@inheritDoc}
* <p>
- * Note that the stream must be closed with {@link Stream#close()} to ensure
- * the underlying {@link RepositoryConnection} is closed.
+ * <p>
+ * Note that for datasets backed by a repository ({@link #asRepository()} is
+ * present), the stream <strong>must be closed</strong> with
+ * {@link Stream#close()}.
* <p>
* This can generally achieved using a try-with-resources block, e.g.:
* <pre>
@@ -93,9 +96,9 @@ public interface RDF4JDataset extends Dataset, RDF4JGraphLike<Quad> {
/**
* {@inheritDoc}
* <p>
- * Note that the iterable <strong>must be closed</strong> with
- * {@link ClosableIterable#close()}.
- * call
+ * Note that for datasets backed by a repository ({@link #asRepository()} is
+ * present), the iterable <strong>must be closed</strong> with
+ * {@link ClosableIterable#close()}.
* <p>
* This can generally achieved using a try-with-resources block, e.g.:
* <pre>
@@ -116,9 +119,9 @@ public interface RDF4JDataset extends Dataset, RDF4JGraphLike<Quad> {
/**
* {@inheritDoc}
* <p>
- * Note that the iterable <strong>must be closed</strong> with
- * {@link ClosableIterable#close()}.
- * call
+ * Note that for datasets backed by a repository ({@link #asRepository()} is
+ * present), the iterable <strong>must be closed</strong> with
+ * {@link ClosableIterable#close()}.
* <p>
* This can generally achieved using a try-with-resources block, e.g.:
* <pre>
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/f4bee879/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraph.java
----------------------------------------------------------------------
diff --git a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraph.java b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraph.java
index c19e14a..6425758 100644
--- a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraph.java
+++ b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraph.java
@@ -75,10 +75,12 @@ public interface RDF4JGraph extends Graph, RDF4JGraphLike<Triple> {
/**
* {@inheritDoc}
* <p>
- * Note that the stream <strong>must be closed</strong> with
+ * Note that for graphs backed by a repository ({@link #asRepository()} is
+ * present), the stream <strong>must be closed</strong> with
* {@link Stream#close()}.
* <p>
* This can generally achieved using a try-with-resources block, e.g.:
+ *
* <pre>
* int subjects;
* try (Stream<RDF4JTriple> s : graph.stream()) {
@@ -92,7 +94,8 @@ public interface RDF4JGraph extends Graph, RDF4JGraphLike<Triple> {
/**
* {@inheritDoc}
* <p>
- * Note that the stream <strong>must be closed</strong> with
+ * Note that for graphs backed by a repository ({@link #asRepository()} is
+ * present), the stream <strong>must be closed</strong> with
* {@link Stream#close()}.
* <p>
* This can generally achieved using a try-with-resources block, e.g.:
@@ -110,9 +113,9 @@ public interface RDF4JGraph extends Graph, RDF4JGraphLike<Triple> {
/**
* {@inheritDoc}
* <p>
- * Note that the iterable <strong>must be closed</strong> with
- * {@link ClosableIterable#close()}.
- * call
+ * Note that for graphs backed by a repository ({@link #asRepository()} is
+ * present), the iterable <strong>must be closed</strong> with
+ * {@link ClosableIterable#close()}.
* <p>
* This can generally achieved using a try-with-resources block, e.g.:
* <pre>
@@ -132,9 +135,9 @@ public interface RDF4JGraph extends Graph, RDF4JGraphLike<Triple> {
/**
* {@inheritDoc}
* <p>
- * Note that the iterable <strong>must be closed</strong> with
- * {@link ClosableIterable#close()}.
- * call
+ * Note that for graphs backed by a repository ({@link #asRepository()} is
+ * present), the iterable <strong>must be closed</strong> with
+ * {@link ClosableIterable#close()}.
* <p>
* This can generally achieved using a try-with-resources block, e.g.:
* <pre>
[09/50] incubator-commonsrdf git commit: Merge branch 'master' into
jena
Posted by st...@apache.org.
Merge branch 'master' into jena
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/bd644d3a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/bd644d3a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/bd644d3a
Branch: refs/heads/rdf4j
Commit: bd644d3a6a7cce2705259a66d143b2fed06fa565
Parents: c6d654b 9782a58
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Sep 8 15:00:18 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Sep 8 15:00:18 2016 +0100
----------------------------------------------------------------------
LICENSE-header.txt | 16 +
RELEASE-PROCESS.md | 20 ++
api/pom.xml | 5 +-
.../org/apache/commons/rdf/api/GraphLike.java | 27 +-
.../java/org/apache/commons/rdf/api/Quad.java | 25 +-
.../org/apache/commons/rdf/api/QuadLike.java | 24 +-
.../apache/commons/rdf/api/RDFTermFactory.java | 3 +-
.../java/org/apache/commons/rdf/api/Triple.java | 2 +
.../org/apache/commons/rdf/api/TripleLike.java | 20 +-
api/src/site/resources/profile.jacoco | 0
api/src/site/resources/profile.japicmp | 0
pom.xml | 307 ++++++++++++-------
.../commons/rdf/simple/DatasetGraphView.java | 2 +-
simple/src/site/resources/profile.jacoco | 0
simple/src/site/resources/profile.japicmp | 0
src/conf/checkstyle-suppressions.xml | 32 ++
src/conf/checkstyle.xml | 197 ++++++++++++
src/conf/findbugs-exclude-filter.xml | 27 ++
src/conf/pmd.xml | 25 ++
src/site/markdown/implementations.md | 63 +++-
src/site/markdown/index.md | 58 +++-
src/site/resources/images/class-diagram.nomnoml | 49 ++-
src/site/resources/images/class-diagram.png | Bin 57632 -> 56161 bytes
src/site/site.xml | 3 +-
24 files changed, 722 insertions(+), 183 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/bd644d3a/pom.xml
----------------------------------------------------------------------
diff --cc pom.xml
index 6dcdb54,f9b85fc..e7e009e
--- a/pom.xml
+++ b/pom.xml
@@@ -59,10 -51,9 +51,12 @@@
<commons.site.path>rdf</commons.site.path>
<commons.scmPubUrl>https://svn.apache.org/repos/infra/websites/production/commonsrdf/content/</commons.scmPubUrl>
<commons.scmPubCheckoutDirectory>${project.build.directory}/site-content</commons.scmPubCheckoutDirectory>
- <commons.javadoc.java.link>http://docs.oracle.com/javase/8/docs/api/</commons.javadoc.java.link>
+ <commons.javadoc.java.link>https://docs.oracle.com/javase/8/docs/api/</commons.javadoc.java.link>
+ <!-- upgrade from 0.8.0 -->
+ <commons.japicmp.version>0.9.0</commons.japicmp.version>
+ <ver.jena>3.1.0</ver.jena>
+ <dexx.collection.version>0.6</dexx.collection.version>
+ <servicemix.xerces.version>2.11.0_1</servicemix.xerces.version>
</properties>
<scm>
[24/50] incubator-commonsrdf git commit: Merge branch 'master' into
jena
Posted by st...@apache.org.
Merge branch 'master' into jena
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/70db409c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/70db409c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/70db409c
Branch: refs/heads/rdf4j
Commit: 70db409c0bf07376dad188b88a8ed8ce89a6b81e
Parents: a423c41 5afd0bd
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Wed Sep 28 23:59:07 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Wed Sep 28 23:59:07 2016 +0100
----------------------------------------------------------------------
.../java/org/apache/commons/rdf/api/Graph.java | 5 ++
.../java/org/apache/commons/rdf/api/Quad.java | 4 +-
.../commons/rdf/experimental/RDFParser.java | 8 +--
.../commons/rdf/experimental/package-info.java | 1 -
pom.xml | 4 +-
.../simple/experimental/AbstractRDFParser.java | 54 +++++++++++++-------
.../rdf/simple/experimental/package-info.java | 11 ++--
7 files changed, 53 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/70db409c/pom.xml
----------------------------------------------------------------------
[16/50] incubator-commonsrdf git commit: Corrected javadoc
links/syntax
Posted by st...@apache.org.
Corrected javadoc links/syntax
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/7ef3f88e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/7ef3f88e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/7ef3f88e
Branch: refs/heads/rdf4j
Commit: 7ef3f88e3bb8e2239d4394910ea98c0c7a0576f6
Parents: 77e90e3
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Tue Sep 13 00:08:20 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Tue Sep 13 00:10:22 2016 +0100
----------------------------------------------------------------------
.../org/apache/commons/rdf/jena/JenaRDFTermFactory.java | 10 +++++-----
.../apache/commons/rdf/jena/impl/GeneralizedQuadImpl.java | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/7ef3f88e/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index f393cec..ec84c0a 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -169,7 +169,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* 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(),
+ * If {@link Node#isURI()}, the returned value is a IRI. If {$@link Node#isBlank()},
* the returned value is a {@link BlankNode}, which will use a {@link UUID}
* salt from this {@link JenaRDFTermFactory} instance in combination with
* {@link Node#getBlankNodeId()} for the purpose of its
@@ -191,8 +191,8 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
/**
* 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(),
+ * If {@link Node#isLiteral()}, then the returned value is a {@link Literal}.
+ * If {@link Node#isURI()}, the returned value is a IRI. If {@link 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()}.
@@ -355,8 +355,8 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* {@link Node#getBlankNodeId()} for the purpose of its
* {@link BlankNode#uniqueReference()}.
*
- * @see #fromJena(org.apache.jena.graph.Quad, UUID)
- * @see #fromJena(RDFTermFactory, org.apache.jena.graph.Quad)
+ * @see #fromJena(org.apache.jena.sparql.core.Quad)
+ * @see #fromJenaGeneralized(org.apache.jena.graph.Triple)
*
* @param quad
* Jena quad
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/7ef3f88e/jena/src/main/java/org/apache/commons/rdf/jena/impl/GeneralizedQuadImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/GeneralizedQuadImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/GeneralizedQuadImpl.java
index 25b148f..e772bd1 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/GeneralizedQuadImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/GeneralizedQuadImpl.java
@@ -41,7 +41,7 @@ import org.apache.jena.sparql.core.Quad;
* @see TripleImpl
* @see QuadImpl
* @see JenaFactory#createGeneralizedTriple(RDFTerm, RDFTerm, RDFTerm)
- * @see JenaFactory#createGeneralizedQuad(RDFTerm, RDFTerm, RDFTerm, Optional)
+ * @see JenaFactory#createGeneralizedQuad(RDFTerm, RDFTerm, RDFTerm, RDFTerm)
*
*/
public class GeneralizedQuadImpl<S extends RDFTerm, P extends RDFTerm, O extends RDFTerm, G extends RDFTerm> implements JenaQuadLike<S,P,O,G> {
[18/50] incubator-commonsrdf git commit: Only depend on jena-osgi
Posted by st...@apache.org.
Only depend on jena-osgi
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/5e787635
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/5e787635
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/5e787635
Branch: refs/heads/rdf4j
Commit: 5e787635d7340adde5143598ba12d1d011227fcc
Parents: 47abae8
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Sep 23 17:29:56 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Sep 23 17:29:56 2016 +0100
----------------------------------------------------------------------
jena/pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/5e787635/jena/pom.xml
----------------------------------------------------------------------
diff --git a/jena/pom.xml b/jena/pom.xml
index c06c5bf..f8a2dc4 100644
--- a/jena/pom.xml
+++ b/jena/pom.xml
@@ -48,7 +48,6 @@
<!-- Uncomment below and disable jena-osgi to access the regular non-osgi
Jena dependencies (e.g. for debugging) -->
<!--
- -->
<dependency>
<groupId>org.apache.jena</groupId>
@@ -57,6 +56,7 @@
<type>pom</type>
<scope>optional</scope>
</dependency>
+ -->
<!-- As commons-rdf-jena is an OSGi bundle, we'll use the Jena OSGi bundle -->
<dependency>
[33/50] incubator-commonsrdf git commit: Updated README
Posted by st...@apache.org.
Updated README
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/81818507
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/81818507
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/81818507
Branch: refs/heads/rdf4j
Commit: 81818507633b033ce411ccdad76225bda750bbec
Parents: 19d29a1
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Sep 29 16:11:32 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Sep 29 16:11:32 2016 +0100
----------------------------------------------------------------------
README.md | 32 ++++++++++++++++++--------------
1 file changed, 18 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/81818507/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index e0f9ea8..bf745a1 100644
--- a/README.md
+++ b/README.md
@@ -5,22 +5,23 @@
[![Coverage Status](https://coveralls.io/repos/apache/incubator-commonsrdf/badge.svg?branch=master&service=github)](https://coveralls.io/github/apache/incubator-commonsrdf?branch=master)
[Commons RDF](http://commonsrdf.incubator.apache.org/) aims to provide a common
-library for [RDF 1.1](http://www.w3.org/TR/rdf11-concepts/) that could be
-implemented by [Jena](http://jena.apache.org/) as well as for other libraries
-such as [OWLAPI](http://owlapi.sourceforge.net/),
+library for [RDF 1.1](http://www.w3.org/TR/rdf11-concepts/) with implementations
+for common Java RDF frameworks like [RDF4J](http://rdf4j.org/), [Apache
+Jena](http://jena.apache.org/) as well as for other libraries such as
+[OWLAPI](http://owlapi.sourceforge.net/),
[Clerezza](http://clerezza.apache.org/) and other JVM languages.
-The main motivation behind this simple library is to revise an historical incompatibility
-issue between these toolkits. This library does not pretend to be a generic API wrapping those libraries,
-but is a set of common Java interfaces for the RDF 1.1 concepts, e.g. `IRI`, `BlankNode`,
-`Graph`, accompanied with unit test cases for their expected behaviour, and a `simple`
+The main motivation behind this simple library is to revise an historical
+incompatibility issue between these toolkits. This library does not pretend to
+be a generic API wrapping those libraries, but is a set of common Java
+interfaces for the RDF 1.1 concepts, e.g. `IRI`, `BlankNode`, `Graph`,
+accompanied with unit test cases for their expected behaviour, and a `simple`
implementation, which main purpose is to clarify the tests and interfaces.
-In particular, Commons RDF aims to provide a type-safe,
-non-general API that covers RDF 1.1. In a future phase we may define interfaces
-for Datasets and Quads.
+In particular, Commons RDF aims to provide a type-safe, non-general API that
+covers RDF 1.1.
-A draft diagram of the interfaces which may be included in Commons RDF are:
+A diagram of the interfaces included in Commons RDF:
<a href="src/site/resources/images/class-diagram.png"><img height="400" src="src/site/resources/images/class-diagram.png" alt="Class diagram" /></a>
@@ -53,8 +54,10 @@ limitations under the License.
## Contributing
Feel free to subscribe to the
-[dev@commonsrdf](http://mail-archives.apache.org/mod_mbox/incubator-commonsrdf-dev/)
-mailing list to follow the ongoing development of Commons RDF, ask questions
+[dev@commons](https://lists.apache.org/list.html?dev@commons.apache.org)
+mailing list, use the
+[Subject tag `[RDF]`](https://lists.apache.org/list.html?dev@commons.apache.org:lte=1M:%5BRDF%5D)
+to follow the ongoing development of Commons RDF, ask questions
about its usage, or help shape Commons RDF by
[contributing](http://commonsrdf.incubator.apache.org/contributing.html)
your ideas, code and use cases.
@@ -116,7 +119,8 @@ To then use this build from your project, add to Maven (update `<version>` to ma
<version>0.2.0-incubating-SNAPSHOT</version>
</dependency>
-See the [downloads](http://commonsrdf.incubator.apache.org/download.html) to
+The `<version>` above might not be up to date,
+see the [downloads](http://commonsrdf.incubator.apache.org/download.html) to
use the latest stable release published in Maven Central.
[17/50] incubator-commonsrdf git commit: Merge branch
'parser-with-quads' into jena
Posted by st...@apache.org.
Merge branch 'parser-with-quads' into jena
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/47abae84
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/47abae84
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/47abae84
Branch: refs/heads/rdf4j
Commit: 47abae840c7ad382d327c2d0481622f44ac1f4b2
Parents: 7ef3f88 bfcead4
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Tue Sep 13 00:11:27 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Tue Sep 13 00:11:27 2016 +0100
----------------------------------------------------------------------
.../apache/commons/rdf/simple/AbstractRDFParserBuilder.java | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
----------------------------------------------------------------------
[45/50] incubator-commonsrdf git commit: Added
JenaGeneralizedQuadLike and JenaGeneralizedTripleLike interfaces
Posted by st...@apache.org.
Added JenaGeneralizedQuadLike and JenaGeneralizedTripleLike interfaces
to avoid the <Generics> overload in the factory
Also made AbstractQuadLike superclass
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/51d7b411
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/51d7b411
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/51d7b411
Branch: refs/heads/rdf4j
Commit: 51d7b41176815c708eaaf941692c711d8f8ad903
Parents: b3baff4
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Oct 7 14:47:49 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Oct 7 14:47:49 2016 +0100
----------------------------------------------------------------------
.../rdf/jena/JenaGeneralizedQuadLike.java | 37 +++++
.../rdf/jena/JenaGeneralizedTripleLike.java | 38 +++++
.../commons/rdf/jena/JenaRDFTermFactory.java | 5 +-
.../commons/rdf/jena/impl/AbstractQuadLike.java | 141 +++++++++++++++++++
.../commons/rdf/jena/impl/JenaFactory.java | 18 +--
.../rdf/jena/impl/JenaGeneralizedQuad.java | 141 -------------------
.../jena/impl/JenaGeneralizedQuadLikeImpl.java | 39 +++++
.../impl/JenaGeneralizedTripleLikeImpl.java | 37 +++++
.../commons/rdf/jena/impl/JenaQuadImpl.java | 2 +-
.../commons/rdf/jena/impl/JenaTripleImpl.java | 2 +-
10 files changed, 306 insertions(+), 154 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/51d7b411/jena/src/main/java/org/apache/commons/rdf/jena/JenaGeneralizedQuadLike.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaGeneralizedQuadLike.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaGeneralizedQuadLike.java
new file mode 100644
index 0000000..272421d
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaGeneralizedQuadLike.java
@@ -0,0 +1,37 @@
+/**
+ * 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.Quad;
+import org.apache.commons.rdf.api.RDFTerm;
+
+/**
+ * A generalized quad representation.
+ * <p>
+ * A <em>generalized quad</em> is a quad-like object which allow any
+ * {@link RDFTerm} type for its {@link #getSubject()}, {@link #getPredicate()}
+ * {@link #getObject()} and {@link #getGraphName()}. This might be useful with
+ * some serializations like JSON-LD.
+ * <p>
+ * Note that unlike {@link Quad}, this type does not have fixed semantics for
+ * {@link #equals(Object)} or {@link #hashCode()} beyond object identity.
+ *
+ */
+public interface JenaGeneralizedQuadLike extends JenaQuadLike<RDFTerm, RDFTerm, RDFTerm, RDFTerm> {
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/51d7b411/jena/src/main/java/org/apache/commons/rdf/jena/JenaGeneralizedTripleLike.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaGeneralizedTripleLike.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaGeneralizedTripleLike.java
new file mode 100644
index 0000000..68e5264
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaGeneralizedTripleLike.java
@@ -0,0 +1,38 @@
+/**
+ * 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.commons.rdf.api.Triple;
+
+/**
+ * A generalized triple representation.
+ * <p>
+ * A <em>generalized triple</em> is a triple-like object which allow any
+ * {@link RDFTerm} type for its {@link #getSubject()}, {@link #getPredicate()}
+ * and {@link #getObject()}. This might be useful with some serializations like
+ * JSON-LD.
+ * <p>
+ * Note that unlike {@link Triple}, this type does not have fixed semantics for
+ * {@link #equals(Object)} or {@link #hashCode()} beyond object identity.
+ *
+ */
+public interface JenaGeneralizedTripleLike
+ extends JenaTripleLike<RDFTerm, RDFTerm, RDFTerm> {
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/51d7b411/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index 25db850..4d5c592 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -15,7 +15,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.commons.rdf.jena;
import java.util.Optional;
@@ -163,7 +162,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* does <strong>not</strong> implement {@link Triple#equals(Object)}
* or {@link Triple#hashCode()}.
*/
- public JenaTripleLike<RDFTerm, RDFTerm, RDFTerm> createGeneralizedTriple(
+ public JenaGeneralizedTripleLike createGeneralizedTriple(
RDFTerm subject, RDFTerm predicate, RDFTerm object) {
return jenaFactory.createGeneralizedTriple(subject, predicate, object);
}
@@ -190,7 +189,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* <strong>not</strong> implement {@link Quad#equals(Object)} or
* {@link Quad#hashCode()}.
*/
- public JenaQuadLike<RDFTerm, RDFTerm, RDFTerm, RDFTerm> createGeneralizedQuad(
+ public JenaGeneralizedQuadLike createGeneralizedQuad(
RDFTerm subject, RDFTerm predicate, RDFTerm object, RDFTerm graphName) {
return jenaFactory.createGeneralizedQuad(subject, predicate, object, graphName);
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/51d7b411/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractQuadLike.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractQuadLike.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractQuadLike.java
new file mode 100644
index 0000000..f8451ea
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractQuadLike.java
@@ -0,0 +1,141 @@
+/**
+ * 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.Objects;
+import java.util.Optional;
+import java.util.UUID;
+
+import org.apache.commons.rdf.api.QuadLike;
+import org.apache.commons.rdf.api.RDFTerm;
+import org.apache.commons.rdf.jena.JenaQuad;
+import org.apache.commons.rdf.jena.JenaQuadLike;
+import org.apache.commons.rdf.jena.JenaRDFTermFactory;
+import org.apache.commons.rdf.jena.JenaTriple;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.sparql.core.Quad;
+
+/**
+ * A generalized {@link QuadLike}, backed by a Jena {@link Quad} or {@link Triple}.
+ * <p>
+ * This class does not implement any particular {@link #equals(Object)} or
+ * {@link #hashCode()} but can otherwise be used as a base class for both
+ * a {@link JenaTriple} and a {@link JenaQuad}.
+ *
+ * @see JenaTripleImpl
+ * @see JenaQuadImpl
+ * @see jenaFactory#createGeneralizedTriple(RDFTerm, RDFTerm, RDFTerm)
+ * @see jenaFactory#createGeneralizedQuad(RDFTerm, RDFTerm, RDFTerm, RDFTerm)
+ *
+ */
+abstract class AbstractQuadLike<S extends RDFTerm, P extends RDFTerm, O extends RDFTerm, G extends RDFTerm> implements JenaQuadLike<S,P,O,G> {
+
+ private static JenaFactory jenaFactory = new JenaFactory(){};
+
+ final Optional<G> graphName;
+ final S subject;
+ final P predicate;
+ final O object;
+ org.apache.jena.sparql.core.Quad quad = null;
+ org.apache.jena.graph.Triple triple = null;
+
+ AbstractQuadLike(S subject, P predicate, O object, Optional<G> graphName) {
+ this.subject = Objects.requireNonNull(subject);
+ this.predicate = Objects.requireNonNull(predicate);
+ this.object = Objects.requireNonNull(object);
+ this.graphName = Objects.requireNonNull(graphName);
+ }
+
+ AbstractQuadLike(S subject, P predicate, O object) {
+ this(subject, predicate, object, Optional.empty());
+ }
+
+ @SuppressWarnings("unchecked")
+ AbstractQuadLike(org.apache.jena.sparql.core.Quad quad, UUID salt) {
+ this.quad = Objects.requireNonNull(quad);
+ this.subject = (S) jenaFactory.fromJena(quad.getSubject(), salt);
+ this.predicate = (P) jenaFactory.fromJena(quad.getPredicate(), salt);
+ this.object = (O)jenaFactory.fromJena(quad.getObject(), salt);
+ this.graphName = Optional.of((G) jenaFactory.fromJena(quad.getGraph(), salt));
+ }
+
+ @SuppressWarnings("unchecked")
+ AbstractQuadLike(org.apache.jena.graph.Triple triple, UUID salt) {
+ this.triple = Objects.requireNonNull(triple);
+ this.subject = (S) jenaFactory.fromJena(triple.getSubject(), salt);
+ this.predicate = (P) jenaFactory.fromJena(triple.getPredicate(), salt);
+ this.object = (O)jenaFactory.fromJena(triple.getObject(), salt);
+ this.graphName = Optional.empty();
+ }
+
+ @Override
+ public org.apache.jena.sparql.core.Quad asJenaQuad() {
+ JenaRDFTermFactory factory = new JenaRDFTermFactory();
+ if (quad == null) {
+ quad = org.apache.jena.sparql.core.Quad.create(
+ factory.toJena(graphName.orElse(null)),
+ factory.toJena(subject),
+ factory.toJena(predicate),
+ factory.toJena(object));
+ }
+ return quad;
+ }
+
+ @Override
+ public org.apache.jena.graph.Triple asJenaTriple() {
+ JenaRDFTermFactory factory = new JenaRDFTermFactory();
+ if (triple == null) {
+ triple = org.apache.jena.graph.Triple.create(
+ factory.toJena(subject),
+ factory.toJena(predicate),
+ factory.toJena(object));
+ }
+ return triple;
+ }
+
+ @Override
+ public S getSubject() {
+ return subject;
+ }
+
+ @Override
+ public P getPredicate() {
+ return predicate;
+ }
+
+ @Override
+ public O getObject() {
+ return object;
+ }
+
+ @Override
+ public Optional<G> getGraphName() {
+ return graphName;
+ }
+
+ @Override
+ public String toString() {
+ // kind of nquad syntax
+ return getSubject().ntriplesString() + " " +
+ getPredicate().ntriplesString() + " "
+ + getObject().ntriplesString() + " " +
+ getGraphName().map(RDFTerm::ntriplesString).orElse("") + ".";
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/51d7b411/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 30b96ed..ec15d35 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
@@ -28,6 +28,8 @@ import org.apache.commons.rdf.api.RDFTerm;
import org.apache.commons.rdf.jena.ConversionException;
import org.apache.commons.rdf.jena.JenaBlankNode;
import org.apache.commons.rdf.jena.JenaDataset;
+import org.apache.commons.rdf.jena.JenaGeneralizedQuadLike;
+import org.apache.commons.rdf.jena.JenaGeneralizedTripleLike;
import org.apache.commons.rdf.jena.JenaGraph;
import org.apache.commons.rdf.jena.JenaIRI;
import org.apache.commons.rdf.jena.JenaLiteral;
@@ -99,12 +101,12 @@ public abstract class JenaFactory {
return new JenaQuadImpl(subject, predicate, object, Optional.ofNullable(graphName));
}
- public JenaTripleLike<RDFTerm,RDFTerm,RDFTerm> createGeneralizedTriple(RDFTerm subject, RDFTerm predicate, RDFTerm object) {
- return new JenaGeneralizedQuad<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(subject, predicate, object);
+ public JenaGeneralizedTripleLike createGeneralizedTriple(RDFTerm subject, RDFTerm predicate, RDFTerm object) {
+ return new JenaGeneralizedTripleLikeImpl(subject, predicate, object);
}
- public JenaQuadLike<RDFTerm,RDFTerm,RDFTerm,RDFTerm> createGeneralizedQuad(RDFTerm subject, RDFTerm predicate, RDFTerm object, RDFTerm graphName) {
- return new JenaGeneralizedQuad<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(subject, predicate, object, Optional.ofNullable(graphName));
+ public JenaGeneralizedQuadLike createGeneralizedQuad(RDFTerm subject, RDFTerm predicate, RDFTerm object, RDFTerm graphName) {
+ return new JenaGeneralizedQuadLikeImpl(subject, predicate, object, Optional.ofNullable(graphName));
}
public JenaRDFTerm fromJena(Node node, UUID salt) throws ConversionException {
@@ -147,12 +149,12 @@ public abstract class JenaFactory {
return new JenaTripleImpl(triple, salt);
}
- public JenaTripleLike<RDFTerm, RDFTerm, RDFTerm> fromJenaGeneralized(org.apache.jena.graph.Triple triple, UUID salt) {
- return new JenaGeneralizedQuad<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(triple, salt);
+ public JenaGeneralizedTripleLike fromJenaGeneralized(org.apache.jena.graph.Triple triple, UUID salt) {
+ return new JenaGeneralizedTripleLikeImpl(triple, salt);
}
- public JenaQuadLike<RDFTerm,RDFTerm,RDFTerm,RDFTerm> fromJenaGeneralized(org.apache.jena.sparql.core.Quad quad, UUID salt) {
- return new JenaGeneralizedQuad<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(quad, salt);
+ public JenaGeneralizedQuadLike fromJenaGeneralized(org.apache.jena.sparql.core.Quad quad, UUID salt) {
+ return new JenaGeneralizedQuadLikeImpl(quad, salt);
}
public JenaQuad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/51d7b411/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuad.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuad.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuad.java
deleted file mode 100644
index 607defd..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuad.java
+++ /dev/null
@@ -1,141 +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.impl;
-
-import java.util.Objects;
-import java.util.Optional;
-import java.util.UUID;
-
-import org.apache.commons.rdf.api.QuadLike;
-import org.apache.commons.rdf.api.RDFTerm;
-import org.apache.commons.rdf.jena.JenaQuad;
-import org.apache.commons.rdf.jena.JenaQuadLike;
-import org.apache.commons.rdf.jena.JenaRDFTermFactory;
-import org.apache.commons.rdf.jena.JenaTriple;
-import org.apache.jena.graph.Triple;
-import org.apache.jena.sparql.core.Quad;
-
-/**
- * A generalized {@link QuadLike}, backed by a Jena {@link Quad} or {@link Triple}.
- * <p>
- * This class does not implement any particular {@link #equals(Object)} or
- * {@link #hashCode()} but can otherwise be used as a base class for both
- * a {@link JenaTriple} and a {@link JenaQuad}.
- *
- * @see JenaTripleImpl
- * @see JenaQuadImpl
- * @see jenaFactory#createGeneralizedTriple(RDFTerm, RDFTerm, RDFTerm)
- * @see jenaFactory#createGeneralizedQuad(RDFTerm, RDFTerm, RDFTerm, RDFTerm)
- *
- */
-class JenaGeneralizedQuad<S extends RDFTerm, P extends RDFTerm, O extends RDFTerm, G extends RDFTerm> implements JenaQuadLike<S,P,O,G> {
-
- private static JenaFactory jenaFactory = new JenaFactory(){};
-
- final Optional<G> graphName;
- final S subject;
- final P predicate;
- final O object;
- org.apache.jena.sparql.core.Quad quad = null;
- org.apache.jena.graph.Triple triple = null;
-
- JenaGeneralizedQuad(S subject, P predicate, O object, Optional<G> graphName) {
- this.subject = Objects.requireNonNull(subject);
- this.predicate = Objects.requireNonNull(predicate);
- this.object = Objects.requireNonNull(object);
- this.graphName = Objects.requireNonNull(graphName);
- }
-
- JenaGeneralizedQuad(S subject, P predicate, O object) {
- this(subject, predicate, object, Optional.empty());
- }
-
- @SuppressWarnings("unchecked")
- JenaGeneralizedQuad(org.apache.jena.sparql.core.Quad quad, UUID salt) {
- this.quad = Objects.requireNonNull(quad);
- this.subject = (S) jenaFactory.fromJena(quad.getSubject(), salt);
- this.predicate = (P) jenaFactory.fromJena(quad.getPredicate(), salt);
- this.object = (O)jenaFactory.fromJena(quad.getObject(), salt);
- this.graphName = Optional.of((G) jenaFactory.fromJena(quad.getGraph(), salt));
- }
-
- @SuppressWarnings("unchecked")
- JenaGeneralizedQuad(org.apache.jena.graph.Triple triple, UUID salt) {
- this.triple = Objects.requireNonNull(triple);
- this.subject = (S) jenaFactory.fromJena(triple.getSubject(), salt);
- this.predicate = (P) jenaFactory.fromJena(triple.getPredicate(), salt);
- this.object = (O)jenaFactory.fromJena(triple.getObject(), salt);
- this.graphName = Optional.empty();
- }
-
- @Override
- public org.apache.jena.sparql.core.Quad asJenaQuad() {
- JenaRDFTermFactory factory = new JenaRDFTermFactory();
- if (quad == null) {
- quad = org.apache.jena.sparql.core.Quad.create(
- factory.toJena(graphName.orElse(null)),
- factory.toJena(subject),
- factory.toJena(predicate),
- factory.toJena(object));
- }
- return quad;
- }
-
- @Override
- public org.apache.jena.graph.Triple asJenaTriple() {
- JenaRDFTermFactory factory = new JenaRDFTermFactory();
- if (triple == null) {
- triple = org.apache.jena.graph.Triple.create(
- factory.toJena(subject),
- factory.toJena(predicate),
- factory.toJena(object));
- }
- return triple;
- }
-
- @Override
- public S getSubject() {
- return subject;
- }
-
- @Override
- public P getPredicate() {
- return predicate;
- }
-
- @Override
- public O getObject() {
- return object;
- }
-
- @Override
- public Optional<G> getGraphName() {
- return graphName;
- }
-
- @Override
- public String toString() {
- // kind of nquad syntax
- return getSubject().ntriplesString() + " " +
- getPredicate().ntriplesString() + " "
- + getObject().ntriplesString() + " " +
- getGraphName().map(RDFTerm::ntriplesString).orElse("") + ".";
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/51d7b411/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuadLikeImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuadLikeImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuadLikeImpl.java
new file mode 100644
index 0000000..df74900
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuadLikeImpl.java
@@ -0,0 +1,39 @@
+/**
+ * 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.Optional;
+import java.util.UUID;
+
+import org.apache.commons.rdf.api.RDFTerm;
+import org.apache.commons.rdf.jena.JenaGeneralizedQuadLike;
+import org.apache.jena.sparql.core.Quad;
+
+class JenaGeneralizedQuadLikeImpl extends AbstractQuadLike<RDFTerm, RDFTerm, RDFTerm, RDFTerm>
+ implements JenaGeneralizedQuadLike {
+
+ JenaGeneralizedQuadLikeImpl(RDFTerm subject, RDFTerm predicate, RDFTerm object,
+ Optional<RDFTerm> ofNullable) {
+ super(subject, predicate, object, ofNullable);
+ }
+
+ JenaGeneralizedQuadLikeImpl(Quad quad, UUID salt) {
+ super(quad, salt);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/51d7b411/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedTripleLikeImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedTripleLikeImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedTripleLikeImpl.java
new file mode 100644
index 0000000..ecaa46a
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedTripleLikeImpl.java
@@ -0,0 +1,37 @@
+/**
+ * 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.JenaGeneralizedTripleLike;
+import org.apache.jena.graph.Triple;
+
+class JenaGeneralizedTripleLikeImpl extends AbstractQuadLike<RDFTerm, RDFTerm, RDFTerm, RDFTerm>
+ implements JenaGeneralizedTripleLike {
+
+ JenaGeneralizedTripleLikeImpl(RDFTerm subject, RDFTerm predicate, RDFTerm object) {
+ super(subject, predicate, object);
+ }
+
+ JenaGeneralizedTripleLikeImpl(Triple triple, UUID salt) {
+ super(triple, salt);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/51d7b411/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaQuadImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaQuadImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaQuadImpl.java
index 9d65374..61ddf9b 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaQuadImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaQuadImpl.java
@@ -29,7 +29,7 @@ import org.apache.commons.rdf.api.RDFTerm;
import org.apache.commons.rdf.jena.ConversionException;
import org.apache.commons.rdf.jena.JenaQuad;
-class JenaQuadImpl extends JenaGeneralizedQuad<BlankNodeOrIRI,IRI,RDFTerm,BlankNodeOrIRI>
+class JenaQuadImpl extends AbstractQuadLike<BlankNodeOrIRI,IRI,RDFTerm,BlankNodeOrIRI>
implements JenaQuad {
JenaQuadImpl(BlankNodeOrIRI subject, IRI predicate, RDFTerm object, Optional<BlankNodeOrIRI> graphName) {
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/51d7b411/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaTripleImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaTripleImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaTripleImpl.java
index 502b575..453300c 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaTripleImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaTripleImpl.java
@@ -28,7 +28,7 @@ import org.apache.commons.rdf.api.Triple;
import org.apache.commons.rdf.jena.ConversionException;
import org.apache.commons.rdf.jena.JenaTriple;
-class JenaTripleImpl extends JenaGeneralizedQuad<BlankNodeOrIRI, IRI, RDFTerm, RDFTerm>
+class JenaTripleImpl extends AbstractQuadLike<BlankNodeOrIRI, IRI, RDFTerm, RDFTerm>
implements JenaTriple {
JenaTripleImpl(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
[50/50] incubator-commonsrdf git commit: Merge branch 'master' into
rdf4j
Posted by st...@apache.org.
Merge branch 'master' into rdf4j
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/45faf6ee
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/45faf6ee
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/45faf6ee
Branch: refs/heads/rdf4j
Commit: 45faf6ee803504d43defd4f1921cdd0b0b432ed7
Parents: f4bee87 4528e69
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Oct 7 15:22:42 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Oct 7 15:22:42 2016 +0100
----------------------------------------------------------------------
jena/pom.xml | 95 +++
.../commons/rdf/jena/ConversionException.java | 48 ++
.../apache/commons/rdf/jena/JenaBlankNode.java | 33 +
.../apache/commons/rdf/jena/JenaDataset.java | 57 ++
.../rdf/jena/JenaGeneralizedQuadLike.java | 38 +
.../rdf/jena/JenaGeneralizedTripleLike.java | 39 +
.../org/apache/commons/rdf/jena/JenaGraph.java | 55 ++
.../org/apache/commons/rdf/jena/JenaIRI.java | 32 +
.../apache/commons/rdf/jena/JenaLiteral.java | 32 +
.../org/apache/commons/rdf/jena/JenaQuad.java | 32 +
.../apache/commons/rdf/jena/JenaQuadLike.java | 44 ++
.../apache/commons/rdf/jena/JenaRDFTerm.java | 35 +
.../commons/rdf/jena/JenaRDFTermFactory.java | 727 +++++++++++++++++++
.../org/apache/commons/rdf/jena/JenaTriple.java | 31 +
.../apache/commons/rdf/jena/JenaTripleLike.java | 47 ++
.../rdf/jena/experimental/JenaRDFParser.java | 108 +++
.../rdf/jena/experimental/package-info.java | 33 +
.../rdf/jena/impl/AbstractJenaRDFTerm.java | 47 ++
.../commons/rdf/jena/impl/AbstractQuadLike.java | 141 ++++
.../rdf/jena/impl/InternalJenaFactory.java | 162 +++++
.../rdf/jena/impl/JenaBlankNodeImpl.java | 61 ++
.../commons/rdf/jena/impl/JenaDatasetImpl.java | 191 +++++
.../jena/impl/JenaGeneralizedQuadLikeImpl.java | 39 +
.../impl/JenaGeneralizedTripleLikeImpl.java | 37 +
.../commons/rdf/jena/impl/JenaGraphImpl.java | 157 ++++
.../commons/rdf/jena/impl/JenaIRIImpl.java | 61 ++
.../commons/rdf/jena/impl/JenaLiteralImpl.java | 75 ++
.../commons/rdf/jena/impl/JenaQuadImpl.java | 66 ++
.../commons/rdf/jena/impl/JenaTripleImpl.java | 67 ++
.../org.apache.commons.rdf.api.RDFTermFactory | 1 +
.../commons/rdf/jena/TestBlankNodeJena.java | 46 ++
.../apache/commons/rdf/jena/TestGraphJena.java | 32 +
.../jena/TestJenaGraphToCommonsRDFGraph.java | 74 ++
.../commons/rdf/jena/TestRDFParserBuilder.java | 63 ++
.../rdf/jena/TestRDFTermFactoryJena.java | 32 +
jena/src/test/resources/D.ttl | 20 +
jena/src/test/resources/log4j.properties | 33 +
pom.xml | 12 +-
38 files changed, 2902 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/45faf6ee/pom.xml
----------------------------------------------------------------------
diff --cc pom.xml
index c0ee4b4,2b837c6..215b3a5
--- a/pom.xml
+++ b/pom.xml
@@@ -215,7 -218,7 +218,8 @@@
<modules>
<module>api</module>
<module>simple</module>
+ <module>rdf4j</module>
+ <module>jena</module>
<module>jsonld-java</module>
</modules>
[14/50] incubator-commonsrdf git commit: Merge branch
'parser-with-quads' into jena
Posted by st...@apache.org.
Merge branch 'parser-with-quads' into jena
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/387eaaed
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/387eaaed
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/387eaaed
Branch: refs/heads/rdf4j
Commit: 387eaaed22697fae673d424c07ff74aa0d23cfb6
Parents: 4e9b11b b1b657f
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Sep 9 16:28:30 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Sep 9 16:28:30 2016 +0100
----------------------------------------------------------------------
----------------------------------------------------------------------
[02/50] 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/rdf4j
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());
+ }
}
[34/50] incubator-commonsrdf git commit: Javadoc link
Posted by st...@apache.org.
Javadoc link
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/cfbe28fc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/cfbe28fc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/cfbe28fc
Branch: refs/heads/rdf4j
Commit: cfbe28fcb0192de2ab877a4e4c665f5cd8b23532
Parents: 8181850
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Sep 29 16:12:36 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Sep 29 16:12:36 2016 +0100
----------------------------------------------------------------------
README.md | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/cfbe28fc/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index bf745a1..15a7723 100644
--- a/README.md
+++ b/README.md
@@ -13,8 +13,9 @@ Jena](http://jena.apache.org/) as well as for other libraries such as
The main motivation behind this simple library is to revise an historical
incompatibility issue between these toolkits. This library does not pretend to
-be a generic API wrapping those libraries, but is a set of common Java
-interfaces for the RDF 1.1 concepts, e.g. `IRI`, `BlankNode`, `Graph`,
+be a generic API wrapping those libraries, but is a
+[set of common Java interfaces](http://commonsrdf.incubator.apache.org/apidocs/index.html?org/apache/commons/rdf/api/package-summary.html)
+for the RDF 1.1 concepts, e.g. `IRI`, `BlankNode`, `Graph`,
accompanied with unit test cases for their expected behaviour, and a `simple`
implementation, which main purpose is to clarify the tests and interfaces.
[46/50] incubator-commonsrdf git commit: JenaFactory ->
InternalJenaFactory
Posted by st...@apache.org.
JenaFactory -> InternalJenaFactory
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/c7188004
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/c7188004
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/c7188004
Branch: refs/heads/rdf4j
Commit: c718800490b3cc9176239f8dab215cbebd5c3c5b
Parents: 51d7b41
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Oct 7 15:13:39 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Oct 7 15:14:00 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/jena/JenaRDFTermFactory.java | 46 +++---
.../commons/rdf/jena/impl/AbstractQuadLike.java | 20 +--
.../rdf/jena/impl/InternalJenaFactory.java | 162 ++++++++++++++++++
.../commons/rdf/jena/impl/JenaDatasetImpl.java | 2 +-
.../commons/rdf/jena/impl/JenaFactory.java | 164 -------------------
.../commons/rdf/jena/impl/JenaLiteralImpl.java | 4 +-
.../commons/rdf/jena/TestBlankNodeJena.java | 8 +-
7 files changed, 202 insertions(+), 204 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c7188004/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index 4d5c592..0cc84c0 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -34,7 +34,7 @@ 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.commons.rdf.jena.impl.InternalJenaFactory;
import org.apache.jena.datatypes.RDFDatatype;
import org.apache.jena.datatypes.xsd.XSDDatatype;
import org.apache.jena.graph.Node;
@@ -60,7 +60,7 @@ import org.apache.jena.sparql.graph.GraphFactory;
*/
public final class JenaRDFTermFactory implements RDFTermFactory {
- private static JenaFactory jenaFactory = new JenaFactory(){};
+ private static InternalJenaFactory internalJenaFactory = new InternalJenaFactory(){};
private final UUID salt;
@@ -91,55 +91,55 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
@Override
public JenaBlankNode createBlankNode() {
- return jenaFactory.createBlankNode(getSalt());
+ return internalJenaFactory.createBlankNode(getSalt());
}
@Override
public JenaBlankNode createBlankNode(String name) {
- return jenaFactory.createBlankNode(name, getSalt());
+ return internalJenaFactory.createBlankNode(name, getSalt());
}
@Override
public JenaDataset createDataset() {
- return jenaFactory.createDataset(getSalt());
+ return internalJenaFactory.createDataset(getSalt());
}
@Override
public JenaGraph createGraph() {
- return jenaFactory.createGraph(getSalt());
+ return internalJenaFactory.createGraph(getSalt());
}
@Override
public JenaIRI createIRI(String iri) {
validateIRI(iri);
- return jenaFactory.createIRI(iri);
+ return internalJenaFactory.createIRI(iri);
}
@Override
public JenaLiteral createLiteral(String lexicalForm) {
- return jenaFactory.createLiteral(lexicalForm);
+ return internalJenaFactory.createLiteral(lexicalForm);
}
@Override
public JenaLiteral createLiteral(String lexicalForm, IRI dataType) {
- return jenaFactory.createLiteralDT(lexicalForm, dataType.getIRIString());
+ return internalJenaFactory.createLiteralDT(lexicalForm, dataType.getIRIString());
}
@Override
public JenaLiteral createLiteral(String lexicalForm, String languageTag) {
validateLang(languageTag);
- return jenaFactory.createLiteralLang(lexicalForm, languageTag);
+ return internalJenaFactory.createLiteralLang(lexicalForm, languageTag);
}
@Override
public JenaTriple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
- return jenaFactory.createTriple(subject, predicate, object);
+ return internalJenaFactory.createTriple(subject, predicate, object);
}
@Override
public JenaQuad createQuad(BlankNodeOrIRI graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object)
throws IllegalArgumentException, UnsupportedOperationException {
- return jenaFactory.createQuad(subject, predicate, object, graphName);
+ return internalJenaFactory.createQuad(subject, predicate, object, graphName);
}
/**
@@ -164,7 +164,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
*/
public JenaGeneralizedTripleLike createGeneralizedTriple(
RDFTerm subject, RDFTerm predicate, RDFTerm object) {
- return jenaFactory.createGeneralizedTriple(subject, predicate, object);
+ return internalJenaFactory.createGeneralizedTriple(subject, predicate, object);
}
/**
@@ -191,7 +191,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
*/
public JenaGeneralizedQuadLike createGeneralizedQuad(
RDFTerm subject, RDFTerm predicate, RDFTerm object, RDFTerm graphName) {
- return jenaFactory.createGeneralizedQuad(subject, predicate, object, graphName);
+ return internalJenaFactory.createGeneralizedQuad(subject, predicate, object, graphName);
}
/**
* Adapt an existing Jena Node to CommonsRDF {@link RDFTerm}.
@@ -213,7 +213,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* if the node is not concrete or represents a variable in Jena.
*/
public JenaRDFTerm fromJena(Node node) throws ConversionException {
- return jenaFactory.fromJena(node, getSalt());
+ return internalJenaFactory.fromJena(node, getSalt());
}
/**
@@ -278,7 +278,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* is a generalized triple
*/
public JenaTriple fromJena(org.apache.jena.graph.Triple triple) throws ConversionException {
- return jenaFactory.fromJena(triple, getSalt());
+ return internalJenaFactory.fromJena(triple, getSalt());
}
/**
@@ -304,7 +304,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* 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, getSalt());
+ return internalJenaFactory.fromJenaGeneralized(triple, getSalt());
}
/**
@@ -334,7 +334,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* if any of the quad nodes are not concrete
*/
public JenaQuadLike<RDFTerm, RDFTerm, RDFTerm, RDFTerm> fromJenaGeneralized(org.apache.jena.sparql.core.Quad quad) throws ConversionException {
- return jenaFactory.fromJenaGeneralized(quad, getSalt());
+ return internalJenaFactory.fromJenaGeneralized(quad, getSalt());
}
/**
@@ -389,7 +389,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @return Adapted quad
*/
public JenaQuad fromJena(org.apache.jena.sparql.core.Quad quad) {
- return jenaFactory.fromJena(quad, getSalt());
+ return internalJenaFactory.fromJena(quad, getSalt());
}
/**
@@ -411,7 +411,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @return Adapted {@link JenaGraph}
*/
public JenaGraph fromJena(org.apache.jena.graph.Graph graph) {
- return jenaFactory.fromJena(graph, getSalt());
+ return internalJenaFactory.fromJena(graph, getSalt());
}
/**
@@ -430,7 +430,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @return Adapted {@link JenaGraph}
*/
public JenaGraph fromJena(org.apache.jena.rdf.model.Model model) {
- return jenaFactory.fromJena(model, getSalt());
+ return internalJenaFactory.fromJena(model, getSalt());
}
/**
@@ -450,7 +450,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @return Adapted {@link JenaDataset}
*/
public JenaDataset fromJena(DatasetGraph datasetGraph) {
- return jenaFactory.fromJena(datasetGraph, getSalt());
+ return internalJenaFactory.fromJena(datasetGraph, getSalt());
}
/**
@@ -470,7 +470,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @return Adapted {@link JenaDataset}
*/
public JenaDataset fromJena(org.apache.jena.query.Dataset datasetGraph) {
- return jenaFactory.fromJena(datasetGraph.asDatasetGraph(), getSalt());
+ return internalJenaFactory.fromJena(datasetGraph.asDatasetGraph(), getSalt());
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c7188004/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractQuadLike.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractQuadLike.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractQuadLike.java
index f8451ea..dd0d384 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractQuadLike.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/AbstractQuadLike.java
@@ -40,13 +40,13 @@ import org.apache.jena.sparql.core.Quad;
*
* @see JenaTripleImpl
* @see JenaQuadImpl
- * @see jenaFactory#createGeneralizedTriple(RDFTerm, RDFTerm, RDFTerm)
- * @see jenaFactory#createGeneralizedQuad(RDFTerm, RDFTerm, RDFTerm, RDFTerm)
+ * @see internalJenaFactory#createGeneralizedTriple(RDFTerm, RDFTerm, RDFTerm)
+ * @see internalJenaFactory#createGeneralizedQuad(RDFTerm, RDFTerm, RDFTerm, RDFTerm)
*
*/
abstract class AbstractQuadLike<S extends RDFTerm, P extends RDFTerm, O extends RDFTerm, G extends RDFTerm> implements JenaQuadLike<S,P,O,G> {
- private static JenaFactory jenaFactory = new JenaFactory(){};
+ private static InternalJenaFactory internalJenaFactory = new InternalJenaFactory(){};
final Optional<G> graphName;
final S subject;
@@ -69,18 +69,18 @@ abstract class AbstractQuadLike<S extends RDFTerm, P extends RDFTerm, O extends
@SuppressWarnings("unchecked")
AbstractQuadLike(org.apache.jena.sparql.core.Quad quad, UUID salt) {
this.quad = Objects.requireNonNull(quad);
- this.subject = (S) jenaFactory.fromJena(quad.getSubject(), salt);
- this.predicate = (P) jenaFactory.fromJena(quad.getPredicate(), salt);
- this.object = (O)jenaFactory.fromJena(quad.getObject(), salt);
- this.graphName = Optional.of((G) jenaFactory.fromJena(quad.getGraph(), salt));
+ this.subject = (S) internalJenaFactory.fromJena(quad.getSubject(), salt);
+ this.predicate = (P) internalJenaFactory.fromJena(quad.getPredicate(), salt);
+ this.object = (O)internalJenaFactory.fromJena(quad.getObject(), salt);
+ this.graphName = Optional.of((G) internalJenaFactory.fromJena(quad.getGraph(), salt));
}
@SuppressWarnings("unchecked")
AbstractQuadLike(org.apache.jena.graph.Triple triple, UUID salt) {
this.triple = Objects.requireNonNull(triple);
- this.subject = (S) jenaFactory.fromJena(triple.getSubject(), salt);
- this.predicate = (P) jenaFactory.fromJena(triple.getPredicate(), salt);
- this.object = (O)jenaFactory.fromJena(triple.getObject(), salt);
+ this.subject = (S) internalJenaFactory.fromJena(triple.getSubject(), salt);
+ this.predicate = (P) internalJenaFactory.fromJena(triple.getPredicate(), salt);
+ this.object = (O)internalJenaFactory.fromJena(triple.getObject(), salt);
this.graphName = Optional.empty();
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c7188004/jena/src/main/java/org/apache/commons/rdf/jena/impl/InternalJenaFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/InternalJenaFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/InternalJenaFactory.java
new file mode 100644
index 0000000..eb09d67
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/InternalJenaFactory.java
@@ -0,0 +1,162 @@
+/**
+ * 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.Optional;
+import java.util.UUID;
+
+import org.apache.commons.rdf.api.BlankNode;
+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.jena.ConversionException;
+import org.apache.commons.rdf.jena.JenaBlankNode;
+import org.apache.commons.rdf.jena.JenaDataset;
+import org.apache.commons.rdf.jena.JenaGeneralizedQuadLike;
+import org.apache.commons.rdf.jena.JenaGeneralizedTripleLike;
+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.JenaQuad;
+import org.apache.commons.rdf.jena.JenaRDFTerm;
+import org.apache.commons.rdf.jena.JenaRDFTermFactory;
+import org.apache.commons.rdf.jena.JenaTriple;
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.NodeFactory;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.sparql.core.DatasetGraph;
+import org.apache.jena.sparql.core.DatasetGraphFactory;
+import org.apache.jena.sparql.graph.GraphFactory;
+
+/**
+ * Construct Jena implementations of Commons RDF.
+ * <p>
+ * This class is deliberately an abstract class, as it is an internal helper
+ * which <strong>may change</strong> in any minor version update; users should
+ * instead use {@link JenaRDFTermFactory}.
+ * <p>
+ * For the purpose of blank node identity, some of these methods require a
+ * {@link UUID} to use as a salt. See {@link BlankNode#uniqueReference()} for
+ * details.
+ *
+ */
+public abstract class InternalJenaFactory {
+
+ public JenaBlankNode createBlankNode(String id, UUID salt) {
+ return new JenaBlankNodeImpl(NodeFactory.createBlankNode(id), salt);
+ }
+
+ public JenaBlankNode createBlankNode(UUID salt) {
+ return new JenaBlankNodeImpl(NodeFactory.createBlankNode(), salt);
+ }
+ public JenaDataset createDataset(UUID salt) {
+ DatasetGraph dg = DatasetGraphFactory.createGeneral();
+ // Or which createMethod() -- a bit confusing with lots of choice..
+ return new JenaDatasetImpl(dg, salt);
+ }
+
+ public JenaGraph createGraph(UUID salt) {
+ return new JenaGraphImpl(GraphFactory.createDefaultGraph(), salt);
+ }
+
+ public JenaIRI createIRI(String iriStr) {
+ return new JenaIRIImpl(iriStr);
+ }
+
+ public JenaLiteral createLiteral(String lexStr) {
+ return new JenaLiteralImpl(NodeFactory.createLiteral(lexStr));
+ }
+
+ public JenaLiteral createLiteralDT(String lexStr, String datatypeIRI) {
+ return new JenaLiteralImpl(NodeFactory.createLiteral(lexStr, NodeFactory.getType(datatypeIRI)));
+ }
+
+ public JenaLiteral createLiteralLang(String lexStr, String langTag) {
+ return new JenaLiteralImpl(NodeFactory.createLiteral(lexStr, langTag));
+ }
+
+ public JenaTriple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ return new JenaTripleImpl(subject, predicate, object);
+ }
+
+ public JenaQuad createQuad(BlankNodeOrIRI subject, IRI predicate, RDFTerm object, BlankNodeOrIRI graphName) {
+ return new JenaQuadImpl(subject, predicate, object, Optional.ofNullable(graphName));
+ }
+
+ public JenaGeneralizedTripleLike createGeneralizedTriple(RDFTerm subject, RDFTerm predicate, RDFTerm object) {
+ return new JenaGeneralizedTripleLikeImpl(subject, predicate, object);
+ }
+
+ public JenaGeneralizedQuadLike createGeneralizedQuad(RDFTerm subject, RDFTerm predicate, RDFTerm object, RDFTerm graphName) {
+ return new JenaGeneralizedQuadLikeImpl(subject, predicate, object, Optional.ofNullable(graphName));
+ }
+
+ public JenaRDFTerm fromJena(Node node, UUID salt) throws ConversionException {
+ if (! node.isConcrete()) {
+ throw new ConversionException("Node is not a concrete RDF Term: " + node);
+ }
+ if (node.isURI()) {
+ return new JenaIRIImpl(node);
+ }
+ if (node.isLiteral()) {
+ return new JenaLiteralImpl(node);
+ }
+ if (node.isBlank()) {
+ return new JenaBlankNodeImpl(node, salt);
+ }
+ if (node.equals(Node.ANY)) {
+ // NOTE: JenaAny no longer supported by Commons RDF
+ //return JenaAnyImpl.Singleton.instance;
+ }
+ if (node.isVariable()) {
+ // NOTE: JenaVariable no longer supported by Commons RDF
+ //return new JenaVariableImpl(node);
+ }
+ throw new ConversionException("Unrecognized node type: " + node);
+ }
+
+ public JenaGraph fromJena(org.apache.jena.graph.Graph graph, UUID salt) {
+ return new JenaGraphImpl(graph, salt);
+ }
+
+ public JenaGraph fromJena(Model model, UUID salt) {
+ return new JenaGraphImpl(model, salt);
+ }
+
+ public JenaDataset fromJena(DatasetGraph datasetGraph, UUID salt) {
+ return new JenaDatasetImpl(datasetGraph, salt);
+ }
+
+ public JenaTriple fromJena(org.apache.jena.graph.Triple triple, UUID salt) {
+ return new JenaTripleImpl(triple, salt);
+ }
+
+ public JenaGeneralizedTripleLike fromJenaGeneralized(org.apache.jena.graph.Triple triple, UUID salt) {
+ return new JenaGeneralizedTripleLikeImpl(triple, salt);
+ }
+
+ public JenaGeneralizedQuadLike fromJenaGeneralized(org.apache.jena.sparql.core.Quad quad, UUID salt) {
+ return new JenaGeneralizedQuadLikeImpl(quad, salt);
+ }
+
+ public JenaQuad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
+ return new JenaQuadImpl(quad, salt);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c7188004/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
index fec063f..5c410ee 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
@@ -94,7 +94,7 @@ class JenaDatasetImpl implements JenaDataset {
private Node toJenaPattern(Optional<? extends RDFTerm> graphName) {
// In theory we could have done:
- // factory.toJena(graphName.orElse(jenaFactory::createAnyVariable))
+ // factory.toJena(graphName.orElse(internalJenaFactory::createAnyVariable))
// but because of generics casting rules that doesn't work :(
if (graphName == null) {
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c7188004/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
deleted file mode 100644
index ec15d35..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaFactory.java
+++ /dev/null
@@ -1,164 +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.impl;
-
-import java.util.Optional;
-import java.util.UUID;
-
-import org.apache.commons.rdf.api.BlankNode;
-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.jena.ConversionException;
-import org.apache.commons.rdf.jena.JenaBlankNode;
-import org.apache.commons.rdf.jena.JenaDataset;
-import org.apache.commons.rdf.jena.JenaGeneralizedQuadLike;
-import org.apache.commons.rdf.jena.JenaGeneralizedTripleLike;
-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.JenaQuad;
-import org.apache.commons.rdf.jena.JenaQuadLike;
-import org.apache.commons.rdf.jena.JenaRDFTerm;
-import org.apache.commons.rdf.jena.JenaRDFTermFactory;
-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.rdf.model.Model;
-import org.apache.jena.sparql.core.DatasetGraph;
-import org.apache.jena.sparql.core.DatasetGraphFactory;
-import org.apache.jena.sparql.graph.GraphFactory;
-
-/**
- * Construct Jena implementations of Commons RDF.
- * <p>
- * This class is deliberately an abstract class, as it is an internal helper
- * which <strong>may change</strong> in any minor version update; users should
- * instead use {@link JenaRDFTermFactory}.
- * <p>
- * For the purpose of blank node identity, some of these methods require a
- * {@link UUID} to use as a salt. See {@link BlankNode#uniqueReference()} for
- * details.
- *
- */
-public abstract class JenaFactory {
-
- public JenaBlankNode createBlankNode(String id, UUID salt) {
- return new JenaBlankNodeImpl(NodeFactory.createBlankNode(id), salt);
- }
-
- public JenaBlankNode createBlankNode(UUID salt) {
- return new JenaBlankNodeImpl(NodeFactory.createBlankNode(), salt);
- }
- public JenaDataset createDataset(UUID salt) {
- DatasetGraph dg = DatasetGraphFactory.createGeneral();
- // Or which createMethod() -- a bit confusing with lots of choice..
- return new JenaDatasetImpl(dg, salt);
- }
-
- public JenaGraph createGraph(UUID salt) {
- return new JenaGraphImpl(GraphFactory.createDefaultGraph(), salt);
- }
-
- public JenaIRI createIRI(String iriStr) {
- return new JenaIRIImpl(iriStr);
- }
-
- public JenaLiteral createLiteral(String lexStr) {
- return new JenaLiteralImpl(NodeFactory.createLiteral(lexStr));
- }
-
- public JenaLiteral createLiteralDT(String lexStr, String datatypeIRI) {
- return new JenaLiteralImpl(NodeFactory.createLiteral(lexStr, NodeFactory.getType(datatypeIRI)));
- }
-
- public JenaLiteral createLiteralLang(String lexStr, String langTag) {
- return new JenaLiteralImpl(NodeFactory.createLiteral(lexStr, langTag));
- }
-
- public JenaTriple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
- return new JenaTripleImpl(subject, predicate, object);
- }
-
- public JenaQuad createQuad(BlankNodeOrIRI subject, IRI predicate, RDFTerm object, BlankNodeOrIRI graphName) {
- return new JenaQuadImpl(subject, predicate, object, Optional.ofNullable(graphName));
- }
-
- public JenaGeneralizedTripleLike createGeneralizedTriple(RDFTerm subject, RDFTerm predicate, RDFTerm object) {
- return new JenaGeneralizedTripleLikeImpl(subject, predicate, object);
- }
-
- public JenaGeneralizedQuadLike createGeneralizedQuad(RDFTerm subject, RDFTerm predicate, RDFTerm object, RDFTerm graphName) {
- return new JenaGeneralizedQuadLikeImpl(subject, predicate, object, Optional.ofNullable(graphName));
- }
-
- public JenaRDFTerm fromJena(Node node, UUID salt) throws ConversionException {
- if (! node.isConcrete()) {
- throw new ConversionException("Node is not a concrete RDF Term: " + node);
- }
- if (node.isURI()) {
- return new JenaIRIImpl(node);
- }
- if (node.isLiteral()) {
- return new JenaLiteralImpl(node);
- }
- if (node.isBlank()) {
- return new JenaBlankNodeImpl(node, salt);
- }
- if (node.equals(Node.ANY)) {
- // NOTE: JenaAny no longer supported by Commons RDF
- //return JenaAnyImpl.Singleton.instance;
- }
- if (node.isVariable()) {
- // NOTE: JenaVariable no longer supported by Commons RDF
- //return new JenaVariableImpl(node);
- }
- throw new ConversionException("Unrecognized node type: " + node);
- }
-
- public JenaGraph fromJena(org.apache.jena.graph.Graph graph, UUID salt) {
- return new JenaGraphImpl(graph, salt);
- }
-
- public JenaGraph fromJena(Model model, UUID salt) {
- return new JenaGraphImpl(model, salt);
- }
-
- public JenaDataset fromJena(DatasetGraph datasetGraph, UUID salt) {
- return new JenaDatasetImpl(datasetGraph, salt);
- }
-
- public JenaTriple fromJena(org.apache.jena.graph.Triple triple, UUID salt) {
- return new JenaTripleImpl(triple, salt);
- }
-
- public JenaGeneralizedTripleLike fromJenaGeneralized(org.apache.jena.graph.Triple triple, UUID salt) {
- return new JenaGeneralizedTripleLikeImpl(triple, salt);
- }
-
- public JenaGeneralizedQuadLike fromJenaGeneralized(org.apache.jena.sparql.core.Quad quad, UUID salt) {
- return new JenaGeneralizedQuadLikeImpl(quad, salt);
- }
-
- public JenaQuad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
- return new JenaQuadImpl(quad, salt);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c7188004/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaLiteralImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaLiteralImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaLiteralImpl.java
index 173af4c..74c6d9c 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaLiteralImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaLiteralImpl.java
@@ -28,7 +28,7 @@ import org.apache.jena.graph.Node;
class JenaLiteralImpl extends AbstractJenaRDFTerm implements JenaLiteral {
- private static JenaFactory jenaFactory = new JenaFactory(){};
+ private static InternalJenaFactory internalJenaFactory = new InternalJenaFactory(){};
JenaLiteralImpl(Node node) {
super(node);
@@ -52,7 +52,7 @@ class JenaLiteralImpl extends AbstractJenaRDFTerm implements JenaLiteral {
@Override
public IRI getDatatype() {
- return jenaFactory.createIRI(asJenaNode().getLiteralDatatype().getURI());
+ return internalJenaFactory.createIRI(asJenaNode().getLiteralDatatype().getURI());
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c7188004/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java
----------------------------------------------------------------------
diff --git a/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java b/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java
index 0ac6326..a3db975 100644
--- a/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java
+++ b/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java
@@ -22,11 +22,11 @@ import java.util.UUID;
import org.apache.commons.rdf.api.AbstractBlankNodeTest ;
import org.apache.commons.rdf.api.BlankNode ;
-import org.apache.commons.rdf.jena.impl.JenaFactory;
+import org.apache.commons.rdf.jena.impl.InternalJenaFactory;
public class TestBlankNodeJena extends AbstractBlankNodeTest {
- JenaFactory jenaFactory = new JenaFactory(){};
+ InternalJenaFactory internalJenaFactory = new InternalJenaFactory(){};
/**
* Fixed salt for the purpose of this test.
@@ -35,12 +35,12 @@ public class TestBlankNodeJena extends AbstractBlankNodeTest {
@Override
protected BlankNode getBlankNode() {
- return jenaFactory.createBlankNode(SALT) ;
+ return internalJenaFactory.createBlankNode(SALT) ;
}
@Override
protected BlankNode getBlankNode(String identifier) {
- return jenaFactory.createBlankNode(identifier, SALT) ;
+ return internalJenaFactory.createBlankNode(identifier, SALT) ;
}
}
[04/50] incubator-commonsrdf git commit: GeneralizedQuadImpl common
for QuadImpl and TripleImpl
Posted by st...@apache.org.
GeneralizedQuadImpl common for QuadImpl and TripleImpl
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/a3cb3b13
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/a3cb3b13
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/a3cb3b13
Branch: refs/heads/rdf4j
Commit: a3cb3b13a74aede64603dd651b5e549b89bc4a60
Parents: 76dbe50
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Jul 8 15:16:47 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Jul 8 15:18:17 2016 +0100
----------------------------------------------------------------------
.../org/apache/commons/rdf/jena/JenaQuad.java | 8 +-
.../apache/commons/rdf/jena/JenaQuadLike.java | 35 +++++
.../commons/rdf/jena/JenaRDFParserBuilder.java | 38 ++++++
.../commons/rdf/jena/JenaRDFTermFactory.java | 70 +++++++++-
.../rdf/jena/impl/GeneralizedQuadImpl.java | 136 +++++++++++++++++++
.../rdf/jena/impl/GeneralizedTripleImpl.java | 74 ----------
.../commons/rdf/jena/impl/JenaFactory.java | 21 ++-
.../apache/commons/rdf/jena/impl/QuadImpl.java | 82 ++---------
.../commons/rdf/jena/impl/TripleImpl.java | 57 ++------
9 files changed, 326 insertions(+), 195 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/a3cb3b13/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 7fdb658..45d9d2c 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
@@ -18,9 +18,11 @@
package org.apache.commons.rdf.jena;
-import org.apache.jena.sparql.core.Quad;
+import org.apache.commons.rdf.api.BlankNodeOrIRI;
+import org.apache.commons.rdf.api.IRI;
+import org.apache.commons.rdf.api.RDFTerm;
/** Access the Jena quad backing this object */
-public interface JenaQuad extends org.apache.commons.rdf.api.Quad {
- public Quad asJenaQuad();
+public interface JenaQuad extends org.apache.commons.rdf.api.Quad,
+ JenaQuadLike<BlankNodeOrIRI,IRI,RDFTerm,BlankNodeOrIRI> {
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/a3cb3b13/jena/src/main/java/org/apache/commons/rdf/jena/JenaQuadLike.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaQuadLike.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaQuadLike.java
new file mode 100644
index 0000000..015e8c9
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaQuadLike.java
@@ -0,0 +1,35 @@
+/**
+ * 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.QuadLike;
+import org.apache.commons.rdf.api.RDFTerm;
+import org.apache.jena.sparql.core.Quad;
+
+/** Access the Jena quad backing this object */
+public interface JenaQuadLike<S extends RDFTerm, P extends RDFTerm, O extends RDFTerm, G extends RDFTerm>
+ extends JenaTripleLike<S,P,O>, QuadLike<S,P,O,G> {
+
+ /**
+ * Return the adapted Jena quad
+ *
+ * @return Adapted Jena {@link Quad}.
+ */
+ public Quad asJenaQuad();
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/a3cb3b13/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 9b5ac29..2149932 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
@@ -21,10 +21,14 @@ package org.apache.commons.rdf.jena;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
+import java.util.function.Consumer;
import org.apache.commons.rdf.api.IRI;
+import org.apache.commons.rdf.api.QuadLike;
import org.apache.commons.rdf.api.RDFParserBuilder;
+import org.apache.commons.rdf.api.RDFTerm;
import org.apache.commons.rdf.api.RDFTermFactory;
+import org.apache.commons.rdf.api.TripleLike;
import org.apache.commons.rdf.simple.AbstractRDFParserBuilder;
import org.apache.jena.graph.Graph;
import org.apache.jena.riot.Lang;
@@ -34,16 +38,44 @@ import org.apache.jena.riot.system.StreamRDFLib;
public class JenaRDFParserBuilder extends AbstractRDFParserBuilder<JenaRDFParserBuilder> implements RDFParserBuilder {
+ private Consumer<TripleLike<RDFTerm, RDFTerm, RDFTerm>> generalizedConsumerTriple;
+ private Consumer<QuadLike<RDFTerm, RDFTerm, RDFTerm, RDFTerm>> generalizedConsumerQuad;
+
protected RDFTermFactory createRDFTermFactory() {
return new JenaRDFTermFactory();
}
+ public JenaRDFParserBuilder targetGeneralizedTriple(Consumer<TripleLike<RDFTerm,RDFTerm,RDFTerm>> consumer) {
+ JenaRDFParserBuilder c = this.clone();
+ c.resetTarget();
+ c.generalizedConsumerTriple = consumer;
+ return c;
+ }
+
+ public JenaRDFParserBuilder targetGeneralizedQuad(Consumer<QuadLike<RDFTerm,RDFTerm,RDFTerm,RDFTerm>> consumer) {
+ JenaRDFParserBuilder c = this.clone();
+ c.resetTarget();
+ c.generalizedConsumerQuad = consumer;
+ return c;
+ }
+
+ @Override
+ protected void resetTarget() {
+ super.resetTarget();
+ this.generalizedConsumerTriple = null;
+ this.generalizedConsumerQuad = null;
+ }
+
@Override
protected void parseSynchronusly() throws IOException {
StreamRDF dest;
if (getTargetGraph().isPresent() && getTargetGraph().get() instanceof JenaGraph) {
Graph jenaGraph = ((JenaGraph) getTargetGraph().get()).asJenaGraph();
dest = StreamRDFLib.graph(jenaGraph);
+ } else if (generalizedConsumerQuad != null) {
+ dest = getJenaFactory().streamJenaToGeneralizedQuad(generalizedConsumerQuad);
+ } else if (generalizedConsumerTriple != null) {
+ dest = getJenaFactory().streamJenaToGeneralizedTriple(generalizedConsumerTriple);
} else {
dest = JenaRDFTermFactory.streamJenaToCommonsRDF(getRdfTermFactory().get(), getTarget());
}
@@ -62,4 +94,10 @@ public class JenaRDFParserBuilder extends AbstractRDFParserBuilder<JenaRDFParser
}
}
+ private JenaRDFTermFactory getJenaFactory() {
+ return (JenaRDFTermFactory) getRdfTermFactory()
+ .filter(JenaRDFTermFactory.class::isInstance)
+ .orElseGet(this::createRDFTermFactory);
+ }
+
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/a3cb3b13/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index f31173b..12b152e 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -28,6 +28,7 @@ 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.QuadLike;
import org.apache.commons.rdf.api.RDFSyntax;
import org.apache.commons.rdf.api.RDFTerm;
import org.apache.commons.rdf.api.RDFTermFactory;
@@ -106,6 +107,12 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
return JenaFactory.createTriple(subject, predicate, object);
}
+ @Override
+ public Quad createQuad(BlankNodeOrIRI graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object)
+ throws IllegalArgumentException, UnsupportedOperationException {
+ return JenaFactory.createQuad(subject, predicate, object, graphName);
+ }
+
/**
* Adapt a generalized Jena Triple to a CommonsRDF {@link TripleLike} statement.
* <p>
@@ -280,10 +287,11 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
/**
- * Adapt a generalized Jena Triple to a CommonsRDF {@link TripleLike}.
+ * Adapt a generalized Jena {@link org.apache.jena.graph.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()}.
+ * {@link TripleLike#getPredicate()} or {@link TripleLike#getObject()}, including
+ * the extensions {@link JenaAny} and {@link JenaVariable}.
* <p>
* If the Jena triple contains any {@link Node#isBlank()}, then any corresponding
* {@link BlankNode} will use a {@link UUID} salt from this
@@ -305,6 +313,38 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
public JenaTripleLike<RDFTerm, RDFTerm, RDFTerm> fromJenaGeneralized(org.apache.jena.graph.Triple triple) throws ConversionException {
return JenaFactory.fromJenaGeneralized(triple, salt);
}
+
+ /**
+ * Adapt a generalized Jena {@link org.apache.jena.sparql.core.Quad} to a CommonsRDF {@link QuadLike}.
+ * <p>
+ * The generalized quad supports any {@link RDFTerm} as its
+ * {@link QuadLike#getGraphName()},
+ * {@link QuadLike#getSubject()}
+ * {@link QuadLike#getPredicate()} or
+ * {@link QuadLike#getObject()}, including
+ * the extensions
+ * {@link JenaAny} and {@link JenaVariable}.
+ * <p>
+ * If the Jena quad contains any {@link Node#isBlank()}, then any corresponding
+ * {@link BlankNode} will use a {@link UUID} salt from this
+ * {@link JenaRDFTermFactory} instance in combination with
+ * {@link Node#getBlankNodeId()} for the purpose of its
+ * {@link BlankNode#uniqueReference()}.
+ *
+ * @see #fromJena(org.apache.jena.graph.Quad, UUID)
+ * @see #fromJena(RDFTermFactory, org.apache.jena.graph.Quad)
+ *
+ * @param quad
+ * Jena quad
+ * @return Adapted {@link QuadLike}. Note that the generalized quad does
+ * <strong>not</strong> implement {@link Quad#equals(Object)} or
+ * {@link Quad#hashCode()}.
+ * @throws ConversionException
+ * if any of the quad nodes are not concrete
+ */
+ public JenaQuadLike<RDFTerm, RDFTerm, RDFTerm, RDFTerm> fromJenaGeneralized(org.apache.jena.sparql.core.Quad quad) throws ConversionException {
+ return JenaFactory.fromJenaGeneralized(quad, salt);
+ }
/**
@@ -465,8 +505,34 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
}
};
}
+
+ /**
+ * Create a {@link StreamRDF} that inserts into any RDFCommons
+ * implementation of Graph
+ */
+ public StreamRDF streamJenaToGeneralizedTriple(Consumer<TripleLike<RDFTerm, RDFTerm, RDFTerm>> generalizedConsumer) {
+ return new StreamRDFBase() {
+ @Override
+ public void triple(org.apache.jena.graph.Triple triple) {
+ generalizedConsumer.accept(fromJenaGeneralized(triple));
+ }
+ };
+ }
/**
+ * Create a {@link StreamRDF} that inserts into any RDFCommons
+ * implementation of Graph
+ */
+ public StreamRDF streamJenaToGeneralizedQuad(Consumer<QuadLike<RDFTerm, RDFTerm, RDFTerm, RDFTerm>> generalizedConsumer) {
+ return new StreamRDFBase() {
+ @Override
+ public void quad(org.apache.jena.sparql.core.Quad quad) {
+ generalizedConsumer.accept(fromJenaGeneralized(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.
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/a3cb3b13/jena/src/main/java/org/apache/commons/rdf/jena/impl/GeneralizedQuadImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/GeneralizedQuadImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/GeneralizedQuadImpl.java
new file mode 100644
index 0000000..25b148f
--- /dev/null
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/GeneralizedQuadImpl.java
@@ -0,0 +1,136 @@
+/**
+ * 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.Objects;
+import java.util.Optional;
+import java.util.UUID;
+
+import org.apache.commons.rdf.api.QuadLike;
+import org.apache.commons.rdf.api.RDFTerm;
+import org.apache.commons.rdf.jena.JenaQuad;
+import org.apache.commons.rdf.jena.JenaQuadLike;
+import org.apache.commons.rdf.jena.JenaRDFTermFactory;
+import org.apache.commons.rdf.jena.JenaTriple;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.sparql.core.Quad;
+
+/**
+ * A generalized {@link QuadLike}, backed by a Jena {@link Quad} or {@link Triple}.
+ * <p>
+ * This class does not implement any particular {@link #equals(Object)} or
+ * {@link #hashCode()} but can otherwise be used as a base class for both
+ * a {@link JenaTriple} and a {@link JenaQuad}.
+ *
+ * @see TripleImpl
+ * @see QuadImpl
+ * @see JenaFactory#createGeneralizedTriple(RDFTerm, RDFTerm, RDFTerm)
+ * @see JenaFactory#createGeneralizedQuad(RDFTerm, RDFTerm, RDFTerm, Optional)
+ *
+ */
+public class GeneralizedQuadImpl<S extends RDFTerm, P extends RDFTerm, O extends RDFTerm, G extends RDFTerm> implements JenaQuadLike<S,P,O,G> {
+
+ final Optional<G> graphName;
+ final S subject;
+ final P predicate;
+ final O object;
+ org.apache.jena.sparql.core.Quad quad = null;
+ org.apache.jena.graph.Triple triple = null;
+
+ GeneralizedQuadImpl(S subject, P predicate, O object, Optional<G> graphName) {
+ this.subject = Objects.requireNonNull(subject);
+ this.predicate = Objects.requireNonNull(predicate);
+ this.object = Objects.requireNonNull(object);
+ this.graphName = Objects.requireNonNull(graphName);
+ }
+
+ GeneralizedQuadImpl(S subject, P predicate, O object) {
+ this(subject, predicate, object, Optional.empty());
+ }
+
+ @SuppressWarnings("unchecked")
+ GeneralizedQuadImpl(org.apache.jena.sparql.core.Quad quad, UUID salt) {
+ this.quad = Objects.requireNonNull(quad);
+ this.subject = (S) JenaFactory.fromJena(quad.getSubject(), salt);
+ this.predicate = (P) JenaFactory.fromJena(quad.getPredicate(), salt);
+ this.object = (O)JenaFactory.fromJena(quad.getObject(), salt);
+ this.graphName = Optional.of((G) JenaFactory.fromJena(quad.getGraph(), salt));
+ }
+
+ @SuppressWarnings("unchecked")
+ GeneralizedQuadImpl(org.apache.jena.graph.Triple triple, UUID salt) {
+ this.triple = Objects.requireNonNull(triple);
+ this.subject = (S) JenaFactory.fromJena(triple.getSubject(), salt);
+ this.predicate = (P) JenaFactory.fromJena(triple.getPredicate(), salt);
+ this.object = (O)JenaFactory.fromJena(triple.getObject(), salt);
+ this.graphName = Optional.empty();
+ }
+
+ @Override
+ public org.apache.jena.sparql.core.Quad asJenaQuad() {
+ if (quad == null) {
+ quad = org.apache.jena.sparql.core.Quad.create(
+ JenaRDFTermFactory.toJena(graphName.orElse(null)),
+ JenaRDFTermFactory.toJena(subject),
+ JenaRDFTermFactory.toJena(predicate),
+ JenaRDFTermFactory.toJena(object));
+ }
+ return quad;
+ }
+
+ @Override
+ public org.apache.jena.graph.Triple asJenaTriple() {
+ if (triple == null) {
+ triple = org.apache.jena.graph.Triple.create(JenaRDFTermFactory.toJena(subject),
+ JenaRDFTermFactory.toJena(predicate),
+ JenaRDFTermFactory.toJena(object));
+ }
+ return triple;
+ }
+
+ @Override
+ public S getSubject() {
+ return subject;
+ }
+
+ @Override
+ public P getPredicate() {
+ return predicate;
+ }
+
+ @Override
+ public O getObject() {
+ return object;
+ }
+
+ @Override
+ public Optional<G> getGraphName() {
+ return graphName;
+ }
+
+ @Override
+ public String toString() {
+ // kind of nquad syntax
+ return getSubject().ntriplesString() + " " +
+ getPredicate().ntriplesString() + " "
+ + getObject().ntriplesString() + " " +
+ getGraphName().map(RDFTerm::ntriplesString).orElse("") + ".";
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/a3cb3b13/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
deleted file mode 100644
index 97ff7c5..0000000
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/GeneralizedTripleImpl.java
+++ /dev/null
@@ -1,74 +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.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.JenaRDFTermFactory;
-
-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(JenaRDFTermFactory.toJena(subject),
- JenaRDFTermFactory.toJena(predicate), JenaRDFTermFactory.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/a3cb3b13/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 4a6d44b..b685832 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,6 +18,7 @@
package org.apache.commons.rdf.jena.impl;
+import java.util.Optional;
import java.util.UUID;
import org.apache.commons.rdf.api.BlankNode;
@@ -31,6 +32,8 @@ 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.JenaQuad;
+import org.apache.commons.rdf.jena.JenaQuadLike;
import org.apache.commons.rdf.jena.JenaRDFTerm;
import org.apache.commons.rdf.jena.JenaTriple;
import org.apache.commons.rdf.jena.JenaTripleLike;
@@ -79,6 +82,10 @@ public class JenaFactory {
public static JenaTriple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
return new TripleImpl(subject, predicate, object);
}
+
+ public static JenaQuad createQuad(BlankNodeOrIRI subject, IRI predicate, RDFTerm object, BlankNodeOrIRI graphName) {
+ return new QuadImpl(subject, predicate, object, Optional.ofNullable(graphName));
+ }
public static JenaVariable createVariable(String name) {
return new VariableImpl(NodeFactory.createVariable(name));
@@ -88,8 +95,12 @@ public class JenaFactory {
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 JenaTripleLike<RDFTerm,RDFTerm,RDFTerm> createGeneralizedTriple(RDFTerm subject, RDFTerm predicate, RDFTerm object) {
+ return new GeneralizedQuadImpl<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(subject, predicate, object);
+ }
+
+ public static JenaQuadLike<RDFTerm,RDFTerm,RDFTerm,RDFTerm> createGeneralizedQuad(RDFTerm subject, RDFTerm predicate, RDFTerm object, RDFTerm graphName) {
+ return new GeneralizedQuadImpl<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(subject, predicate, object, Optional.ofNullable(graphName));
}
public static JenaRDFTerm fromJena(Node node, UUID salt) throws ConversionException {
@@ -131,7 +142,11 @@ public class JenaFactory {
}
public static JenaTripleLike<RDFTerm, RDFTerm, RDFTerm> fromJenaGeneralized(org.apache.jena.graph.Triple triple, UUID salt) {
- return new GeneralizedTripleImpl(triple, salt);
+ return new GeneralizedQuadImpl<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(triple, salt);
+ }
+
+ public static JenaQuadLike<RDFTerm,RDFTerm,RDFTerm,RDFTerm> fromJenaGeneralized(org.apache.jena.sparql.core.Quad quad, UUID salt) {
+ return new GeneralizedQuadImpl<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(quad, salt);
}
public static Quad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/a3cb3b13/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 19f154c..d68fcaf 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
@@ -26,56 +26,31 @@ import org.apache.commons.rdf.api.BlankNodeOrIRI;
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.ConversionException;
import org.apache.commons.rdf.jena.JenaQuad;
-import org.apache.commons.rdf.jena.JenaRDFTermFactory;
-public class QuadImpl implements JenaQuad {
+public class QuadImpl extends GeneralizedQuadImpl<BlankNodeOrIRI,IRI,RDFTerm,BlankNodeOrIRI>
+ implements JenaQuad {
- 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);
+ QuadImpl(BlankNodeOrIRI subject, IRI predicate, RDFTerm object, Optional<BlankNodeOrIRI> graphName) {
+ super(subject, predicate, object, graphName);
}
- @Override
- public org.apache.jena.sparql.core.Quad asJenaQuad() {
- if (quad == null) {
- quad = org.apache.jena.sparql.core.Quad.create(
- JenaRDFTermFactory.toJena(graphName.orElse(null)),
- JenaRDFTermFactory.toJena(subject),
- JenaRDFTermFactory.toJena(predicate),
- JenaRDFTermFactory.toJena(object));
+ QuadImpl(org.apache.jena.sparql.core.Quad quad, UUID salt) {
+ super(quad, salt);
+ // Check the conversion
+ if ((graphName.isPresent() && ! (graphName.get() instanceof BlankNodeOrIRI)) ||
+ ! (subject instanceof BlankNodeOrIRI) ||
+ ! (predicate instanceof IRI) ||
+ ! (object instanceof RDFTerm)) {
+ throw new ConversionException("Can't adapt generalized quad: " + quad);
}
- 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;
@@ -84,37 +59,8 @@ public class QuadImpl implements JenaQuad {
}
@Override
- public Optional<BlankNodeOrIRI> getGraphName() {
- return graphName;
- }
-
- @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("") + ".";
- }
-
+
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/a3cb3b13/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 cadbdf5..9207b38 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
@@ -27,37 +27,22 @@ 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.JenaRDFTermFactory;
-public class TripleImpl implements Triple, JenaTriple {
- private final RDFTerm object;
- private final IRI predicate;
- private final BlankNodeOrIRI subject;
- private org.apache.jena.graph.Triple triple = null;
+public class TripleImpl extends GeneralizedQuadImpl<BlankNodeOrIRI, IRI, RDFTerm, RDFTerm>
+ implements JenaTriple {
- /* package */ TripleImpl(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
- this.subject = subject;
- this.predicate = predicate;
- this.object = object;
+ TripleImpl(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ super(subject, predicate, object);
}
- /* 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);
+ TripleImpl(org.apache.jena.graph.Triple triple, UUID salt) throws ConversionException {
+ super(triple, salt);
+ // Check the conversion
+ if (! (subject instanceof BlankNodeOrIRI) ||
+ ! (predicate instanceof IRI) ||
+ ! (object instanceof RDFTerm)) {
+ throw new ConversionException("Can't adapt generalized triple: " + quad);
}
- 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(JenaRDFTermFactory.toJena(subject),
- JenaRDFTermFactory.toJena(predicate), JenaRDFTermFactory.toJena(object));
- return triple;
}
@Override
@@ -74,27 +59,9 @@ public class TripleImpl implements Triple, JenaTriple {
}
@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());
}
- @Override
- public String toString() {
- return getSubject() + " " + getPredicate() + " " + getObject() + " .";
- }
+
}
[10/50] incubator-commonsrdf git commit: Reformatted comments in pom
Posted by st...@apache.org.
Reformatted comments in pom
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/c752d8c4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/c752d8c4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/c752d8c4
Branch: refs/heads/rdf4j
Commit: c752d8c448b4d91ef426a302ac11f2d9656797ab
Parents: bd644d3
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Sep 8 15:03:18 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Sep 8 15:03:18 2016 +0100
----------------------------------------------------------------------
jena/pom.xml | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/c752d8c4/jena/pom.xml
----------------------------------------------------------------------
diff --git a/jena/pom.xml b/jena/pom.xml
index 11b3e0e..6bf0aeb 100644
--- a/jena/pom.xml
+++ b/jena/pom.xml
@@ -45,9 +45,17 @@
<artifactId>commons-rdf-simple</artifactId>
<version>${project.version}</version>
</dependency>
- <!-- Uncomment below to use instead of jena-osgi to access Jena source
- code <dependency> <groupId>org.apache.jena</groupId> <artifactId>apache-jena-libs</artifactId>
- <version>${ver.jena}</version> <type>pom</type> <scope>optional</scope> </dependency> -->
+ <!-- Uncomment below and disable jena-osgi to access the regular non-osgi
+ Jena dependencies (e.g. for debugging) -->
+ <!--
+ <dependency>
+ <groupId>org.apache.jena</groupId>
+ <artifactId>apache-jena-libs</artifactId>
+ <version>${ver.jena}</version>
+ <type>pom</type>
+ <scope>optional</scope>
+ </dependency>
+ -->
<!-- As commons-rdf-jena is an OSGi bundle, we'll use the Jena OSGi bundle -->
<dependency>
[28/50] incubator-commonsrdf git commit: asJenaModel() might be made
on demand
Posted by st...@apache.org.
asJenaModel() might be made on demand
See
https://github.com/apache/incubator-commonsrdf/pull/23#pullrequestreview-2146939
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/2462a954
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/2462a954
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/2462a954
Branch: refs/heads/rdf4j
Commit: 2462a9540c67113c797c309d1998d5336c88c9a0
Parents: c763ffa
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Sep 29 15:42:53 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Sep 29 15:42:53 2016 +0100
----------------------------------------------------------------------
.../src/main/java/org/apache/commons/rdf/jena/JenaGraph.java | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/2462a954/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 fa8954e..2ce453f 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
@@ -34,12 +34,16 @@ public interface JenaGraph extends org.apache.commons.rdf.api.Graph {
public Graph asJenaGraph();
/**
- * Return the underlying Jena {@link Model}.
+ * Return the graph as a Jena {@link Model}.
* <p>
* Changes to the Jena model are reflected in the Commons RDF graph and vice
* versa.
+ * <p>
+ * Note that in some cases there is no underlying Jena {@link Model}, in
+ * which case this method will create one. Subsequent calls should return
+ * the same model.
*
* @return A Jena {@link Model}
- */
+ */
public Model asJenaModel();
}
[47/50] incubator-commonsrdf git commit: More Javadoc..
Posted by st...@apache.org.
More Javadoc..
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/1271ae01
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/1271ae01
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/1271ae01
Branch: refs/heads/rdf4j
Commit: 1271ae013f1b983fedc64fa3271454d94b1e2c48
Parents: c718800
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Oct 7 15:14:02 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Oct 7 15:16:16 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/jena/ConversionException.java | 3 +++
.../org/apache/commons/rdf/jena/JenaBlankNode.java | 2 ++
.../org/apache/commons/rdf/jena/JenaDataset.java | 8 +++++++-
.../commons/rdf/jena/JenaGeneralizedQuadLike.java | 5 +++--
.../commons/rdf/jena/JenaGeneralizedTripleLike.java | 7 ++++---
.../java/org/apache/commons/rdf/jena/JenaGraph.java | 16 +++++++++++-----
.../java/org/apache/commons/rdf/jena/JenaIRI.java | 3 ++-
.../org/apache/commons/rdf/jena/JenaLiteral.java | 3 ++-
.../java/org/apache/commons/rdf/jena/JenaQuad.java | 8 ++++++--
.../org/apache/commons/rdf/jena/JenaQuadLike.java | 11 ++++++++++-
.../org/apache/commons/rdf/jena/JenaRDFTerm.java | 10 +++++++++-
.../org/apache/commons/rdf/jena/JenaTriple.java | 8 ++++++--
.../org/apache/commons/rdf/jena/JenaTripleLike.java | 15 ++++++++++++++-
13 files changed, 79 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/1271ae01/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 990086f..be75427 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
@@ -22,6 +22,7 @@ import org.apache.jena.shared.JenaException;
/**
* Exception thrown when a problem arises across the Jena-CommonRDF boundary.
+ * <p>
* 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" >
@@ -29,6 +30,8 @@ import org.apache.jena.shared.JenaException;
*/
public class ConversionException extends JenaException {
+ private static final long serialVersionUID = -898179977312382568L;
+
public ConversionException() {
super();
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/1271ae01/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 4777dda..ef12951 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
@@ -23,6 +23,8 @@ import org.apache.jena.graph.Node;
/**
* A Jena-backed {@link BlankNode}.
+ * <p>
+ * The underlying Jena {@link Node} can be accessed from {@link #asJenaNode()}.
*
* @see Node#isBlank()
*/
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/1271ae01/jena/src/main/java/org/apache/commons/rdf/jena/JenaDataset.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaDataset.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaDataset.java
index ad8c0ca..4a85d34 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaDataset.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaDataset.java
@@ -18,10 +18,16 @@
package org.apache.commons.rdf.jena;
+import org.apache.commons.rdf.api.Dataset;
import org.apache.commons.rdf.api.Graph;
import org.apache.jena.sparql.core.DatasetGraph;
-/** Access the Jena graph backing this object */
+/**
+ * A Jena-backed {@link Dataset}.
+ * <p>
+ * The underlying Jena {@link DatasetGraph} can be accessed with
+ * {@link #asJenaDatasetGraph()}.
+ */
public interface JenaDataset extends org.apache.commons.rdf.api.Dataset {
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/1271ae01/jena/src/main/java/org/apache/commons/rdf/jena/JenaGeneralizedQuadLike.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaGeneralizedQuadLike.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaGeneralizedQuadLike.java
index 272421d..49e1fe9 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaGeneralizedQuadLike.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaGeneralizedQuadLike.java
@@ -29,9 +29,10 @@ import org.apache.commons.rdf.api.RDFTerm;
* some serializations like JSON-LD.
* <p>
* Note that unlike {@link Quad}, this type does not have fixed semantics for
- * {@link #equals(Object)} or {@link #hashCode()} beyond object identity.
+ * {@link Object#equals(Object)} or {@link Object#hashCode()} beyond object
+ * identity.
*
+ * @see JenaGeneralizedTripleLike
*/
public interface JenaGeneralizedQuadLike extends JenaQuadLike<RDFTerm, RDFTerm, RDFTerm, RDFTerm> {
-
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/1271ae01/jena/src/main/java/org/apache/commons/rdf/jena/JenaGeneralizedTripleLike.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaGeneralizedTripleLike.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaGeneralizedTripleLike.java
index 68e5264..546089f 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaGeneralizedTripleLike.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaGeneralizedTripleLike.java
@@ -29,10 +29,11 @@ import org.apache.commons.rdf.api.Triple;
* JSON-LD.
* <p>
* Note that unlike {@link Triple}, this type does not have fixed semantics for
- * {@link #equals(Object)} or {@link #hashCode()} beyond object identity.
+ * {@link Object#equals(Object)} or {@link Object#hashCode()} beyond object
+ * identity.
*
+ * @see JenaGeneralizedQuadLike
*/
public interface JenaGeneralizedTripleLike
- extends JenaTripleLike<RDFTerm, RDFTerm, RDFTerm> {
-
+ extends JenaTripleLike<RDFTerm, RDFTerm, RDFTerm> {
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/1271ae01/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 2ce453f..86b9f29 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,20 +18,26 @@
package org.apache.commons.rdf.jena;
-import org.apache.jena.graph.Graph;
+// NOTE: To avoid confusion, don't import Graph as it exists in both APIs
import org.apache.jena.rdf.model.Model;
+//
-/** Access the Jena graph backing this object */
+/**
+ * A Jena-backed {@link org.apache.commons.rdf.api.Graph}.
+ * <p>
+ * The underlying Jena {@link org.apache.jena.graph.Graph} can be accessed with
+ * {@link #asJenaGraph()}.
+ */
public interface JenaGraph extends org.apache.commons.rdf.api.Graph {
/**
- * Return the underlying Jena {@link Graph}.
+ * Return the underlying Jena {@link org.apache.jena.graph.Graph}.
* <p>
* Changes to the Jena graph are reflected in the Commons RDF graph and vice versa.
*
- * @return A Jena {@link Graph}
+ * @return A Jena {@link org.apache.jena.graph.Graph}
*/
- public Graph asJenaGraph();
+ public org.apache.jena.graph.Graph asJenaGraph();
/**
* Return the graph as a Jena {@link Model}.
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/1271ae01/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 b16acd8..bcc46c8 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
@@ -15,7 +15,6 @@
* 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;
@@ -23,6 +22,8 @@ import org.apache.jena.graph.Node;
/**
* A Jena-backed {@link IRI}.
+ * <p>
+ * The underlying Jena {@link Node} can be accessed from {@link #asJenaNode()}.
*
* @see Node#isURI()
*/
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/1271ae01/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 df0c697..96bf530 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
@@ -15,7 +15,6 @@
* 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;
@@ -23,6 +22,8 @@ import org.apache.jena.graph.Node;
/**
* A Jena-backed {@link Literal}
+ *
+ * The underlying Jena {@link Node} can be accessed from {@link #asJenaNode()}.
*
* @see Node#isLiteral()
*/
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/1271ae01/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 45d9d2c..b593263 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
@@ -15,14 +15,18 @@
* 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.BlankNodeOrIRI;
import org.apache.commons.rdf.api.IRI;
import org.apache.commons.rdf.api.RDFTerm;
-/** Access the Jena quad backing this object */
+/**
+ * A Jena-backed {@link org.apache.commons.rdf.api.Quad}.
+ * <p>
+ * The underlying Jena {@link org.apache.jena.sparql.core.Quad}
+ * can be accessed with {@link #asJenaQuad()}.
+ */
public interface JenaQuad extends org.apache.commons.rdf.api.Quad,
JenaQuadLike<BlankNodeOrIRI,IRI,RDFTerm,BlankNodeOrIRI> {
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/1271ae01/jena/src/main/java/org/apache/commons/rdf/jena/JenaQuadLike.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaQuadLike.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaQuadLike.java
index 015e8c9..e21e670 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaQuadLike.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaQuadLike.java
@@ -22,7 +22,16 @@ import org.apache.commons.rdf.api.QuadLike;
import org.apache.commons.rdf.api.RDFTerm;
import org.apache.jena.sparql.core.Quad;
-/** Access the Jena quad backing this object */
+/**
+ * A {@link QuadLike} wrapper of a Jena {@link Quad}.
+ * <p>
+ * This is a marker interface common to its specializations {@link JenaQuad} and
+ * {@link JenaGeneralizedQuadLike}.
+ *
+ * @see JenaQuad
+ * @see JenaGeneralizedQuadLike
+ *
+ */
public interface JenaQuadLike<S extends RDFTerm, P extends RDFTerm, O extends RDFTerm, G extends RDFTerm>
extends JenaTripleLike<S,P,O>, QuadLike<S,P,O,G> {
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/1271ae01/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
index 623f8b4..0bbe26b 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTerm.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTerm.java
@@ -21,7 +21,15 @@ 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 */
+/**
+ * A Jena-backed {@link RDFTerm}.
+ * <p>
+ * The underlying Jena {@link Node} can be retrieved with {@link #asJenaNode()}.
+ *
+ * @see JenaIRI
+ * @see JenaLiteral
+ * @see JenaBlankNode
+ */
public interface JenaRDFTerm extends RDFTerm {
public Node asJenaNode();
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/1271ae01/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 b94cc08..d39bec7 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
@@ -15,13 +15,17 @@
* 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.BlankNodeOrIRI;
import org.apache.commons.rdf.api.IRI;
import org.apache.commons.rdf.api.RDFTerm;
-/** Access the Jena triple backing this object */
+/**
+ * A Jena-backed {@link org.apache.commons.rdf.api.Triple}.
+ * <p>
+ * The underlying Jena {@link org.apache.jena.graph.Triple}
+ * can be accessed with {@link #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/1271ae01/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
index 4f0deb8..8821c51 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaTripleLike.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaTripleLike.java
@@ -19,9 +19,22 @@
package org.apache.commons.rdf.jena;
import org.apache.commons.rdf.api.RDFTerm;
+import org.apache.commons.rdf.api.TripleLike;
import org.apache.jena.graph.Triple;
-/** Access the Jena triple backing this object */
+/**
+ * A {@link TripleLike} wrapper of a Jena {@link Triple}.
+ * <p>
+ * This is a marker interface common to its specializations {@link JenaTriple},
+ * {@link JenaGeneralizedTripleLike}, {@link JenaQuad} and
+ * {@link JenaGeneralizedQuadLike}.
+ *
+ * @see JenaTriple
+ * @see JenaGeneralizedTripleLike
+ * @see JenaQuad
+ * @see JenaGeneralizedQuadLike
+ *
+ */
public interface JenaTripleLike<S extends RDFTerm, P extends RDFTerm, O extends RDFTerm>
extends org.apache.commons.rdf.api.TripleLike<S,P,O> {
[42/50] incubator-commonsrdf git commit: avoid 'static' in
JenaRDFTermFactory
Posted by st...@apache.org.
avoid 'static' in JenaRDFTermFactory
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/edc30364
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/edc30364
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/edc30364
Branch: refs/heads/rdf4j
Commit: edc303640de509e838628249b27b344f22fa61ae
Parents: 35e1366
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Oct 7 14:08:19 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Oct 7 14:09:40 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/jena/JenaRDFTermFactory.java | 12 ++-----
.../commons/rdf/jena/impl/JenaDatasetImpl.java | 26 ++++++++-------
.../rdf/jena/impl/JenaGeneralizedQuad.java | 17 +++++-----
.../commons/rdf/jena/impl/JenaGraphImpl.java | 33 +++++++++++---------
4 files changed, 45 insertions(+), 43 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/edc30364/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index 10d8fa1..aa4bacf 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -205,7 +205,6 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* {@link Node#getBlankNodeId()} for the purpose of its
* {@link BlankNode#uniqueReference()}.
*
- * @see #fromJena(Node, UUID)
* @see #fromJena(RDFTermFactory, Node)
*
* @param node
@@ -229,7 +228,6 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* for multiple conversion sessions.
*
* @see #fromJena(Node)
- * @see #fromJena(Node, UUID)
*
* @param factory {@link RDFTermFactory} to use for creating {@link RDFTerm}.
* @param node
@@ -273,7 +271,6 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* {@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
@@ -300,7 +297,6 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* {@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
@@ -357,7 +353,6 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* 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.
@@ -494,7 +489,6 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* instance for multiple conversion sessions.
*
* @see #fromJena(org.apache.jena.sparql.core.Quad)
- * @see #fromJena(org.apache.jena.sparql.core.Quad, UUID)
* @see #fromJenaGeneralized(org.apache.jena.sparql.core.Quad)
*
* @param factory
@@ -637,7 +631,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @param term Commons RDF {@link RDFTerm} to convert
* @return Converted Jena {@link Node}
*/
- public static Node toJena(RDFTerm term) {
+ public Node toJena(RDFTerm term) {
if (term == null) {
return null;
}
@@ -674,7 +668,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @param triple Commons RDF {@link Triple} to convert
* @return Converted Jena {@link org.apache.jena.graph.Triple}
*/
- public static org.apache.jena.graph.Triple toJena(Triple triple) {
+ public org.apache.jena.graph.Triple toJena(Triple triple) {
if (triple instanceof JenaTriple)
return ((JenaTriple) triple).asJenaTriple();
return org.apache.jena.graph.Triple.create(
@@ -694,7 +688,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @param quad Commons RDF {@link Quad} to convert
* @return Converted Jena {@link org.apache.jena.sparql.core.Quad}
*/
- public static org.apache.jena.sparql.core.Quad toJena(Quad quad) {
+ public org.apache.jena.sparql.core.Quad toJena(Quad quad) {
if (quad instanceof JenaQuad) {
return ((JenaQuad) quad).asJenaQuad();
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/edc30364/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
index 4cd6bd1..76b018c 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
@@ -44,25 +44,27 @@ public class JenaDatasetImpl implements JenaDataset {
private DatasetGraph graph;
private UUID salt;
+ private JenaRDFTermFactory factory;
- /* package */ JenaDatasetImpl(DatasetGraph graph, UUID salt) {
+ JenaDatasetImpl(DatasetGraph graph, UUID salt) {
this.graph = graph;
this.salt = salt;
+ this.factory = new JenaRDFTermFactory(salt);
}
@Override
public void add(BlankNodeOrIRI graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
graph.add(
org.apache.jena.sparql.core.Quad.create(
- JenaRDFTermFactory.toJena(graphName),
- JenaRDFTermFactory.toJena(subject),
- JenaRDFTermFactory.toJena(predicate),
- JenaRDFTermFactory.toJena(object)));
+ factory.toJena(graphName),
+ factory.toJena(subject),
+ factory.toJena(predicate),
+ factory.toJena(object)));
}
@Override
public void add(Quad quad) {
- graph.add(JenaRDFTermFactory.toJena(quad));
+ graph.add(factory.toJena(quad));
}
@Override
@@ -92,25 +94,25 @@ public class JenaDatasetImpl implements JenaDataset {
private Node toJenaPattern(Optional<? extends RDFTerm> graphName) {
// In theory we could have done:
- // JenaRDFTermFactory.toJena(graphName.orElse(JenaFactory::createAnyVariable))
+ // factory.toJena(graphName.orElse(JenaFactory::createAnyVariable))
// but because of generics casting rules that doesn't work :(
if (graphName == null) {
return ANY;
}
// null: default graph
- return JenaRDFTermFactory.toJena(graphName.orElse(null));
+ return factory.toJena(graphName.orElse(null));
}
private Node toJenaPattern(RDFTerm term) {
if (term == null)
return ANY;
- return JenaRDFTermFactory.toJena(term);
+ return factory.toJena(term);
}
@Override
public boolean contains(Quad quad) {
- return graph.contains(JenaRDFTermFactory.toJena(quad));
+ return graph.contains(factory.toJena(quad));
}
@Override
@@ -124,7 +126,7 @@ public class JenaDatasetImpl implements JenaDataset {
@Override
public void remove(Quad quad) {
- graph.delete(JenaRDFTermFactory.toJena(quad));
+ graph.delete(factory.toJena(quad));
}
@Override
@@ -167,7 +169,7 @@ public class JenaDatasetImpl implements JenaDataset {
@Override
public Optional<Graph> getGraph(BlankNodeOrIRI graphName) {
- GraphView gv = GraphView.createNamedGraph(graph, JenaRDFTermFactory.toJena(graphName));
+ GraphView gv = GraphView.createNamedGraph(graph, factory.toJena(graphName));
return Optional.of(new JenaGraphImpl(gv, salt));
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/edc30364/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuad.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuad.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuad.java
index 5456ec9..cad2355 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuad.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuad.java
@@ -84,22 +84,25 @@ public class JenaGeneralizedQuad<S extends RDFTerm, P extends RDFTerm, O extends
@Override
public org.apache.jena.sparql.core.Quad asJenaQuad() {
+ JenaRDFTermFactory factory = new JenaRDFTermFactory();
if (quad == null) {
quad = org.apache.jena.sparql.core.Quad.create(
- JenaRDFTermFactory.toJena(graphName.orElse(null)),
- JenaRDFTermFactory.toJena(subject),
- JenaRDFTermFactory.toJena(predicate),
- JenaRDFTermFactory.toJena(object));
+ factory.toJena(graphName.orElse(null)),
+ factory.toJena(subject),
+ factory.toJena(predicate),
+ factory.toJena(object));
}
return quad;
}
@Override
public org.apache.jena.graph.Triple asJenaTriple() {
+ JenaRDFTermFactory factory = new JenaRDFTermFactory();
if (triple == null) {
- triple = org.apache.jena.graph.Triple.create(JenaRDFTermFactory.toJena(subject),
- JenaRDFTermFactory.toJena(predicate),
- JenaRDFTermFactory.toJena(object));
+ triple = org.apache.jena.graph.Triple.create(
+ factory.toJena(subject),
+ factory.toJena(predicate),
+ factory.toJena(object));
}
return triple;
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/edc30364/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGraphImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGraphImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGraphImpl.java
index 49a09ae..89162e0 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGraphImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGraphImpl.java
@@ -37,32 +37,35 @@ import org.apache.jena.riot.RDFDataMgr;
public class JenaGraphImpl implements JenaGraph {
- private org.apache.jena.graph.Graph graph;
- private UUID salt;
+ private final org.apache.jena.graph.Graph graph;
+ private final UUID salt;
+ private final transient JenaRDFTermFactory factory;
private Model model;
JenaGraphImpl(org.apache.jena.graph.Graph graph, UUID salt) {
this.graph = graph;
this.salt = salt;
+ this.factory = new JenaRDFTermFactory(salt);
}
JenaGraphImpl(Model model, UUID salt) {
this.model = model;
this.graph = model.getGraph();
this.salt = salt;
+ this.factory = new JenaRDFTermFactory(salt);
}
@Override
public void add(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
graph.add(org.apache.jena.graph.Triple.create(
- JenaRDFTermFactory.toJena(subject),
- JenaRDFTermFactory.toJena(predicate),
- JenaRDFTermFactory.toJena(object)));
+ factory.toJena(subject),
+ factory.toJena(predicate),
+ factory.toJena(object)));
}
@Override
public void add(Triple triple) {
- graph.add(JenaRDFTermFactory.toJena(triple));
+ graph.add(factory.toJena(triple));
}
@Override
@@ -83,27 +86,27 @@ public class JenaGraphImpl implements JenaGraph {
@Override
public boolean contains(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
return graph.contains(
- JenaRDFTermFactory.toJena(subject),
- JenaRDFTermFactory.toJena(predicate),
- JenaRDFTermFactory.toJena(object));
+ factory.toJena(subject),
+ factory.toJena(predicate),
+ factory.toJena(object));
}
@Override
public boolean contains(Triple triple) {
- return graph.contains(JenaRDFTermFactory.toJena(triple));
+ return graph.contains(factory.toJena(triple));
}
@Override
public void remove(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
graph.delete(org.apache.jena.graph.Triple.create(
- JenaRDFTermFactory.toJena(subject),
- JenaRDFTermFactory.toJena(predicate),
- JenaRDFTermFactory.toJena(object)));
+ factory.toJena(subject),
+ factory.toJena(predicate),
+ factory.toJena(object)));
}
@Override
public void remove(Triple triple) {
- graph.delete(JenaRDFTermFactory.toJena(triple));
+ graph.delete(factory.toJena(triple));
}
@Override
@@ -127,7 +130,7 @@ public class JenaGraphImpl implements JenaGraph {
private Node toJenaAny(RDFTerm term) {
if (term == null)
return Node.ANY;
- return JenaRDFTermFactory.toJena(term);
+ return factory.toJena(term);
}
@Override
[23/50] incubator-commonsrdf git commit: COMMONSRDF-33
log4j.properties ASF license header
Posted by st...@apache.org.
COMMONSRDF-33 log4j.properties ASF license header
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/a423c41a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/a423c41a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/a423c41a
Branch: refs/heads/rdf4j
Commit: a423c41ac1b280d845a64c0f2494cb6e7f0d4f53
Parents: 059aa82
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Wed Sep 28 14:57:02 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Wed Sep 28 14:57:02 2016 +0100
----------------------------------------------------------------------
jena/src/test/resources/log4j.properties | 15 +++++++++++++++
1 file changed, 15 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/a423c41a/jena/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/jena/src/test/resources/log4j.properties b/jena/src/test/resources/log4j.properties
index 5cedb50..794559f 100644
--- a/jena/src/test/resources/log4j.properties
+++ b/jena/src/test/resources/log4j.properties
@@ -1,3 +1,18 @@
+## 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.
log4j.rootLogger=INFO, stdlog
log4j.appender.stdlog=org.apache.log4j.ConsoleAppender
[44/50] incubator-commonsrdf git commit: reduce visibility of
JenaFactory and impl
Posted by st...@apache.org.
reduce visibility of JenaFactory and impl
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/b3baff42
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/b3baff42
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/b3baff42
Branch: refs/heads/rdf4j
Commit: b3baff420a91eb24e081e423d7a21f2e9344f7cc
Parents: a072cb9
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Oct 7 14:33:33 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Oct 7 14:33:33 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/jena/JenaRDFTermFactory.java | 44 ++++++++--------
.../rdf/jena/impl/JenaBlankNodeImpl.java | 4 +-
.../commons/rdf/jena/impl/JenaDatasetImpl.java | 4 +-
.../commons/rdf/jena/impl/JenaFactory.java | 53 ++++++++++----------
.../rdf/jena/impl/JenaGeneralizedQuad.java | 24 +++++----
.../commons/rdf/jena/impl/JenaGraphImpl.java | 2 +-
.../commons/rdf/jena/impl/JenaIRIImpl.java | 6 +--
.../commons/rdf/jena/impl/JenaLiteralImpl.java | 8 +--
.../commons/rdf/jena/impl/JenaQuadImpl.java | 2 +-
.../commons/rdf/jena/impl/JenaTripleImpl.java | 2 +-
.../commons/rdf/jena/TestBlankNodeJena.java | 6 ++-
11 files changed, 82 insertions(+), 73 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/b3baff42/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
index 8b53c76..25db850 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDFTermFactory.java
@@ -61,6 +61,8 @@ import org.apache.jena.sparql.graph.GraphFactory;
*/
public final class JenaRDFTermFactory implements RDFTermFactory {
+ private static JenaFactory jenaFactory = new JenaFactory(){};
+
private final UUID salt;
/**
@@ -90,55 +92,55 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
@Override
public JenaBlankNode createBlankNode() {
- return JenaFactory.createBlankNode(getSalt());
+ return jenaFactory.createBlankNode(getSalt());
}
@Override
public JenaBlankNode createBlankNode(String name) {
- return JenaFactory.createBlankNode(name, getSalt());
+ return jenaFactory.createBlankNode(name, getSalt());
}
@Override
public JenaDataset createDataset() {
- return JenaFactory.createDataset(getSalt());
+ return jenaFactory.createDataset(getSalt());
}
@Override
public JenaGraph createGraph() {
- return JenaFactory.createGraph(getSalt());
+ return jenaFactory.createGraph(getSalt());
}
@Override
public JenaIRI createIRI(String iri) {
validateIRI(iri);
- return JenaFactory.createIRI(iri);
+ return jenaFactory.createIRI(iri);
}
@Override
public JenaLiteral createLiteral(String lexicalForm) {
- return JenaFactory.createLiteral(lexicalForm);
+ return jenaFactory.createLiteral(lexicalForm);
}
@Override
public JenaLiteral createLiteral(String lexicalForm, IRI dataType) {
- return JenaFactory.createLiteralDT(lexicalForm, dataType.getIRIString());
+ return jenaFactory.createLiteralDT(lexicalForm, dataType.getIRIString());
}
@Override
public JenaLiteral createLiteral(String lexicalForm, String languageTag) {
validateLang(languageTag);
- return JenaFactory.createLiteralLang(lexicalForm, languageTag);
+ return jenaFactory.createLiteralLang(lexicalForm, languageTag);
}
@Override
public JenaTriple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
- return JenaFactory.createTriple(subject, predicate, object);
+ return jenaFactory.createTriple(subject, predicate, object);
}
@Override
public JenaQuad createQuad(BlankNodeOrIRI graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object)
throws IllegalArgumentException, UnsupportedOperationException {
- return JenaFactory.createQuad(subject, predicate, object, graphName);
+ return jenaFactory.createQuad(subject, predicate, object, graphName);
}
/**
@@ -163,7 +165,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
*/
public JenaTripleLike<RDFTerm, RDFTerm, RDFTerm> createGeneralizedTriple(
RDFTerm subject, RDFTerm predicate, RDFTerm object) {
- return JenaFactory.createGeneralizedTriple(subject, predicate, object);
+ return jenaFactory.createGeneralizedTriple(subject, predicate, object);
}
/**
@@ -190,7 +192,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
*/
public JenaQuadLike<RDFTerm, RDFTerm, RDFTerm, RDFTerm> createGeneralizedQuad(
RDFTerm subject, RDFTerm predicate, RDFTerm object, RDFTerm graphName) {
- return JenaFactory.createGeneralizedQuad(subject, predicate, object, graphName);
+ return jenaFactory.createGeneralizedQuad(subject, predicate, object, graphName);
}
/**
* Adapt an existing Jena Node to CommonsRDF {@link RDFTerm}.
@@ -212,7 +214,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* if the node is not concrete or represents a variable in Jena.
*/
public JenaRDFTerm fromJena(Node node) throws ConversionException {
- return JenaFactory.fromJena(node, getSalt());
+ return jenaFactory.fromJena(node, getSalt());
}
/**
@@ -277,7 +279,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* is a generalized triple
*/
public JenaTriple fromJena(org.apache.jena.graph.Triple triple) throws ConversionException {
- return JenaFactory.fromJena(triple, getSalt());
+ return jenaFactory.fromJena(triple, getSalt());
}
/**
@@ -303,7 +305,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* 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, getSalt());
+ return jenaFactory.fromJenaGeneralized(triple, getSalt());
}
/**
@@ -333,7 +335,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* if any of the quad nodes are not concrete
*/
public JenaQuadLike<RDFTerm, RDFTerm, RDFTerm, RDFTerm> fromJenaGeneralized(org.apache.jena.sparql.core.Quad quad) throws ConversionException {
- return JenaFactory.fromJenaGeneralized(quad, getSalt());
+ return jenaFactory.fromJenaGeneralized(quad, getSalt());
}
/**
@@ -388,7 +390,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @return Adapted quad
*/
public JenaQuad fromJena(org.apache.jena.sparql.core.Quad quad) {
- return JenaFactory.fromJena(quad, getSalt());
+ return jenaFactory.fromJena(quad, getSalt());
}
/**
@@ -410,7 +412,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @return Adapted {@link JenaGraph}
*/
public JenaGraph fromJena(org.apache.jena.graph.Graph graph) {
- return JenaFactory.fromJena(graph, getSalt());
+ return jenaFactory.fromJena(graph, getSalt());
}
/**
@@ -429,7 +431,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @return Adapted {@link JenaGraph}
*/
public JenaGraph fromJena(org.apache.jena.rdf.model.Model model) {
- return JenaFactory.fromJena(model, getSalt());
+ return jenaFactory.fromJena(model, getSalt());
}
/**
@@ -449,7 +451,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @return Adapted {@link JenaDataset}
*/
public JenaDataset fromJena(DatasetGraph datasetGraph) {
- return JenaFactory.fromJena(datasetGraph, getSalt());
+ return jenaFactory.fromJena(datasetGraph, getSalt());
}
/**
@@ -469,7 +471,7 @@ public final class JenaRDFTermFactory implements RDFTermFactory {
* @return Adapted {@link JenaDataset}
*/
public JenaDataset fromJena(org.apache.jena.query.Dataset datasetGraph) {
- return JenaFactory.fromJena(datasetGraph.asDatasetGraph(), getSalt());
+ return jenaFactory.fromJena(datasetGraph.asDatasetGraph(), getSalt());
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/b3baff42/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaBlankNodeImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaBlankNodeImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaBlankNodeImpl.java
index 0cbd764..a4cc3af 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaBlankNodeImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaBlankNodeImpl.java
@@ -24,11 +24,11 @@ import org.apache.commons.rdf.api.BlankNode;
import org.apache.commons.rdf.jena.JenaBlankNode;
import org.apache.jena.graph.Node;
-public class JenaBlankNodeImpl extends AbstractJenaRDFTerm implements JenaBlankNode {
+class JenaBlankNodeImpl extends AbstractJenaRDFTerm implements JenaBlankNode {
private UUID salt;
- /* package */ JenaBlankNodeImpl(Node node, UUID salt) {
+ JenaBlankNodeImpl(Node node, UUID salt) {
super(node);
if (! node.isBlank()) {
throw new IllegalArgumentException("Node is not a blank node: " + node);
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/b3baff42/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
index 76b018c..fec063f 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaDatasetImpl.java
@@ -40,7 +40,7 @@ import org.apache.jena.riot.RDFDataMgr;
import org.apache.jena.sparql.core.DatasetGraph;
import org.apache.jena.sparql.core.GraphView;
-public class JenaDatasetImpl implements JenaDataset {
+class JenaDatasetImpl implements JenaDataset {
private DatasetGraph graph;
private UUID salt;
@@ -94,7 +94,7 @@ public class JenaDatasetImpl implements JenaDataset {
private Node toJenaPattern(Optional<? extends RDFTerm> graphName) {
// In theory we could have done:
- // factory.toJena(graphName.orElse(JenaFactory::createAnyVariable))
+ // factory.toJena(graphName.orElse(jenaFactory::createAnyVariable))
// but because of generics casting rules that doesn't work :(
if (graphName == null) {
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/b3baff42/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 b349df8..30b96ed 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
@@ -47,66 +47,67 @@ import org.apache.jena.sparql.graph.GraphFactory;
/**
* Construct Jena implementations of Commons RDF.
* <p>
- * This class is primarily an internal helper class, users should instead use
- * {@link JenaRDFTermFactory}.
+ * This class is deliberately an abstract class, as it is an internal helper
+ * which <strong>may change</strong> in any minor version update; users should
+ * instead use {@link JenaRDFTermFactory}.
* <p>
- * For the purpose of blank node identity, some of
- * these methods require a {@link UUID} to use as a salt.
- * See {@link BlankNode#uniqueReference()} for details.
+ * For the purpose of blank node identity, some of these methods require a
+ * {@link UUID} to use as a salt. See {@link BlankNode#uniqueReference()} for
+ * details.
*
*/
-public class JenaFactory {
+public abstract class JenaFactory {
- public static JenaBlankNode createBlankNode(String id, UUID salt) {
+ public JenaBlankNode createBlankNode(String id, UUID salt) {
return new JenaBlankNodeImpl(NodeFactory.createBlankNode(id), salt);
}
- public static JenaBlankNode createBlankNode(UUID salt) {
+ public JenaBlankNode createBlankNode(UUID salt) {
return new JenaBlankNodeImpl(NodeFactory.createBlankNode(), salt);
}
- public static JenaDataset createDataset(UUID salt) {
+ public JenaDataset createDataset(UUID salt) {
DatasetGraph dg = DatasetGraphFactory.createGeneral();
// Or which createMethod() -- a bit confusing with lots of choice..
return new JenaDatasetImpl(dg, salt);
}
- public static JenaGraph createGraph(UUID salt) {
+ public JenaGraph createGraph(UUID salt) {
return new JenaGraphImpl(GraphFactory.createDefaultGraph(), salt);
}
- public static JenaIRI createIRI(String iriStr) {
+ public JenaIRI createIRI(String iriStr) {
return new JenaIRIImpl(iriStr);
}
- public static JenaLiteral createLiteral(String lexStr) {
+ public JenaLiteral createLiteral(String lexStr) {
return new JenaLiteralImpl(NodeFactory.createLiteral(lexStr));
}
- public static JenaLiteral createLiteralDT(String lexStr, String datatypeIRI) {
+ public JenaLiteral createLiteralDT(String lexStr, String datatypeIRI) {
return new JenaLiteralImpl(NodeFactory.createLiteral(lexStr, NodeFactory.getType(datatypeIRI)));
}
- public static JenaLiteral createLiteralLang(String lexStr, String langTag) {
+ public JenaLiteral createLiteralLang(String lexStr, String langTag) {
return new JenaLiteralImpl(NodeFactory.createLiteral(lexStr, langTag));
}
- public static JenaTriple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ public JenaTriple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
return new JenaTripleImpl(subject, predicate, object);
}
- public static JenaQuad createQuad(BlankNodeOrIRI subject, IRI predicate, RDFTerm object, BlankNodeOrIRI graphName) {
+ public JenaQuad createQuad(BlankNodeOrIRI subject, IRI predicate, RDFTerm object, BlankNodeOrIRI graphName) {
return new JenaQuadImpl(subject, predicate, object, Optional.ofNullable(graphName));
}
- public static JenaTripleLike<RDFTerm,RDFTerm,RDFTerm> createGeneralizedTriple(RDFTerm subject, RDFTerm predicate, RDFTerm object) {
+ public JenaTripleLike<RDFTerm,RDFTerm,RDFTerm> createGeneralizedTriple(RDFTerm subject, RDFTerm predicate, RDFTerm object) {
return new JenaGeneralizedQuad<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(subject, predicate, object);
}
- public static JenaQuadLike<RDFTerm,RDFTerm,RDFTerm,RDFTerm> createGeneralizedQuad(RDFTerm subject, RDFTerm predicate, RDFTerm object, RDFTerm graphName) {
+ public JenaQuadLike<RDFTerm,RDFTerm,RDFTerm,RDFTerm> createGeneralizedQuad(RDFTerm subject, RDFTerm predicate, RDFTerm object, RDFTerm graphName) {
return new JenaGeneralizedQuad<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(subject, predicate, object, Optional.ofNullable(graphName));
}
- public static JenaRDFTerm fromJena(Node node, UUID salt) throws ConversionException {
+ public JenaRDFTerm fromJena(Node node, UUID salt) throws ConversionException {
if (! node.isConcrete()) {
throw new ConversionException("Node is not a concrete RDF Term: " + node);
}
@@ -130,31 +131,31 @@ public class JenaFactory {
throw new ConversionException("Unrecognized node type: " + node);
}
- public static JenaGraph fromJena(org.apache.jena.graph.Graph graph, UUID salt) {
+ public JenaGraph fromJena(org.apache.jena.graph.Graph graph, UUID salt) {
return new JenaGraphImpl(graph, salt);
}
- public static JenaGraph fromJena(Model model, UUID salt) {
+ public JenaGraph fromJena(Model model, UUID salt) {
return new JenaGraphImpl(model, salt);
}
- public static JenaDataset fromJena(DatasetGraph datasetGraph, UUID salt) {
+ public JenaDataset fromJena(DatasetGraph datasetGraph, UUID salt) {
return new JenaDatasetImpl(datasetGraph, salt);
}
- public static JenaTriple fromJena(org.apache.jena.graph.Triple triple, UUID salt) {
+ public JenaTriple fromJena(org.apache.jena.graph.Triple triple, UUID salt) {
return new JenaTripleImpl(triple, salt);
}
- public static JenaTripleLike<RDFTerm, RDFTerm, RDFTerm> fromJenaGeneralized(org.apache.jena.graph.Triple triple, UUID salt) {
+ public JenaTripleLike<RDFTerm, RDFTerm, RDFTerm> fromJenaGeneralized(org.apache.jena.graph.Triple triple, UUID salt) {
return new JenaGeneralizedQuad<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(triple, salt);
}
- public static JenaQuadLike<RDFTerm,RDFTerm,RDFTerm,RDFTerm> fromJenaGeneralized(org.apache.jena.sparql.core.Quad quad, UUID salt) {
+ public JenaQuadLike<RDFTerm,RDFTerm,RDFTerm,RDFTerm> fromJenaGeneralized(org.apache.jena.sparql.core.Quad quad, UUID salt) {
return new JenaGeneralizedQuad<RDFTerm,RDFTerm,RDFTerm,RDFTerm>(quad, salt);
}
- public static JenaQuad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
+ public JenaQuad fromJena(org.apache.jena.sparql.core.Quad quad, UUID salt) {
return new JenaQuadImpl(quad, salt);
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/b3baff42/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuad.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuad.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuad.java
index cad2355..607defd 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuad.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGeneralizedQuad.java
@@ -40,12 +40,14 @@ import org.apache.jena.sparql.core.Quad;
*
* @see JenaTripleImpl
* @see JenaQuadImpl
- * @see JenaFactory#createGeneralizedTriple(RDFTerm, RDFTerm, RDFTerm)
- * @see JenaFactory#createGeneralizedQuad(RDFTerm, RDFTerm, RDFTerm, RDFTerm)
+ * @see jenaFactory#createGeneralizedTriple(RDFTerm, RDFTerm, RDFTerm)
+ * @see jenaFactory#createGeneralizedQuad(RDFTerm, RDFTerm, RDFTerm, RDFTerm)
*
*/
-public class JenaGeneralizedQuad<S extends RDFTerm, P extends RDFTerm, O extends RDFTerm, G extends RDFTerm> implements JenaQuadLike<S,P,O,G> {
+class JenaGeneralizedQuad<S extends RDFTerm, P extends RDFTerm, O extends RDFTerm, G extends RDFTerm> implements JenaQuadLike<S,P,O,G> {
+ private static JenaFactory jenaFactory = new JenaFactory(){};
+
final Optional<G> graphName;
final S subject;
final P predicate;
@@ -53,7 +55,7 @@ public class JenaGeneralizedQuad<S extends RDFTerm, P extends RDFTerm, O extends
org.apache.jena.sparql.core.Quad quad = null;
org.apache.jena.graph.Triple triple = null;
- JenaGeneralizedQuad(S subject, P predicate, O object, Optional<G> graphName) {
+ JenaGeneralizedQuad(S subject, P predicate, O object, Optional<G> graphName) {
this.subject = Objects.requireNonNull(subject);
this.predicate = Objects.requireNonNull(predicate);
this.object = Objects.requireNonNull(object);
@@ -67,18 +69,18 @@ public class JenaGeneralizedQuad<S extends RDFTerm, P extends RDFTerm, O extends
@SuppressWarnings("unchecked")
JenaGeneralizedQuad(org.apache.jena.sparql.core.Quad quad, UUID salt) {
this.quad = Objects.requireNonNull(quad);
- this.subject = (S) JenaFactory.fromJena(quad.getSubject(), salt);
- this.predicate = (P) JenaFactory.fromJena(quad.getPredicate(), salt);
- this.object = (O)JenaFactory.fromJena(quad.getObject(), salt);
- this.graphName = Optional.of((G) JenaFactory.fromJena(quad.getGraph(), salt));
+ this.subject = (S) jenaFactory.fromJena(quad.getSubject(), salt);
+ this.predicate = (P) jenaFactory.fromJena(quad.getPredicate(), salt);
+ this.object = (O)jenaFactory.fromJena(quad.getObject(), salt);
+ this.graphName = Optional.of((G) jenaFactory.fromJena(quad.getGraph(), salt));
}
@SuppressWarnings("unchecked")
JenaGeneralizedQuad(org.apache.jena.graph.Triple triple, UUID salt) {
this.triple = Objects.requireNonNull(triple);
- this.subject = (S) JenaFactory.fromJena(triple.getSubject(), salt);
- this.predicate = (P) JenaFactory.fromJena(triple.getPredicate(), salt);
- this.object = (O)JenaFactory.fromJena(triple.getObject(), salt);
+ this.subject = (S) jenaFactory.fromJena(triple.getSubject(), salt);
+ this.predicate = (P) jenaFactory.fromJena(triple.getPredicate(), salt);
+ this.object = (O)jenaFactory.fromJena(triple.getObject(), salt);
this.graphName = Optional.empty();
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/b3baff42/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGraphImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGraphImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGraphImpl.java
index 89162e0..09cc2ab 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGraphImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaGraphImpl.java
@@ -35,7 +35,7 @@ import org.apache.jena.rdf.model.ModelFactory;
import org.apache.jena.riot.Lang;
import org.apache.jena.riot.RDFDataMgr;
-public class JenaGraphImpl implements JenaGraph {
+class JenaGraphImpl implements JenaGraph {
private final org.apache.jena.graph.Graph graph;
private final UUID salt;
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/b3baff42/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaIRIImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaIRIImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaIRIImpl.java
index 2aa170f..7fbf284 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaIRIImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaIRIImpl.java
@@ -23,9 +23,9 @@ import org.apache.commons.rdf.jena.JenaIRI;
import org.apache.jena.graph.Node;
import org.apache.jena.graph.NodeFactory;
-public class JenaIRIImpl extends AbstractJenaRDFTerm implements JenaIRI {
+class JenaIRIImpl extends AbstractJenaRDFTerm implements JenaIRI {
- /* package */ JenaIRIImpl(Node node) {
+ JenaIRIImpl(Node node) {
super(node);
if (! node.isURI()) {
throw new IllegalArgumentException("Node is not a blank node: " + node);
@@ -33,7 +33,7 @@ public class JenaIRIImpl extends AbstractJenaRDFTerm implements JenaIRI {
}
- /* package */ JenaIRIImpl(String iriStr) {
+ JenaIRIImpl(String iriStr) {
super(NodeFactory.createURI(iriStr));
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/b3baff42/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaLiteralImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaLiteralImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaLiteralImpl.java
index 5bbc166..173af4c 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaLiteralImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaLiteralImpl.java
@@ -26,9 +26,11 @@ import org.apache.commons.rdf.api.Literal;
import org.apache.commons.rdf.jena.JenaLiteral;
import org.apache.jena.graph.Node;
-public class JenaLiteralImpl extends AbstractJenaRDFTerm implements JenaLiteral {
+class JenaLiteralImpl extends AbstractJenaRDFTerm implements JenaLiteral {
- /* package */ JenaLiteralImpl(Node node) {
+ private static JenaFactory jenaFactory = new JenaFactory(){};
+
+ JenaLiteralImpl(Node node) {
super(node);
if (! node.isLiteral()) {
throw new IllegalArgumentException("Node is not a literal: " + node);
@@ -50,7 +52,7 @@ public class JenaLiteralImpl extends AbstractJenaRDFTerm implements JenaLiteral
@Override
public IRI getDatatype() {
- return JenaFactory.createIRI(asJenaNode().getLiteralDatatype().getURI());
+ return jenaFactory.createIRI(asJenaNode().getLiteralDatatype().getURI());
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/b3baff42/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaQuadImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaQuadImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaQuadImpl.java
index 0f3e3e3..9d65374 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaQuadImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaQuadImpl.java
@@ -29,7 +29,7 @@ import org.apache.commons.rdf.api.RDFTerm;
import org.apache.commons.rdf.jena.ConversionException;
import org.apache.commons.rdf.jena.JenaQuad;
-public class JenaQuadImpl extends JenaGeneralizedQuad<BlankNodeOrIRI,IRI,RDFTerm,BlankNodeOrIRI>
+class JenaQuadImpl extends JenaGeneralizedQuad<BlankNodeOrIRI,IRI,RDFTerm,BlankNodeOrIRI>
implements JenaQuad {
JenaQuadImpl(BlankNodeOrIRI subject, IRI predicate, RDFTerm object, Optional<BlankNodeOrIRI> graphName) {
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/b3baff42/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaTripleImpl.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaTripleImpl.java b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaTripleImpl.java
index 4e497f2..502b575 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaTripleImpl.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/impl/JenaTripleImpl.java
@@ -28,7 +28,7 @@ import org.apache.commons.rdf.api.Triple;
import org.apache.commons.rdf.jena.ConversionException;
import org.apache.commons.rdf.jena.JenaTriple;
-public class JenaTripleImpl extends JenaGeneralizedQuad<BlankNodeOrIRI, IRI, RDFTerm, RDFTerm>
+class JenaTripleImpl extends JenaGeneralizedQuad<BlankNodeOrIRI, IRI, RDFTerm, RDFTerm>
implements JenaTriple {
JenaTripleImpl(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/b3baff42/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java
----------------------------------------------------------------------
diff --git a/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java b/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java
index f37922f..0ac6326 100644
--- a/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java
+++ b/jena/src/test/java/org/apache/commons/rdf/jena/TestBlankNodeJena.java
@@ -26,6 +26,8 @@ import org.apache.commons.rdf.jena.impl.JenaFactory;
public class TestBlankNodeJena extends AbstractBlankNodeTest {
+ JenaFactory jenaFactory = new JenaFactory(){};
+
/**
* Fixed salt for the purpose of this test.
*/
@@ -33,12 +35,12 @@ public class TestBlankNodeJena extends AbstractBlankNodeTest {
@Override
protected BlankNode getBlankNode() {
- return JenaFactory.createBlankNode(SALT) ;
+ return jenaFactory.createBlankNode(SALT) ;
}
@Override
protected BlankNode getBlankNode(String identifier) {
- return JenaFactory.createBlankNode(identifier, SALT) ;
+ return jenaFactory.createBlankNode(identifier, SALT) ;
}
}