You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2015/05/18 18:09:38 UTC
[2/2] jena git commit: RDF 1.1 - no need to encode xsd:string or
rdf:langString explicitly.
RDF 1.1 - no need to encode xsd:string or rdf:langString explicitly.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/6c2d522c
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/6c2d522c
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/6c2d522c
Branch: refs/heads/master
Commit: 6c2d522c9ffdf5b1571ea8890d978bda4850d260
Parents: cfaa3d7
Author: Andy Seaborne <an...@apache.org>
Authored: Mon May 18 17:02:54 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Mon May 18 17:02:54 2015 +0100
----------------------------------------------------------------------
.../apache/jena/riot/thrift/ThriftConvert.java | 8 ++++
.../apache/jena/riot/thrift/TS_RDFThrift.java | 1 -
.../apache/jena/riot/thrift/TestThriftTerm.java | 48 ++++++++++++++++++--
3 files changed, 51 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/6c2d522c/jena-arq/src/main/java/org/apache/jena/riot/thrift/ThriftConvert.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/thrift/ThriftConvert.java b/jena-arq/src/main/java/org/apache/jena/riot/thrift/ThriftConvert.java
index f7c23cf..454e0a6 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/thrift/ThriftConvert.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/thrift/ThriftConvert.java
@@ -23,9 +23,11 @@ import static org.apache.jena.riot.thrift.TRDF.ANY ;
import java.math.BigDecimal ;
import java.math.BigInteger ;
+import org.apache.jena.JenaRuntime ;
import org.apache.jena.atlas.lib.Pair ;
import org.apache.jena.datatypes.RDFDatatype ;
import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.datatypes.xsd.impl.RDFLangString ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.NodeFactory ;
import org.apache.jena.graph.Triple ;
@@ -250,6 +252,12 @@ public class ThriftConvert
// General encoding.
RDF_Literal literal = new RDF_Literal(lex) ;
+ if ( JenaRuntime.isRDF11 ) {
+ if ( node.getLiteralDatatype().equals(XSDDatatype.XSDstring) ||
+ node.getLiteralDatatype().equals(RDFLangString.rdfLangString) )
+ dt = null ;
+ }
+
if ( dt != null ) {
RDF_PrefixName dtPrefixName = contract(dt, pmap) ;
if ( dtPrefixName != null )
http://git-wip-us.apache.org/repos/asf/jena/blob/6c2d522c/jena-arq/src/test/java/org/apache/jena/riot/thrift/TS_RDFThrift.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/thrift/TS_RDFThrift.java b/jena-arq/src/test/java/org/apache/jena/riot/thrift/TS_RDFThrift.java
index 1af21fe..a5282e4 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/thrift/TS_RDFThrift.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/thrift/TS_RDFThrift.java
@@ -33,6 +33,5 @@ import org.junit.runners.Suite ;
public class TS_RDFThrift {
public static final String TestingDir = "testing/RIOT/RDF-Thrift" ;
-
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6c2d522c/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestThriftTerm.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestThriftTerm.java b/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestThriftTerm.java
index 3eb7cd6..70ea33e 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestThriftTerm.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestThriftTerm.java
@@ -18,10 +18,12 @@
package org.apache.jena.riot.thrift;
+import org.apache.jena.JenaRuntime ;
import org.apache.jena.atlas.junit.BaseTest ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.NodeFactory ;
import org.apache.jena.rdf.model.AnonId ;
+import org.apache.jena.rdf.model.impl.Util ;
import org.apache.jena.riot.system.PrefixMap ;
import org.apache.jena.riot.system.PrefixMapFactory ;
import org.apache.jena.riot.thrift.TRDF ;
@@ -74,11 +76,17 @@ public class TestThriftTerm extends BaseTest {
}
@Test public void term_literal_01() {
- testTerm("'foo'") ;
+ RDF_Term rt = testTerm("'foo'") ;
+ assertFalse(rt.getLiteral().isSetDatatype()) ;
+ assertFalse(rt.getLiteral().isSetDtPrefix()) ;
+ assertFalse(rt.getLiteral().isSetLangtag()) ;
}
@Test public void term_literal_02() {
- testTerm("'foo'@en") ;
+ RDF_Term rt = testTerm("'foo'@en") ;
+ assertFalse(rt.getLiteral().isSetDatatype()) ;
+ assertFalse(rt.getLiteral().isSetDtPrefix()) ;
+ assertTrue(rt.getLiteral().isSetLangtag()) ;
}
@Test public void term_literal_03() {
@@ -104,7 +112,6 @@ public class TestThriftTerm extends BaseTest {
assertEquals(rt.getLiteral().getDtPrefix().getLocalName(), "") ;
}
-
@Test public void term_var_01() {
testTerm("?var") ;
}
@@ -246,9 +253,40 @@ public class TestThriftTerm extends BaseTest {
RDF_Literal lit = rt.getLiteral() ;
assertTrue(lit.isSetLex()) ;
assertEquals(node.getLiteralLexicalForm(), lit.getLex()) ;
+
// RDF 1.1
- if ( node.getLiteralDatatype() != null ) {
- assertTrue(lit.isSetDatatype() || lit.isSetDtPrefix()) ;
+ if (JenaRuntime.isRDF11) {
+ if ( Util.isSimpleString(node) ) {
+ assertFalse(lit.isSetDatatype()) ;
+ assertFalse(lit.isSetDtPrefix()) ;
+ assertFalse(lit.isSetLangtag()) ;
+ } else if ( Util.isLangString(node) ) {
+ assertFalse(lit.isSetDatatype()) ;
+ assertFalse(lit.isSetDtPrefix()) ;
+ assertTrue(lit.isSetLangtag()) ;
+ }
+ else {
+ // Regular typed literal.
+ assertTrue(lit.isSetDatatype() || lit.isSetDtPrefix()) ;
+ assertFalse(lit.isSetLangtag()) ;
+ }
+
+ } else {
+ // RDF 1.0
+ if ( node.getLiteralDatatype() == null ) {
+ if ( Util.isLangString(node ) ) {
+ assertFalse(lit.isSetDatatype()) ;
+ assertFalse(lit.isSetDtPrefix()) ;
+ assertTrue(lit.isSetLangtag()) ;
+ } else {
+ assertFalse(lit.isSetDatatype()) ;
+ assertFalse(lit.isSetDtPrefix()) ;
+ assertFalse(lit.isSetLangtag()) ;
+ }
+ } else {
+ assertTrue(lit.isSetDatatype() || lit.isSetDtPrefix()) ;
+ }
+
}
} else if ( node.isBlank() ) {
assertTrue(rt.isSetBnode()) ;