Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 4A2D9200B9A for ; Fri, 7 Oct 2016 16:22:23 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 48AD4160AD6; Fri, 7 Oct 2016 14:22:23 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 35676160AF4 for ; Fri, 7 Oct 2016 16:22:22 +0200 (CEST) Received: (qmail 43423 invoked by uid 500); 7 Oct 2016 14:22:21 -0000 Mailing-List: contact commits-help@commonsrdf.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@commonsrdf.incubator.apache.org Delivered-To: mailing list commits@commonsrdf.incubator.apache.org Received: (qmail 43410 invoked by uid 99); 7 Oct 2016 14:22:21 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 07 Oct 2016 14:22:21 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id EF601C0405 for ; Fri, 7 Oct 2016 14:22:20 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -6.219 X-Spam-Level: X-Spam-Status: No, score=-6.219 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-2.999] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id SvrJ__cfoNQ0 for ; Fri, 7 Oct 2016 14:22:17 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id 3870660DA1 for ; Fri, 7 Oct 2016 14:22:16 +0000 (UTC) Received: (qmail 40803 invoked by uid 99); 7 Oct 2016 14:22:15 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 07 Oct 2016 14:22:15 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 5965BE09AC; Fri, 7 Oct 2016 14:22:15 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: stain@apache.org To: commits@commonsrdf.incubator.apache.org Date: Fri, 07 Oct 2016 14:22:55 -0000 Message-Id: <29a5628cb6cb45f3817daf5f36bc61c2@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [42/50] incubator-commonsrdf git commit: JenaRDFTermFactory - less static methods archived-at: Fri, 07 Oct 2016 14:22:23 -0000 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/master Commit: 35e1366419486b5b929f990670cf813995453673 Parents: afbcf11 Author: Stian Soiland-Reyes Authored: Fri Oct 7 09:50:50 2016 +0100 Committer: Stian Soiland-Reyes 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}. - *

- * 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 - * true. - * @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. *

* 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}. - *

- * The generalized triple supports any {@link RDFTerm} as its {@link TripleLike#getSubject()} - * {@link TripleLike#getPredicate()} or {@link TripleLike#getObject()}. - *

- * 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 - * not implement {@link Triple#equals(Object)} or - * {@link Triple#hashCode()}. - * @throws ConversionException - * if any of the triple's nodes are not concrete - */ - public JenaTripleLike 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}. *

@@ -405,28 +347,6 @@ public final class JenaRDFTermFactory implements RDFTermFactory { return JenaFactory.fromJenaGeneralized(quad, getSalt()); } - - /** - * Adapt an existing Jena Triple to CommonsRDF {@link Triple}. - *

- * 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}. - *

- * 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}. - *

- * This does not take a copy, changes to the CommonsRDF Graph are reflected - * in the jena graph, which is accessible from - * {@link JenaGraph#asJenaGraph()}. - *

- * 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}. *

* 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}. - *

- * 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()}. - *

- * 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 langToRdfSyntax(Lang lang) { + public Optional 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 rdfSyntaxToLang(RDFSyntax rdfSyntax) { + public Optional 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 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 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; }