http://git-wip-us.apache.org/repos/asf/marmotta/blob/52188c0c/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SfOverlapsFunction.java
----------------------------------------------------------------------
diff --git 
a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SfOverlapsFunction.java
 
b/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SfOverlapsFunction.java
index 75443b0..bb2a2dc 100644
--- 
a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SfOverlapsFunction.java
+++ 
b/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SfOverlapsFunction.java
@@ -88,10 +88,17 @@ public class SfOverlapsFunction implements NativeFunction {
                 String geom1 = args[0];
                 String geom2 = args[1];
                 String SRID_default = "4326";
-                if (args[0].contains("POINT") || 
args[0].contains("MULTIPOINT") || args[0].contains("LINESTRING") || 
args[0].contains("MULTILINESTRING") || args[0].contains("POLYGON") || 
args[0].contains("MULTIPOLYGON")) {
+                /*
+                 * The following condition is required to read WKT  inserted 
directly into args[0] or args[1] and create a geometries with SRID
+                 * POINT, MULTIPOINT, LINESTRING ... and MULTIPOLYGON 
conditions: 
+                 *   example: geof:sfOverlaps(?wkt, "POLYGON(( -7 43, -2 43, 
-2 38, -7 38, -7 43))"^^geo:wktLiteral))
+                 * st_AsText condition: It is to use the geometry that is the 
result of another function geosparql.
+                 *   example: geof:sfOverlaps(?wkt, geof:buffer(?wkt2, 50, 
units:meter))
+                 */
+                if (args[0].contains("POINT") || 
args[0].contains("MULTIPOINT") || args[0].contains("LINESTRING") || 
args[0].contains("MULTILINESTRING") || args[0].contains("POLYGON") || 
args[0].contains("MULTIPOLYGON") || args[0].contains("ST_AsText")) {
                     geom1 = String.format("ST_GeomFromText(%s,%s)", args[0], 
SRID_default);
                 }
-                if (args[1].contains("POINT") || 
args[1].contains("MULTIPOINT") || args[1].contains("LINESTRING") || 
args[1].contains("MULTILINESTRING") || args[1].contains("POLYGON") || 
args[1].contains("MULTIPOLYGON")) {
+                if (args[1].contains("POINT") || 
args[1].contains("MULTIPOINT") || args[1].contains("LINESTRING") || 
args[1].contains("MULTILINESTRING") || args[1].contains("POLYGON") || 
args[1].contains("MULTIPOLYGON") || args[1].contains("ST_AsText")) {
                     geom2 = String.format("ST_GeomFromText(%s,%s)", args[1], 
SRID_default);
                 }
                 return String.format("st_Overlaps(%s , %s )", geom1, geom2);

http://git-wip-us.apache.org/repos/asf/marmotta/blob/52188c0c/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SfTouchesFunction.java
----------------------------------------------------------------------
diff --git 
a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SfTouchesFunction.java
 
b/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SfTouchesFunction.java
index 02ecb29..8affc61 100644
--- 
a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SfTouchesFunction.java
+++ 
b/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SfTouchesFunction.java
@@ -88,10 +88,17 @@ public class SfTouchesFunction implements NativeFunction {
                 String geom1 = args[0];
                 String geom2 = args[1];
                 String SRID_default = "4326";
-                if (args[0].contains("POINT") || 
args[0].contains("MULTIPOINT") || args[0].contains("LINESTRING") || 
args[0].contains("MULTILINESTRING") || args[0].contains("POLYGON") || 
args[0].contains("MULTIPOLYGON")) {
+                /*
+                 * The following condition is required to read WKT  inserted 
directly into args[0] or args[1] and create a geometries with SRID
+                 * POINT, MULTIPOINT, LINESTRING ... and MULTIPOLYGON 
conditions: 
+                 *   example: geof:sfTouches(?wkt, "POLYGON(( -7 43, -2 43, -2 
38, -7 38, -7 43))"^^geo:wktLiteral))
+                 * st_AsText condition: It is to use the geometry that is the 
result of another function geosparql.
+                 *   example: geof:sfTouches(?wkt, geof:buffer(?wkt2, 50, 
units:meter))
+                 */
+                if (args[0].contains("POINT") || 
args[0].contains("MULTIPOINT") || args[0].contains("LINESTRING") || 
args[0].contains("MULTILINESTRING") || args[0].contains("POLYGON") || 
args[0].contains("MULTIPOLYGON") || args[0].contains("ST_AsText")) {
                     geom1 = String.format("ST_GeomFromText(%s,%s)", args[0], 
SRID_default);
                 }
-                if (args[1].contains("POINT") || 
args[1].contains("MULTIPOINT") || args[1].contains("LINESTRING") || 
args[1].contains("MULTILINESTRING") || args[1].contains("POLYGON") || 
args[1].contains("MULTIPOLYGON")) {
+                if (args[1].contains("POINT") || 
args[1].contains("MULTIPOINT") || args[1].contains("LINESTRING") || 
args[1].contains("MULTILINESTRING") || args[1].contains("POLYGON") || 
args[1].contains("MULTIPOLYGON") || args[1].contains("ST_AsText")) {
                     geom2 = String.format("ST_GeomFromText(%s,%s)", args[1], 
SRID_default);
                 }
                 return String.format("st_Touches(%s , %s )", geom1, geom2);

http://git-wip-us.apache.org/repos/asf/marmotta/blob/52188c0c/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SfWithinFunction.java
----------------------------------------------------------------------
diff --git 
a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SfWithinFunction.java
 
b/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SfWithinFunction.java
index 9b10054..e6dfae3 100644
--- 
a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SfWithinFunction.java
+++ 
b/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SfWithinFunction.java
@@ -88,10 +88,17 @@ public class SfWithinFunction implements NativeFunction {
                 String geom1 = args[0];
                 String geom2 = args[1];
                 String SRID_default = "4326";
-                if (args[0].contains("POINT") || 
args[0].contains("MULTIPOINT") || args[0].contains("LINESTRING") || 
args[0].contains("MULTILINESTRING") || args[0].contains("POLYGON") || 
args[0].contains("MULTIPOLYGON")) {
+                /*
+                 * The following condition is required to read WKT  inserted 
directly into args[0] or args[1] and create a geometries with SRID
+                 * POINT, MULTIPOINT, LINESTRING ... and MULTIPOLYGON 
conditions: 
+                 *   example: geof:sfWithin(?wkt, "POLYGON(( -7 43, -2 43, -2 
38, -7 38, -7 43))"^^geo:wktLiteral))
+                 * st_AsText condition: It is to use the geometry that is the 
result of another function geosparql.
+                 *   example: geof:sfWithin(?wkt, geof:buffer(?wkt2, 5, 
units:degree))
+                 */
+                if (args[0].contains("POINT") || 
args[0].contains("MULTIPOINT") || args[0].contains("LINESTRING") || 
args[0].contains("MULTILINESTRING") || args[0].contains("POLYGON") || 
args[0].contains("MULTIPOLYGON") || args[0].contains("ST_AsText")) {
                     geom1 = String.format("ST_GeomFromText(%s,%s)", args[0], 
SRID_default);
                 }
-                if (args[1].contains("POINT") || 
args[1].contains("MULTIPOINT") || args[1].contains("LINESTRING") || 
args[1].contains("MULTILINESTRING") || args[1].contains("POLYGON") || 
args[1].contains("MULTIPOLYGON")) {
+                if (args[1].contains("POINT") || 
args[1].contains("MULTIPOINT") || args[1].contains("LINESTRING") || 
args[1].contains("MULTILINESTRING") || args[1].contains("POLYGON") || 
args[1].contains("MULTIPOLYGON") || args[1].contains("ST_AsText")) {
                     geom2 = String.format("ST_GeomFromText(%s,%s)", args[1], 
SRID_default);
                 }
                 return String.format("st_Within(%s,%s)", geom1, geom2);

http://git-wip-us.apache.org/repos/asf/marmotta/blob/52188c0c/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SymDifferenceFunction.java
----------------------------------------------------------------------
diff --git 
a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SymDifferenceFunction.java
 
b/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SymDifferenceFunction.java
index 6b62aa1..c9bc838 100644
--- 
a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SymDifferenceFunction.java
+++ 
b/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/SymDifferenceFunction.java
@@ -88,10 +88,17 @@ public class SymDifferenceFunction implements 
NativeFunction {
                 String geom1 = args[0];
                 String geom2 = args[1];
                 String SRID_default = "4326";
-                if (args[0].contains("POINT") || 
args[0].contains("MULTIPOINT") || args[0].contains("LINESTRING") || 
args[0].contains("MULTILINESTRING") || args[0].contains("POLYGON") || 
args[0].contains("MULTIPOLYGON")) {
+                /*
+                 * The following condition is required to read WKT  inserted 
directly into args[0] or args[1] and create a geometries with SRID
+                 * POINT, MULTIPOINT, LINESTRING ... and MULTIPOLYGON 
conditions: 
+                 *   example: geof:symDifference(?wkt, "POLYGON(( -7 43, -2 
43, -2 38, -7 38, -7 43))"^^geo:wktLiteral))
+                 * st_AsText condition: It is to use the geometry that is the 
result of another function geosparql.
+                 *   example: geof:symDifference(?wkt, geof:buffer(?wkt2, 50, 
units:meter))
+                 */
+                if (args[0].contains("POINT") || 
args[0].contains("MULTIPOINT") || args[0].contains("LINESTRING") || 
args[0].contains("MULTILINESTRING") || args[0].contains("POLYGON") || 
args[0].contains("MULTIPOLYGON") || args[0].contains("ST_AsText")) {
                     geom1 = String.format("ST_GeomFromText(%s,%s)", args[0], 
SRID_default);
                 }
-                if (args[1].contains("POINT") || 
args[1].contains("MULTIPOINT") || args[1].contains("LINESTRING") || 
args[1].contains("MULTILINESTRING") || args[1].contains("POLYGON") || 
args[1].contains("MULTIPOLYGON")) {
+                if (args[1].contains("POINT") || 
args[1].contains("MULTIPOINT") || args[1].contains("LINESTRING") || 
args[1].contains("MULTILINESTRING") || args[1].contains("POLYGON") || 
args[1].contains("MULTIPOLYGON") || args[1].contains("ST_AsText")) {
                     geom2 = String.format("ST_GeomFromText(%s,%s)", args[1], 
SRID_default);
                 }
                 return String.format("ST_AsText(ST_SymDifference(%s , %s )) ", 
geom1, geom2);

http://git-wip-us.apache.org/repos/asf/marmotta/blob/52188c0c/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/UnionFunction.java
----------------------------------------------------------------------
diff --git 
a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/UnionFunction.java
 
b/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/UnionFunction.java
index 336a7ba..6a64696 100644
--- 
a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/UnionFunction.java
+++ 
b/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/function/geosparql/UnionFunction.java
@@ -88,10 +88,17 @@ public class UnionFunction implements NativeFunction {
                 String geom1 = args[0];
                 String geom2 = args[1];
                 String SRID_default = "4326";
-                if (args[0].contains("POINT") || 
args[0].contains("MULTIPOINT") || args[0].contains("LINESTRING") || 
args[0].contains("MULTILINESTRING") || args[0].contains("POLYGON") || 
args[0].contains("MULTIPOLYGON")) {
+                /*
+                 * The following condition is required to read WKT  inserted 
directly into args[0] or args[1] and create a geometries with SRID
+                 * POINT, MULTIPOINT, LINESTRING ... and MULTIPOLYGON 
conditions: 
+                 *   example: geof:union(?geom1, "POLYGON(( -7 43, -2 43, -2 
38, -7 38, -7 43))"^^geo:wktLiteral))
+                 * st_AsText condition: It is to use the geometry that is the 
result of another function geosparql.
+                 *   example: geof:union(?geom1, geof:buffer(?geom2, 50, 
units:meter))
+                 */
+                if (args[0].contains("POINT") || 
args[0].contains("MULTIPOINT") || args[0].contains("LINESTRING") || 
args[0].contains("MULTILINESTRING") || args[0].contains("POLYGON") || 
args[0].contains("MULTIPOLYGON") || args[0].contains("ST_AsText")) {
                     geom1 = String.format("ST_GeomFromText(%s,%s)", args[0], 
SRID_default);
                 }
-                if (args[1].contains("POINT") || 
args[1].contains("MULTIPOINT") || args[1].contains("LINESTRING") || 
args[1].contains("MULTILINESTRING") || args[1].contains("POLYGON") || 
args[1].contains("MULTIPOLYGON")) {
+                if (args[1].contains("POINT") || 
args[1].contains("MULTIPOINT") || args[1].contains("LINESTRING") || 
args[1].contains("MULTILINESTRING") || args[1].contains("POLYGON") || 
args[1].contains("MULTIPOLYGON") || args[1].contains("ST_AsText")) {
                     geom2 = String.format("ST_GeomFromText(%s,%s)", args[1], 
SRID_default);
                 }
                 return String.format("ST_AsText(ST_Union(%s , %s ) )", geom1, 
geom2);

Reply via email to