You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commonsrdf.apache.org by an...@apache.org on 2015/03/28 06:37:33 UTC

[1/3] incubator-commonsrdf git commit: Override toString in Types

Repository: incubator-commonsrdf
Updated Branches:
  refs/heads/master be1420cfe -> 18d0d3660


Override toString in Types

Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/98b5d3b6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/98b5d3b6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/98b5d3b6

Branch: refs/heads/master
Commit: 98b5d3b64bc1e26097ae4fb66df8e12eefaeca7b
Parents: be1420c
Author: Peter Ansell <p_...@yahoo.com>
Authored: Sat Mar 28 16:35:01 2015 +1100
Committer: Peter Ansell <p_...@yahoo.com>
Committed: Sat Mar 28 16:35:01 2015 +1100

----------------------------------------------------------------------
 simple/src/main/java/org/apache/commons/rdf/simple/Types.java | 5 +++++
 1 file changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/98b5d3b6/simple/src/main/java/org/apache/commons/rdf/simple/Types.java
----------------------------------------------------------------------
diff --git a/simple/src/main/java/org/apache/commons/rdf/simple/Types.java b/simple/src/main/java/org/apache/commons/rdf/simple/Types.java
index 800174b..a8e9f52 100644
--- a/simple/src/main/java/org/apache/commons/rdf/simple/Types.java
+++ b/simple/src/main/java/org/apache/commons/rdf/simple/Types.java
@@ -273,6 +273,11 @@ public final class Types implements IRI {
 	public int hashCode() {
 		return this.field.hashCode();
 	}
+	
+	@Override
+	public String toString() {
+		return this.field.toString();
+	}
 
 	/**
 	 * Get an immutable set of the IRIs used by the RDF-1.1 specification to


[2/3] incubator-commonsrdf git commit: Ensure that people do not assume rdf:langString is usable without a language tag

Posted by an...@apache.org.
Ensure that people do not assume rdf:langString is usable without a
language tag

Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/601b8bca
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/601b8bca
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/601b8bca

Branch: refs/heads/master
Commit: 601b8bcac1c920a427fdcbf2537ba147a6ffd3ec
Parents: 98b5d3b
Author: Peter Ansell <p_...@yahoo.com>
Authored: Sat Mar 28 16:36:03 2015 +1100
Committer: Peter Ansell <p_...@yahoo.com>
Committed: Sat Mar 28 16:36:03 2015 +1100

----------------------------------------------------------------------
 api/src/main/java/org/apache/commons/rdf/api/Literal.java   | 9 ++++++++-
 .../java/org/apache/commons/rdf/simple/LiteralImpl.java     | 5 +++++
 2 files changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/601b8bca/api/src/main/java/org/apache/commons/rdf/api/Literal.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/commons/rdf/api/Literal.java b/api/src/main/java/org/apache/commons/rdf/api/Literal.java
index 3890404..6f348f0 100644
--- a/api/src/main/java/org/apache/commons/rdf/api/Literal.java
+++ b/api/src/main/java/org/apache/commons/rdf/api/Literal.java
@@ -42,7 +42,14 @@ public interface Literal extends RDFTerm {
 	/**
 	 * The IRI identifying the datatype that determines how the lexical form
 	 * maps to a literal value.
-	 *
+	 * <p>
+	 * If the datatype IRI is <a
+	 * href="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
+	 * >http://www.w3.org/1999/02/22-rdf-syntax-ns#langString</a>,
+	 * {@link #getLanguageTag()} must not return {@link Optional#empty()}, and
+	 * it must return a valid <a
+	 * href="http://tools.ietf.org/html/bcp47">BCP47</a> language tag.
+	 * 
 	 * @return The datatype IRI for this literal.
 	 * @see <a
 	 *      href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri">RDF-1.1

http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/601b8bca/simple/src/main/java/org/apache/commons/rdf/simple/LiteralImpl.java
----------------------------------------------------------------------
diff --git a/simple/src/main/java/org/apache/commons/rdf/simple/LiteralImpl.java b/simple/src/main/java/org/apache/commons/rdf/simple/LiteralImpl.java
index 13c65ef..99f3b0d 100644
--- a/simple/src/main/java/org/apache/commons/rdf/simple/LiteralImpl.java
+++ b/simple/src/main/java/org/apache/commons/rdf/simple/LiteralImpl.java
@@ -45,6 +45,11 @@ final class LiteralImpl implements Literal {
 		this.lexicalForm = Objects.requireNonNull(lexicalForm);
 		this.dataType = Types.get(Objects.requireNonNull(dataType)).orElse(
 				dataType);
+		if (Types.RDF_LANGSTRING.equals(this.dataType)) {
+			throw new IllegalArgumentException(
+					"Cannot create a non-language literal with type "
+							+ Types.RDF_LANGSTRING);
+		}
 		this.languageTag = null;
 	}
 


[3/3] incubator-commonsrdf git commit: Test graph without homogeneous language literals, use datatyped literals or xsd:string also

Posted by an...@apache.org.
Test graph without homogeneous language literals, use datatyped literals
or xsd:string also

Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/18d0d366
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/18d0d366
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/18d0d366

Branch: refs/heads/master
Commit: 18d0d366054fe997ae324a06ae0c296718d6c2bd
Parents: 601b8bc
Author: Peter Ansell <p_...@yahoo.com>
Authored: Sat Mar 28 16:36:56 2015 +1100
Committer: Peter Ansell <p_...@yahoo.com>
Committed: Sat Mar 28 16:36:56 2015 +1100

----------------------------------------------------------------------
 .../commons/rdf/simple/TestWritingGraph.java    | 30 +++++++++++++++++---
 1 file changed, 26 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/18d0d366/simple/src/test/java/org/apache/commons/rdf/simple/TestWritingGraph.java
----------------------------------------------------------------------
diff --git a/simple/src/test/java/org/apache/commons/rdf/simple/TestWritingGraph.java b/simple/src/test/java/org/apache/commons/rdf/simple/TestWritingGraph.java
index 749ee95..28bf360 100644
--- a/simple/src/test/java/org/apache/commons/rdf/simple/TestWritingGraph.java
+++ b/simple/src/test/java/org/apache/commons/rdf/simple/TestWritingGraph.java
@@ -20,12 +20,15 @@ package org.apache.commons.rdf.simple;
 import java.nio.charset.Charset;
 import java.nio.file.Files;
 import java.nio.file.Path;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
 import java.util.Optional;
 import java.util.stream.Stream;
 
+import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
-
 import org.apache.commons.rdf.api.BlankNode;
 import org.apache.commons.rdf.api.IRI;
 
@@ -47,16 +50,35 @@ public class TestWritingGraph {
 		graph = new GraphImpl();
 		BlankNode subject = new BlankNodeImpl(Optional.of(graph), "subj");
 		IRI predicate = new IRIImpl("pred");
+		List<IRI> types = new ArrayList<>(Types.values());
+		// Ensure we don't try to create a literal with rdf:langString but
+		// without a language tag
+		types.remove(Types.RDF_LANGSTRING);
+		Collections.shuffle(types);
 		for (int i = 0; i < TRIPLES; i++) {
-			graph.add(subject, predicate, new LiteralImpl("Example " + i, "en"));
+			if (i % 5 == 0) {
+				graph.add(subject, predicate, new LiteralImpl("Example " + i,
+						"en"));
+			} else if (i % 3 == 0) {
+				graph.add(subject, predicate, new LiteralImpl("Example " + i,
+						types.get(i % types.size())));
+			} else {
+				graph.add(subject, predicate, new LiteralImpl("Example " + i));
+			}
 		}
 	}
+	
+	@AfterClass
+	public static void tearDownClass() throws Exception {
+		graph.clear();
+		graph = null;
+	}
 
 	@Test
 	public void createGraphTiming() throws Exception {
 		createGraph();
 	}
-	
+
 	@Test
 	public void countQuery() {
 		BlankNode subject = new BlankNodeImpl(Optional.of(graph), "subj");
@@ -74,7 +96,7 @@ public class TestWritingGraph {
 		} else {
 			graphFile.toFile().deleteOnExit();
 		}
-		
+
 		Stream<CharSequence> stream = graph.getTriples().unordered()
 				.map(Object::toString);
 		Files.write(graphFile, stream::iterator, Charset.forName("UTF-8"));