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/12/23 18:59:01 UTC

[05/15] jena git commit: Updates for RDF 1.1

Updates for RDF 1.1


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

Branch: refs/heads/master
Commit: a29b1c9d2d6ca93bf05ad10cb5c7e635f5406cf6
Parents: e0cfdb2
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Dec 23 14:24:07 2014 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Dec 23 14:24:07 2014 +0000

----------------------------------------------------------------------
 .../jena/query/spatial/SpatialIndexContext.java |  9 +++---
 .../jena/query/spatial/SpatialValueUtil.java    | 32 ++++++++++++--------
 .../pfunction/DirectionWithPointPFBase.java     |  4 +--
 .../SpatialOperationWithBoxPFBase.java          |  8 ++---
 .../SpatialOperationWithCircleBase.java         |  6 ++--
 5 files changed, 32 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/a29b1c9d/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialIndexContext.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialIndexContext.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialIndexContext.java
index 42c8b76..c609237 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialIndexContext.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialIndexContext.java
@@ -51,7 +51,7 @@ public class SpatialIndexContext {
 		String x = SpatialQueryFuncs.subjectToString(s) ;
 		Log.info(getClass(), "Subject: "+x) ;
 
-		if (defn.isSpatialPredicate(p) && SpatialValueUtil.isDecimal(o.getLiteral())) {
+		if (defn.isSpatialPredicate(p) && SpatialValueUtil.isDecimal(o)) {
 
 			boolean isLat = defn.isLatitudePredicate(p);
 
@@ -73,11 +73,10 @@ public class SpatialIndexContext {
 					if (theOtherValue != null) {
 						if (isLat) {
 							indexer.add(x, SpatialQuery.ctx.makePoint(
-									theOtherValue, Double.parseDouble(o
-											.getLiteralLexicalForm())));
+									theOtherValue, 
+									Double.parseDouble(o.getLiteralLexicalForm())));
 						} else {
-							indexer.add(x, SpatialQuery.ctx.makePoint(Double
-									.parseDouble(o.getLiteralLexicalForm()),
+							indexer.add(x, SpatialQuery.ctx.makePoint(Double.parseDouble(o.getLiteralLexicalForm()),
 									theOtherValue));
 						}
 						toRemove = pairValue;

http://git-wip-us.apache.org/repos/asf/jena/blob/a29b1c9d/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialValueUtil.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialValueUtil.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialValueUtil.java
index ab3c9d9..ddf246b 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialValueUtil.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialValueUtil.java
@@ -18,22 +18,28 @@
 
 package org.apache.jena.query.spatial;
 
-import com.hp.hpl.jena.datatypes.RDFDatatype;
-import com.hp.hpl.jena.datatypes.xsd.XSDDatatype;
-import com.hp.hpl.jena.graph.impl.LiteralLabel;
+import com.hp.hpl.jena.datatypes.RDFDatatype ;
+import com.hp.hpl.jena.datatypes.xsd.XSDDatatype ;
+import com.hp.hpl.jena.graph.Node ;
+import com.hp.hpl.jena.graph.impl.LiteralLabel ;
+import com.hp.hpl.jena.sparql.util.NodeUtils ;
 
 public class SpatialValueUtil {
 
-	public static boolean isDecimal(LiteralLabel literal) {
-		RDFDatatype dtype = literal.getDatatype();
-		if (dtype == null) {
-			try {
-				Double.parseDouble(literal.getLexicalForm());
-				return true;
-			} catch (NumberFormatException e) {
-				return false;
-			}
-		}
+    /** Does the LiteralLabel look like a decimal? 
+     * (Maybe a string - if so, OK if it parses as a decimal)
+     */
+	public static boolean isDecimal(Node n) {
+	    if ( NodeUtils.isSimpleString(n) || NodeUtils.isLangString(n) ) {
+	        try {
+                Double.parseDouble(n.getLiteralLexicalForm()) ;
+                return true;
+            } catch (NumberFormatException e) {
+                return false;
+            }
+	    }
+	    
+		RDFDatatype dtype = n.getLiteralDatatype();
 		if ((dtype.equals(XSDDatatype.XSDfloat))
 				|| (dtype.equals(XSDDatatype.XSDdecimal))
 				|| (dtype.equals(XSDDatatype.XSDdouble) || (dtype

http://git-wip-us.apache.org/repos/asf/jena/blob/a29b1c9d/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/DirectionWithPointPFBase.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/DirectionWithPointPFBase.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/DirectionWithPointPFBase.java
index 10a69db..0d80e1f 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/DirectionWithPointPFBase.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/DirectionWithPointPFBase.java
@@ -83,7 +83,7 @@ public abstract class DirectionWithPointPFBase extends SpatialOperationPFBase {
 			log.warn("Latitude is not a literal " + list);
 			return null;
 		}
-		if (!SpatialValueUtil.isDecimal(x.getLiteral())) {
+		if (!SpatialValueUtil.isDecimal(x)) {
 			log.warn("Latitude is not a decimal " + list);
 			return null;
 		}
@@ -96,7 +96,7 @@ public abstract class DirectionWithPointPFBase extends SpatialOperationPFBase {
 			log.warn("Longitude is not a literal " + list);
 			return null;
 		}
-		if (!SpatialValueUtil.isDecimal(x.getLiteral())) {
+		if (!SpatialValueUtil.isDecimal(x)) {
 			log.warn("Longitude is not a decimal " + list);
 			return null;
 		}

http://git-wip-us.apache.org/repos/asf/jena/blob/a29b1c9d/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialOperationWithBoxPFBase.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialOperationWithBoxPFBase.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialOperationWithBoxPFBase.java
index 1f24dab..695712e 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialOperationWithBoxPFBase.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialOperationWithBoxPFBase.java
@@ -80,7 +80,7 @@ public abstract class SpatialOperationWithBoxPFBase extends SpatialOperationPFBa
 			log.warn("Latitude 1 is not a literal " + list);
 			return null;
 		}
-		if (!SpatialValueUtil.isDecimal(x.getLiteral())) {
+		if (!SpatialValueUtil.isDecimal(x)) {
 			log.warn("Latitude 1 is not a decimal " + list);
 			return null;
 		}
@@ -93,7 +93,7 @@ public abstract class SpatialOperationWithBoxPFBase extends SpatialOperationPFBa
 			log.warn("Longitude 1 is not a literal " + list);
 			return null;
 		}
-		if (!SpatialValueUtil.isDecimal(x.getLiteral())) {
+		if (!SpatialValueUtil.isDecimal(x)) {
 			log.warn("Longitude 1 is not a decimal " + list);
 			return null;
 		}
@@ -106,7 +106,7 @@ public abstract class SpatialOperationWithBoxPFBase extends SpatialOperationPFBa
 			log.warn("Latitude 2 is not a literal " + list);
 			return null;
 		}
-		if (!SpatialValueUtil.isDecimal(x.getLiteral())) {
+		if (!SpatialValueUtil.isDecimal(x)) {
 			log.warn("Latitude 2 is not a decimal " + list);
 			return null;
 		}
@@ -119,7 +119,7 @@ public abstract class SpatialOperationWithBoxPFBase extends SpatialOperationPFBa
 			log.warn("Longitude 2 is not a literal " + list);
 			return null;
 		}
-		if (!SpatialValueUtil.isDecimal(x.getLiteral())) {
+		if (!SpatialValueUtil.isDecimal(x)) {
 			log.warn("Longitude 2 is not a decimal " + list);
 			return null;
 		}

http://git-wip-us.apache.org/repos/asf/jena/blob/a29b1c9d/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialOperationWithCircleBase.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialOperationWithCircleBase.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialOperationWithCircleBase.java
index 4023ab4..24b809e 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialOperationWithCircleBase.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialOperationWithCircleBase.java
@@ -83,7 +83,7 @@ public abstract class SpatialOperationWithCircleBase extends SpatialOperationPFB
 			log.warn("Latitude is not a literal " + list);
 			return null;
 		}
-		if (!SpatialValueUtil.isDecimal(x.getLiteral())) {
+		if (!SpatialValueUtil.isDecimal(x)) {
 			log.warn("Latitude is not a decimal " + list);
 			return null;
 		}
@@ -96,7 +96,7 @@ public abstract class SpatialOperationWithCircleBase extends SpatialOperationPFB
 			log.warn("Longitude is not a literal " + list);
 			return null;
 		}
-		if (!SpatialValueUtil.isDecimal(x.getLiteral())) {
+		if (!SpatialValueUtil.isDecimal(x)) {
 			log.warn("Longitude is not a decimal " + list);
 			return null;
 		}
@@ -110,7 +110,7 @@ public abstract class SpatialOperationWithCircleBase extends SpatialOperationPFB
 			log.warn("Radius is not a literal " + list);
 			return null;
 		}
-		if (!SpatialValueUtil.isDecimal(x.getLiteral())) {
+		if (!SpatialValueUtil.isDecimal(x)) {
 			log.warn("Radius is not a decimal " + list);
 			return null;
 		}