You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by st...@apache.org on 2017/02/16 11:56:16 UTC
[01/12] commons-rdf git commit: COMMONSRDF-47 RDFSyntax as an
interface
Repository: commons-rdf
Updated Branches:
refs/heads/master f6ea05832 -> ef7f4442a
COMMONSRDF-47 RDFSyntax as an interface
OfficialRDFSyntax is the enum - which implements the interface
basically .mediaType -> .mediaType() etc
Project: http://git-wip-us.apache.org/repos/asf/commons-rdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-rdf/commit/ee725a5a
Tree: http://git-wip-us.apache.org/repos/asf/commons-rdf/tree/ee725a5a
Diff: http://git-wip-us.apache.org/repos/asf/commons-rdf/diff/ee725a5a
Branch: refs/heads/master
Commit: ee725a5aaf5d94c9ab5ff7f355bb5d0cb370bfa7
Parents: 34c9b42
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Oct 28 16:34:49 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Oct 28 16:35:52 2016 +0100
----------------------------------------------------------------------
.../org/apache/commons/rdf/api/RDFSyntax.java | 212 +++++++++++++------
.../apache/commons/rdf/api/AbstractRDFTest.java | 1 -
.../apache/commons/rdf/api/RDFSyntaxTest.java | 32 +--
.../org/apache/commons/rdf/jena/JenaRDF.java | 2 +-
.../simple/experimental/AbstractRDFParser.java | 2 +-
5 files changed, 165 insertions(+), 84 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/ee725a5a/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java b/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
index 2637a96..e267157 100644
--- a/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
+++ b/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
@@ -22,6 +22,124 @@ import java.util.Locale;
import java.util.Optional;
/**
+ * An RDF syntax, e.g. as used for parsing and writing RDF.
+ * <p>
+ * An RDF syntax is uniquely identified by its {@link #mediaType()}, and has a
+ * suggested {@link #fileExtension()}.
+ * <p>
+ * Some of the RDF syntaxes may {@link #supportsDataset()}, meaning they can
+ * represent {@link Quad}s.
+ * <p>
+ * An enumeration of the official RDF 1.1 syntaxes is available in
+ * {@link OfficialRDFSyntax} - for convenience they are also accessible
+ * as constants here, e.g. <code>RDFSyntax.JSONLD</code>.
+ *
+ */
+public interface RDFSyntax {
+
+ public static OfficialRDFSyntax JSONLD = OfficialRDFSyntax.JSONLD;
+ public static OfficialRDFSyntax TURTLE = OfficialRDFSyntax.TURTLE;
+ public static OfficialRDFSyntax NQUADS = OfficialRDFSyntax.NQUADS;
+ public static OfficialRDFSyntax NTRIPLES = OfficialRDFSyntax.NTRIPLES;
+ public static OfficialRDFSyntax RDFA_HTML = OfficialRDFSyntax.RDFA_HTML;
+ public static OfficialRDFSyntax RDFA_XHTML = OfficialRDFSyntax.RDFA_XHTML;
+ public static OfficialRDFSyntax RDFXML = OfficialRDFSyntax.RDFXML;
+ public static OfficialRDFSyntax TRIG = OfficialRDFSyntax.TRIG;
+
+ /**
+ * A short name of the RDF Syntax.
+ * <p>
+ * The name typically corresponds to the {@link Enum#name()} of for
+ * {@link OfficialRDFSyntax}, e.g. <code>JSONLD</code>.
+ *
+ * @return Short name for RDF syntax
+ */
+ public String name();
+
+ /**
+ * The title of the RDF Syntax.
+ * <p>
+ * This is generally the title of the corresponding standard,
+ * e.g. <em>RDF 1.1 Turtle</em>.
+ *
+ * @return Title of RDF Syntax
+ */
+ public String title();
+
+ /**
+ * The <a href="https://tools.ietf.org/html/rfc2046">IANA media type</a> for
+ * the RDF syntax.
+ * <p>
+ * The media type can be used as part of <code>Content-Type</code> and
+ * <code>Accept</code> for <em>content negotiation</em> in the
+ * <a href="https://tools.ietf.org/html/rfc7231#section-3.1.1.1">HTTP
+ * protocol</a>.
+ */
+ public String mediaType();
+
+ /**
+ * The <a href="https://tools.ietf.org/html/rfc2046">IANA-registered</a>
+ * file extension.
+ * <p>
+ * The file extension includes the leading period, e.g. <code>.jsonld</code>
+ */
+ public String fileExtension();
+
+ /**
+ * Indicate if this RDF syntax supports
+ * <a href="https://www.w3.org/TR/rdf11-concepts/#section-dataset">RDF
+ * Datasets</a>.
+ */
+ public boolean supportsDataset();
+
+
+ /**
+ * Return the RDFSyntax with the specified media type.
+ * <p>
+ * The <code>mediaType</code> is compared in lower case, therefore it might
+ * not be equal to the {@link RDFSyntax#mediaType} of the returned
+ * RDFSyntax.
+ * <p>
+ * For convenience matching of media types used in a
+ * <code>Content-Type</code> header, if the <code>mediaType</code> contains
+ * the characters <code>;</code>, <code>,</code> or white space, only the
+ * part of the string to the left of those characters are considered.
+ *
+ * @param mediaType
+ * The media type to match
+ * @return If {@link Optional#isPresent()}, the {@link RDFSyntax} which has
+ * a matching {@link RDFSyntax#mediaType}, otherwise
+ * {@link Optional#empty()} indicating that no matching syntax was
+ * found.
+ */
+ public static Optional<RDFSyntax> byMediaType(String mediaType) {
+ final String type = mediaType.toLowerCase(Locale.ENGLISH).split("\\s*[;,]", 2)[0];
+ return Arrays.stream(OfficialRDFSyntax.values()).filter(t -> t.mediaType().equals(type))
+ .map(RDFSyntax.class::cast).findAny();
+ }
+
+ /**
+ * Return the RDFSyntax with the specified file extension.
+ * <p>
+ * The <code>fileExtension</code> is compared in lower case, therefore it
+ * might not be equal to the {@link RDFSyntax#fileExtension} of the returned
+ * RDFSyntax.
+ *
+ * @param fileExtension
+ * The fileExtension to match, starting with <code>.</code>
+ * @return If {@link Optional#isPresent()}, the {@link RDFSyntax} which has
+ * a matching {@link RDFSyntax#fileExtension}, otherwise
+ * {@link Optional#empty()} indicating that no matching file
+ * extension was found.
+ */
+ public static Optional<RDFSyntax> byFileExtension(String fileExtension) {
+ final String ext = fileExtension.toLowerCase(Locale.ENGLISH);
+ return Arrays.stream(OfficialRDFSyntax.values()).filter(t -> t.fileExtension().equals(ext))
+ .map(RDFSyntax.class::cast).findAny();
+ }
+
+
+/**
* Enumeration of the RDF 1.1 serialization syntaxes.
* <p>
* This enumeration lists the W3C standardized RDF 1.1 syntaxes like
@@ -34,7 +152,7 @@ import java.util.Optional;
* 1.1 Primer</a>
* @see org.apache.commons.rdf.experimental.RDFParser
*/
-public enum RDFSyntax {
+ public enum OfficialRDFSyntax implements RDFSyntax {
/**
* JSON-LD 1.0
@@ -103,92 +221,56 @@ public enum RDFSyntax {
TRIG("RDF 1.1 TriG", "application/trig", ".trig", true);
/**
- * The <a href="https://tools.ietf.org/html/rfc2046">IANA media type</a> for
- * the RDF syntax.
- * <p>
- * The media type can be used as part of <code>Content-Type</code> and
- * <code>Accept</code> for <em>content negotiation</em> in the
- * <a href="https://tools.ietf.org/html/rfc7231#section-3.1.1.1">HTTP
- * protocol</a>.
+ * Deprecated, use {@link #mediaType()}.
*/
+ @Deprecated
public final String mediaType;
/**
- * The <a href="https://tools.ietf.org/html/rfc2046">IANA-registered</a>
- * file extension.
- * <p>
- * The file extension includes the leading period, e.g. <code>.jsonld</code>
+ * Deprecated, use {@link #fileExtension()}.
*/
+ @Deprecated
public final String fileExtension;
/**
- * Indicate if this RDF syntax supports
- * <a href="https://www.w3.org/TR/rdf11-concepts/#section-dataset">RDF
- * Datasets</a>.
+ * Deprecated, use {@link #supportsDataset()}.
*/
+ @Deprecated
public final boolean supportsDataset;
- private final String name;
+ private final String title;
- /**
- * A human-readable name for the RDF syntax.
- * <p>
- * The name is equivalent to the the title of the corresponding W3C
- * Specification.
- */
@Override
public String toString() {
- return name;
+ return title();
}
- private RDFSyntax(String name, String mediaType, String fileExtension, boolean supportsDataset) {
- this.name = name;
+ private OfficialRDFSyntax(String title, String mediaType, String fileExtension, boolean supportsDataset) {
+ this.title = title;
this.mediaType = mediaType;
this.fileExtension = fileExtension;
this.supportsDataset = supportsDataset;
}
- /**
- * Return the RDFSyntax with the specified media type.
- * <p>
- * The <code>mediaType</code> is compared in lower case, therefore it might
- * not be equal to the {@link RDFSyntax#mediaType} of the returned
- * RDFSyntax.
- * <p>
- * For convenience matching of media types used in a
- * <code>Content-Type</code> header, if the <code>mediaType</code> contains
- * the characters <code>;</code>, <code>,</code> or white space, only the
- * part of the string to the left of those characters are considered.
- *
- * @param mediaType
- * The media type to match
- * @return If {@link Optional#isPresent()}, the {@link RDFSyntax} which has
- * a matching {@link RDFSyntax#mediaType}, otherwise
- * {@link Optional#empty()} indicating that no matching syntax was
- * found.
- */
- public static Optional<RDFSyntax> byMediaType(String mediaType) {
- final String type = mediaType.toLowerCase(Locale.ENGLISH).split("\\s*[;,]", 2)[0];
- return Arrays.stream(RDFSyntax.values()).filter(t -> t.mediaType.equals(type)).findAny();
+ @Override
+ public String mediaType() {
+ return mediaType;
}
- /**
- * Return the RDFSyntax with the specified file extension.
- * <p>
- * The <code>fileExtension</code> is compared in lower case, therefore it
- * might not be equal to the {@link RDFSyntax#fileExtension} of the returned
- * RDFSyntax.
- *
- * @param fileExtension
- * The fileExtension to match, starting with <code>.</code>
- * @return If {@link Optional#isPresent()}, the {@link RDFSyntax} which has
- * a matching {@link RDFSyntax#fileExtension}, otherwise
- * {@link Optional#empty()} indicating that no matching file
- * extension was found.
- */
- public static Optional<RDFSyntax> byFileExtension(String fileExtension) {
- final String ext = fileExtension.toLowerCase(Locale.ENGLISH);
- return Arrays.stream(RDFSyntax.values()).filter(t -> t.fileExtension.equals(ext)).findAny();
+ @Override
+ public String fileExtension() {
+ return fileExtension;
+ }
+
+ @Override
+ public boolean supportsDataset() {
+ return supportsDataset;
+ }
+
+ @Override
+ public String title() {
+ return title;
}
-}
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/ee725a5a/api/src/test/java/org/apache/commons/rdf/api/AbstractRDFTest.java
----------------------------------------------------------------------
diff --git a/api/src/test/java/org/apache/commons/rdf/api/AbstractRDFTest.java b/api/src/test/java/org/apache/commons/rdf/api/AbstractRDFTest.java
index e58ede6..bd3865a 100644
--- a/api/src/test/java/org/apache/commons/rdf/api/AbstractRDFTest.java
+++ b/api/src/test/java/org/apache/commons/rdf/api/AbstractRDFTest.java
@@ -24,7 +24,6 @@ import static org.junit.Assert.assertNotSame;
import java.util.Objects;
-import org.junit.Assume;
import org.junit.Before;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/ee725a5a/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java
----------------------------------------------------------------------
diff --git a/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java b/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java
index a1cb62e..335eb90 100644
--- a/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java
+++ b/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java
@@ -84,26 +84,26 @@ public class RDFSyntaxTest {
@Test
public void fileExtension() throws Exception {
- assertEquals(".jsonld", RDFSyntax.JSONLD.fileExtension);
- assertEquals(".nq", RDFSyntax.NQUADS.fileExtension);
- assertEquals(".nt", RDFSyntax.NTRIPLES.fileExtension);
- assertEquals(".html", RDFSyntax.RDFA_HTML.fileExtension);
- assertEquals(".xhtml", RDFSyntax.RDFA_XHTML.fileExtension);
- assertEquals(".rdf", RDFSyntax.RDFXML.fileExtension);
- assertEquals(".trig", RDFSyntax.TRIG.fileExtension);
- assertEquals(".ttl", RDFSyntax.TURTLE.fileExtension);
+ assertEquals(".jsonld", RDFSyntax.JSONLD.fileExtension());
+ assertEquals(".nq", RDFSyntax.NQUADS.fileExtension());
+ assertEquals(".nt", RDFSyntax.NTRIPLES.fileExtension());
+ assertEquals(".html", RDFSyntax.RDFA_HTML.fileExtension());
+ assertEquals(".xhtml", RDFSyntax.RDFA_XHTML.fileExtension());
+ assertEquals(".rdf", RDFSyntax.RDFXML.fileExtension());
+ assertEquals(".trig", RDFSyntax.TRIG.fileExtension());
+ assertEquals(".ttl", RDFSyntax.TURTLE.fileExtension());
}
@Test
public void mediaType() throws Exception {
- assertEquals("application/ld+json", RDFSyntax.JSONLD.mediaType);
- assertEquals("application/n-quads", RDFSyntax.NQUADS.mediaType);
- assertEquals("application/n-triples", RDFSyntax.NTRIPLES.mediaType);
- assertEquals("text/html", RDFSyntax.RDFA_HTML.mediaType);
- assertEquals("application/xhtml+xml", RDFSyntax.RDFA_XHTML.mediaType);
- assertEquals("application/rdf+xml", RDFSyntax.RDFXML.mediaType);
- assertEquals("application/trig", RDFSyntax.TRIG.mediaType);
- assertEquals("text/turtle", RDFSyntax.TURTLE.mediaType);
+ assertEquals("application/ld+json", RDFSyntax.JSONLD.mediaType());
+ assertEquals("application/n-quads", RDFSyntax.NQUADS.mediaType());
+ assertEquals("application/n-triples", RDFSyntax.NTRIPLES.mediaType());
+ assertEquals("text/html", RDFSyntax.RDFA_HTML.mediaType());
+ assertEquals("application/xhtml+xml", RDFSyntax.RDFA_XHTML.mediaType());
+ assertEquals("application/rdf+xml", RDFSyntax.RDFXML.mediaType());
+ assertEquals("application/trig", RDFSyntax.TRIG.mediaType());
+ assertEquals("text/turtle", RDFSyntax.TURTLE.mediaType());
}
@Test
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/ee725a5a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDF.java
----------------------------------------------------------------------
diff --git a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDF.java b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDF.java
index b49656f..036e084 100644
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDF.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDF.java
@@ -551,7 +551,7 @@ public final class JenaRDF implements RDF {
* @return Matched {@link Lang}, otherwise {@link Optional#empty()}
*/
public Optional<Lang> asJenaLang(RDFSyntax rdfSyntax) {
- return Optional.ofNullable(RDFLanguages.contentTypeToLang(rdfSyntax.mediaType));
+ return Optional.ofNullable(RDFLanguages.contentTypeToLang(rdfSyntax.mediaType()));
}
/**
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/ee725a5a/simple/src/main/java/org/apache/commons/rdf/simple/experimental/AbstractRDFParser.java
----------------------------------------------------------------------
diff --git a/simple/src/main/java/org/apache/commons/rdf/simple/experimental/AbstractRDFParser.java b/simple/src/main/java/org/apache/commons/rdf/simple/experimental/AbstractRDFParser.java
index 584bff3..62fe79c 100644
--- a/simple/src/main/java/org/apache/commons/rdf/simple/experimental/AbstractRDFParser.java
+++ b/simple/src/main/java/org/apache/commons/rdf/simple/experimental/AbstractRDFParser.java
@@ -240,7 +240,7 @@ public abstract class AbstractRDFParser<T extends AbstractRDFParser<T>> implemen
public T contentType(RDFSyntax rdfSyntax) throws IllegalArgumentException {
AbstractRDFParser<T> c = clone();
c.contentTypeSyntax = Optional.ofNullable(rdfSyntax);
- c.contentType = c.contentTypeSyntax.map(syntax -> syntax.mediaType);
+ c.contentType = c.contentTypeSyntax.map(syntax -> syntax.mediaType());
return c.asT();
}
[09/12] commons-rdf git commit: COMMONSRDF-47: Add plural
fileExtensions() mediaTypes()
Posted by st...@apache.org.
COMMONSRDF-47: Add plural fileExtensions() mediaTypes()
merged RDFa types for HTML and XHTML
byMediaType() and byFileExtension() now checks the set
Project: http://git-wip-us.apache.org/repos/asf/commons-rdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-rdf/commit/a574473c
Tree: http://git-wip-us.apache.org/repos/asf/commons-rdf/tree/a574473c
Diff: http://git-wip-us.apache.org/repos/asf/commons-rdf/diff/a574473c
Branch: refs/heads/master
Commit: a574473c04746c7d1e67ddf4a3a77de6dee32f5f
Parents: 701e47e
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Feb 10 16:53:58 2017 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Feb 10 16:53:58 2017 +0000
----------------------------------------------------------------------
.../org/apache/commons/rdf/api/RDFSyntax.java | 55 ++++++++++++++------
.../apache/commons/rdf/api/W3CRDFSyntax.java | 26 ++++++---
.../apache/commons/rdf/api/RDFSyntaxTest.java | 46 ++++++++++++----
3 files changed, 92 insertions(+), 35 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/a574473c/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java b/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
index 657fbc3..c82c0f5 100644
--- a/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
+++ b/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
@@ -17,6 +17,7 @@
*/
package org.apache.commons.rdf.api;
+import java.util.Collections;
import java.util.Locale;
import java.util.Optional;
import java.util.Set;
@@ -72,20 +73,14 @@ public interface RDFSyntax {
public static RDFSyntax NTRIPLES = W3CRDFSyntax.NTRIPLES;
/**
- * HTML+RDFa 1.1
+ * HTML+RDFa 1.1 and XHTML+RDFa 1.1
*
* @see <a href=
* "https://www.w3.org/TR/html-rdfa/">https://www.w3.org/TR/html-rdfa/</a>
- */
- public static RDFSyntax RDFA_HTML = W3CRDFSyntax.RDFA_HTML;
-
- /**
- * XHTML+RDFa 1.1
- *
* @see <a href=
* "https://www.w3.org/TR/xhtml-rdfa/">https://www.w3.org/TR/xhtml-rdfa/</a>
*/
- public static RDFSyntax RDFA_XHTML = W3CRDFSyntax.RDFA_XHTML;
+ public static RDFSyntax RDFA = W3CRDFSyntax.RDFA;
/**
* RDF 1.1 XML Syntax
@@ -134,6 +129,22 @@ public interface RDFSyntax {
public String mediaType();
/**
+ * Set of <a href="https://tools.ietf.org/html/rfc2046">IANA media types/a> that
+ * covers this RDF syntax, including any non-official media types.
+ * <p>
+ * The media type can be used as part of <code>Content-Type</code> and
+ * <code>Accept</code> for <em>content negotiation</em> in the
+ * <a href="https://tools.ietf.org/html/rfc7231#section-3.1.1.1">HTTP
+ * protocol</a>.
+ * <p>
+ * The returned Set MUST include the value {@link #mediaType()}; this is the
+ * behaviour of the default implementation.
+ */
+ default public Set<String> mediaTypes() {
+ return Collections.singleton(mediaType());
+ }
+
+ /**
* The <a href="https://tools.ietf.org/html/rfc2046">IANA-registered</a>
* file extension.
* <p>
@@ -142,6 +153,18 @@ public interface RDFSyntax {
public String fileExtension();
/**
+ * Set of file extensions for this RDF syntax, including any non-official extensions.
+ * <p>
+ * The file extension includes the leading period, e.g. <code>.jsonld</code>
+ * <p>
+ * The returned Set MUST include the value from {@link #fileExtension()}; this is
+ * the behaviour of the default implementation.
+ */
+ default public Set<String> fileExtensions() {
+ return Collections.singleton(fileExtension());
+ }
+
+ /**
* Indicate if this RDF syntax supports
* <a href="https://www.w3.org/TR/rdf11-concepts/#section-dataset">RDF
* Datasets</a>.
@@ -211,9 +234,9 @@ public interface RDFSyntax {
/**
* Return the RDFSyntax with the specified media type.
* <p>
- * The <code>mediaType</code> is compared in lower case, therefore it might
- * not be equal to the {@link RDFSyntax#mediaType} of the returned
- * RDFSyntax.
+ * The <code>mediaType</code> is compared in lower case to all media types
+ * supported, therefore it might not be equal to the
+ * {@link RDFSyntax#mediaType} of the returned RDFSyntax.
* <p>
* If the media type specifies parameters, e.g.
* <code>text/turtle; charset=ascii</code>, only the part of the string to
@@ -230,16 +253,16 @@ public interface RDFSyntax {
*/
public static Optional<RDFSyntax> byMediaType(final String mediaType) {
final String type = mediaType.toLowerCase(Locale.ROOT).split("\\s*;", 2)[0];
- return w3cSyntaxes().stream().filter(t -> t.mediaType().equals(type))
+ return w3cSyntaxes().stream().filter(t -> t.mediaTypes().contains(type))
.findAny();
}
/**
* Return the RDFSyntax with the specified file extension.
* <p>
- * The <code>fileExtension</code> is compared in lower case, therefore it
- * might not be equal to the {@link RDFSyntax#fileExtension} of the returned
- * RDFSyntax.
+ * The <code>fileExtension</code> is compared in lower case to all
+ * extensions supported, therefore it might not be equal to the
+ * {@link RDFSyntax#fileExtension} of the returned RDFSyntax.
* <p>
* This method support all syntaxes returned by {@link #w3cSyntaxes()}.
*
@@ -252,7 +275,7 @@ public interface RDFSyntax {
*/
public static Optional<RDFSyntax> byFileExtension(final String fileExtension) {
final String ext = fileExtension.toLowerCase(Locale.ROOT);
- return w3cSyntaxes().stream().filter(t -> t.fileExtension().equals(ext))
+ return w3cSyntaxes().stream().filter(t -> t.fileExtensions().contains(ext))
.findAny();
}
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/a574473c/api/src/main/java/org/apache/commons/rdf/api/W3CRDFSyntax.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/commons/rdf/api/W3CRDFSyntax.java b/api/src/main/java/org/apache/commons/rdf/api/W3CRDFSyntax.java
index 82b6692..6b88955 100644
--- a/api/src/main/java/org/apache/commons/rdf/api/W3CRDFSyntax.java
+++ b/api/src/main/java/org/apache/commons/rdf/api/W3CRDFSyntax.java
@@ -39,8 +39,7 @@ import java.util.Set;
* 1.1 Primer</a>
* @see org.apache.commons.rdf.experimental.RDFParser
*/
-final class W3CRDFSyntax implements RDFSyntax {
-
+class W3CRDFSyntax implements RDFSyntax {
/**
* IRI representing a <a href="https://www.w3.org/ns/formats/">W3C RDF
@@ -88,7 +87,7 @@ final class W3CRDFSyntax implements RDFSyntax {
}
- static final RDFSyntax JSONLD, TURTLE, NQUADS, NTRIPLES, RDFA_HTML, RDFA_XHTML, RDFXML, TRIG;
+ static final RDFSyntax JSONLD, TURTLE, NQUADS, NTRIPLES, RDFA, RDFXML, TRIG;
static final Set<RDFSyntax> syntaxes;
static {
@@ -97,13 +96,24 @@ final class W3CRDFSyntax implements RDFSyntax {
TURTLE = new W3CRDFSyntax("Turtle", "RDF 1.1 Turtle", "text/turtle", ".ttl", false);
NQUADS = new W3CRDFSyntax("N-Quads", "RDF 1.1 N-Quads", "application/n-quads", ".nq", true);
NTRIPLES = new W3CRDFSyntax("N-Triples", "RDF 1.1 N-Triples", "application/n-triples", ".nt", false);
- RDFA_HTML = new W3CRDFSyntax("RDFa", "HTML+RDFa 1.1", "text/html", ".html", false);
- RDFA_XHTML = new W3CRDFSyntax("RDFa", "XHTML+RDFa 1.1", "application/xhtml+xml", ".xhtml", false);
RDFXML = new W3CRDFSyntax("RDF_XML", "RDF 1.1 XML Syntax", "application/rdf+xml", ".rdf", false);
- TRIG = new W3CRDFSyntax("TriG", "RDF 1.1 TriG", "application/trig", ".trig", true);
-
+ TRIG = new W3CRDFSyntax("TriG", "RDF 1.1 TriG", "application/trig", ".trig", true);
+ RDFA = new W3CRDFSyntax("RDFa", "HTML+RDFa 1.1", "text/html", ".html", false) {
+ private Set<String> types = Collections.unmodifiableSet(new LinkedHashSet<>(
+ Arrays.asList("text/html", "application/xhtml+xml")));
+ private Set<String> extensions = Collections.unmodifiableSet(new LinkedHashSet<>(
+ Arrays.asList(".html", ".xhtml")));
+ @Override
+ public Set<String> mediaTypes() {
+ return types;
+ }
+ @Override
+ public Set<String> fileExtensions() {
+ return extensions;
+ }
+ };
syntaxes = Collections.unmodifiableSet(new LinkedHashSet<>(
- Arrays.asList(JSONLD, NQUADS, NTRIPLES, RDFA_HTML, RDFA_XHTML, RDFXML, TRIG, TURTLE)));
+ Arrays.asList(JSONLD, NQUADS, NTRIPLES, RDFA, RDFXML, TRIG, TURTLE)));
}
private final String title;
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/a574473c/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java
----------------------------------------------------------------------
diff --git a/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java b/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java
index 50b934f..5494147 100644
--- a/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java
+++ b/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java
@@ -30,8 +30,7 @@ public class RDFSyntaxTest {
assertEquals(RDFSyntax.JSONLD, RDFSyntax.byFileExtension(".jsonld").get());
assertEquals(RDFSyntax.NQUADS, RDFSyntax.byFileExtension(".nq").get());
assertEquals(RDFSyntax.NTRIPLES, RDFSyntax.byFileExtension(".nt").get());
- assertEquals(RDFSyntax.RDFA_HTML, RDFSyntax.byFileExtension(".html").get());
- assertEquals(RDFSyntax.RDFA_XHTML, RDFSyntax.byFileExtension(".xhtml").get());
+ assertEquals(RDFSyntax.RDFA, RDFSyntax.byFileExtension(".html").get());
assertEquals(RDFSyntax.RDFXML, RDFSyntax.byFileExtension(".rdf").get());
assertEquals(RDFSyntax.TRIG, RDFSyntax.byFileExtension(".trig").get());
assertEquals(RDFSyntax.TURTLE, RDFSyntax.byFileExtension(".ttl").get());
@@ -57,8 +56,8 @@ public class RDFSyntaxTest {
assertEquals(RDFSyntax.JSONLD, RDFSyntax.byMediaType("application/ld+json").get());
assertEquals(RDFSyntax.NQUADS, RDFSyntax.byMediaType("application/n-quads").get());
assertEquals(RDFSyntax.NTRIPLES, RDFSyntax.byMediaType("application/n-triples").get());
- assertEquals(RDFSyntax.RDFA_HTML, RDFSyntax.byMediaType("text/html").get());
- assertEquals(RDFSyntax.RDFA_XHTML, RDFSyntax.byMediaType("application/xhtml+xml").get());
+ assertEquals(RDFSyntax.RDFA, RDFSyntax.byMediaType("text/html").get());
+ assertEquals(RDFSyntax.RDFA, RDFSyntax.byMediaType("application/xhtml+xml").get());
assertEquals(RDFSyntax.RDFXML, RDFSyntax.byMediaType("application/rdf+xml").get());
assertEquals(RDFSyntax.TRIG, RDFSyntax.byMediaType("application/trig").get());
assertEquals(RDFSyntax.TURTLE, RDFSyntax.byMediaType("text/turtle").get());
@@ -89,34 +88,59 @@ public class RDFSyntaxTest {
assertEquals(".jsonld", RDFSyntax.JSONLD.fileExtension());
assertEquals(".nq", RDFSyntax.NQUADS.fileExtension());
assertEquals(".nt", RDFSyntax.NTRIPLES.fileExtension());
- assertEquals(".html", RDFSyntax.RDFA_HTML.fileExtension());
- assertEquals(".xhtml", RDFSyntax.RDFA_XHTML.fileExtension());
+ assertEquals(".html", RDFSyntax.RDFA.fileExtension());
assertEquals(".rdf", RDFSyntax.RDFXML.fileExtension());
assertEquals(".trig", RDFSyntax.TRIG.fileExtension());
assertEquals(".ttl", RDFSyntax.TURTLE.fileExtension());
}
@Test
+ public void fileExtensions() throws Exception {
+ assertTrue(RDFSyntax.JSONLD.fileExtensions().contains(".jsonld"));
+ assertTrue(RDFSyntax.NQUADS.fileExtensions().contains(".nq"));
+ assertTrue(RDFSyntax.NTRIPLES.fileExtensions().contains(".nt"));
+ assertTrue(RDFSyntax.RDFA.fileExtensions().contains(".html"));
+ assertTrue(RDFSyntax.RDFA.fileExtensions().contains(".xhtml"));
+ assertTrue(RDFSyntax.RDFXML.fileExtensions().contains(".rdf"));
+ assertTrue(RDFSyntax.TRIG.fileExtensions().contains(".trig"));
+ assertTrue(RDFSyntax.TURTLE.fileExtensions().contains(".ttl"));
+ }
+
+ @Test
public void mediaType() throws Exception {
assertEquals("application/ld+json", RDFSyntax.JSONLD.mediaType());
assertEquals("application/n-quads", RDFSyntax.NQUADS.mediaType());
assertEquals("application/n-triples", RDFSyntax.NTRIPLES.mediaType());
- assertEquals("text/html", RDFSyntax.RDFA_HTML.mediaType());
- assertEquals("application/xhtml+xml", RDFSyntax.RDFA_XHTML.mediaType());
+ assertEquals("text/html", RDFSyntax.RDFA.mediaType());
assertEquals("application/rdf+xml", RDFSyntax.RDFXML.mediaType());
assertEquals("application/trig", RDFSyntax.TRIG.mediaType());
assertEquals("text/turtle", RDFSyntax.TURTLE.mediaType());
}
+
+ @Test
+ public void mediaTypes() throws Exception {
+ assertTrue(RDFSyntax.JSONLD.mediaTypes().contains("application/ld+json"));
+ assertTrue(RDFSyntax.NQUADS.mediaTypes().contains("application/n-quads"));
+ assertTrue(RDFSyntax.NTRIPLES.mediaTypes().contains("application/n-triples"));
+ assertTrue(RDFSyntax.RDFA.mediaTypes().contains("text/html"));
+ assertTrue(RDFSyntax.RDFA.mediaTypes().contains("application/xhtml+xml"));
+ assertTrue(RDFSyntax.RDFXML.mediaTypes().contains("application/rdf+xml"));
+ assertTrue(RDFSyntax.TRIG.mediaTypes().contains("application/trig"));
+ assertTrue(RDFSyntax.TURTLE.mediaTypes().contains("text/turtle"));
+ }
+
@Test
- public void name() throws Exception {
+ public void string() throws Exception {
assertEquals("JSON-LD 1.0", RDFSyntax.JSONLD.toString());
assertEquals("RDF 1.1 Turtle", RDFSyntax.TURTLE.toString());
}
@Test
- public void valueOf() throws Exception {
- assertEquals(RDFSyntax.TURTLE, RDFSyntax.byName("TURTLE").get());
+ public void byName() throws Exception {
+ for (RDFSyntax s : RDFSyntax.w3cSyntaxes()) {
+ assertEquals(s, RDFSyntax.byName(s.name()).get());
+ }
}
}
[02/12] commons-rdf git commit: COMMONSRDF-47 enum split into
W3CRDFSyntax
Posted by st...@apache.org.
COMMONSRDF-47 enum split into W3CRDFSyntax
Fixes after feedback from @ansell in #27
Project: http://git-wip-us.apache.org/repos/asf/commons-rdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-rdf/commit/8dd16646
Tree: http://git-wip-us.apache.org/repos/asf/commons-rdf/tree/8dd16646
Diff: http://git-wip-us.apache.org/repos/asf/commons-rdf/diff/8dd16646
Branch: refs/heads/master
Commit: 8dd166463f4c4d25f3036359cf5bf2a2d0806691
Parents: ee725a5
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Jan 12 17:24:17 2017 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Jan 12 17:24:17 2017 +0000
----------------------------------------------------------------------
.../org/apache/commons/rdf/api/RDFSyntax.java | 280 +++++++++----------
.../apache/commons/rdf/api/W3CRDFSyntax.java | 141 ++++++++++
.../apache/commons/rdf/api/RDFSyntaxTest.java | 4 +-
3 files changed, 271 insertions(+), 154 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/8dd16646/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java b/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
index e267157..0a6913d 100644
--- a/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
+++ b/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
@@ -17,9 +17,9 @@
*/
package org.apache.commons.rdf.api;
-import java.util.Arrays;
import java.util.Locale;
import java.util.Optional;
+import java.util.Set;
/**
* An RDF syntax, e.g. as used for parsing and writing RDF.
@@ -31,26 +31,83 @@ import java.util.Optional;
* represent {@link Quad}s.
* <p>
* An enumeration of the official RDF 1.1 syntaxes is available in
- * {@link OfficialRDFSyntax} - for convenience they are also accessible
+ * {@link W3CRDFSyntax} - for convenience they are also accessible
* as constants here, e.g. <code>RDFSyntax.JSONLD</code>.
*
*/
public interface RDFSyntax {
-
- public static OfficialRDFSyntax JSONLD = OfficialRDFSyntax.JSONLD;
- public static OfficialRDFSyntax TURTLE = OfficialRDFSyntax.TURTLE;
- public static OfficialRDFSyntax NQUADS = OfficialRDFSyntax.NQUADS;
- public static OfficialRDFSyntax NTRIPLES = OfficialRDFSyntax.NTRIPLES;
- public static OfficialRDFSyntax RDFA_HTML = OfficialRDFSyntax.RDFA_HTML;
- public static OfficialRDFSyntax RDFA_XHTML = OfficialRDFSyntax.RDFA_XHTML;
- public static OfficialRDFSyntax RDFXML = OfficialRDFSyntax.RDFXML;
- public static OfficialRDFSyntax TRIG = OfficialRDFSyntax.TRIG;
+
+ /**
+ * JSON-LD 1.0
+ *
+ * @see <a href=
+ * "https://www.w3.org/TR/json-ld/">https://www.w3.org/TR/json-ld/</a>
+ *
+ */
+ public static RDFSyntax JSONLD = W3CRDFSyntax.JSONLD;
+
+ /**
+ * RDF 1.1 Turtle
+ *
+ * @see <a href=
+ * "https://www.w3.org/TR/turtle/">https://www.w3.org/TR/turtle/</a>
+ *
+ */
+ public static RDFSyntax TURTLE = W3CRDFSyntax.TURTLE;
+
+ /**
+ * RDF 1.1 N-Quads
+ *
+ * @see <a href=
+ * "https://www.w3.org/TR/n-quads/">https://www.w3.org/TR/n-quads/</a>
+ */
+ public static RDFSyntax NQUADS = W3CRDFSyntax.NQUADS;
+
+ /**
+ * RDF 1.1 N-Triples
+ *
+ * @see <a href=
+ * "https://www.w3.org/TR/n-triples/">https://www.w3.org/TR/n-triples/</a>
+ */
+ public static RDFSyntax NTRIPLES = W3CRDFSyntax.NTRIPLES;
+
+ /**
+ * HTML+RDFa 1.1
+ *
+ * @see <a href=
+ * "https://www.w3.org/TR/html-rdfa/">https://www.w3.org/TR/html-rdfa/</a>
+ */
+ public static RDFSyntax RDFA_HTML = W3CRDFSyntax.RDFA_HTML;
+
+ /**
+ * XHTML+RDFa 1.1
+ *
+ * @see <a href=
+ * "https://www.w3.org/TR/xhtml-rdfa/">https://www.w3.org/TR/xhtml-rdfa/</a>
+ */
+ public static RDFSyntax RDFA_XHTML = W3CRDFSyntax.RDFA_XHTML;
+
+ /**
+ * RDF 1.1 XML Syntax
+ *
+ * @see <a href=
+ * "https://www.w3.org/TR/rdf-syntax-grammar/">https://www.w3.org/TR/rdf-syntax-grammar/</a>
+ */
+ public static RDFSyntax RDFXML = W3CRDFSyntax.RDFXML;
+
+ /**
+ * RDF 1.1 TriG
+ *
+ * @see <a href=
+ * "https://www.w3.org/TR/trig/">https://www.w3.org/TR/trig/</a>
+ */
+ public static RDFSyntax TRIG = W3CRDFSyntax.TRIG;
/**
- * A short name of the RDF Syntax.
+ * A short name of the RDF Syntax e.g. <code>JSONLD</code>.
* <p>
- * The name typically corresponds to the {@link Enum#name()} of for
- * {@link OfficialRDFSyntax}, e.g. <code>JSONLD</code>.
+ * The name is specific to Commons RDF and carries no particular meaning
+ * except that it matches the constants like {@link #JSONLD}.
*
* @return Short name for RDF syntax
*/
@@ -91,7 +148,30 @@ public interface RDFSyntax {
* Datasets</a>.
*/
public boolean supportsDataset();
+
+ /**
+ * Return the RDF 1.1 serialization syntaxes.
+ * <p>
+ * This lists the W3C standardized RDF 1.1 syntaxes like {@link #TURTLE} and
+ * {@link #JSONLD}. Note the existence of other RDF syntaxes that are not
+ * included here, e.g. <a href="http://www.w3.org/TeamSubmission/n3/">N3</a> and
+ * <a href="https://en.wikipedia.org/wiki/TriX_%28syntax%29">TriX</a>.
+ * <p>
+ * The syntaxes returned only support the {@link #mediaType()}
+ * and {@link #fileExtension()} as defined in the corresponding
+ * W3C specification.
+ *
+ * @return
+ * A set of the official RDF 1.1 {@link RDFSyntax}es.
+ *
+ * @see <a href="https://www.w3.org/TR/rdf11-primer/#section-graph-syntax">RDF
+ * 1.1 Primer</a>
+ * @see org.apache.commons.rdf.experimental.RDFParser
+ */
+ public static Set<RDFSyntax> w3cSyntaxes() {
+ return W3CRDFSyntax.syntaxes;
+ }
/**
* Return the RDFSyntax with the specified media type.
@@ -100,10 +180,12 @@ public interface RDFSyntax {
* not be equal to the {@link RDFSyntax#mediaType} of the returned
* RDFSyntax.
* <p>
- * For convenience matching of media types used in a
- * <code>Content-Type</code> header, if the <code>mediaType</code> contains
- * the characters <code>;</code>, <code>,</code> or white space, only the
- * part of the string to the left of those characters are considered.
+ * If the media type specifies parameters, e.g.
+ * <code>text/turtle; charset=ascii</code>, only the part of the string to
+ * before <code>;</code> is considered.
+ * <p>
+ * The list of syntaxes supported is at least those returned by
+ * {@link #w3cSyntaxes()}.
*
* @param mediaType
* The media type to match
@@ -113,9 +195,9 @@ public interface RDFSyntax {
* found.
*/
public static Optional<RDFSyntax> byMediaType(String mediaType) {
- final String type = mediaType.toLowerCase(Locale.ENGLISH).split("\\s*[;,]", 2)[0];
- return Arrays.stream(OfficialRDFSyntax.values()).filter(t -> t.mediaType().equals(type))
- .map(RDFSyntax.class::cast).findAny();
+ final String type = mediaType.toLowerCase(Locale.ROOT).split("\\s*;", 2)[0];
+ return w3cSyntaxes().stream().filter(t -> t.mediaType().equals(type))
+ .findAny();
}
/**
@@ -124,6 +206,9 @@ public interface RDFSyntax {
* The <code>fileExtension</code> is compared in lower case, therefore it
* might not be equal to the {@link RDFSyntax#fileExtension} of the returned
* RDFSyntax.
+ * <p>
+ * The list of syntaxes supported is at least those returned by
+ * {@link #w3cSyntaxes()}.
*
* @param fileExtension
* The fileExtension to match, starting with <code>.</code>
@@ -133,144 +218,33 @@ public interface RDFSyntax {
* extension was found.
*/
public static Optional<RDFSyntax> byFileExtension(String fileExtension) {
- final String ext = fileExtension.toLowerCase(Locale.ENGLISH);
- return Arrays.stream(OfficialRDFSyntax.values()).filter(t -> t.fileExtension().equals(ext))
- .map(RDFSyntax.class::cast).findAny();
- }
+ final String ext = fileExtension.toLowerCase(Locale.ROOT);
+ return w3cSyntaxes().stream().filter(t -> t.fileExtension().equals(ext))
+ .findAny();
+ }
-
-/**
- * Enumeration of the RDF 1.1 serialization syntaxes.
- * <p>
- * This enumeration lists the W3C standardized RDF 1.1 syntaxes like
- * {@link #TURTLE} and {@link #JSONLD}. Note the existence of other RDF syntaxes
- * that are not included here, e.g.
- * <a href="http://www.w3.org/TeamSubmission/n3/">N3</a> and
- * <a href="https://en.wikipedia.org/wiki/TriX_%28syntax%29">TriX</a>.
- *
- * @see <a href="https://www.w3.org/TR/rdf11-primer/#section-graph-syntax">RDF
- * 1.1 Primer</a>
- * @see org.apache.commons.rdf.experimental.RDFParser
- */
- public enum OfficialRDFSyntax implements RDFSyntax {
-
/**
- * JSON-LD 1.0
- *
- * @see <a href=
- * "https://www.w3.org/TR/json-ld/">https://www.w3.org/TR/json-ld/</a>
- *
- */
- JSONLD("JSON-LD 1.0", "application/ld+json", ".jsonld", true),
-
- /**
- * RDF 1.1 Turtle
- *
- * @see <a href=
- * "https://www.w3.org/TR/turtle/">https://www.w3.org/TR/turtle/</a>
- *
- */
- TURTLE("RDF 1.1 Turtle", "text/turtle", ".ttl", false),
-
- /**
- * RDF 1.1 N-Quads
- *
- * @see <a href=
- * "https://www.w3.org/TR/n-quads/">https://www.w3.org/TR/n-quads/</a>
- */
- NQUADS("RDF 1.1 N-Quads", "application/n-quads", ".nq", true),
-
- /**
- * RDF 1.1 N-Triples
- *
- * @see <a href=
- * "https://www.w3.org/TR/n-triples/">https://www.w3.org/TR/n-triples/</a>
- */
- NTRIPLES("RDF 1.1 N-Triples", "application/n-triples", ".nt", false),
-
- /**
- * HTML+RDFa 1.1
- *
- * @see <a href=
- * "https://www.w3.org/TR/html-rdfa/">https://www.w3.org/TR/html-rdfa/</a>
- */
- RDFA_HTML("HTML+RDFa 1.1", "text/html", ".html", false),
-
- /**
- * XHTML+RDFa 1.1
- *
- * @see <a href=
- * "https://www.w3.org/TR/xhtml-rdfa/">https://www.w3.org/TR/xhtml-rdfa/</a>
- */
- RDFA_XHTML("XHTML+RDFa 1.1", "application/xhtml+xml", ".xhtml", false),
-
- /**
- * RDF 1.1 XML Syntax
+ * Compare this RDFSyntax with another object.
+ * <p>
+ * Two {@link RDFSyntax}es are considered equal if their
+ * {@link #mediaType()}s are equal when compared as lower case strings
+ * according to {@link String#toLowerCase(Locale)} with the locale
+ * {@link Locale#ROOT}.
*
- * @see <a href=
- * "https://www.w3.org/TR/rdf-syntax-grammar/">https://www.w3.org/TR/rdf-syntax-grammar/</a>
+ * @param obj
+ * @return
*/
- RDFXML("RDF 1.1 XML Syntax", "application/rdf+xml", ".rdf", false),
-
+ @Override
+ boolean equals(Object obj);
+
/**
- * RDF 1.1 TriG
+ * The hash code of an RDFSyntax is equivalent to the hash code
+ * of the {@link #mediaType()} in lower case according to
+ * {@link String#toLowerCase(Locale)} with the locale
+ * {@link Locale#ROOT}.
*
- * @see <a href=
- * "https://www.w3.org/TR/trig/">https://www.w3.org/TR/trig/</a>
- */
- TRIG("RDF 1.1 TriG", "application/trig", ".trig", true);
-
- /**
- * Deprecated, use {@link #mediaType()}.
- */
- @Deprecated
- public final String mediaType;
-
- /**
- * Deprecated, use {@link #fileExtension()}.
- */
- @Deprecated
- public final String fileExtension;
-
- /**
- * Deprecated, use {@link #supportsDataset()}.
+ * @return Hash code of RDFSyntax
*/
- @Deprecated
- public final boolean supportsDataset;
-
- private final String title;
-
- @Override
- public String toString() {
- return title();
- }
-
- private OfficialRDFSyntax(String title, String mediaType, String fileExtension, boolean supportsDataset) {
- this.title = title;
- this.mediaType = mediaType;
- this.fileExtension = fileExtension;
- this.supportsDataset = supportsDataset;
- }
-
@Override
- public String mediaType() {
- return mediaType;
- }
-
- @Override
- public String fileExtension() {
- return fileExtension;
- }
-
- @Override
- public boolean supportsDataset() {
- return supportsDataset;
- }
-
- @Override
- public String title() {
- return title;
- }
-
- }
+ int hashCode();
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/8dd16646/api/src/main/java/org/apache/commons/rdf/api/W3CRDFSyntax.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/commons/rdf/api/W3CRDFSyntax.java b/api/src/main/java/org/apache/commons/rdf/api/W3CRDFSyntax.java
new file mode 100644
index 0000000..4ddc6c2
--- /dev/null
+++ b/api/src/main/java/org/apache/commons/rdf/api/W3CRDFSyntax.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.api;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.LinkedHashSet;
+import java.util.Locale;
+import java.util.Set;
+
+/**
+ * W3C RDF 1.1 serialization syntax.
+ * <p>
+ * This defines the W3C standardized RDF 1.1 syntaxes like {@link #TURTLE} and
+ * {@link #JSONLD}. Note the existence of other RDF syntaxes that are not
+ * included here, e.g. <a href="http://www.w3.org/TeamSubmission/n3/">N3</a> and
+ * <a href="https://en.wikipedia.org/wiki/TriX_%28syntax%29">TriX</a>.
+ * <p>
+ * This class is package-protected, its static constants are exposed through
+ * {@link RDFSyntax}.
+ *
+ * @see RDFSyntax#w3cSyntaxes()
+ * @see <a href="https://www.w3.org/TR/rdf11-primer/#section-graph-syntax">RDF
+ * 1.1 Primer</a>
+ * @see org.apache.commons.rdf.experimental.RDFParser
+ */
+final class W3CRDFSyntax implements RDFSyntax {
+
+ static final RDFSyntax JSONLD, TURTLE, NQUADS, NTRIPLES, RDFA_HTML, RDFA_XHTML, RDFXML, TRIG;
+ static final Set<RDFSyntax> syntaxes;
+
+ static {
+ // Initialize within static block to avoid inserting nulls
+ JSONLD = new W3CRDFSyntax("JSONLD", "JSON-LD 1.0", "application/ld+json", ".jsonld", true);
+ TURTLE = new W3CRDFSyntax("TURTLE", "RDF 1.1 Turtle", "text/turtle", ".ttl", false);
+ NQUADS = new W3CRDFSyntax("NQUADS", "RDF 1.1 N-Quads", "application/n-quads", ".nq", true);
+ NTRIPLES = new W3CRDFSyntax("NTRIPLES", "RDF 1.1 N-Triples", "application/n-triples", ".nt", false);
+ RDFA_HTML = new W3CRDFSyntax("RDFA_HTML", "HTML+RDFa 1.1", "text/html", ".html", false);
+ RDFA_XHTML = new W3CRDFSyntax("RDFA_XHTML", "XHTML+RDFa 1.1", "application/xhtml+xml", ".xhtml", false);
+ RDFXML = new W3CRDFSyntax("RDFXML", "RDF 1.1 XML Syntax", "application/rdf+xml", ".rdf", false);
+ TRIG = new W3CRDFSyntax("TRIG", "RDF 1.1 TriG", "application/trig", ".trig", true);
+
+ syntaxes = Collections.unmodifiableSet(new LinkedHashSet<>(
+ Arrays.asList(JSONLD, NQUADS, NTRIPLES, RDFA_HTML, RDFA_XHTML, RDFXML, TRIG, TURTLE)));
+ }
+
+ private final String title;
+
+ private final String mediaType;
+
+ private final String fileExtension;
+
+ private final boolean supportsDataset;
+
+ private final String name;
+
+ private W3CRDFSyntax(String name, String title, String mediaType, String fileExtension, boolean supportsDataset) {
+ this.name = name;
+ this.title = title;
+ this.mediaType = mediaType.toLowerCase(Locale.ROOT);
+ this.fileExtension = fileExtension.toLowerCase(Locale.ROOT);
+ this.supportsDataset = supportsDataset;
+ }
+
+ /**
+ * {@inheritDoc}
+ * <p>
+ * {@link W3CRDFSyntax} always defines media type in lower case, so
+ * {@link String#toLowerCase(Locale)} need not be called.
+ *
+ */
+ @Override
+ public String mediaType() {
+ return mediaType;
+ }
+
+ /**
+ * {@inheritDoc}
+ * <p>
+ * {@link W3CRDFSyntax} always defines file extensions in lower case, so
+ * {@link String#toLowerCase(Locale)} need not be called.
+ *
+ */
+ @Override
+ public String fileExtension() {
+ return fileExtension;
+ }
+
+ @Override
+ public boolean supportsDataset() {
+ return supportsDataset;
+ }
+
+ @Override
+ public String title() {
+ return title;
+ }
+
+ @Override
+ public String name() {
+ return name;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof RDFSyntax)) {
+ return false;
+ }
+ RDFSyntax other = (RDFSyntax) obj;
+ return mediaType.equals(other.mediaType().toLowerCase(Locale.ROOT));
+ }
+
+ @Override
+ public int hashCode() {
+ return mediaType.hashCode();
+ }
+
+ @Override
+ public String toString() {
+ return title;
+ }
+
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/8dd16646/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java
----------------------------------------------------------------------
diff --git a/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java b/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java
index 335eb90..419e660 100644
--- a/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java
+++ b/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java
@@ -68,7 +68,9 @@ public class RDFSyntaxTest {
public void byMediaTypeContentType() throws Exception {
assertEquals(RDFSyntax.TURTLE, RDFSyntax.byMediaType("text/turtle; charset=\"UTF-8\"").get());
assertEquals(RDFSyntax.TURTLE, RDFSyntax.byMediaType("text/turtle ; charset=\"UTF-8\"").get());
- assertEquals(RDFSyntax.TURTLE, RDFSyntax.byMediaType("text/turtle, text/plain").get());
+ // That's a Content-Type, not media type; we won't split by ","
+ assertEquals(Optional.empty(), RDFSyntax.byMediaType("text/turtle, text/plain"));
+ // no trimming will be done
assertEquals(Optional.empty(), RDFSyntax.byMediaType(" text/turtle"));
}
[10/12] commons-rdf git commit: Merge remote-tracking branch
'origin/master' into COMMONSRDF-47
Posted by st...@apache.org.
Merge remote-tracking branch 'origin/master' into COMMONSRDF-47
Project: http://git-wip-us.apache.org/repos/asf/commons-rdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-rdf/commit/92998b32
Tree: http://git-wip-us.apache.org/repos/asf/commons-rdf/tree/92998b32
Diff: http://git-wip-us.apache.org/repos/asf/commons-rdf/diff/92998b32
Branch: refs/heads/master
Commit: 92998b329182724789f44272f60538dc195b8df3
Parents: a574473 f6ea058
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Feb 10 16:54:53 2017 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Feb 10 16:54:53 2017 +0000
----------------------------------------------------------------------
MATURITY.md | 20 ++
.../org/apache/commons/rdf/api/Literal.java | 27 +-
.../commons/rdf/api/AbstractDatasetTest.java | 184 ++++++++++++
.../commons/rdf/api/AbstractGraphTest.java | 153 +++++++++-
.../apache/commons/rdf/api/AbstractRDFTest.java | 158 +++++++++-
integration-tests/pom.xml | 3 +-
.../rdf/integrationtests/JSONLDParsingTest.java | 164 +++++++++++
.../src/test/resources/alice-cached.jsonld | 9 +
.../src/test/resources/alice-embedded.jsonld | 16 +
.../src/test/resources/contexts/example.jsonld | 11 +
.../src/test/resources/jarcache.json | 10 +
jena/pom.xml | 19 +-
.../org/apache/commons/rdf/jena/JenaRDF.java | 32 ++
.../commons/rdf/jena/impl/AbstractQuadLike.java | 70 ++++-
.../rdf/jena/impl/InternalJenaFactory.java | 2 +-
.../commons/rdf/jena/impl/JenaDatasetImpl.java | 7 +-
.../commons/rdf/jena/impl/JenaGraphImpl.java | 18 +-
.../commons/rdf/jena/impl/JenaLiteralImpl.java | 13 +-
.../rdf/jena/DefaultGraphInQuadTest.java | 136 +++++++++
.../rdf/jena/GeneralizedRDFQuadTest.java | 127 ++++++++
.../rdf/jena/GeneralizedRDFTripleTest.java | 85 ++++++
.../apache/commons/rdf/jena/JenaRDFTest.java | 1 -
jsonld-java/pom.xml | 19 +-
.../commons/rdf/jsonldjava/JsonLdGraphLike.java | 18 +-
.../commons/rdf/jsonldjava/JsonLdLiteral.java | 23 +-
.../commons/rdf/jsonldjava/JsonLdQuadLike.java | 5 +
.../rdf/jsonldjava/JsonLdComparisonTest.java | 141 +++++++++
pom.xml | 289 ++++++++++---------
rdf4j/pom.xml | 7 +-
.../org/apache/commons/rdf/rdf4j/RDF4J.java | 85 +++++-
.../commons/rdf/rdf4j/impl/LiteralImpl.java | 15 +-
.../rdf/rdf4j/RDF4JMethodOverloadsTest.java | 50 ++++
simple/pom.xml | 19 +-
.../apache/commons/rdf/simple/LiteralImpl.java | 8 +-
src/site/markdown/introduction.md | 20 ++
35 files changed, 1747 insertions(+), 217 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/92998b32/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDF.java
----------------------------------------------------------------------
[12/12] commons-rdf git commit: COMMONSRDF-47: RDFSyntax as an
interface, not emum
Posted by st...@apache.org.
COMMONSRDF-47: RDFSyntax as an interface, not emum
Official media types are provided from W3CRDFSyntax
Added plural mediaTypes() and extensions()
Thanks to @ansell for reviewing.
This closes #27
Project: http://git-wip-us.apache.org/repos/asf/commons-rdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-rdf/commit/ef7f4442
Tree: http://git-wip-us.apache.org/repos/asf/commons-rdf/tree/ef7f4442
Diff: http://git-wip-us.apache.org/repos/asf/commons-rdf/diff/ef7f4442
Branch: refs/heads/master
Commit: ef7f4442a85f90883c320ae30486db617848b60d
Parents: f6ea058 fbd72a9
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Feb 16 11:53:56 2017 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Feb 16 11:55:57 2017 +0000
----------------------------------------------------------------------
.../org/apache/commons/rdf/api/RDFSyntax.java | 218 ++++++++++++++-----
.../apache/commons/rdf/api/W3CRDFSyntax.java | 206 ++++++++++++++++++
.../apache/commons/rdf/api/RDFSyntaxTest.java | 75 ++++---
.../org/apache/commons/rdf/jena/JenaRDF.java | 2 +-
.../simple/experimental/AbstractRDFParser.java | 2 +-
.../experimental/AbstractRDFParserTest.java | 10 +-
6 files changed, 426 insertions(+), 87 deletions(-)
----------------------------------------------------------------------
[03/12] commons-rdf git commit: Merge branch 'master' into
COMMONSRDF-47
Posted by st...@apache.org.
Merge branch 'master' into COMMONSRDF-47
Project: http://git-wip-us.apache.org/repos/asf/commons-rdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-rdf/commit/dc082d14
Tree: http://git-wip-us.apache.org/repos/asf/commons-rdf/tree/dc082d14
Diff: http://git-wip-us.apache.org/repos/asf/commons-rdf/diff/dc082d14
Branch: refs/heads/master
Commit: dc082d141eb34b331fe1a42147fdfe580d14d739
Parents: 8dd1664 0e1969a
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Jan 12 17:35:39 2017 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Jan 12 17:35:39 2017 +0000
----------------------------------------------------------------------
.travis.yml | 2 +-
DISCLAIMER | 9 -
MATURITY.md | 327 ++++++++++
README.md | 68 +-
RELEASE-NOTES.txt | 8 +-
RELEASE-PROCESS.md | 6 +-
api/pom.xml | 16 +-
.../org/apache/commons/rdf/api/Dataset.java | 18 +-
.../java/org/apache/commons/rdf/api/Graph.java | 18 +-
.../java/org/apache/commons/rdf/api/Quad.java | 8 +-
.../org/apache/commons/rdf/api/RDFSyntax.java | 4 +-
.../apache/commons/rdf/api/RDFTermFactory.java | 12 +-
.../java/org/apache/commons/rdf/api/Triple.java | 3 +
.../commons/rdf/experimental/RDFParser.java | 4 +-
.../commons/rdf/api/AbstractBlankNodeTest.java | 48 +-
.../commons/rdf/api/AbstractDatasetTest.java | 594 +++++++++++++++++
.../commons/rdf/api/AbstractGraphTest.java | 106 +--
.../apache/commons/rdf/api/AbstractRDFTest.java | 72 +--
.../commons/rdf/api/DefaultDatasetTest.java | 58 ++
.../commons/rdf/api/DefaultGraphTest.java | 78 +++
.../apache/commons/rdf/api/DefaultQuadTest.java | 47 ++
.../rdf/api/DefaultRDFTermFactoryTest.java | 63 ++
.../apache/commons/rdf/api/DummyDataset.java | 110 ++++
.../commons/rdf/api/DummyDatasetTest.java | 101 +++
.../org/apache/commons/rdf/api/DummyGraph.java | 85 +++
.../apache/commons/rdf/api/DummyGraphTest.java | 84 +++
.../org/apache/commons/rdf/api/DummyIRI.java | 47 ++
.../apache/commons/rdf/api/DummyIRITest.java | 56 ++
.../org/apache/commons/rdf/api/DummyQuad.java | 63 ++
.../apache/commons/rdf/api/DummyQuadTest.java | 58 ++
.../org/apache/commons/rdf/api/DummyTriple.java | 57 ++
.../apache/commons/rdf/api/DummyTripleTest.java | 53 ++
.../apache/commons/rdf/api/RDFSyntaxTest.java | 6 +
examples/pom.xml | 19 +-
examples/src/example/IntroToRDF.java | 149 +++++
examples/src/example/IntroToRDFTest.java | 30 +
integration-tests/pom.xml | 7 +-
.../rdf/integrationtests/AllToAllTest.java | 56 +-
jena/pom.xml | 18 +-
.../commons/rdf/jena/ConversionException.java | 6 +-
.../org/apache/commons/rdf/jena/JenaRDF.java | 146 +++--
.../rdf/jena/experimental/JenaRDFParser.java | 22 +-
.../rdf/jena/impl/AbstractJenaRDFTerm.java | 8 +-
.../commons/rdf/jena/impl/AbstractQuadLike.java | 12 +-
.../rdf/jena/impl/InternalJenaFactory.java | 53 +-
.../rdf/jena/impl/JenaBlankNodeImpl.java | 17 +-
.../commons/rdf/jena/impl/JenaDatasetImpl.java | 57 +-
.../jena/impl/JenaGeneralizedQuadLikeImpl.java | 4 +-
.../impl/JenaGeneralizedTripleLikeImpl.java | 4 +-
.../commons/rdf/jena/impl/JenaGraphImpl.java | 42 +-
.../commons/rdf/jena/impl/JenaIRIImpl.java | 17 +-
.../commons/rdf/jena/impl/JenaLiteralImpl.java | 20 +-
.../commons/rdf/jena/impl/JenaQuadImpl.java | 14 +-
.../commons/rdf/jena/impl/JenaTripleImpl.java | 17 +-
jena/src/site/resources/profile.jacoco | 0
.../commons/rdf/jena/DatasetJenaTest.java | 31 +
.../commons/rdf/jena/JenaServiceLoaderTest.java | 4 +-
.../commons/rdf/jena/TestBlankNodeJena.java | 2 +-
.../jena/TestJenaGraphToCommonsRDFGraph.java | 30 +-
.../commons/rdf/jena/TestRDFParserBuilder.java | 4 +-
jsonld-java/pom.xml | 15 +-
.../commons/rdf/jsonldjava/JsonLdBlankNode.java | 13 +-
.../commons/rdf/jsonldjava/JsonLdDataset.java | 27 +-
.../commons/rdf/jsonldjava/JsonLdGraph.java | 24 +-
.../commons/rdf/jsonldjava/JsonLdGraphLike.java | 47 +-
.../commons/rdf/jsonldjava/JsonLdIRI.java | 8 +-
.../commons/rdf/jsonldjava/JsonLdLiteral.java | 10 +-
.../commons/rdf/jsonldjava/JsonLdQuad.java | 6 +-
.../commons/rdf/jsonldjava/JsonLdQuadLike.java | 7 +-
.../commons/rdf/jsonldjava/JsonLdRDF.java | 56 +-
.../commons/rdf/jsonldjava/JsonLdTerm.java | 9 +-
.../commons/rdf/jsonldjava/JsonLdTriple.java | 6 +-
.../rdf/jsonldjava/JsonLdUnionGraph.java | 18 +-
.../jsonldjava/experimental/JsonLdParser.java | 28 +-
jsonld-java/src/site/resources/profile.jacoco | 0
.../rdf/jsonldjava/JsonLdBlankNodeTest.java | 2 +-
.../rdf/jsonldjava/JsonLdDatasetTest.java | 30 +
.../rdf/jsonldjava/JsonLdParserBuilderTest.java | 14 +-
.../rdf/jsonldjava/JsonLdServiceLoaderTest.java | 4 +-
pom.xml | 267 ++++----
rdf4j/pom.xml | 18 +-
.../org/apache/commons/rdf/rdf4j/RDF4J.java | 90 +--
.../rdf/rdf4j/experimental/RDF4JParser.java | 55 +-
.../commons/rdf/rdf4j/impl/AbstractRDFTerm.java | 3 +-
.../rdf4j/impl/AbstractRepositoryGraphLike.java | 5 +-
.../commons/rdf/rdf4j/impl/BlankNodeImpl.java | 20 +-
.../rdf/rdf4j/impl/ConvertedStatements.java | 12 +-
.../apache/commons/rdf/rdf4j/impl/IRIImpl.java | 9 +-
.../rdf/rdf4j/impl/InternalRDF4JFactory.java | 20 +-
.../commons/rdf/rdf4j/impl/LiteralImpl.java | 9 +-
.../commons/rdf/rdf4j/impl/ModelGraphImpl.java | 29 +-
.../apache/commons/rdf/rdf4j/impl/QuadImpl.java | 22 +-
.../rdf/rdf4j/impl/RepositoryDatasetImpl.java | 101 ++-
.../rdf/rdf4j/impl/RepositoryGraphImpl.java | 71 +-
.../commons/rdf/rdf4j/impl/TripleImpl.java | 10 +-
rdf4j/src/site/resources/profile.jacoco | 0
.../apache/commons/rdf/rdf4j/BlankNodeTest.java | 2 +-
.../apache/commons/rdf/rdf4j/DatasetTest.java | 30 +
.../commons/rdf/rdf4j/MemoryGraphTest.java | 28 +-
.../commons/rdf/rdf4j/NativeStoreGraphTest.java | 30 +-
.../rdf/rdf4j/RDF4JServiceLoaderTest.java | 4 +-
simple/pom.xml | 16 +-
.../commons/rdf/simple/BlankNodeImpl.java | 8 +-
.../commons/rdf/simple/DatasetGraphView.java | 20 +-
.../apache/commons/rdf/simple/DatasetImpl.java | 64 +-
.../apache/commons/rdf/simple/GraphImpl.java | 47 +-
.../org/apache/commons/rdf/simple/IRIImpl.java | 6 +-
.../apache/commons/rdf/simple/LiteralImpl.java | 14 +-
.../org/apache/commons/rdf/simple/QuadImpl.java | 6 +-
.../apache/commons/rdf/simple/SimpleRDF.java | 16 +-
.../rdf/simple/SimpleRDFTermFactory.java | 22 +-
.../apache/commons/rdf/simple/TripleImpl.java | 6 +-
.../org/apache/commons/rdf/simple/Types.java | 10 +-
.../simple/experimental/AbstractRDFParser.java | 62 +-
.../simple/experimental/RDFParseException.java | 10 +-
.../commons/rdf/simple/BlankNodeImplTest.java | 2 +-
.../rdf/simple/DummyRDFParserBuilder.java | 6 +-
.../commons/rdf/simple/SimpleDatasetTest.java | 48 ++
.../rdf/simple/SimpleNoRelativeIRIRDTest.java | 45 --
.../rdf/simple/SimpleServiceLoaderTest.java | 4 +-
.../commons/rdf/simple/TestWritingGraph.java | 34 +-
.../experimental/AbstractRDFParserTest.java | 60 +-
src/assembly/src.xml | 1 -
src/site/markdown/contributing.md | 31 +-
src/site/markdown/download.md | 71 +-
src/site/markdown/implementations.md | 46 +-
src/site/markdown/index.md | 41 +-
src/site/markdown/introduction.md | 645 +++++++++++++++++++
src/site/markdown/userguide.md | 16 +-
src/site/resources/images/class-diagram.nomnoml | 9 +-
src/site/resources/images/class-diagram.png | Bin 56161 -> 71605 bytes
src/site/resources/images/rdf-01.svg | 30 +
src/site/resources/images/rdf-02.svg | 31 +
src/site/site.xml | 13 +-
134 files changed, 4369 insertions(+), 1308 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/dc082d14/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
----------------------------------------------------------------------
diff --cc api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
index 0a6913d,2948437..0d2f0b0
--- a/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
+++ b/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
@@@ -194,10 -167,9 +194,10 @@@ public interface RDFSyntax
* {@link Optional#empty()} indicating that no matching syntax was
* found.
*/
- public static Optional<RDFSyntax> byMediaType(String mediaType) {
+ public static Optional<RDFSyntax> byMediaType(final String mediaType) {
- final String type = mediaType.toLowerCase(Locale.ENGLISH).split("\\s*[;,]", 2)[0];
- return Arrays.stream(RDFSyntax.values()).filter(t -> t.mediaType.equals(type)).findAny();
+ final String type = mediaType.toLowerCase(Locale.ROOT).split("\\s*;", 2)[0];
+ return w3cSyntaxes().stream().filter(t -> t.mediaType().equals(type))
+ .findAny();
}
/**
@@@ -217,34 -186,9 +217,34 @@@
* {@link Optional#empty()} indicating that no matching file
* extension was found.
*/
- public static Optional<RDFSyntax> byFileExtension(String fileExtension) {
+ public static Optional<RDFSyntax> byFileExtension(final String fileExtension) {
- final String ext = fileExtension.toLowerCase(Locale.ENGLISH);
- return Arrays.stream(RDFSyntax.values()).filter(t -> t.fileExtension.equals(ext)).findAny();
+ final String ext = fileExtension.toLowerCase(Locale.ROOT);
+ return w3cSyntaxes().stream().filter(t -> t.fileExtension().equals(ext))
+ .findAny();
}
-
-}
+
+ /**
+ * Compare this RDFSyntax with another object.
+ * <p>
+ * Two {@link RDFSyntax}es are considered equal if their
+ * {@link #mediaType()}s are equal when compared as lower case strings
+ * according to {@link String#toLowerCase(Locale)} with the locale
+ * {@link Locale#ROOT}.
+ *
+ * @param obj
+ * @return
+ */
+ @Override
+ boolean equals(Object obj);
+
+ /**
+ * The hash code of an RDFSyntax is equivalent to the hash code
+ * of the {@link #mediaType()} in lower case according to
+ * {@link String#toLowerCase(Locale)} with the locale
+ * {@link Locale#ROOT}.
+ *
+ * @return Hash code of RDFSyntax
+ */
+ @Override
+ int hashCode();
+}
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/dc082d14/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/dc082d14/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDF.java
----------------------------------------------------------------------
diff --cc jena/src/main/java/org/apache/commons/rdf/jena/JenaRDF.java
index 036e084,92c0adb..351623a
--- a/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDF.java
+++ b/jena/src/main/java/org/apache/commons/rdf/jena/JenaRDF.java
@@@ -550,8 -554,8 +554,8 @@@ public final class JenaRDF implements R
* {@link RDFSyntax} to convert
* @return Matched {@link Lang}, otherwise {@link Optional#empty()}
*/
- public Optional<Lang> asJenaLang(RDFSyntax rdfSyntax) {
+ public Optional<Lang> asJenaLang(final RDFSyntax rdfSyntax) {
- return Optional.ofNullable(RDFLanguages.contentTypeToLang(rdfSyntax.mediaType));
+ return Optional.ofNullable(RDFLanguages.contentTypeToLang(rdfSyntax.mediaType()));
}
/**
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/dc082d14/simple/src/main/java/org/apache/commons/rdf/simple/experimental/AbstractRDFParser.java
----------------------------------------------------------------------
diff --cc simple/src/main/java/org/apache/commons/rdf/simple/experimental/AbstractRDFParser.java
index 62fe79c,1157dc5..a9af156
--- a/simple/src/main/java/org/apache/commons/rdf/simple/experimental/AbstractRDFParser.java
+++ b/simple/src/main/java/org/apache/commons/rdf/simple/experimental/AbstractRDFParser.java
@@@ -237,10 -237,10 +237,10 @@@ public abstract class AbstractRDFParser
}
@Override
- public T contentType(RDFSyntax rdfSyntax) throws IllegalArgumentException {
- AbstractRDFParser<T> c = clone();
+ public T contentType(final RDFSyntax rdfSyntax) throws IllegalArgumentException {
+ final AbstractRDFParser<T> c = clone();
c.contentTypeSyntax = Optional.ofNullable(rdfSyntax);
- c.contentType = c.contentTypeSyntax.map(syntax -> syntax.mediaType);
+ c.contentType = c.contentTypeSyntax.map(syntax -> syntax.mediaType());
return c.asT();
}
[04/12] commons-rdf git commit: Added byName()
Posted by st...@apache.org.
Added byName()
Project: http://git-wip-us.apache.org/repos/asf/commons-rdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-rdf/commit/c04864bf
Tree: http://git-wip-us.apache.org/repos/asf/commons-rdf/tree/c04864bf
Diff: http://git-wip-us.apache.org/repos/asf/commons-rdf/diff/c04864bf
Branch: refs/heads/master
Commit: c04864bf866131fcd4fa2c00d4782864c2b7fe44
Parents: dc082d1
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Jan 12 17:39:42 2017 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Jan 12 17:39:42 2017 +0000
----------------------------------------------------------------------
.../org/apache/commons/rdf/api/RDFSyntax.java | 21 ++++++++++++++++++--
.../apache/commons/rdf/api/RDFSyntaxTest.java | 3 +--
2 files changed, 20 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/c04864bf/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java b/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
index 0d2f0b0..70048e1 100644
--- a/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
+++ b/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
@@ -190,7 +190,7 @@ public interface RDFSyntax {
* @param mediaType
* The media type to match
* @return If {@link Optional#isPresent()}, the {@link RDFSyntax} which has
- * a matching {@link RDFSyntax#mediaType}, otherwise
+ * a matching {@link RDFSyntax#mediaType()}, otherwise
* {@link Optional#empty()} indicating that no matching syntax was
* found.
*/
@@ -213,7 +213,7 @@ public interface RDFSyntax {
* @param fileExtension
* The fileExtension to match, starting with <code>.</code>
* @return If {@link Optional#isPresent()}, the {@link RDFSyntax} which has
- * a matching {@link RDFSyntax#fileExtension}, otherwise
+ * a matching {@link RDFSyntax#fileExtension()}, otherwise
* {@link Optional#empty()} indicating that no matching file
* extension was found.
*/
@@ -224,6 +224,22 @@ public interface RDFSyntax {
}
/**
+ * Return the RDFSyntax with the specified {@link #name()}.
+ * <p>
+ * The list of syntaxes supported is at least those returned by
+ * {@link #w3cSyntaxes()}
+ *
+ * @param name
+ * The name to match, , e.g. <code>"JSONLD"</code>
+ * @return If {@link Optional#isPresent()}, the {@link RDFSyntax} which has
+ * a matching {@link RDFSyntax#name()}, otherwise
+ * {@link Optional#empty()} indicating that no matching name was found.
+ */
+ public static Optional<RDFSyntax> byName(final String name) {
+ return w3cSyntaxes().stream().filter(t -> t.name().equals(name)).findAny();
+ }
+
+ /**
* Compare this RDFSyntax with another object.
* <p>
* Two {@link RDFSyntax}es are considered equal if their
@@ -247,4 +263,5 @@ public interface RDFSyntax {
*/
@Override
int hashCode();
+
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/c04864bf/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java
----------------------------------------------------------------------
diff --git a/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java b/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java
index 8fc79e4..edf68af 100644
--- a/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java
+++ b/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java
@@ -116,8 +116,7 @@ public class RDFSyntaxTest {
@Test
public void valueOf() throws Exception {
- assertEquals(RDFSyntax.TURTLE, RDFSyntax.valueOf("TURTLE"));
- // No need to test all of them, we'll trust Enum
+ assertEquals(RDFSyntax.TURTLE, RDFSyntax.byName("TURTLE"));
}
}
[11/12] commons-rdf git commit: COMMONSRDF-47: Avoid hard-coded
RDFSyntax names
Posted by st...@apache.org.
COMMONSRDF-47: Avoid hard-coded RDFSyntax names
Project: http://git-wip-us.apache.org/repos/asf/commons-rdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-rdf/commit/fbd72a91
Tree: http://git-wip-us.apache.org/repos/asf/commons-rdf/tree/fbd72a91
Diff: http://git-wip-us.apache.org/repos/asf/commons-rdf/diff/fbd72a91
Branch: refs/heads/master
Commit: fbd72a9173b35d73c27af068ca75bdd44c3045f0
Parents: 92998b3
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Sat Feb 11 00:24:25 2017 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Sat Feb 11 00:24:25 2017 +0000
----------------------------------------------------------------------
.../rdf/simple/experimental/AbstractRDFParserTest.java | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/fbd72a91/simple/src/test/java/org/apache/commons/rdf/simple/experimental/AbstractRDFParserTest.java
----------------------------------------------------------------------
diff --git a/simple/src/test/java/org/apache/commons/rdf/simple/experimental/AbstractRDFParserTest.java b/simple/src/test/java/org/apache/commons/rdf/simple/experimental/AbstractRDFParserTest.java
index 12061ed..098b606 100644
--- a/simple/src/test/java/org/apache/commons/rdf/simple/experimental/AbstractRDFParserTest.java
+++ b/simple/src/test/java/org/apache/commons/rdf/simple/experimental/AbstractRDFParserTest.java
@@ -21,6 +21,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
+import static org.apache.commons.rdf.api.RDFSyntax.*;
import java.io.ByteArrayInputStream;
import java.io.IOException;
@@ -162,7 +163,8 @@ public class AbstractRDFParserTest {
// international characters
assertEquals("<" + testNt.toUri().toString() + ">", firstPredicate(g, "source"));
assertEquals("<" + testNt.toUri().toString() + ">", firstPredicate(g, "base"));
- assertEquals("\"NTRIPLES\"", firstPredicate(g, "contentTypeSyntax"));
+ assertEquals("\"" + RDFSyntax.NTRIPLES.name() + "\"",
+ firstPredicate(g, "contentTypeSyntax"));
assertEquals("\"application/n-triples\"", firstPredicate(g, "contentType"));
}
@@ -213,7 +215,8 @@ public class AbstractRDFParserTest {
// bnode source indicates InputStream
assertTrue(firstPredicate(g, "source").startsWith("_:"));
assertEquals("\"application/n-quads\"", firstPredicate(g, "contentType"));
- assertEquals("\"NQUADS\"", firstPredicate(g, "contentTypeSyntax"));
+ assertEquals("\"" + RDFSyntax.NQUADS.name() + "\"",
+ firstPredicate(g, "contentTypeSyntax"));
}
@Test
@@ -243,7 +246,8 @@ public class AbstractRDFParserTest {
checkGraph(g);
assertEquals("<http://www.example.net/test.ttl>", firstPredicate(g, "source"));
assertEquals("<http://www.example.net/test.ttl>", firstPredicate(g, "base"));
- assertEquals("\"TURTLE\"", firstPredicate(g, "contentTypeSyntax"));
+ assertEquals("\"" + RDFSyntax.TURTLE.name() + "\"",
+ firstPredicate(g, "contentTypeSyntax"));
assertEquals("\"text/turtle\"", firstPredicate(g, "contentType"));
}
[05/12] commons-rdf git commit: COMMONSRDF-47: avoid giving
impression of extension
Posted by st...@apache.org.
COMMONSRDF-47: avoid giving impression of extension
See https://github.com/apache/commons-rdf/pull/27#discussion_r95894599
Project: http://git-wip-us.apache.org/repos/asf/commons-rdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-rdf/commit/e39dc2f4
Tree: http://git-wip-us.apache.org/repos/asf/commons-rdf/tree/e39dc2f4
Diff: http://git-wip-us.apache.org/repos/asf/commons-rdf/diff/e39dc2f4
Branch: refs/heads/master
Commit: e39dc2f43fb6ca52b781bd3ef5d06877f58d05e6
Parents: c04864b
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Feb 9 00:43:41 2017 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Feb 9 00:43:41 2017 +0000
----------------------------------------------------------------------
api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/e39dc2f4/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java b/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
index 70048e1..3bd1249 100644
--- a/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
+++ b/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
@@ -184,8 +184,7 @@ public interface RDFSyntax {
* <code>text/turtle; charset=ascii</code>, only the part of the string to
* before <code>;</code> is considered.
* <p>
- * The list of syntaxes supported is at least those returned by
- * {@link #w3cSyntaxes()}.
+ * This method support all syntaxes returned by {@link #w3cSyntaxes()}.
*
* @param mediaType
* The media type to match
@@ -207,8 +206,7 @@ public interface RDFSyntax {
* might not be equal to the {@link RDFSyntax#fileExtension} of the returned
* RDFSyntax.
* <p>
- * The list of syntaxes supported is at least those returned by
- * {@link #w3cSyntaxes()}.
+ * This method support all syntaxes returned by {@link #w3cSyntaxes()}.
*
* @param fileExtension
* The fileExtension to match, starting with <code>.</code>
@@ -226,8 +224,7 @@ public interface RDFSyntax {
/**
* Return the RDFSyntax with the specified {@link #name()}.
* <p>
- * The list of syntaxes supported is at least those returned by
- * {@link #w3cSyntaxes()}
+ * This method support all syntaxes returned by {@link #w3cSyntaxes()}.
*
* @param name
* The name to match, , e.g. <code>"JSONLD"</code>
[07/12] commons-rdf git commit: COMMONSRDF-47: Add RDFSyntax.iri()
Posted by st...@apache.org.
COMMONSRDF-47: Add RDFSyntax.iri()
as proposed by @ansell in
https://github.com/apache/commons-rdf/pull/27#discussion_r88350517
Project: http://git-wip-us.apache.org/repos/asf/commons-rdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-rdf/commit/81d5b320
Tree: http://git-wip-us.apache.org/repos/asf/commons-rdf/tree/81d5b320
Diff: http://git-wip-us.apache.org/repos/asf/commons-rdf/diff/81d5b320
Branch: refs/heads/master
Commit: 81d5b320b62e7165b178e0a34c5157105f57e4af
Parents: db17f1a
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Feb 9 01:35:43 2017 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Feb 9 01:35:43 2017 +0000
----------------------------------------------------------------------
.../org/apache/commons/rdf/api/RDFSyntax.java | 67 ++++++++++--------
.../apache/commons/rdf/api/W3CRDFSyntax.java | 73 +++++++++++++++++---
2 files changed, 103 insertions(+), 37 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/81d5b320/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java b/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
index 3bd1249..657fbc3 100644
--- a/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
+++ b/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java
@@ -106,8 +106,7 @@ public interface RDFSyntax {
/**
* A short name of the RDF Syntax e.g. <code>JSONLD</code>.
* <p>
- * The name is specific to Commons RDF and carries no particular meaning
- * except that it matches the constants like {@link #JSONLD}.
+ * The name is specific to Commons RDF and carries no particular meaning.
*
* @return Short name for RDF syntax
*/
@@ -148,7 +147,43 @@ public interface RDFSyntax {
* Datasets</a>.
*/
public boolean supportsDataset();
-
+
+ /**
+ * Return the {@link IRI} that <em>identifies</em> the RDF syntax.
+ * <p>
+ * Note that the identifying IRI is generally distinct from the IRI of the
+ * document that <em>specifies</em> the RDF syntax.
+ *
+ * @return Identifying IRI, e.g.
+ * <code>http://www.w3.org/ns/formats/JSON-LD</code>
+ */
+ public IRI iri();
+
+ /**
+ * Compare this RDFSyntax with another object.
+ * <p>
+ * Two {@link RDFSyntax}es are considered equal if their
+ * {@link #mediaType()}s are equal when compared as lower case strings
+ * according to {@link String#toLowerCase(Locale)} with the locale
+ * {@link Locale#ROOT}.
+ *
+ * @param obj
+ * @return
+ */
+ @Override
+ boolean equals(Object obj);
+
+ /**
+ * The hash code of an RDFSyntax is equivalent to the hash code
+ * of the {@link #mediaType()} in lower case according to
+ * {@link String#toLowerCase(Locale)} with the locale
+ * {@link Locale#ROOT}.
+ *
+ * @return Hash code of RDFSyntax
+ */
+ @Override
+ int hashCode();
+
/**
* Return the RDF 1.1 serialization syntaxes.
* <p>
@@ -235,30 +270,6 @@ public interface RDFSyntax {
public static Optional<RDFSyntax> byName(final String name) {
return w3cSyntaxes().stream().filter(t -> t.name().equals(name)).findAny();
}
-
- /**
- * Compare this RDFSyntax with another object.
- * <p>
- * Two {@link RDFSyntax}es are considered equal if their
- * {@link #mediaType()}s are equal when compared as lower case strings
- * according to {@link String#toLowerCase(Locale)} with the locale
- * {@link Locale#ROOT}.
- *
- * @param obj
- * @return
- */
- @Override
- boolean equals(Object obj);
-
- /**
- * The hash code of an RDFSyntax is equivalent to the hash code
- * of the {@link #mediaType()} in lower case according to
- * {@link String#toLowerCase(Locale)} with the locale
- * {@link Locale#ROOT}.
- *
- * @return Hash code of RDFSyntax
- */
- @Override
- int hashCode();
+
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/81d5b320/api/src/main/java/org/apache/commons/rdf/api/W3CRDFSyntax.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/commons/rdf/api/W3CRDFSyntax.java b/api/src/main/java/org/apache/commons/rdf/api/W3CRDFSyntax.java
index 4ddc6c2..82b6692 100644
--- a/api/src/main/java/org/apache/commons/rdf/api/W3CRDFSyntax.java
+++ b/api/src/main/java/org/apache/commons/rdf/api/W3CRDFSyntax.java
@@ -41,19 +41,66 @@ import java.util.Set;
*/
final class W3CRDFSyntax implements RDFSyntax {
+
+ /**
+ * IRI representing a <a href="https://www.w3.org/ns/formats/">W3C RDF
+ * format</a>.
+ */
+ private final static class FormatIRI implements IRI {
+ private static String BASE = "http://www.w3.org/ns/formats/";
+ private final String format;
+
+ private FormatIRI(final String format) {
+ this.format = format;
+ }
+
+ @Override
+ public String getIRIString() {
+ return BASE + format;
+ }
+
+ @Override
+ public String ntriplesString() {
+ return "<" + getIRIString() + ">";
+ }
+
+ @Override
+ public String toString() {
+ return ntriplesString();
+ }
+
+ @Override
+ public boolean equals(final Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null || !(obj instanceof IRI)) {
+ return false;
+ }
+ final IRI other = (IRI) obj;
+ return getIRIString().equals(other.getIRIString());
+ }
+
+ @Override
+ public int hashCode() {
+ return getIRIString().hashCode();
+ }
+ }
+
+
static final RDFSyntax JSONLD, TURTLE, NQUADS, NTRIPLES, RDFA_HTML, RDFA_XHTML, RDFXML, TRIG;
static final Set<RDFSyntax> syntaxes;
static {
// Initialize within static block to avoid inserting nulls
- JSONLD = new W3CRDFSyntax("JSONLD", "JSON-LD 1.0", "application/ld+json", ".jsonld", true);
- TURTLE = new W3CRDFSyntax("TURTLE", "RDF 1.1 Turtle", "text/turtle", ".ttl", false);
- NQUADS = new W3CRDFSyntax("NQUADS", "RDF 1.1 N-Quads", "application/n-quads", ".nq", true);
- NTRIPLES = new W3CRDFSyntax("NTRIPLES", "RDF 1.1 N-Triples", "application/n-triples", ".nt", false);
- RDFA_HTML = new W3CRDFSyntax("RDFA_HTML", "HTML+RDFa 1.1", "text/html", ".html", false);
- RDFA_XHTML = new W3CRDFSyntax("RDFA_XHTML", "XHTML+RDFa 1.1", "application/xhtml+xml", ".xhtml", false);
- RDFXML = new W3CRDFSyntax("RDFXML", "RDF 1.1 XML Syntax", "application/rdf+xml", ".rdf", false);
- TRIG = new W3CRDFSyntax("TRIG", "RDF 1.1 TriG", "application/trig", ".trig", true);
+ JSONLD = new W3CRDFSyntax("JSON-LD", "JSON-LD 1.0", "application/ld+json", ".jsonld", true);
+ TURTLE = new W3CRDFSyntax("Turtle", "RDF 1.1 Turtle", "text/turtle", ".ttl", false);
+ NQUADS = new W3CRDFSyntax("N-Quads", "RDF 1.1 N-Quads", "application/n-quads", ".nq", true);
+ NTRIPLES = new W3CRDFSyntax("N-Triples", "RDF 1.1 N-Triples", "application/n-triples", ".nt", false);
+ RDFA_HTML = new W3CRDFSyntax("RDFa", "HTML+RDFa 1.1", "text/html", ".html", false);
+ RDFA_XHTML = new W3CRDFSyntax("RDFa", "XHTML+RDFa 1.1", "application/xhtml+xml", ".xhtml", false);
+ RDFXML = new W3CRDFSyntax("RDF_XML", "RDF 1.1 XML Syntax", "application/rdf+xml", ".rdf", false);
+ TRIG = new W3CRDFSyntax("TriG", "RDF 1.1 TriG", "application/trig", ".trig", true);
syntaxes = Collections.unmodifiableSet(new LinkedHashSet<>(
Arrays.asList(JSONLD, NQUADS, NTRIPLES, RDFA_HTML, RDFA_XHTML, RDFXML, TRIG, TURTLE)));
@@ -64,10 +111,12 @@ final class W3CRDFSyntax implements RDFSyntax {
private final String mediaType;
private final String fileExtension;
-
+
private final boolean supportsDataset;
private final String name;
+
+ private final IRI iri;
private W3CRDFSyntax(String name, String title, String mediaType, String fileExtension, boolean supportsDataset) {
this.name = name;
@@ -75,6 +124,7 @@ final class W3CRDFSyntax implements RDFSyntax {
this.mediaType = mediaType.toLowerCase(Locale.ROOT);
this.fileExtension = fileExtension.toLowerCase(Locale.ROOT);
this.supportsDataset = supportsDataset;
+ this.iri = new FormatIRI(name);
}
/**
@@ -115,6 +165,11 @@ final class W3CRDFSyntax implements RDFSyntax {
public String name() {
return name;
}
+
+ @Override
+ public IRI iri() {
+ return iri;
+ }
@Override
public boolean equals(Object obj) {
[08/12] commons-rdf git commit: hard-coded scmPubUrl to avoid
proper/commons-rdf-parent
Posted by st...@apache.org.
hard-coded scmPubUrl to avoid proper/commons-rdf-parent
Project: http://git-wip-us.apache.org/repos/asf/commons-rdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-rdf/commit/701e47ec
Tree: http://git-wip-us.apache.org/repos/asf/commons-rdf/tree/701e47ec
Diff: http://git-wip-us.apache.org/repos/asf/commons-rdf/diff/701e47ec
Branch: refs/heads/master
Commit: 701e47ec2ac8124434c9c2ef443352cc8558f050
Parents: 81d5b32
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Feb 9 01:48:55 2017 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Feb 9 01:48:55 2017 +0000
----------------------------------------------------------------------
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/701e47ec/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 6765b1f..300533c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,8 +49,8 @@
<commons.jira.id>COMMONSRDF</commons.jira.id>
<commons.jira.pid>12316620</commons.jira.pid>
<commons.site.path>rdf</commons.site.path>
+ <commons.scmPubUrl>https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-rdf/</commons.scmPubUrl>
<!--
- <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>https://docs.oracle.com/javase/8/docs/api/</commons.javadoc.java.link>
[06/12] commons-rdf git commit: COMMONSRDF-47: RDFSyntax::byName
returns an Optional
Posted by st...@apache.org.
COMMONSRDF-47: RDFSyntax::byName returns an Optional
Thanks to @acoburn!
https://github.com/apache/commons-rdf/pull/27#discussion_r95862649
Project: http://git-wip-us.apache.org/repos/asf/commons-rdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-rdf/commit/db17f1ac
Tree: http://git-wip-us.apache.org/repos/asf/commons-rdf/tree/db17f1ac
Diff: http://git-wip-us.apache.org/repos/asf/commons-rdf/diff/db17f1ac
Branch: refs/heads/master
Commit: db17f1ac73bc9ef7ad97123bcbe6184b499657e6
Parents: e39dc2f
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Feb 9 00:57:00 2017 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Feb 9 00:57:00 2017 +0000
----------------------------------------------------------------------
api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/db17f1ac/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java
----------------------------------------------------------------------
diff --git a/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java b/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java
index edf68af..50b934f 100644
--- a/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java
+++ b/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java
@@ -116,7 +116,7 @@ public class RDFSyntaxTest {
@Test
public void valueOf() throws Exception {
- assertEquals(RDFSyntax.TURTLE, RDFSyntax.byName("TURTLE"));
+ assertEquals(RDFSyntax.TURTLE, RDFSyntax.byName("TURTLE").get());
}
}