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 2014/11/23 19:38:45 UTC

[1/3] jena git commit: Have create(String, String) and create(String, Datatype) for literals.

Repository: jena
Updated Branches:
  refs/heads/master a1f70e027 -> e97b0dd6c


http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-core/src/test/java/com/hp/hpl/jena/reasoner/rulesys/test/TestFBRules.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/com/hp/hpl/jena/reasoner/rulesys/test/TestFBRules.java b/jena-core/src/test/java/com/hp/hpl/jena/reasoner/rulesys/test/TestFBRules.java
index 62c4db0..fb89958 100644
--- a/jena-core/src/test/java/com/hp/hpl/jena/reasoner/rulesys/test/TestFBRules.java
+++ b/jena-core/src/test/java/com/hp/hpl/jena/reasoner/rulesys/test/TestFBRules.java
@@ -636,7 +636,7 @@ public class TestFBRules extends TestCase {
         data.add(new Triple(n2, p, Functor.makeFunctorNode("f", new Node[] {
                                         a, Util.makeIntNode(0)  })));
         data.add(new Triple(n3, p, Functor.makeFunctorNode("f", new Node[] {
-               a, NodeFactory.createLiteral( "0", "", XSDDatatype.XSDnonNegativeInteger ) } )));
+               a, NodeFactory.createLiteral( "0", XSDDatatype.XSDnonNegativeInteger ) } )));
         InfGraph infgraph = createInfGraph(rules, data);
         
         TestUtil.assertIteratorValues(this, infgraph.find(null, s, null),
@@ -713,9 +713,9 @@ public class TestFBRules extends TestCase {
         // XSD timeDate point comparisons
         data = Factory.createGraphMem();
         XSDDatatype dt = new XSDDatatype("dateTime");
-        data.add(new Triple(n1, q, NodeFactory.createLiteral("2000-03-04T20:00:00Z", "", XSDDatatype.XSDdateTime)));
-        data.add(new Triple(n2, q, NodeFactory.createLiteral("2001-03-04T20:00:00Z", "", XSDDatatype.XSDdateTime)));
-        data.add(new Triple(n3, q, NodeFactory.createLiteral("2002-03-04T20:00:00Z", "", XSDDatatype.XSDdateTime)));
+        data.add(new Triple(n1, q, NodeFactory.createLiteral("2000-03-04T20:00:00Z", XSDDatatype.XSDdateTime)));
+        data.add(new Triple(n2, q, NodeFactory.createLiteral("2001-03-04T20:00:00Z", XSDDatatype.XSDdateTime)));
+        data.add(new Triple(n3, q, NodeFactory.createLiteral("2002-03-04T20:00:00Z", XSDDatatype.XSDdateTime)));
         infgraph = createInfGraph(rules, data);
                
         TestUtil.assertIteratorValues(this, infgraph.find(n1, null, n2),
@@ -796,18 +796,18 @@ public class TestFBRules extends TestCase {
         
         TestUtil.assertIteratorValues(this, infgraph.find(n1, s, null),
             new Triple[] {
-                new Triple(n1, s, NodeFactory.createLiteral("literal", "", null)),
-                new Triple(n1, s, NodeFactory.createLiteral("notBNode", "", null)),
+                new Triple(n1, s, NodeFactory.createLiteral("literal")),
+                new Triple(n1, s, NodeFactory.createLiteral("notBNode")),
             });
         TestUtil.assertIteratorValues(this, infgraph.find(n2, s, null),
             new Triple[] {
-                new Triple(n2, s, NodeFactory.createLiteral("notLiteral", "", null)),
-                new Triple(n2, s, NodeFactory.createLiteral("notBNode", "", null)),
+                new Triple(n2, s, NodeFactory.createLiteral("notLiteral")),
+                new Triple(n2, s, NodeFactory.createLiteral("notBNode")),
             });
         TestUtil.assertIteratorValues(this, infgraph.find(n3, s, null),
             new Triple[] {
-                new Triple(n3, s, NodeFactory.createLiteral("notLiteral", "", null)),
-                new Triple(n3, s, NodeFactory.createLiteral("bNode", "", null)),
+                new Triple(n3, s, NodeFactory.createLiteral("notLiteral")),
+                new Triple(n3, s, NodeFactory.createLiteral("bNode")),
             });
          
         // Data type checking
@@ -821,33 +821,33 @@ public class TestFBRules extends TestCase {
                        "";
         data = Factory.createGraphMem();
         data.add(new Triple(n1, p, Util.makeIntNode(3)) );
-        data.add(new Triple(n2, p, NodeFactory.createLiteral("foo", "", null)) );
-        data.add(new Triple(n3, p, NodeFactory.createLiteral("foo", "", XSDDatatype.XSDstring)) );
+        data.add(new Triple(n2, p, NodeFactory.createLiteral("foo")) );
+        data.add(new Triple(n3, p, NodeFactory.createLiteral("foo", XSDDatatype.XSDstring)) );
         data.add(new Triple(n4, p, n4));
-        data.add(new Triple(n5, p, NodeFactory.createLiteral("-1", "", XSDDatatype.XSDnonNegativeInteger)) );
+        data.add(new Triple(n5, p, NodeFactory.createLiteral("-1", XSDDatatype.XSDnonNegativeInteger)) );
         infgraph = createInfGraph(rules, data);
         
         TestUtil.assertIteratorValues(this, infgraph.find(null, s, null),
             new Triple[] {
-                new Triple(n1, s, NodeFactory.createLiteral("isLiteral", "", null)),
-                new Triple(n1, s, NodeFactory.createLiteral("isXSDInt", "", null)),
-                new Triple(n1, s, NodeFactory.createLiteral("notXSDString", "", null)),
+                new Triple(n1, s, NodeFactory.createLiteral("isLiteral")),
+                new Triple(n1, s, NodeFactory.createLiteral("isXSDInt")),
+                new Triple(n1, s, NodeFactory.createLiteral("notXSDString")),
 
-                new Triple(n2, s, NodeFactory.createLiteral("isLiteral", "", null)),
-                new Triple(n2, s, NodeFactory.createLiteral("notXSDInt", "", null)),
-                new Triple(n2, s, NodeFactory.createLiteral("isXSDString", "", null)),
+                new Triple(n2, s, NodeFactory.createLiteral("isLiteral")),
+                new Triple(n2, s, NodeFactory.createLiteral("notXSDInt")),
+                new Triple(n2, s, NodeFactory.createLiteral("isXSDString")),
 
-                new Triple(n3, s, NodeFactory.createLiteral("isLiteral", "", null)),
-                new Triple(n3, s, NodeFactory.createLiteral("notXSDInt", "", null)),
-                new Triple(n3, s, NodeFactory.createLiteral("isXSDString", "", null)),
+                new Triple(n3, s, NodeFactory.createLiteral("isLiteral")),
+                new Triple(n3, s, NodeFactory.createLiteral("notXSDInt")),
+                new Triple(n3, s, NodeFactory.createLiteral("isXSDString")),
 
-                new Triple(n4, s, NodeFactory.createLiteral("notLiteral", "", null)),
-                new Triple(n4, s, NodeFactory.createLiteral("notXSDInt", "", null)),
-                new Triple(n4, s, NodeFactory.createLiteral("notXSDString", "", null)),
+                new Triple(n4, s, NodeFactory.createLiteral("notLiteral")),
+                new Triple(n4, s, NodeFactory.createLiteral("notXSDInt")),
+                new Triple(n4, s, NodeFactory.createLiteral("notXSDString")),
 
-                new Triple(n5, s, NodeFactory.createLiteral("notLiteral", "", null)),
-                new Triple(n5, s, NodeFactory.createLiteral("notXSDInt", "", null)),
-                new Triple(n5, s, NodeFactory.createLiteral("notXSDString", "", null)),
+                new Triple(n5, s, NodeFactory.createLiteral("notLiteral")),
+                new Triple(n5, s, NodeFactory.createLiteral("notXSDInt")),
+                new Triple(n5, s, NodeFactory.createLiteral("notXSDString")),
             });
             
         // Literal counting

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/NodeId.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/NodeId.java b/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/NodeId.java
index 5dd327e..4e1d537 100644
--- a/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/NodeId.java
+++ b/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/NodeId.java
@@ -297,23 +297,23 @@ public class NodeId
                 
             case INTEGER : {
                 long val = IntegerNode.unpack(v) ;
-                Node n = NodeFactory.createLiteral(Long.toString(val), null, XSDDatatype.XSDinteger) ;
+                Node n = NodeFactory.createLiteral(Long.toString(val), XSDDatatype.XSDinteger) ;
                 return n ;
             }
             case DECIMAL : {
                 BigDecimal d = DecimalNode.unpackAsBigDecimal(v) ;
                 String x = d.toPlainString() ;
-                return NodeFactory.createLiteral(x, null, XSDDatatype.XSDdecimal) ;
+                return NodeFactory.createLiteral(x, XSDDatatype.XSDdecimal) ;
             }
             case DATETIME : {
                 long val = BitsLong.clear(v, 56, 64) ;
                 String lex = DateTimeNode.unpackDateTime(val) ;
-                return NodeFactory.createLiteral(lex, null, XSDDatatype.XSDdateTime) ;
+                return NodeFactory.createLiteral(lex, XSDDatatype.XSDdateTime) ;
             }
             case DATE : {
                 long val = BitsLong.clear(v, 56, 64) ;
                 String lex = DateTimeNode.unpackDate(val) ;
-                return NodeFactory.createLiteral(lex, null, XSDDatatype.XSDdate) ;
+                return NodeFactory.createLiteral(lex, XSDDatatype.XSDdate) ;
             }
             case BOOLEAN : {
                 long val = BitsLong.clear(v, 56, 64) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/extra/T_TransSystem.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/extra/T_TransSystem.java b/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/extra/T_TransSystem.java
index 1b459db..706aed5 100644
--- a/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/extra/T_TransSystem.java
+++ b/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/extra/T_TransSystem.java
@@ -566,7 +566,7 @@ public class T_TransSystem
         Node s = NodeFactory.createURI("S") ;
         Node p = NodeFactory.createURI("P"+value) ;
         // Integer - that gets inlined.
-        Node o = NodeFactory.createLiteral(Integer.toString(value), null, XSDDatatype.XSDinteger) ;
+        Node o = NodeFactory.createLiteral(Integer.toString(value), XSDDatatype.XSDinteger) ;
         return new Quad(g,s,p,o) ;
     }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/extra/T_TransSystemMultiDatasets.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/extra/T_TransSystemMultiDatasets.java b/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/extra/T_TransSystemMultiDatasets.java
index 1acfc68..185b49e 100644
--- a/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/extra/T_TransSystemMultiDatasets.java
+++ b/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/extra/T_TransSystemMultiDatasets.java
@@ -520,7 +520,7 @@ public class T_TransSystemMultiDatasets
         Node g = Quad.defaultGraphNodeGenerated ; // urn:x-arq:DefaultGraphNode
         Node s = NodeFactory.createURI("S") ;
         Node p = NodeFactory.createURI("P") ;
-        Node o = NodeFactory.createLiteral(Integer.toString(value), null, XSDDatatype.XSDinteger) ;
+        Node o = NodeFactory.createLiteral(Integer.toString(value), XSDDatatype.XSDinteger) ;
         return new Quad(g,s,p,o) ;
     }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestNodeId.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestNodeId.java b/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestNodeId.java
index 279096f..439048a 100644
--- a/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestNodeId.java
+++ b/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestNodeId.java
@@ -111,7 +111,7 @@ public class TestNodeId extends BaseTest
     
     // Just this once, directly create the Node.
     @Test public void nodeId_decimal_3()
-    { test("12.89", NodeFactory.createLiteral("12.89", null, XSDDatatype.XSDdecimal)) ; }
+    { test("12.89", NodeFactory.createLiteral("12.89", XSDDatatype.XSDdecimal)) ; }
 
     @Test public void nodeId_decimal_4()
     { test("-1.0",  NodeFactoryExtra.parseNode("-1.0")) ; }
@@ -126,11 +126,11 @@ public class TestNodeId extends BaseTest
 
     @Test public void nodeId_decimal_7()
     { test("'0.00000001'^^xsd:decimal",  
-           NodeFactory.createLiteral("0.00000001", null, XSDDatatype.XSDdecimal)) ; 
+           NodeFactory.createLiteral("0.00000001", XSDDatatype.XSDdecimal)) ; 
     }
 
     @Test public void nodeId_decimal_8()
-    { test("0.00000001", NodeFactory.createLiteral("0.00000001", null, XSDDatatype.XSDdecimal)) ; }
+    { test("0.00000001", NodeFactory.createLiteral("0.00000001", XSDDatatype.XSDdecimal)) ; }
 
     @Test public void nodeId_dateTime_01()
     { test("'2008-04-28T15:36:15+01:00'^^xsd:dateTime") ; }

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/nodetable/AbstractTestNodeTable.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/nodetable/AbstractTestNodeTable.java b/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/nodetable/AbstractTestNodeTable.java
index dbf787f..dc51167 100644
--- a/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/nodetable/AbstractTestNodeTable.java
+++ b/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/nodetable/AbstractTestNodeTable.java
@@ -83,7 +83,7 @@ public abstract class AbstractTestNodeTable extends BaseTest
     @Test public void nodetable_06()    { testNode("'x'^^<http://example/dt>") ; }
     @Test public void nodetable_07()    { testNode("'نواف'") ; }
     
-    static Node badNode1 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("abc", "99bad", null) ;
+    static Node badNode1 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("abc", "99bad") ;
     
     @Test public void nodetable_bad_01()    { testNodeBad(badNode1) ; }
     @Test public void nodetable_bad_02()    


[2/3] jena git commit: Have create(String, String) and create(String, Datatype) for literals.

Posted by an...@apache.org.
Have create(String, String) and create(String, Datatype) for literals.

Replace uses of create(String, String, Datatype) which pass a default
for argument 2 or 3 to the specfic create(String, String) or
create(String, Datatype). This reduces the use of defaults in calling
code.


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/d3d43e9c
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/d3d43e9c
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/d3d43e9c

Branch: refs/heads/master
Commit: d3d43e9c3af48d230060eb07ad1e68db7dfa4d07
Parents: a1f70e0
Author: Andy Seaborne <an...@apache.org>
Authored: Sun Nov 23 18:13:09 2014 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun Nov 23 18:13:09 2014 +0000

----------------------------------------------------------------------
 .../com/hp/hpl/jena/sparql/expr/NodeValue.java  |  17 ++-
 .../sparql/expr/nodevalue/NodeFunctions.java    |   4 +-
 .../sparql/expr/nodevalue/NodeValueDecimal.java |   2 +-
 .../sparql/expr/nodevalue/NodeValueDouble.java  |   2 +-
 .../expr/nodevalue/NodeValueDuration.java       |   2 +-
 .../sparql/expr/nodevalue/NodeValueFloat.java   |   2 +-
 .../sparql/expr/nodevalue/NodeValueInteger.java |   2 +-
 .../jena/sparql/expr/nodevalue/XSDFuncOp.java   |  18 +--
 .../hp/hpl/jena/sparql/graph/GraphMemPlain.java |   4 +-
 .../com/hp/hpl/jena/sparql/graph/NodeConst.java |  12 +-
 .../com/hp/hpl/jena/sparql/lang/ParserBase.java |  16 +-
 .../jena/sparql/sse/lang/ParseHandlerPlain.java |   4 +-
 .../hpl/jena/sparql/util/NodeFactoryExtra.java  |  18 +--
 .../org/apache/jena/riot/lang/JsonLDReader.java |   2 +-
 .../org/apache/jena/riot/lang/LangRDFXML.java   |   2 +-
 .../riot/process/normalize/NormalizeValue.java  |  16 +-
 .../riot/process/normalize/NormalizeValue2.java |   4 +-
 .../jena/riot/system/ParserProfileBase.java     |   4 +-
 .../jena/riot/system/ParserProfileChecker.java  |   4 +-
 .../apache/jena/riot/thrift/ThriftConvert.java  |   6 +-
 .../java/org/apache/jena/riot/tokens/Token.java |  10 +-
 .../engine/iterator/TestQueryIterSort.java      |   2 +-
 .../hp/hpl/jena/sparql/expr/TestFunctions.java  |   4 +-
 .../hpl/jena/sparql/expr/TestNodeFunctions.java |  20 +--
 .../hp/hpl/jena/sparql/expr/TestNodeValue.java  |  16 +-
 .../hp/hpl/jena/sparql/expr/TestOrdering.java   |  52 +++----
 .../hpl/jena/sparql/syntax/TestSSE_Basic.java   |   8 +-
 .../hpl/jena/sparql/syntax/TestSSE_Forms.java   |   2 +-
 .../com/hp/hpl/jena/sparql/util/TestList.java   |  10 +-
 .../jena/atlas/data/TestDistinctDataBag.java    |   2 +-
 .../jena/atlas/data/TestDistinctDataNet.java    |   2 +-
 .../jena/atlas/data/TestSortedDataBag.java      |   2 +-
 .../java/com/hp/hpl/jena/graph/NodeFactory.java | 148 +++++++++++--------
 .../hp/hpl/jena/graph/impl/CollectionGraph.java |   4 +-
 .../jena/graph/impl/LiteralLabelFactory.java    |  24 ++-
 .../hp/hpl/jena/rdf/model/ResourceFactory.java  |   2 +-
 .../hp/hpl/jena/rdf/model/impl/ModelCom.java    |   6 +-
 .../hp/hpl/jena/rdfxml/xmlinput/JenaReader.java |   2 +-
 .../com/hp/hpl/jena/reasoner/rulesys/Rule.java  |   6 +-
 .../hp/hpl/jena/graph/test/NodeCreateUtils.java |   4 +-
 .../hpl/jena/graph/test/TestLiteralLabels.java  |  10 +-
 .../com/hp/hpl/jena/graph/test/TestNode.java    |   6 +-
 .../hpl/jena/graph/test/TestTypedLiterals.java  |  12 +-
 .../rulesys/test/TestComparatorBuiltins.java    |  20 +--
 .../jena/reasoner/rulesys/test/TestFBRules.java |  56 +++----
 .../java/com/hp/hpl/jena/tdb/store/NodeId.java  |   8 +-
 .../hp/hpl/jena/tdb/extra/T_TransSystem.java    |   2 +-
 .../tdb/extra/T_TransSystemMultiDatasets.java   |   2 +-
 .../com/hp/hpl/jena/tdb/store/TestNodeId.java   |   6 +-
 .../store/nodetable/AbstractTestNodeTable.java  |   2 +-
 50 files changed, 307 insertions(+), 284 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java
index 2b789f6..b7180f6 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java
@@ -83,6 +83,7 @@ import com.hp.hpl.jena.datatypes.TypeMapper ;
 import com.hp.hpl.jena.datatypes.xsd.XSDDatatype ;
 import com.hp.hpl.jena.datatypes.xsd.XSDDateTime ;
 import com.hp.hpl.jena.graph.Node ;
+import com.hp.hpl.jena.graph.NodeFactory ;
 import com.hp.hpl.jena.graph.impl.LiteralLabel ;
 import com.hp.hpl.jena.rdf.model.AnonId ;
 import com.hp.hpl.jena.sparql.ARQInternalErrorException ;
@@ -342,7 +343,7 @@ public abstract class NodeValue extends ExprNode
                                
     public static NodeValue makeNode(String lexicalForm, XSDDatatype dtype)
     {
-        Node n = com.hp.hpl.jena.graph.NodeFactory.createLiteral(lexicalForm, null, dtype) ;
+        Node n = com.hp.hpl.jena.graph.NodeFactory.createLiteral(lexicalForm, dtype) ;
         NodeValue nv = NodeValue.makeNode(n) ;
         return nv ;
     }
@@ -364,14 +365,14 @@ public abstract class NodeValue extends ExprNode
             Log.warn(NodeValue.class, "Both lang tag and datatype defined (lexcial form '"+lexicalForm+"')") ;
         
         Node n = null ; 
-        
-        if ( datatype != null)
-        {
+        if ( langTag != null )
+            n = NodeFactory.createLiteral(lexicalForm, langTag) ;
+        else if ( datatype != null) {
             RDFDatatype dType = TypeMapper.getInstance().getSafeTypeByName(datatype) ;
-            n = com.hp.hpl.jena.graph.NodeFactory.createLiteral(lexicalForm, null, dType) ;
-        }
-        else
-            n = com.hp.hpl.jena.graph.NodeFactory.createLiteral(lexicalForm, langTag, null) ;
+            n = NodeFactory.createLiteral(lexicalForm, dType) ;
+        } else 
+            n = NodeFactory.createLiteral(lexicalForm) ;
+            
         return NodeValue.makeNode(n) ;
     }
     

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeFunctions.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeFunctions.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeFunctions.java
index ff52250..fd3e0b6 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeFunctions.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeFunctions.java
@@ -427,7 +427,7 @@ public class NodeFunctions {
         Node dt = v2.asNode() ;
         // Check?
 
-        Node n = NodeFactory.createLiteral(lex, null, NodeFactory.getType(dt.getURI())) ;
+        Node n = NodeFactory.createLiteral(lex, NodeFactory.getType(dt.getURI())) ;
         return NodeValue.makeNode(n) ;
     }
 
@@ -441,7 +441,7 @@ public class NodeFunctions {
         String lang = v2.asString() ;
         // Check?
 
-        Node n = NodeFactory.createLiteral(lex, lang, null) ;
+        Node n = NodeFactory.createLiteral(lex, lang) ;
         return NodeValue.makeNode(n) ;
     }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueDecimal.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueDecimal.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueDecimal.java
index 98baa8a..f154c35 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueDecimal.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueDecimal.java
@@ -54,7 +54,7 @@ public class NodeValueDecimal extends NodeValue
     protected Node makeNode()
     { 
         int s = decimal.scale() ;
-        return NodeFactory.createLiteral(Utils.stringForm(decimal), null, XSDDatatype.XSDdecimal) ;
+        return NodeFactory.createLiteral(Utils.stringForm(decimal), XSDDatatype.XSDdecimal) ;
     }
     
     @Override

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueDouble.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueDouble.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueDouble.java
index 234ebd3..fbab82a 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueDouble.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueDouble.java
@@ -50,7 +50,7 @@ public class NodeValueDouble extends NodeValue
 
     @Override
     protected Node makeNode()
-    { return NodeFactory.createLiteral(Utils.stringForm(value), null, XSDDatatype.XSDdouble) ; }
+    { return NodeFactory.createLiteral(Utils.stringForm(value), XSDDatatype.XSDdouble) ; }
     
     @Override
     public String asString() { return toString() ; }

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueDuration.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueDuration.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueDuration.java
index d7e19cf..79961ac 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueDuration.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueDuration.java
@@ -47,7 +47,7 @@ public class NodeValueDuration extends NodeValue
     protected Node makeNode()
     {
         String lex = duration.toString() ;
-        return NodeFactory.createLiteral(lex, null, XSDDatatype.XSDduration) ;
+        return NodeFactory.createLiteral(lex, XSDDatatype.XSDduration) ;
     }
     
     @Override

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueFloat.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueFloat.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueFloat.java
index 26c64e7..ea72ba3 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueFloat.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueFloat.java
@@ -46,7 +46,7 @@ public class NodeValueFloat extends NodeValue
 
     @Override
     protected Node makeNode()
-    { return NodeFactory.createLiteral(Utils.stringForm(value), null, XSDDatatype.XSDfloat) ; }
+    { return NodeFactory.createLiteral(Utils.stringForm(value), XSDDatatype.XSDfloat) ; }
     
     @Override
     public String asString() { return toString() ; }

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueInteger.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueInteger.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueInteger.java
index 0cb18c7..9f3cc06 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueInteger.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeValueInteger.java
@@ -61,7 +61,7 @@ public class NodeValueInteger extends NodeValue
 
     @Override
     protected Node makeNode()
-    { return NodeFactory.createLiteral(integer.toString(), null, XSDDatatype.XSDinteger) ; }
+    { return NodeFactory.createLiteral(integer.toString(), XSDDatatype.XSDinteger) ; }
     
     @Override
     public String asString() { return toString() ; }

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/XSDFuncOp.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/XSDFuncOp.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/XSDFuncOp.java
index 6b0b51d..d1998fd 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/XSDFuncOp.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/XSDFuncOp.java
@@ -530,18 +530,6 @@ public class XSDFuncOp
     private static NodeValue calcReturn(String result, Node arg) {
         Node n2 = NodeFactory.createLiteral(result, arg.getLiteralLanguage(), arg.getLiteralDatatype()) ; 
         return NodeValue.makeNode(n2) ;
-        
-//        if ( arg.getLiteralDatatype() != null )
-//        {
-//            if ( arg.getLiteralDatatype() != XSDDatatype.XSDstring )
-//                throw new ARQInternalErrorException("Excepted only xsd:string: "+arg) ; 
-//            // Must be xsd:string
-//            return NodeValue.makeNode(result, XSDDatatype.XSDstring ) ;
-//        }
-//        String lang = arg.getLiteralLanguage() ;
-//        if ( lang == null ) lang = "" ;
-//        if ( lang.equals("") ) return NodeValue.makeString(result) ;
-//        return NodeValue.makeNode(result, lang, (String)null) ;
     }
     
     public static NodeValue strBefore(NodeValue string, NodeValue match) {
@@ -1302,15 +1290,15 @@ public class XSDFuncOp
         if ( "".equals(dts.timezone) )
             return null ;
         if ( "Z".equals(dts.timezone) ) {
-            Node n = NodeFactory.createLiteral("PT0S", null, NodeFactory.getType(XSDDatatype.XSD + "#dayTimeDuration")) ;
+            Node n = NodeFactory.createLiteral("PT0S", NodeFactory.getType(XSDDatatype.XSD + "#dayTimeDuration")) ;
             return NodeValue.makeNode(n) ;
         }
         if ( "+00:00".equals(dts.timezone) ) {
-            Node n = NodeFactory.createLiteral("PT0S", null, NodeFactory.getType(XSDDatatype.XSD + "#dayTimeDuration")) ;
+            Node n = NodeFactory.createLiteral("PT0S", NodeFactory.getType(XSDDatatype.XSD + "#dayTimeDuration")) ;
             return NodeValue.makeNode(n) ;
         }
         if ( "-00:00".equals(dts.timezone) ) {
-            Node n = NodeFactory.createLiteral("-PT0S", null, NodeFactory.getType(XSDDatatype.XSD + "#dayTimeDuration")) ;
+            Node n = NodeFactory.createLiteral("-PT0S", NodeFactory.getType(XSDDatatype.XSD + "#dayTimeDuration")) ;
             return NodeValue.makeNode(n) ;
         }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/GraphMemPlain.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/GraphMemPlain.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/GraphMemPlain.java
index c42eaf4..0bbed22 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/GraphMemPlain.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/GraphMemPlain.java
@@ -110,9 +110,7 @@ public class GraphMemPlain extends GraphBase
         {
             String lang = node.getLiteralLanguage() ;
             if ( lang != null && ! lang.equals("") )
-                node = NodeFactory.createLiteral(node.getLiteralLexicalForm(),
-                                          lang.toLowerCase(Locale.ROOT),
-                                          node.getLiteralDatatype()) ;
+                node = NodeFactory.createLiteral(node.getLiteralLexicalForm(), lang.toLowerCase(Locale.ROOT)) ;
         }
         return node ; 
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/NodeConst.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/NodeConst.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/NodeConst.java
index a6f56eb..37359e6 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/NodeConst.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/NodeConst.java
@@ -27,12 +27,12 @@ import com.hp.hpl.jena.vocabulary.RDF ;
 /** Some node constants */
 public class NodeConst
 {
-    public static final Node nodeTrue       = NodeFactory.createLiteral("true", null,  XSDDatatype.XSDboolean) ; 
-    public static final Node nodeFalse      = NodeFactory.createLiteral("false", null,  XSDDatatype.XSDboolean) ; 
-    public static final Node nodeZero       = NodeFactory.createLiteral("0", null,  XSDDatatype.XSDinteger) ;
-    public static final Node nodeOne        = NodeFactory.createLiteral("1", null,  XSDDatatype.XSDinteger) ;
-    public static final Node nodeTwo        = NodeFactory.createLiteral("2", null,  XSDDatatype.XSDinteger) ;
-    public static final Node nodeMinusOne   = NodeFactory.createLiteral("-1", null,  XSDDatatype.XSDinteger) ;
+    public static final Node nodeTrue       = NodeFactory.createLiteral("true", XSDDatatype.XSDboolean) ; 
+    public static final Node nodeFalse      = NodeFactory.createLiteral("false",XSDDatatype.XSDboolean) ; 
+    public static final Node nodeZero       = NodeFactory.createLiteral("0",    XSDDatatype.XSDinteger) ;
+    public static final Node nodeOne        = NodeFactory.createLiteral("1",    XSDDatatype.XSDinteger) ;
+    public static final Node nodeTwo        = NodeFactory.createLiteral("2",    XSDDatatype.XSDinteger) ;
+    public static final Node nodeMinusOne   = NodeFactory.createLiteral("-1",   XSDDatatype.XSDinteger) ;
     public static final Node emptyString    = NodeFactory.createLiteral("") ;
     
     public static final Node nodeRDFType    = RDF.Nodes.type ;

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/main/java/com/hp/hpl/jena/sparql/lang/ParserBase.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/lang/ParserBase.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/lang/ParserBase.java
index 9ba298c..1d30c5f 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/lang/ParserBase.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/lang/ParserBase.java
@@ -136,17 +136,17 @@ public class ParserBase
     
     protected Node createLiteralInteger(String lexicalForm)
     {
-        return NodeFactory.createLiteral(lexicalForm, null, XSDDatatype.XSDinteger) ;
+        return NodeFactory.createLiteral(lexicalForm, XSDDatatype.XSDinteger) ;
     }
     
     protected Node createLiteralDouble(String lexicalForm)
     {
-        return NodeFactory.createLiteral(lexicalForm, null, XSDDatatype.XSDdouble) ;
+        return NodeFactory.createLiteral(lexicalForm, XSDDatatype.XSDdouble) ;
     }
     
     protected Node createLiteralDecimal(String lexicalForm)
     {
-        return NodeFactory.createLiteral(lexicalForm, null, XSDDatatype.XSDdecimal) ;
+        return NodeFactory.createLiteral(lexicalForm, XSDDatatype.XSDdecimal) ;
     }
 
     protected Node stripSign(Node node)
@@ -166,14 +166,16 @@ public class ParserBase
     protected Node createLiteral(String lexicalForm, String langTag, String datatypeURI)
     {
         Node n = null ;
-        // Can't have type and lang tag.
-        if ( datatypeURI != null)
+        // Can't have type and lang tag in parsing.
+        if (  datatypeURI != null)
         {
             RDFDatatype dType = TypeMapper.getInstance().getSafeTypeByName(datatypeURI) ;
-            n = NodeFactory.createLiteral(lexicalForm, null, dType) ;
+            n = NodeFactory.createLiteral(lexicalForm, dType) ;
         }
+        else if ( langTag != null && ! langTag.isEmpty() )
+            n = NodeFactory.createLiteral(lexicalForm, langTag) ;
         else
-            n = NodeFactory.createLiteral(lexicalForm, langTag, null) ;
+            n = NodeFactory.createLiteral(lexicalForm) ;
         return n ;
     }
     

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/main/java/com/hp/hpl/jena/sparql/sse/lang/ParseHandlerPlain.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/sse/lang/ParseHandlerPlain.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/sse/lang/ParseHandlerPlain.java
index 8985c5a..3b7b1b0 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/sse/lang/ParseHandlerPlain.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/sse/lang/ParseHandlerPlain.java
@@ -147,10 +147,10 @@ public class ParseHandlerPlain implements ParseHandler
                 datatypeIRI = resolvePrefixedName(datatypePN, line, column) ;
             
             RDFDatatype dType = TypeMapper.getInstance().getSafeTypeByName(datatypeIRI) ;
-            n = NodeFactory.createLiteral(lexicalForm, null, dType) ;
+            n = NodeFactory.createLiteral(lexicalForm, dType) ;
         }
         else
-            n = NodeFactory.createLiteral(lexicalForm, langTag, null) ;
+            n = NodeFactory.createLiteral(lexicalForm, langTag) ;
         Item item = Item.createNode(n, line, column) ;
         listAdd(item) ;
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/main/java/com/hp/hpl/jena/sparql/util/NodeFactoryExtra.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/util/NodeFactoryExtra.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/util/NodeFactoryExtra.java
index c459f7c..53cef62 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/util/NodeFactoryExtra.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/util/NodeFactoryExtra.java
@@ -179,7 +179,7 @@ public class NodeFactoryExtra
      */
     public static Node intToNode(int integer)
     {
-        return NodeFactory.createLiteral(Integer.toString(integer), "", XSDDatatype.XSDinteger) ;
+        return NodeFactory.createLiteral(Integer.toString(integer), XSDDatatype.XSDinteger) ;
     }
 
     /** long to Node
@@ -189,7 +189,7 @@ public class NodeFactoryExtra
      */
     public static Node intToNode(long integer)
     {
-        return NodeFactory.createLiteral(Long.toString(integer), "", XSDDatatype.XSDinteger) ;
+        return NodeFactory.createLiteral(Long.toString(integer), XSDDatatype.XSDinteger) ;
     }
 
     /** float to Node
@@ -199,7 +199,7 @@ public class NodeFactoryExtra
      */
     public static Node floatToNode(float value)
     {
-        return NodeFactory.createLiteral(Float.toString(value), "", XSDDatatype.XSDfloat) ;
+        return NodeFactory.createLiteral(Float.toString(value), XSDDatatype.XSDfloat) ;
     }
     
     /** double to Node
@@ -209,42 +209,42 @@ public class NodeFactoryExtra
      */
     public static Node doubleToNode(double value)
     {
-        return NodeFactory.createLiteral(Double.toString(value), "", XSDDatatype.XSDdouble) ;
+        return NodeFactory.createLiteral(Double.toString(value), XSDDatatype.XSDdouble) ;
     }
     
     /** Calendar to xsd:dateTime Node */
     public static Node dateTimeToNode(Calendar c)
     {
         String lex = Utils.calendarToXSDDateTimeString(c);
-        return NodeFactory.createLiteral(lex, null, XSDDatatype.XSDdateTime);
+        return NodeFactory.createLiteral(lex, XSDDatatype.XSDdateTime);
     }
     
     /** Calendar to xsd:date Node */
     public static Node dateToNode(Calendar c)
     {
         String lex = Utils.calendarToXSDDateString(c);
-        return NodeFactory.createLiteral(lex, null, XSDDatatype.XSDdate);
+        return NodeFactory.createLiteral(lex, XSDDatatype.XSDdate);
     }
     
     /** Calendar to xsd:time Node */
     public static Node timeToNode(Calendar c)
     {
         String lex = Utils.calendarToXSDTimeString(c);
-        return NodeFactory.createLiteral(lex, null, XSDDatatype.XSDtime);
+        return NodeFactory.createLiteral(lex, XSDDatatype.XSDtime);
     }
 
     /** Now, as xsd:dateTime Node */
     public static Node nowAsDateTime()
     {
         String lex = Utils.nowAsXSDDateTimeString() ;
-        return NodeFactory.createLiteral(lex, null, XSDDatatype.XSDdateTime) ;
+        return NodeFactory.createLiteral(lex, XSDDatatype.XSDdateTime) ;
     }
 
     /** Today, as xsd:date Node */
     public static Node todayAsDate()
     {
         String lex = Utils.todayAsXSDDateString() ;
-        return NodeFactory.createLiteral(lex, null, XSDDatatype.XSDdate) ;
+        return NodeFactory.createLiteral(lex, XSDDatatype.XSDdate) ;
     }
 
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/main/java/org/apache/jena/riot/lang/JsonLDReader.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/lang/JsonLDReader.java b/jena-arq/src/main/java/org/apache/jena/riot/lang/JsonLDReader.java
index 4314c63..18b66af 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/lang/JsonLDReader.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/lang/JsonLDReader.java
@@ -180,7 +180,7 @@ public class JsonLDReader implements ReaderRIOT
         if ( lang == null && datatype == null )
             return NodeFactory.createLiteral(lex) ;
         if ( lang != null )
-            return NodeFactory.createLiteral(lex, lang, null) ;
+            return NodeFactory.createLiteral(lex, lang) ;
         RDFDatatype dt = NodeFactory.getType(datatype) ;
         return NodeFactory.createLiteral(lex, dt) ;
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/main/java/org/apache/jena/riot/lang/LangRDFXML.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/lang/LangRDFXML.java b/jena-arq/src/main/java/org/apache/jena/riot/lang/LangRDFXML.java
index 6fd5875..5dd7cbc 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/lang/LangRDFXML.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/lang/LangRDFXML.java
@@ -181,7 +181,7 @@ public class LangRDFXML implements LangRIOT
             }
 
             RDFDatatype dt = TypeMapper.getInstance().getSafeTypeByName(dtURI);
-            return NodeFactory.createLiteral(lit.toString(), null, dt);
+            return NodeFactory.createLiteral(lit.toString(), dt);
 
         }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/main/java/org/apache/jena/riot/process/normalize/NormalizeValue.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/process/normalize/NormalizeValue.java b/jena-arq/src/main/java/org/apache/jena/riot/process/normalize/NormalizeValue.java
index 1730102..9e5db2d 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/process/normalize/NormalizeValue.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/process/normalize/NormalizeValue.java
@@ -82,7 +82,7 @@ class NormalizeValue
                 String lex2 = xcal.toXMLFormat() ;
                 if ( lex2.equals(lexicalForm) )
                     return node ;
-                return NodeFactory.createLiteral(lex2, null, datatype) ;
+                return NodeFactory.createLiteral(lex2, datatype) ;
             }
             // The only variablity for a valid date/dateTime/g* type is:
             //   Second part can have fractional seconds '.' s+ (if present) represents the fractional seconds;
@@ -107,7 +107,7 @@ class NormalizeValue
             // Can't happen.  We munged dts.second. 
 //            if ( lex2.equals(lexicalForm) )
 //                return node ;
-            return NodeFactory.createLiteral(lex2, null, datatype) ;
+            return NodeFactory.createLiteral(lex2, datatype) ;
         }
     } ;
     
@@ -142,7 +142,7 @@ class NormalizeValue
             // If it's a subtype of integer, then output a new node of datatype integer.
             if ( datatype.equals(XSDDatatype.XSDinteger) && lex2.equals(lexicalForm) )
                 return node ;
-            return NodeFactory.createLiteral(lex2, null, XSDDatatype.XSDinteger) ;
+            return NodeFactory.createLiteral(lex2, XSDDatatype.XSDinteger) ;
         }
     } ;
 
@@ -160,7 +160,7 @@ class NormalizeValue
                 lex2 = lex2+".0" ;
             if ( lex2.equals(lexicalForm) )
                 return node ;
-            return NodeFactory.createLiteral(lex2, null, datatype) ;
+            return NodeFactory.createLiteral(lex2, datatype) ;
         }
     } ;
     
@@ -190,7 +190,7 @@ class NormalizeValue
             String lex2 = fmtFloatingPoint.format(d) ;
             if ( lex2.equals(lexicalForm) )
                 return node ;
-            return NodeFactory.createLiteral(lex2, null, datatype) ;
+            return NodeFactory.createLiteral(lex2, datatype) ;
         }
     } ;
     
@@ -202,7 +202,7 @@ class NormalizeValue
             String lex2 = fmtFloatingPoint.format(f) ;
             if ( lex2.equals(lexicalForm) )
                 return node ;
-            return NodeFactory.createLiteral(lex2, null, datatype) ;
+            return NodeFactory.createLiteral(lex2, datatype) ;
         }
     } ;
 
@@ -220,7 +220,7 @@ class NormalizeValue
         @Override
         public Node handle(Node node, String lexicalForm, RDFDatatype datatype)
         {
-            return NodeFactory.createLiteral(lexicalForm, "", datatype) ;
+            return NodeFactory.createLiteral(lexicalForm, datatype) ;
         }
     } ;
 
@@ -240,7 +240,7 @@ class NormalizeValue
             if ( idx == lexicalForm.length()-1 )
                 return NodeFactory.createLiteral(lex) ;
             String lang = lexicalForm.substring(idx+1) ;
-            return NodeFactory.createLiteral(lex,lang, null) ;
+            return NodeFactory.createLiteral(lex,lang) ;
         }
     } ;
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/main/java/org/apache/jena/riot/process/normalize/NormalizeValue2.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/process/normalize/NormalizeValue2.java b/jena-arq/src/main/java/org/apache/jena/riot/process/normalize/NormalizeValue2.java
index d2732bb..7b9ce8e 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/process/normalize/NormalizeValue2.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/process/normalize/NormalizeValue2.java
@@ -133,7 +133,7 @@ class NormalizeValue2
             String lex2 = rebuild(chars) ;
             if ( lex2 == null )
                 return node ;
-            return NodeFactory.createLiteral(lex2, null, datatype) ;
+            return NodeFactory.createLiteral(lex2, datatype) ;
         }
     } ;
 
@@ -152,7 +152,7 @@ class NormalizeValue2
             String lex2 = rebuild(chars) ;
             if ( lex2 == null )
                 return node ;
-            return NodeFactory.createLiteral(lex2, null, datatype) ;
+            return NodeFactory.createLiteral(lex2, datatype) ;
         }
     } ;
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfileBase.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfileBase.java b/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfileBase.java
index 80c814f..b3efdf1 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfileBase.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfileBase.java
@@ -119,12 +119,12 @@ public class ParserProfileBase implements ParserProfile {
 
     @Override
     public Node createTypedLiteral(String lexical, RDFDatatype dt, long line, long col) {
-        return NodeFactory.createLiteral(lexical, null, dt) ;
+        return NodeFactory.createLiteral(lexical, dt) ;
     }
 
     @Override
     public Node createLangLiteral(String lexical, String langTag, long line, long col) {
-        return NodeFactory.createLiteral(lexical, langTag, null) ;
+        return NodeFactory.createLiteral(lexical, langTag) ;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfileChecker.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfileChecker.java b/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfileChecker.java
index fa184a9..2d15674 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfileChecker.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/ParserProfileChecker.java
@@ -123,14 +123,14 @@ public class ParserProfileChecker extends ParserProfileBase // implements
 
     @Override
     public Node createTypedLiteral(String lexical, RDFDatatype datatype, long line, long col) {
-        Node n = NodeFactory.createLiteral(lexical, null, datatype) ;
+        Node n = NodeFactory.createLiteral(lexical, datatype) ;
         CheckerLiterals.checkLiteral(lexical, datatype, errorHandler, line, col) ;
         return n ;
     }
 
     @Override
     public Node createLangLiteral(String lexical, String langTag, long line, long col) {
-        Node n = NodeFactory.createLiteral(lexical, langTag, null) ;
+        Node n = NodeFactory.createLiteral(lexical, langTag) ;
         CheckerLiterals.checkLiteral(lexical, langTag, errorHandler, line, col) ;
         return n ;
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/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 5b50e6d..7b542f0 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
@@ -89,14 +89,14 @@ public class ThriftConvert
             long x = term.getValInteger() ;
             String lex = Long.toString(x, 10) ;
             RDFDatatype dt = XSDDatatype.XSDinteger ;
-            return NodeFactory.createLiteral(lex, null, dt) ;
+            return NodeFactory.createLiteral(lex, dt) ;
         }
         
         if ( term.isSetValDouble() ) {
             double x = term.getValDouble() ;
             String lex = Double.toString(x) ;
             RDFDatatype dt = XSDDatatype.XSDdouble ;
-            return NodeFactory.createLiteral(lex, null, dt) ;
+            return NodeFactory.createLiteral(lex, dt) ;
         }
         
         if ( term.isSetValDecimal() ) {
@@ -105,7 +105,7 @@ public class ThriftConvert
             BigDecimal d =  BigDecimal.valueOf(value, scale) ;
             String lex = d.toPlainString() ;
             RDFDatatype dt = XSDDatatype.XSDdecimal ;
-            return NodeFactory.createLiteral(lex, null, dt) ;
+            return NodeFactory.createLiteral(lex, dt) ;
         }
 
         if ( term.isSetVariable() )

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/main/java/org/apache/jena/riot/tokens/Token.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/tokens/Token.java b/jena-arq/src/main/java/org/apache/jena/riot/tokens/Token.java
index 1f6edf0..03b7300 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/tokens/Token.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/tokens/Token.java
@@ -441,9 +441,9 @@ public final class Token
                 if ( x == null )
                     throw new RiotException("Can't expand prefixed name: "+this) ;
                 return NodeFactory.createURI(x) ;
-            case DECIMAL :  return NodeFactory.createLiteral(tokenImage, null, XSDDatatype.XSDdecimal)  ; 
-            case DOUBLE :   return NodeFactory.createLiteral(tokenImage, null, XSDDatatype.XSDdouble)  ;
-            case INTEGER:   return NodeFactory.createLiteral(tokenImage, null, XSDDatatype.XSDinteger) ;
+            case DECIMAL :  return NodeFactory.createLiteral(tokenImage, XSDDatatype.XSDdecimal)  ; 
+            case DOUBLE :   return NodeFactory.createLiteral(tokenImage, XSDDatatype.XSDdouble)  ;
+            case INTEGER:   return NodeFactory.createLiteral(tokenImage, XSDDatatype.XSDinteger) ;
             case LITERAL_DT :
             {
                 Token lexToken = getSubToken1() ;
@@ -456,9 +456,9 @@ public final class Token
                 if ( ! n.isURI() )
                     throw new RiotException("Invalid token: "+this) ;
                 RDFDatatype dt = TypeMapper.getInstance().getSafeTypeByName(n.getURI()) ;
-                return NodeFactory.createLiteral(lexToken.getImage(), null, dt)  ;
+                return NodeFactory.createLiteral(lexToken.getImage(), dt)  ;
             }
-            case LITERAL_LANG : return NodeFactory.createLiteral(tokenImage, tokenImage2, null)  ;
+            case LITERAL_LANG : return NodeFactory.createLiteral(tokenImage, tokenImage2)  ;
             case STRING:
             case STRING1:
             case STRING2:

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/test/java/com/hp/hpl/jena/sparql/engine/iterator/TestQueryIterSort.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/com/hp/hpl/jena/sparql/engine/iterator/TestQueryIterSort.java b/jena-arq/src/test/java/com/hp/hpl/jena/sparql/engine/iterator/TestQueryIterSort.java
index ec6db02..88e7f4e 100644
--- a/jena-arq/src/test/java/com/hp/hpl/jena/sparql/engine/iterator/TestQueryIterSort.java
+++ b/jena-arq/src/test/java/com/hp/hpl/jena/sparql/engine/iterator/TestQueryIterSort.java
@@ -260,7 +260,7 @@ public class TestQueryIterSort {
         binding.add(vars[5], NodeFactory.createURI(randomURI()));
         binding.add(vars[6], NodeFactory.createURI(randomURI()));
         binding.add(vars[7], NodeFactory.createLiteral(randomString(5)));
-        binding.add(vars[8], NodeFactory.createLiteral("" + random.nextInt(), null, XSDDatatype.XSDinteger));
+        binding.add(vars[8], NodeFactory.createLiteral("" + random.nextInt(), XSDDatatype.XSDinteger));
         binding.add(vars[9], NodeFactory.createAnon());
         return binding;
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestFunctions.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestFunctions.java b/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestFunctions.java
index da51a46..23905b6 100644
--- a/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestFunctions.java
+++ b/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestFunctions.java
@@ -220,10 +220,10 @@ public class TestFunctions
     @Test public void exprNotOneOf_06()  { test("57 not in (1,2,3)",                TRUE) ; }
     
     
-    static Node xyz_en = NodeFactory.createLiteral("xyz", "en", null) ;
+    static Node xyz_en = NodeFactory.createLiteral("xyz", "en") ;
     static NodeValue nv_xyz_en = NodeValue.makeNode(xyz_en) ;
 
-    static Node xyz_xsd_string = NodeFactory.createLiteral("xyz", null, XSDDatatype.XSDstring) ;
+    static Node xyz_xsd_string = NodeFactory.createLiteral("xyz", XSDDatatype.XSDstring) ;
     static NodeValue nv_xyz_string = NodeValue.makeNode(xyz_xsd_string) ;
 
     

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestNodeFunctions.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestNodeFunctions.java b/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestNodeFunctions.java
index af59b16..7b54d6e 100644
--- a/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestNodeFunctions.java
+++ b/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestNodeFunctions.java
@@ -53,7 +53,7 @@ public class TestNodeFunctions extends BaseTest {
 
     @Test public void testSameTerm4() {
         Node n1 = NodeFactory.createLiteral("xyz") ;
-        Node n2 = NodeFactory.createLiteral("xyz", null, XSDDatatype.XSDstring) ;
+        Node n2 = NodeFactory.createLiteral("xyz", XSDDatatype.XSDstring) ;
         if ( JenaRuntime.isRDF11 )
             assertTrue(NodeFunctions.sameTerm(n1, n2)) ;
         else
@@ -61,20 +61,20 @@ public class TestNodeFunctions extends BaseTest {
     }
 
     @Test public void testSameTerm5() {
-        Node n1 = NodeFactory.createLiteral("xyz", "en", null) ;
-        Node n2 = NodeFactory.createLiteral("xyz", null, null) ;
+        Node n1 = NodeFactory.createLiteral("xyz", "en") ;
+        Node n2 = NodeFactory.createLiteral("xyz") ;
         assertFalse(NodeFunctions.sameTerm(n1, n2)) ;
     }
 
     @Test public void testSameTerm6() {
-        Node n1 = NodeFactory.createLiteral("xyz", "en", null) ;
-        Node n2 = NodeFactory.createLiteral("xyz", "EN", null) ;
+        Node n1 = NodeFactory.createLiteral("xyz", "en") ;
+        Node n2 = NodeFactory.createLiteral("xyz", "EN") ;
         assertTrue(NodeFunctions.sameTerm(n1, n2)) ;
     }
 
     @Test public void testRDFtermEquals1() {
         Node n1 = NodeFactory.createURI("xyz") ;
-        Node n2 = NodeFactory.createLiteral("xyz", null, null) ;
+        Node n2 = NodeFactory.createLiteral("xyz") ;
         assertFalse(NodeFunctions.rdfTermEquals(n1, n2)) ;
     }
 
@@ -82,13 +82,13 @@ public class TestNodeFunctions extends BaseTest {
     public void testRDFtermEquals3() {
         // Unextended - no language tag
         Node n1 = NodeFactory.createLiteral("xyz") ;
-        Node n2 = NodeFactory.createLiteral("xyz", "en", null) ;
+        Node n2 = NodeFactory.createLiteral("xyz", "en") ;
         NodeFunctions.rdfTermEquals(n1, n2) ;
     }
 
     @Test public void testRDFtermEquals2() {
-        Node n1 = NodeFactory.createLiteral("xyz", "en", null) ;
-        Node n2 = NodeFactory.createLiteral("xyz", "EN", null) ;
+        Node n1 = NodeFactory.createLiteral("xyz", "en") ;
+        Node n2 = NodeFactory.createLiteral("xyz", "EN") ;
         assertTrue(NodeFunctions.rdfTermEquals(n1, n2)) ;
     }
 
@@ -164,7 +164,7 @@ public class TestNodeFunctions extends BaseTest {
     }
 
     @Test public void testLang1() {
-        Node n = NodeFactory.createLiteral("abc", "en-gb", null) ;
+        Node n = NodeFactory.createLiteral("abc", "en-gb") ;
         assertEquals("en-gb", NodeFunctions.lang(n)) ;
     }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestNodeValue.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestNodeValue.java b/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestNodeValue.java
index f6d1296..d84011b 100644
--- a/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestNodeValue.java
+++ b/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestNodeValue.java
@@ -728,18 +728,18 @@ public class TestNodeValue extends BaseTest
     
     @Test public void testLang1()
     {
-        Node n1 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("xyz", "en", null) ;
+        Node n1 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("xyz", "en") ;
         NodeValue nv1 = NodeValue.makeNode(n1) ;
-        Node n2 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("xyz", "en", null) ;
+        Node n2 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("xyz", "en") ;
         NodeValue nv2 = NodeValue.makeNode(n2) ;
         assertTrue(NodeValue.sameAs(nv1, nv2)) ;
     }
     
     @Test public void testLang2()
     {
-        Node n1 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("xyz", "en", null) ;
+        Node n1 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("xyz", "en") ;
         NodeValue nv1 = NodeValue.makeNode(n1) ;
-        Node n2 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("xyz", "EN", null) ;
+        Node n2 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("xyz", "EN") ;
         NodeValue nv2 = NodeValue.makeNode(n2) ;
         assertTrue(NodeValue.sameAs(nv1, nv2)) ;
         assertFalse(nv1.equals(nv2)) ;
@@ -747,18 +747,18 @@ public class TestNodeValue extends BaseTest
 
     @Test public void testLang3()
     {
-        Node n1 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("xyz", "en", null) ;
+        Node n1 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("xyz", "en") ;
         NodeValue nv1 = NodeValue.makeNode(n1) ;
-        Node n2 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("xyz", "en", null) ;
+        Node n2 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("xyz", "en") ;
         NodeValue nv2 = NodeValue.makeNode(n2) ;
         assertFalse(NodeValue.notSameAs(nv1, nv2)) ;
     }
     
     @Test public void testLang4()
     {
-        Node n1 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("xyz", "en", null) ;
+        Node n1 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("xyz", "en") ;
         NodeValue nv1 = NodeValue.makeNode(n1) ;
-        Node n2 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("xyz", "EN", null) ;
+        Node n2 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("xyz", "EN") ;
         NodeValue nv2 = NodeValue.makeNode(n2) ;
         assertFalse(NodeValue.notSameAs(nv1, nv2)) ;
         assertFalse(nv1.equals(nv2)) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestOrdering.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestOrdering.java b/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestOrdering.java
index 6869b94..46562a9 100644
--- a/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestOrdering.java
+++ b/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestOrdering.java
@@ -127,47 +127,47 @@ public class TestOrdering extends BaseTest
     
     @Test public void test_xsd_string1()
     {
-        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "", null)) ;
-        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "", XSDDatatype.XSDstring)) ;
+        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("abc")) ;
+        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("abc", XSDDatatype.XSDstring)) ;
         int x = NodeValue.compare(nv1, nv2) ;
         assertTrue(Expr.CMP_EQUAL == x ) ;
     }
     
     @Test public void test_xsd_string2()
     {
-        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("xyz", "", null)) ;
-        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "", XSDDatatype.XSDstring)) ;
+        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("xyz")) ;
+        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("abc", XSDDatatype.XSDstring)) ;
         int x = NodeValue.compare(nv1, nv2) ;
         assertTrue(Expr.CMP_GREATER == x ) ;
     }
 
     @Test public void test_xsd_string3()
     {
-        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("xyz", "", XSDDatatype.XSDstring)) ;
-        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "", null)) ;
+        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("xyz", XSDDatatype.XSDstring)) ;
+        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("abc")) ;
         int x = NodeValue.compare(nv1, nv2) ;
         assertTrue(Expr.CMP_GREATER == x ) ;
     }
 
     @Test public void test_xsd_string4()
     {
-        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "", null)) ;
-        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("xyz", "", XSDDatatype.XSDstring)) ;
+        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("abc")) ;
+        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("xyz", XSDDatatype.XSDstring)) ;
         int x = NodeValue.compare(nv1, nv2) ;
         assertTrue(Expr.CMP_LESS == x ) ;
     }
 
     @Test public void test_xsd_string5()
     {
-        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "", XSDDatatype.XSDstring)) ;
-        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("xyz", "", null)) ;
+        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("abc", XSDDatatype.XSDstring)) ;
+        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("xyz")) ;
         int x = NodeValue.compare(nv1, nv2) ;
         assertTrue(Expr.CMP_LESS == x ) ;
     }
     @Test public void test_lang1()
     {
-        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "en", null)) ;
-        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "", null)) ;
+        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "en")) ;
+        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("abc")) ;
         
         int x = NodeUtils.compareRDFTerms(nv1.asNode() , nv2.asNode()) ;
         assertTrue("Lang tags should sort after plain literal", Expr.CMP_GREATER == x ) ;
@@ -175,8 +175,8 @@ public class TestOrdering extends BaseTest
 
     @Test public void test_lang2()
     {
-        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "en", null)) ;
-        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "EN", null)) ;
+        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "en")) ;
+        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "EN")) ;
         
         int x = NodeUtils.compareRDFTerms(nv1.asNode() , nv2.asNode()) ;
         assertTrue("Lang tags should sort by case", Expr.CMP_GREATER == x ) ;
@@ -184,8 +184,8 @@ public class TestOrdering extends BaseTest
 
     @Test public void test_lang3()
     {
-        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("ABC", "en", null)) ;
-        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "EN", null)) ;
+        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("ABC", "en")) ;
+        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "EN")) ;
         
         int x = NodeValue.compareAlways(nv1, nv2) ;
         assertTrue("Lang nodes should sort by lexical if tags value-same", Expr.CMP_LESS == x ) ;
@@ -195,8 +195,8 @@ public class TestOrdering extends BaseTest
 
     @Test public void test_lang4()
     {
-        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("ABC", "en", null)) ;
-        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "en", null)) ;
+        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("ABC", "en")) ;
+        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "en")) ;
         
         int x = NodeValue.compareAlways(nv1, nv2) ;
         assertTrue("Lang nodes should sort by lexical if tags the same", Expr.CMP_LESS == x ) ;
@@ -206,8 +206,8 @@ public class TestOrdering extends BaseTest
     
     @Test public void test_lang5()
     {
-        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "", null)) ;
-        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("xyz", "en", null)) ;
+        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("abc")) ;
+        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("xyz", "en")) ;
         
         int x = NodeValue.compareAlways(nv1, nv2) ;
         assertTrue("Lang nodes should sort by lexical form if one is plain", Expr.CMP_LESS == x ) ;
@@ -217,8 +217,8 @@ public class TestOrdering extends BaseTest
 
     @Test public void test_lang6()
     {
-        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("xyz", "", null)) ;
-        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "en", null)) ;
+        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("xyz")) ;
+        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "en")) ;
         
         int x = NodeValue.compareAlways(nv1, nv2) ;
         assertTrue("Lang nodes should sort by lexical form if one is plain", Expr.CMP_GREATER == x ) ;
@@ -228,8 +228,8 @@ public class TestOrdering extends BaseTest
     
     @Test public void test_lang7()
     {
-        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "",  XSDDatatype.XSDstring)) ;
-        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("xyz", "en", null)) ;
+        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("abc",  XSDDatatype.XSDstring)) ;
+        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("xyz", "en")) ;
         
         int x = NodeValue.compareAlways(nv1, nv2) ;
         assertTrue("Lang nodes should sort by lexical form if other is XSD string", Expr.CMP_LESS == x ) ;
@@ -239,8 +239,8 @@ public class TestOrdering extends BaseTest
     
     @Test public void test_lang8()
     {
-        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("xyz", "",  XSDDatatype.XSDstring)) ;
-        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "en", null)) ;
+        NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("xyz",  XSDDatatype.XSDstring)) ;
+        NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "en")) ;
         
         int x = NodeValue.compareAlways(nv1, nv2) ;
         assertTrue("Lang nodes should sort by lexical form if other is XSD string", Expr.CMP_GREATER == x ) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/test/java/com/hp/hpl/jena/sparql/syntax/TestSSE_Basic.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/com/hp/hpl/jena/sparql/syntax/TestSSE_Basic.java b/jena-arq/src/test/java/com/hp/hpl/jena/sparql/syntax/TestSSE_Basic.java
index a7f38c0..ab0a6d0 100644
--- a/jena-arq/src/test/java/com/hp/hpl/jena/sparql/syntax/TestSSE_Basic.java
+++ b/jena-arq/src/test/java/com/hp/hpl/jena/sparql/syntax/TestSSE_Basic.java
@@ -35,10 +35,10 @@ public class TestSSE_Basic extends TestCase
 {
     // Tests not requiring URI resolution or prefix name handling.
     
-    static Node int1 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("1", null, XSDDatatype.XSDinteger) ;
-    static Node int2 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("2", null, XSDDatatype.XSDinteger) ;
-    static Node int3 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("3", null, XSDDatatype.XSDinteger) ;
-    static Node strLangEN = com.hp.hpl.jena.graph.NodeFactory.createLiteral("xyz", "en", null) ;
+    static Node int1 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("1", XSDDatatype.XSDinteger) ;
+    static Node int2 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("2", XSDDatatype.XSDinteger) ;
+    static Node int3 = com.hp.hpl.jena.graph.NodeFactory.createLiteral("3", XSDDatatype.XSDinteger) ;
+    static Node strLangEN = com.hp.hpl.jena.graph.NodeFactory.createLiteral("xyz", "en") ;
 
     static Node typeLit1 = NodeFactoryExtra.createLiteralNode("123", null, "http://example/type") ;
     

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/test/java/com/hp/hpl/jena/sparql/syntax/TestSSE_Forms.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/com/hp/hpl/jena/sparql/syntax/TestSSE_Forms.java b/jena-arq/src/test/java/com/hp/hpl/jena/sparql/syntax/TestSSE_Forms.java
index 22f6a6d..e446c6f 100644
--- a/jena-arq/src/test/java/com/hp/hpl/jena/sparql/syntax/TestSSE_Forms.java
+++ b/jena-arq/src/test/java/com/hp/hpl/jena/sparql/syntax/TestSSE_Forms.java
@@ -149,7 +149,7 @@ public class TestSSE_Forms extends TestCase
     
     @Test public void testTypedLit_r1()
     { 
-        Node node = NodeFactory.createLiteral("3", null, XSDDatatype.XSDinteger) ; 
+        Node node = NodeFactory.createLiteral("3", XSDDatatype.XSDinteger) ; 
         testItem("'3'^^xsd:integer", Item.createNode(node)) ;
     }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/test/java/com/hp/hpl/jena/sparql/util/TestList.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/com/hp/hpl/jena/sparql/util/TestList.java b/jena-arq/src/test/java/com/hp/hpl/jena/sparql/util/TestList.java
index 297ab61..90a5109 100644
--- a/jena-arq/src/test/java/com/hp/hpl/jena/sparql/util/TestList.java
+++ b/jena-arq/src/test/java/com/hp/hpl/jena/sparql/util/TestList.java
@@ -191,12 +191,12 @@ public class TestList extends BaseTest
         return new GNode(graph, t.getObject()) ;
     }
     
-    private static Node node1 = NodeFactory.createLiteral("1", "", XSDDatatype.XSDinteger) ;
-    private static Node node2 = NodeFactory.createLiteral("2", "", XSDDatatype.XSDinteger) ;
-    private static Node node3 = NodeFactory.createLiteral("3", "", XSDDatatype.XSDinteger) ;
-    private static Node node4 = NodeFactory.createLiteral("4", "", XSDDatatype.XSDinteger) ;
+    private static Node node1 = NodeFactory.createLiteral("1", XSDDatatype.XSDinteger) ;
+    private static Node node2 = NodeFactory.createLiteral("2", XSDDatatype.XSDinteger) ;
+    private static Node node3 = NodeFactory.createLiteral("3", XSDDatatype.XSDinteger) ;
+    private static Node node4 = NodeFactory.createLiteral("4", XSDDatatype.XSDinteger) ;
     
-    private static Node node0 = NodeFactory.createLiteral("0", "", XSDDatatype.XSDinteger) ;
+    private static Node node0 = NodeFactory.createLiteral("0", XSDDatatype.XSDinteger) ;
     
     private static Node r = NodeFactory.createURI("http://example/r") ;
     private static Node p = NodeFactory.createURI("http://example/p") ;

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/test/java/org/apache/jena/atlas/data/TestDistinctDataBag.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/atlas/data/TestDistinctDataBag.java b/jena-arq/src/test/java/org/apache/jena/atlas/data/TestDistinctDataBag.java
index 38d29c1..6d00176 100644
--- a/jena-arq/src/test/java/org/apache/jena/atlas/data/TestDistinctDataBag.java
+++ b/jena-arq/src/test/java/org/apache/jena/atlas/data/TestDistinctDataBag.java
@@ -174,7 +174,7 @@ public class TestDistinctDataBag extends TestCase
         binding.add(vars[5], NodeFactory.createURI(randomURI()));
         binding.add(vars[6], NodeFactory.createURI(randomURI()));
         binding.add(vars[7], NodeFactory.createLiteral(randomString(5)));
-        binding.add(vars[8], NodeFactory.createLiteral("" + random.nextInt(), null, XSDDatatype.XSDinteger));
+        binding.add(vars[8], NodeFactory.createLiteral("" + random.nextInt(), XSDDatatype.XSDinteger));
         binding.add(vars[9], NodeFactory.createAnon());
         return binding;
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/test/java/org/apache/jena/atlas/data/TestDistinctDataNet.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/atlas/data/TestDistinctDataNet.java b/jena-arq/src/test/java/org/apache/jena/atlas/data/TestDistinctDataNet.java
index 33e5f29..1d8386d 100644
--- a/jena-arq/src/test/java/org/apache/jena/atlas/data/TestDistinctDataNet.java
+++ b/jena-arq/src/test/java/org/apache/jena/atlas/data/TestDistinctDataNet.java
@@ -277,7 +277,7 @@ public class TestDistinctDataNet extends TestCase
         binding.add(vars[5], NodeFactory.createURI(randomURI()));
         binding.add(vars[6], NodeFactory.createURI(randomURI()));
         binding.add(vars[7], NodeFactory.createLiteral(randomString(5)));
-        binding.add(vars[8], NodeFactory.createLiteral("" + random.nextInt(), null, XSDDatatype.XSDinteger));
+        binding.add(vars[8], NodeFactory.createLiteral("" + random.nextInt(), XSDDatatype.XSDinteger));
         binding.add(vars[9], NodeFactory.createAnon());
         return binding;
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-arq/src/test/java/org/apache/jena/atlas/data/TestSortedDataBag.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/atlas/data/TestSortedDataBag.java b/jena-arq/src/test/java/org/apache/jena/atlas/data/TestSortedDataBag.java
index 9041501..7c8d0a0 100644
--- a/jena-arq/src/test/java/org/apache/jena/atlas/data/TestSortedDataBag.java
+++ b/jena-arq/src/test/java/org/apache/jena/atlas/data/TestSortedDataBag.java
@@ -195,7 +195,7 @@ public class TestSortedDataBag extends TestCase
         binding.add(vars[5], NodeFactory.createURI(randomURI()));
         binding.add(vars[6], NodeFactory.createURI(randomURI()));
         binding.add(vars[7], NodeFactory.createLiteral(randomString(5)));
-        binding.add(vars[8], NodeFactory.createLiteral("" + random.nextInt(), null, XSDDatatype.XSDinteger));
+        binding.add(vars[8], NodeFactory.createLiteral("" + random.nextInt(), XSDDatatype.XSDinteger));
         binding.add(vars[9], NodeFactory.createAnon());
         return binding;
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-core/src/main/java/com/hp/hpl/jena/graph/NodeFactory.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/com/hp/hpl/jena/graph/NodeFactory.java b/jena-core/src/main/java/com/hp/hpl/jena/graph/NodeFactory.java
index 59f3b2e..e13d58d 100644
--- a/jena-core/src/main/java/com/hp/hpl/jena/graph/NodeFactory.java
+++ b/jena-core/src/main/java/com/hp/hpl/jena/graph/NodeFactory.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package com.hp.hpl.jena.graph;
+package com.hp.hpl.jena.graph ;
 
 import com.hp.hpl.jena.datatypes.DatatypeFormatException ;
 import com.hp.hpl.jena.datatypes.RDFDatatype ;
@@ -25,95 +25,113 @@ import com.hp.hpl.jena.graph.impl.LiteralLabel ;
 import com.hp.hpl.jena.graph.impl.LiteralLabelFactory ;
 import com.hp.hpl.jena.rdf.model.AnonId ;
 
-public class NodeFactory
-{
+public class NodeFactory {
 
-    public static RDFDatatype getType( String s )
-    { return TypeMapper.getInstance().getSafeTypeByName( s ); }
+    public static RDFDatatype getType(String s) {
+        return TypeMapper.getInstance().getSafeTypeByName(s) ;
+    }
 
-    /** make a blank node with a fresh anon id */ 
-    public static Node createAnon()
-        { return createAnon( AnonId.create() ); }
+    /** make a blank node with a fresh anon id */
+    public static Node createAnon() {
+        return createAnon(AnonId.create()) ;
+    }
 
     /** make a blank node with the specified label */
-    public static Node createAnon( AnonId id )
-        { return Node.create( Node.makeAnon, id ); }
+    public static Node createAnon(AnonId id) {
+        return Node.create(Node.makeAnon, id) ;
+    }
 
     /** make a literal node with the specified literal value */
-    public static Node createLiteral( LiteralLabel lit )
-        { return Node.create( Node.makeLiteral, lit ); }
+    public static Node createLiteral(LiteralLabel lit) {
+        return Node.create(Node.makeLiteral, lit) ;
+    }
 
     /** make a URI node with the specified URIref string */
-    public static Node createURI( String uri )
-        { return Node.create( Node.makeURI, uri ); }
+    public static Node createURI(String uri) {
+        return Node.create(Node.makeURI, uri) ;
+    }
 
     /** make a variable node with a given name */
-    public static Node createVariable( String name )
-        { return Node.create( Node.makeVariable, Node_Variable.variable( name ) ); }
-
-    public static Node createLiteral( String value )
-    { return createLiteral( value, "", false ); }
-
-    /** make a literal with specified language and XMLishness.
-        lexical form must not be null.
-        @param lex 
-        @param lang
-        @param isXml If true then lit is exclusive canonical XML of type 
-            rdf:XMLLiteral, and no checking will be invoked.
-    */
-    public static Node createLiteral( String lex, String lang, boolean isXml )
-    {
-        if (lex == null) throw new NullPointerException( "null lexical form for literal" );
-        return createLiteral( LiteralLabelFactory.create( lex, lang, isXml ) ); 
+    public static Node createVariable(String name) {
+        return Node.create(Node.makeVariable, Node_Variable.variable(name)) ;
     }
 
-    /** Make a literal with specified language.
-        lexical form must not be null.
-        @param lex 
-        @param lang
+    public static Node createLiteral(String value) {
+        return createLiteral(value, "", false) ;
+    }
+
+    /**
+     * make a literal with specified language and XMLishness. lexical form must
+     * not be null.
+     * 
+     * @param lex
+     * @param lang
+     * @param isXml
+     *            If true then lit is exclusive canonical XML of type
+     *            rdf:XMLLiteral, and no checking will be invoked.
      */
-    public static Node createLiteral( String lex, String lang)
-    {
+    public static Node createLiteral(String lex, String lang, boolean isXml) {
+        if ( lex == null )
+            throw new NullPointerException("null lexical form for literal") ;
+        return createLiteral(LiteralLabelFactory.create(lex, lang, isXml)) ;
+    }
+
+    /**
+     * Make a literal with specified language. lexical form must not be null.
+     * 
+     * @param lex
+     *            the lexical form of the literal
+     * @param lang
+     *            the optional language tag
+     */
+    public static Node createLiteral(String lex, String lang) {
         // Equivalent to create(lex, lang, false) except the XML flag is
         // hidden so client code does not see it unnecesarily.
-        if (lex == null) throw new NullPointerException( "null lexical form for literal" );
-        return createLiteral( LiteralLabelFactory.create( lex, lang) ); 
+        if ( lex == null )
+            throw new NullPointerException("null lexical form for literal") ;
+        return createLiteral(LiteralLabelFactory.create(lex, lang)) ;
     }
 
     /**
-     * Build a literal node from its lexical form. The
-     * lexical form will be parsed now and the value stored. If
-     * the form is not legal this will throw an exception.
+     * Build a literal node from its lexical form. The lexical form will be
+     * parsed now and the value stored. If the form is not legal this will throw
+     * an exception.
      * 
-     * @param lex the lexical form of the literal
-     * @param lang the optional language tag
-     * @param dtype the type of the literal, null for old style "plain" literals
-     * @throws DatatypeFormatException if lex is not a legal form of dtype
+     * @param lex
+     *            the lexical form of the literal
+     * @param lang
+     *            the optional language tag
+     * @param dtype
+     *            the type of the literal
+     * @throws DatatypeFormatException
+     *             if lex is not a legal form of dtype
      */
-    public static Node createLiteral( String lex, String lang, RDFDatatype dtype ) 
-        throws DatatypeFormatException 
-        { return createLiteral( LiteralLabelFactory.createLiteralLabel( lex, lang, dtype ) ); }
+    public static Node createLiteral(String lex, String lang, RDFDatatype dtype) throws DatatypeFormatException {
+        return createLiteral(LiteralLabelFactory.createLiteralLabel(lex, lang, dtype)) ;
+    }
 
     /**
-     * Build a typed literal node from its lexical form. The
-     * lexical form will be parsed now and the value stored. If
-     * the form is not legal this will throw an exception.
+     * Build a typed literal node from its lexical form. The lexical form will
+     * be parsed now and the value stored. If the form is not legal this will
+     * throw an exception.
      * 
-     * @param lex the lexical form of the literal
-     * @param dtype the type of the literal, null for old style "plain" literals
-     * @throws DatatypeFormatException if lex is not a legal form of dtype
+     * @param lex
+     *            the lexical form of the literal
+     * @param dtype
+     *            the type of the literal
+     * @throws DatatypeFormatException
+     *             if lex is not a legal form of dtype
      */
-    public static Node createLiteral( String lex, RDFDatatype dtype ) 
-        throws DatatypeFormatException 
-        { return createLiteral( LiteralLabelFactory.createLiteralLabel( lex, "", dtype ) ); }
+    public static Node createLiteral(String lex, RDFDatatype dtype) throws DatatypeFormatException {
+        return createLiteral(LiteralLabelFactory.create(lex, dtype)) ;
+    }
 
-    public static Node createUncachedLiteral( Object value, String lang, RDFDatatype dtype ) 
-    throws DatatypeFormatException 
-    { return new Node_Literal( LiteralLabelFactory.create( value, lang, dtype ) ); }
+    public static Node createUncachedLiteral(Object value, String lang, RDFDatatype dtype) throws DatatypeFormatException {
+        return new Node_Literal(LiteralLabelFactory.create(value, lang, dtype)) ;
+    }
 
-    public static Node createUncachedLiteral( Object value, RDFDatatype dtype ) 
-    throws DatatypeFormatException 
-    { return new Node_Literal( LiteralLabelFactory.create( value, "", dtype ) ); }
+    public static Node createUncachedLiteral(Object value, RDFDatatype dtype) throws DatatypeFormatException {
+        return new Node_Literal(LiteralLabelFactory.create(value, "", dtype)) ;
+    }
 
 }
-

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-core/src/main/java/com/hp/hpl/jena/graph/impl/CollectionGraph.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/com/hp/hpl/jena/graph/impl/CollectionGraph.java b/jena-core/src/main/java/com/hp/hpl/jena/graph/impl/CollectionGraph.java
index df9b53f..21f7f9f 100644
--- a/jena-core/src/main/java/com/hp/hpl/jena/graph/impl/CollectionGraph.java
+++ b/jena-core/src/main/java/com/hp/hpl/jena/graph/impl/CollectionGraph.java
@@ -108,9 +108,7 @@ public class CollectionGraph extends GraphBase
         {
             String lang = node.getLiteralLanguage() ;
             if ( lang != null && ! lang.equals("") )
-                node = NodeFactory.createLiteral(node.getLiteralLexicalForm(),
-                                          lang.toLowerCase(Locale.ROOT),
-                                          node.getLiteralDatatype()) ;
+                node = NodeFactory.createLiteral(node.getLiteralLexicalForm(), lang.toLowerCase(Locale.ROOT)) ;
         }
         return node ; 
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-core/src/main/java/com/hp/hpl/jena/graph/impl/LiteralLabelFactory.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/com/hp/hpl/jena/graph/impl/LiteralLabelFactory.java b/jena-core/src/main/java/com/hp/hpl/jena/graph/impl/LiteralLabelFactory.java
index 97dfbf0..bfd5021 100644
--- a/jena-core/src/main/java/com/hp/hpl/jena/graph/impl/LiteralLabelFactory.java
+++ b/jena-core/src/main/java/com/hp/hpl/jena/graph/impl/LiteralLabelFactory.java
@@ -27,6 +27,14 @@ import com.hp.hpl.jena.vocabulary.RDF ;
 
 public class LiteralLabelFactory
 {
+    // This code works for RDF 1.0 and RDF 1.1
+    //
+    // In RDF 1.0, "abc" has no datatype and is a different term to "abc"^^xsd:string
+    // In RDF 1.0, "abc"@en has no datatype.
+    //
+    // In RDF 1.1, "abc" has no datatype xsd:string and is the same term as "abc"^^xsd:string
+    // In RDF 1.1, "abc"@en has datatype rdf:langString.
+    
     private static final RDFDatatype dtSLangString = NodeFactory.getType(RDF.Nodes.langString.getURI()) ;
     
     private static RDFDatatype fixDatatype(RDFDatatype dtype, String lang) {
@@ -37,19 +45,27 @@ public class LiteralLabelFactory
         return dtype ;
     }
     
+    /** Create a literal with a dataype. */ 
+    public static LiteralLabel create( String lex, RDFDatatype dtype) {
+        return new LiteralLabelImpl( lex, "", dtype );
+    }
+
+    /** Using {@linkplain #create(String, String)} or {@linkplain #create(String, RDFDatatype)}
+     * where possible is preferred.
+     */
     public static LiteralLabel createLiteralLabel( String lex, String lang, RDFDatatype dtype ) 
-    throws DatatypeFormatException
+        throws DatatypeFormatException
     { 
         dtype = fixDatatype(dtype, lang) ;
         return new LiteralLabelImpl( lex, lang, dtype ); }
 
     /**
-     * Build a plain literal label from its lexical form. 
+     * Build a plain literal label from its lexical form and language tag.
      * @param lex the lexical form of the literal
      * @param lang the optional language tag, only relevant for plain literals
      */
     public static LiteralLabel create(String lex, String lang) {
-        RDFDatatype dt =  fixDatatype(null, lang) ;
+        RDFDatatype dt = fixDatatype(null, lang) ;
         return new LiteralLabelImpl(lex, lang, dt);
     }
 
@@ -74,7 +90,7 @@ public class LiteralLabelFactory
      */
     public static LiteralLabel create(Object value) {
         if ( value instanceof String )
-            create((String)value, null) ;
+            create((String)value, (RDFDatatype)null) ;
         return new LiteralLabelImpl(value) ;
     }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/ResourceFactory.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/ResourceFactory.java b/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/ResourceFactory.java
index 5f393ad..b2299c6 100644
--- a/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/ResourceFactory.java
+++ b/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/ResourceFactory.java
@@ -276,7 +276,7 @@ public class ResourceFactory {
         @Override
         public Literal createTypedLiteral( String string , RDFDatatype dType)
         {
-            return new LiteralImpl(NodeFactory.createLiteral(string, "", dType), null) ;
+            return new LiteralImpl(NodeFactory.createLiteral(string, dType), null) ;
         }
 
         @Override

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/impl/ModelCom.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/impl/ModelCom.java b/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/impl/ModelCom.java
index d59edbc..717c63c 100644
--- a/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/impl/ModelCom.java
+++ b/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/impl/ModelCom.java
@@ -173,7 +173,7 @@ implements Model, PrefixMapping, Lock
     { return new LiteralImpl( NodeFactory.createLiteral( s, lang, wellFormed), this ); }
 
     private Literal literal( String lex, RDFDatatype datatype)
-    { return new LiteralImpl( NodeFactory.createLiteral( lex, "", datatype), this ); }
+    { return new LiteralImpl( NodeFactory.createLiteral( lex, datatype), this ); }
 
     @Override
     public Model add( Resource s, Property p, String o, String l )
@@ -708,7 +708,7 @@ implements Model, PrefixMapping, Lock
     @Override
     public Literal createTypedLiteral(String lex, RDFDatatype dtype) 
         throws DatatypeFormatException {
-        return new LiteralImpl( NodeFactory.createLiteral( lex, "", dtype ), this);
+        return new LiteralImpl( NodeFactory.createLiteral( lex, dtype ), this);
     }
 
     /**
@@ -735,7 +735,7 @@ implements Model, PrefixMapping, Lock
     @Override
     public Literal createTypedLiteral(String lex, String typeURI)  {
         RDFDatatype dt = TypeMapper.getInstance().getSafeTypeByName(typeURI);
-        LiteralLabel ll = LiteralLabelFactory.createLiteralLabel( lex, "", dt );
+        LiteralLabel ll = LiteralLabelFactory.create( lex, dt );
         return new LiteralImpl( NodeFactory.createLiteral(ll), this );
     }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-core/src/main/java/com/hp/hpl/jena/rdfxml/xmlinput/JenaReader.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/com/hp/hpl/jena/rdfxml/xmlinput/JenaReader.java b/jena-core/src/main/java/com/hp/hpl/jena/rdfxml/xmlinput/JenaReader.java
index 725bb8d..c8a8b77 100644
--- a/jena-core/src/main/java/com/hp/hpl/jena/rdfxml/xmlinput/JenaReader.java
+++ b/jena-core/src/main/java/com/hp/hpl/jena/rdfxml/xmlinput/JenaReader.java
@@ -113,7 +113,7 @@ public class JenaReader implements RDFReader, ARPErrorNumbers {
         }
 
         RDFDatatype dt = TypeMapper.getInstance().getSafeTypeByName(dtURI);
-        return NodeFactory.createLiteral(lit.toString(), null, dt);
+        return NodeFactory.createLiteral(lit.toString(), dt);
 
     }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-core/src/main/java/com/hp/hpl/jena/reasoner/rulesys/Rule.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/com/hp/hpl/jena/reasoner/rulesys/Rule.java b/jena-core/src/main/java/com/hp/hpl/jena/reasoner/rulesys/Rule.java
index 4f9814a..cb86eed 100755
--- a/jena-core/src/main/java/com/hp/hpl/jena/reasoner/rulesys/Rule.java
+++ b/jena-core/src/main/java/com/hp/hpl/jena/reasoner/rulesys/Rule.java
@@ -894,7 +894,7 @@ public class Rule implements ClauseEntry {
                         }
                     } 
                     RDFDatatype dt = TypeMapper.getInstance().getSafeTypeByName(dtURI);
-                    return NodeFactory.createLiteral(lit, "", dt);
+                    return NodeFactory.createLiteral(lit, dt);
                 } else {
                     return NodeFactory.createLiteral(lit, "");
                 }                
@@ -918,12 +918,12 @@ public class Rule implements ClauseEntry {
                 if ( lit.contains( "." ) ) {
                     // Float?
                     if (XSDDatatype.XSDfloat.isValid(lit)) {
-                        return NodeFactory.createLiteral(lit, "", XSDDatatype.XSDfloat);
+                        return NodeFactory.createLiteral(lit, XSDDatatype.XSDfloat);
                     }
                 } else {
                     // Int?
                     if (XSDDatatype.XSDint.isValid(lit)) {
-                        return NodeFactory.createLiteral(lit, "", XSDDatatype.XSDint);
+                        return NodeFactory.createLiteral(lit, XSDDatatype.XSDint);
                     }
                 }
             }

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-core/src/test/java/com/hp/hpl/jena/graph/test/NodeCreateUtils.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/com/hp/hpl/jena/graph/test/NodeCreateUtils.java b/jena-core/src/test/java/com/hp/hpl/jena/graph/test/NodeCreateUtils.java
index fb68b82..af8de31 100644
--- a/jena-core/src/test/java/com/hp/hpl/jena/graph/test/NodeCreateUtils.java
+++ b/jena-core/src/test/java/com/hp/hpl/jena/graph/test/NodeCreateUtils.java
@@ -81,7 +81,7 @@ public class NodeCreateUtils
         if (first == '\'' || first == '\"')
             return NodeFactory.createLiteral( newString( pm, first, x ) );
         if (Character.isDigit( first )) 
-            return NodeFactory.createLiteral( x, "", XSDDatatype.XSDinteger );
+            return NodeFactory.createLiteral( x, XSDDatatype.XSDinteger );
         if (first == '_')
             return NodeFactory.createAnon( new AnonId( x ) );
         if (x.equals( "??" ))
@@ -135,7 +135,7 @@ public class NodeCreateUtils
         int colon = langOrType.indexOf( ':' );
         return colon < 0 
             ? LiteralLabelFactory.create( content, langOrType, false )
-            : LiteralLabelFactory.createLiteralLabel( content, "", NodeFactory.getType( pm.expandPrefix( langOrType ) ) )
+            : LiteralLabelFactory.create( content, NodeFactory.getType( pm.expandPrefix( langOrType ) ) )
             ;
         }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-core/src/test/java/com/hp/hpl/jena/graph/test/TestLiteralLabels.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/com/hp/hpl/jena/graph/test/TestLiteralLabels.java b/jena-core/src/test/java/com/hp/hpl/jena/graph/test/TestLiteralLabels.java
index 3143c37..7de1a82 100644
--- a/jena-core/src/test/java/com/hp/hpl/jena/graph/test/TestLiteralLabels.java
+++ b/jena-core/src/test/java/com/hp/hpl/jena/graph/test/TestLiteralLabels.java
@@ -18,11 +18,13 @@
 
 package com.hp.hpl.jena.graph.test;
 
-import com.hp.hpl.jena.datatypes.*;
-import com.hp.hpl.jena.graph.impl.LiteralLabel;
-import com.hp.hpl.jena.graph.impl.LiteralLabelFactory;
+import junit.framework.Test ;
+import junit.framework.TestSuite ;
 
-import junit.framework.*;
+import com.hp.hpl.jena.datatypes.BaseDatatype ;
+import com.hp.hpl.jena.datatypes.RDFDatatype ;
+import com.hp.hpl.jena.graph.impl.LiteralLabel ;
+import com.hp.hpl.jena.graph.impl.LiteralLabelFactory ;
 
 public class TestLiteralLabels extends GraphTestBase
 {

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-core/src/test/java/com/hp/hpl/jena/graph/test/TestNode.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/com/hp/hpl/jena/graph/test/TestNode.java b/jena-core/src/test/java/com/hp/hpl/jena/graph/test/TestNode.java
index cf08efb..7b16ba4 100644
--- a/jena-core/src/test/java/com/hp/hpl/jena/graph/test/TestNode.java
+++ b/jena-core/src/test/java/com/hp/hpl/jena/graph/test/TestNode.java
@@ -578,8 +578,8 @@ public class TestNode extends GraphTestBase
         TypeMapper tm = TypeMapper.getInstance();
         RDFDatatype dt1 = tm.getTypeByValue( new Integer( 10 ) );
         RDFDatatype dt2 = tm.getTypeByValue( new Short( (short) 10 ) );
-        Node a = NodeFactory.createLiteral( "10", "", dt1 );
-        Node b = NodeFactory.createLiteral( "10", "", dt2 );
+        Node a = NodeFactory.createLiteral( "10", dt1 );
+        Node b = NodeFactory.createLiteral( "10", dt2 );
         assertDiffer( "types must make a difference", a, b );
         assertTrue( "A and B must express the same value", a.sameValueAs( b ) );
         assertTrue( "matching literals must respect sameValueAs", a.matches( b ) );
@@ -591,7 +591,7 @@ public class TestNode extends GraphTestBase
         RDFDatatype dtInt = tm.getTypeByValue( new Integer( 10 ) );
         Node plain = NodeFactory.createLiteral( "rhubarb", "");    
         Node english = NodeFactory.createLiteral( "eccentric", "en_UK");
-        Node typed = NodeFactory.createLiteral( "10", "", dtInt );
+        Node typed = NodeFactory.createLiteral( "10", dtInt );
         assertEquals( "\"rhubarb\"", plain.toString() );
         assertEquals( "rhubarb", plain.toString( false ) );
         assertEquals( "\"eccentric\"@en_UK", english.toString() );

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-core/src/test/java/com/hp/hpl/jena/graph/test/TestTypedLiterals.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/com/hp/hpl/jena/graph/test/TestTypedLiterals.java b/jena-core/src/test/java/com/hp/hpl/jena/graph/test/TestTypedLiterals.java
index ca917d8..9b99d48 100644
--- a/jena-core/src/test/java/com/hp/hpl/jena/graph/test/TestTypedLiterals.java
+++ b/jena-core/src/test/java/com/hp/hpl/jena/graph/test/TestTypedLiterals.java
@@ -511,8 +511,8 @@ public class TestTypedLiterals extends TestCase {
         RDFDatatype dt = XSDDatatype.XSDdecimal;
         Node ns = NodeFactory.createURI("x") ;
         Node np = NodeFactory.createURI("p") ;
-        Node nx1 = NodeFactory.createLiteral("0.50", null, dt) ;
-        Node nx2 = NodeFactory.createLiteral("0.500", null, dt) ;
+        Node nx1 = NodeFactory.createLiteral("0.50", dt) ;
+        Node nx2 = NodeFactory.createLiteral("0.500", dt) ;
         Graph graph = Factory.createDefaultGraph() ;
         graph.add(new Triple(ns, np, nx1)) ;
         assertTrue( graph.find(Node.ANY, Node.ANY, nx2).hasNext() );  
@@ -963,8 +963,8 @@ public class TestTypedLiterals extends TestCase {
     
     /** Test that XSD anyURI is not sameValueAs XSD string (Xerces returns a string as the value for both) */ 
     public void testXSDanyURI() {
-        Node node1 = NodeFactory.createLiteral("http://example/", null, XSDDatatype.XSDanyURI) ;
-        Node node2 = NodeFactory.createLiteral("http://example/", null, XSDDatatype.XSDstring) ;
+        Node node1 = NodeFactory.createLiteral("http://example/", XSDDatatype.XSDanyURI) ;
+        Node node2 = NodeFactory.createLiteral("http://example/", XSDDatatype.XSDstring) ;
         assertFalse(node1.sameValueAs(node2)) ;
     }
     
@@ -1156,12 +1156,12 @@ public class TestTypedLiterals extends TestCase {
      * Check parse/unparse loop.
      */
     public void doTestRoundTrip(String lex, RDFDatatype dt, boolean testeq) {
-        LiteralLabel ll = LiteralLabelFactory.createLiteralLabel( lex, "", dt );
+        LiteralLabel ll = LiteralLabelFactory.create( lex, dt );
         String lex2 = dt.unparse(ll.getValue());
         if (testeq) {
             assertEquals(lex, lex2);
         }
-        LiteralLabel ll2 = LiteralLabelFactory.createLiteralLabel( lex2, "", dt );
+        LiteralLabel ll2 = LiteralLabelFactory.create( lex2, dt );
         assertTrue( ll2.isWellFormed() );
     }
     

http://git-wip-us.apache.org/repos/asf/jena/blob/d3d43e9c/jena-core/src/test/java/com/hp/hpl/jena/reasoner/rulesys/test/TestComparatorBuiltins.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/com/hp/hpl/jena/reasoner/rulesys/test/TestComparatorBuiltins.java b/jena-core/src/test/java/com/hp/hpl/jena/reasoner/rulesys/test/TestComparatorBuiltins.java
index 2a23b5e..ea80412 100644
--- a/jena-core/src/test/java/com/hp/hpl/jena/reasoner/rulesys/test/TestComparatorBuiltins.java
+++ b/jena-core/src/test/java/com/hp/hpl/jena/reasoner/rulesys/test/TestComparatorBuiltins.java
@@ -59,14 +59,14 @@ public class TestComparatorBuiltins extends TestCase {
         doTestComparator("1.0", "1.1", XSDDatatype.XSDfloat);
         doTestComparator("1.0", "1.1", XSDDatatype.XSDdouble);
         doTestComparator(
-                NodeFactory.createLiteral("1.0", "", XSDDatatype.XSDfloat),
-                NodeFactory.createLiteral("1.1", "", XSDDatatype.XSDdouble) );
+                NodeFactory.createLiteral("1.0", XSDDatatype.XSDfloat),
+                NodeFactory.createLiteral("1.1", XSDDatatype.XSDdouble) );
         doTestComparator(
-                NodeFactory.createLiteral("1", "", XSDDatatype.XSDint),
-                NodeFactory.createLiteral("2", "", XSDDatatype.XSDinteger) );
+                NodeFactory.createLiteral("1", XSDDatatype.XSDint),
+                NodeFactory.createLiteral("2", XSDDatatype.XSDinteger) );
         doTestComparator(
-                NodeFactory.createLiteral("1", "", XSDDatatype.XSDint),
-                NodeFactory.createLiteral("2", "", XSDDatatype.XSDlong) );
+                NodeFactory.createLiteral("1", XSDDatatype.XSDint),
+                NodeFactory.createLiteral("2", XSDDatatype.XSDlong) );
     }
     
     public void testComparatorTime() {
@@ -77,8 +77,8 @@ public class TestComparatorBuiltins extends TestCase {
     }
     
     public void doTestComparator(String lLow, String lHigh, RDFDatatype type) {
-        Node nl = NodeFactory.createLiteral(lLow, "", type);
-        Node nh = NodeFactory.createLiteral(lHigh, "", type);
+        Node nl = NodeFactory.createLiteral(lLow, type);
+        Node nh = NodeFactory.createLiteral(lHigh, type);
         doTestComparator(nl, nh);
         
         doTestBuiltins(nl, nh);
@@ -91,8 +91,8 @@ public class TestComparatorBuiltins extends TestCase {
     }
 
     public void doTestBuiltins(String lLow, String lHigh, RDFDatatype type) {
-        Node nl = NodeFactory.createLiteral(lLow, "", type);
-        Node nh = NodeFactory.createLiteral(lHigh, "", type);
+        Node nl = NodeFactory.createLiteral(lLow, type);
+        Node nh = NodeFactory.createLiteral(lHigh, type);
         doTestBuiltins(nl, nh);
     }
     


[3/3] jena git commit: create(String, String) and create(String, Datatype) for literals.

Posted by an...@apache.org.
create(String, String) and create(String, Datatype) for literals.


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/e97b0dd6
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/e97b0dd6
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/e97b0dd6

Branch: refs/heads/master
Commit: e97b0dd6c22c5d3c6531f4a3ddc40e7333ef6fc8
Parents: d3d43e9
Author: Andy Seaborne <an...@apache.org>
Authored: Sun Nov 23 18:13:35 2014 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun Nov 23 18:13:35 2014 +0000

----------------------------------------------------------------------
 .../main/java/com/hp/hpl/jena/sdb/layout2/SQLBridge2.java | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/e97b0dd6/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/layout2/SQLBridge2.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/layout2/SQLBridge2.java b/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/layout2/SQLBridge2.java
index 66342a8..76ba693 100644
--- a/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/layout2/SQLBridge2.java
+++ b/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/layout2/SQLBridge2.java
@@ -243,16 +243,16 @@ public class SQLBridge2 extends SQLBridgeBase
             case STRING:
                 return NodeFactory.createLiteral(lex, lang) ;
             case XSDSTRING:
-                return NodeFactory.createLiteral(lex, null, XSDDatatype.XSDstring) ;
+                return NodeFactory.createLiteral(lex, XSDDatatype.XSDstring) ;
             case INTEGER:
-                return NodeFactory.createLiteral(lex, null, XSDDatatype.XSDinteger) ;
+                return NodeFactory.createLiteral(lex, XSDDatatype.XSDinteger) ;
             case DOUBLE:
-                return NodeFactory.createLiteral(lex, null, XSDDatatype.XSDdouble) ;
+                return NodeFactory.createLiteral(lex, XSDDatatype.XSDdouble) ;
             case DATETIME:       
-                return NodeFactory.createLiteral(lex, null, XSDDatatype.XSDdateTime) ;
+                return NodeFactory.createLiteral(lex, XSDDatatype.XSDdateTime) ;
             case OTHER:
                 RDFDatatype dt = TypeMapper.getInstance().getSafeTypeByName(datatype);
-                return NodeFactory.createLiteral(lex, null, dt) ;
+                return NodeFactory.createLiteral(lex, dt) ;
             default:
                 log.warn("Unrecognized: ("+lex+", "+lang+", "+vType+")") ;
             return NodeFactory.createLiteral("UNRECOGNIZED") ;