Documentation for geospatial queries

21 views
Skip to first unread message

s.ar...@geophy.com

unread,
Dec 13, 2016, 12:18:40 PM12/13/16
to Stardog
Would you have a more detail documentation describing the semantics of the geo function mentioned in the stardog website.

"... The operators supported by Stardog are geof:relate, geof:distance, geof:within, geof:nearby and geof:area.  "

Something similar to:


It is very hard to guess the parameters for these functions. 

Zachary Whitley

unread,
Dec 13, 2016, 12:54:54 PM12/13/16
to Stardog
Starts on the page labeled 20. (page 38 of the pdf) yeayyyyy pdfs!

--
-- --
You received this message because you are subscribed to the C&P "Stardog" group.
To post to this group, send email to sta...@clarkparsia.com
To unsubscribe from this group, send email to
stardog+unsubscribe@clarkparsia.com
For more options, visit this group at
http://groups.google.com/a/clarkparsia.com/group/stardog?hl=en
---
You received this message because you are subscribed to the Google Groups "Stardog" group.
To unsubscribe from this group and stop receiving emails from it, send an email to stardog+unsubscribe@clarkparsia.com.

Stephen Nowell

unread,
Dec 13, 2016, 2:49:58 PM12/13/16
to sta...@clarkparsia.com
Hi,

You are right that our documentation is a bit...sparse in that area. I've created a ticket to update it for a future release.

In the meantime, here is a brief rundown of what each function does and its signature(s):

  • geof:relate
    • Returns the relationship between two geo features. Will be one of:
      • geo:equals, geo:within, geo:contains, geo:intersects, geo:disjoint
    • Examples:
      • As BGP:  { ?relation geof:relate (?featureA ?featureB) }
      • FILTER (geof:relate(?featureA ?featureB geo:contains))
  • geof:distance
  • geof:within
    • Returns all geo features within a given shape
    • Examples:
      • As BGP:  { ?feature geof:within ?shape }
      • FILTER (geof:within(?feature, ?shape))
      • NOTE: ?shape in this case can be defined one of 4 ways:
        • ?aGeoShape
        • (?aLowerLeftPoint, ?anUpperRightPoint)
        • (?aMinLatitude, ?aMinLongitude, ?aMaxLatitude, ?aMaxLongitude)
        • A JTS Polygon
  • geof:nearby
  • geof:area

Hope this helps!

Cheers,
Stephen

--
-- --
You received this message because you are subscribed to the C&P "Stardog" group.
To post to this group, send email to sta...@clarkparsia.com
To unsubscribe from this group, send email to

Samur Araujo

unread,
Dec 14, 2016, 3:44:40 AM12/14/16
to sta...@clarkparsia.com, Gianluca Gindro, m.nel...@geophy.com
Hi Stephen, thank you a lot for the clarification.

This was really helpful and will save us a considerable amount of time. 

Best regards,
Samur Araujo

--
-- --
You received this message because you are subscribed to the C&P "Stardog" group.
To post to this group, send email to sta...@clarkparsia.com
To unsubscribe from this group, send email to
---
You received this message because you are subscribed to a topic in the Google Groups "Stardog" group.
To unsubscribe from this topic, visit https://groups.google.com/a/clarkparsia.com/d/topic/stardog/t-kieYmFQDw/unsubscribe.
To unsubscribe from this group and all its topics, send an email to stardog+unsubscribe@clarkparsia.com.



--
Senior Data Scientist 
Geophy 

Nieuwe Plantage 54-55
2611XK  Delft
+31 (0)70 7640725 

1 Fore Street
EC2Y 9DT  London
+44 (0)20 37690760

Samur Araujo

unread,
Dec 14, 2016, 4:20:05 AM12/14/16
to sta...@clarkparsia.com, Gianluca Gindro, m.nel...@geophy.com
Dear Stephen, I think may worth mention in the documentation that some of these methods are asymmetric. 

If I use 

   ?b geof:nearby (?a  1  <http://qudt.org/vocab/unit#Kilometer>).

or invert ?b and ?a 

   ?a geof:nearby (?b  1  <http://qudt.org/vocab/unit#Kilometer>).

I get totally different response time. 


For example,  the two queries below return the same results but have a very different response time.

-----------------------------------------------------------------------------------------
prefix g: <http://geophy.com/>
select *
where {        
    <http://geophy.data/fm#10> geo:hasGeometry ?a .
    ?t geo:hasGeometry ?b  .  
    ?b geof:nearby (?a  1  <http://qudt.org/vocab/unit#Kilometer>).
}

-----------------------------------------------------------------------------------------
prefix g: <http://geophy.com/>
select *
where {        
    <http://geophy.data/fm#10> geo:hasGeometry ?a .
    ?t geo:hasGeometry ?b  .  
    ?a geof:nearby (?b  1  <http://qudt.org/vocab/unit#Kilometer>).
}

Samur Araujo

unread,
Dec 14, 2016, 4:55:25 AM12/14/16
to sta...@clarkparsia.com, Gianluca Gindro, m.nel...@geophy.com
Apparently when I use lat long instead of point the geof:nearby does not work.


select *
where {        
    <http://geophy.data/fm#10> wgs:lat ?lat .
    <http://geophy.data/fm#10> wgs:long ?long  .
   
    ?t geo:hasGeometry ?b  . 
  
     ?b geof:nearby ( ?lat ?lon 1  <http://qudt.org/vocab/unit#Kilometer>).
   
}

--------------------------------------------------------------------------------------


ERROR 2016-12-14 10:54:05,886 [Stardog.Executor-981] com.complexible.stardog.protocols.server.SPECServerFunction:query(536): There was an error executing query: prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

select *
where {        
    <http://geophy.data/fm#10> wgs:lat ?lat .
    <http://geophy.data/fm#10> wgs:long ?long  .
   
    ?t geo:hasGeometry ?b  . 
  
     ?b geof:nearby ( ?lat ?lon 1  <http://qudt.org/vocab/unit#Kilometer>).
   
} limit 50 offset 0
org.openrdf.query.QueryEvaluationException: com.complexible.stardog.plan.eval.ExecutionException: Latitude must be a double value between -90 & 90
at com.complexible.stardog.query.DefaultQueryFactory$TupleQuery.execute(DefaultQueryFactory.java:179) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.query.DefaultQueryFactory$TupleQuery.execute(DefaultQueryFactory.java:162) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.protocols.server.SPECServerFunction.query(SPECServerFunction.java:512) ~[stardog-protocols-spec-server-4.2.1.jar:?]
at com.complexible.stardog.protocols.server.SPECServerFunction.handleMessage(SPECServerFunction.java:152) ~[stardog-protocols-spec-server-4.2.1.jar:?]
at com.complexible.stardog.protocols.http.annex.QueryPanelEndpoint.handleMessage(QueryPanelEndpoint.java:89) ~[stardog-webconsole-annex-4.2.1.jar:?]
at com.complexible.common.protocols.server.rpc.ServerHandler.lambda$handleMessage$1(ServerHandler.java:336) ~[stardog-protocols-api-server-4.2.1.jar:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_111]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_111]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
Caused by: com.complexible.stardog.plan.eval.ExecutionException: Latitude must be a double value between -90 & 90
at com.complexible.stardog.plan.eval.QueryEngine.getExecutablePlan(QueryEngine.java:252) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.eval.QueryEngine.executeSelect(QueryEngine.java:127) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.query.DefaultQueryFactory$TupleQuery.execute(DefaultQueryFactory.java:176) ~[stardog-4.2.1.jar:?]
... 10 more
Caused by: com.complexible.stardog.plan.PlanException: Latitude must be a double value between -90 & 90
at com.complexible.stardog.plan.parser.QueryParserImpl.parseQuery(QueryParserImpl.java:488) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.PlanContext.planFor(PlanContext.java:87) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.eval.QueryEngine.getExecutablePlan(QueryEngine.java:229) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.eval.QueryEngine.executeSelect(QueryEngine.java:127) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.query.DefaultQueryFactory$TupleQuery.execute(DefaultQueryFactory.java:176) ~[stardog-4.2.1.jar:?]
... 10 more
Caused by: java.lang.IllegalStateException: Latitude must be a double value between -90 & 90
at com.complexible.stardog.spatial.db.query.NearbyPropertyFunction$NearbyPlanNodeBuilder.validate(NearbyPropertyFunction.java:197) ~[stardog-spatial-core-4.2.1.jar:?]
at com.complexible.stardog.plan.AbstractPlanNodeBuilder.build(AbstractPlanNodeBuilder.java:85) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.AbstractPropertyFunctionNodeBuilder.build(AbstractPropertyFunctionNodeBuilder.java:20) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.PropertyFunctions$PropertyFunctionReplacer.transform(PropertyFunctions.java:293) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.TransformingPlanNodeVisitor.visit(TransformingPlanNodeVisitor.java:711) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.ScopeNodeImpl.accept(ScopeNodeImpl.java:122) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.TransformingPlanNodeVisitor.unaryVisit(TransformingPlanNodeVisitor.java:549) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.TransformingPlanNodeVisitor.unaryTransform(TransformingPlanNodeVisitor.java:79) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.TransformingPlanNodeVisitor.transform(TransformingPlanNodeVisitor.java:306) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.TransformingPlanNodeVisitor.visit(TransformingPlanNodeVisitor.java:767) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.ProjectionPlanNodeImpl.accept(ProjectionPlanNodeImpl.java:104) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.TransformingPlanNodeVisitor.unaryVisit(TransformingPlanNodeVisitor.java:549) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.TransformingPlanNodeVisitor.unaryTransform(TransformingPlanNodeVisitor.java:79) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.TransformingPlanNodeVisitor.transform(TransformingPlanNodeVisitor.java:316) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.TransformingPlanNodeVisitor.visit(TransformingPlanNodeVisitor.java:759) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.SlicePlanNodeImpl.accept(SlicePlanNodeImpl.java:103) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.PropertyFunctions.apply(PropertyFunctions.java:171) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.parser.QueryParserImpl.postProcess(QueryParserImpl.java:519) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.parser.QueryParserImpl.parseQuery(QueryParserImpl.java:463) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.PlanContext.planFor(PlanContext.java:87) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.eval.QueryEngine.getExecutablePlan(QueryEngine.java:229) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.eval.QueryEngine.executeSelect(QueryEngine.java:127) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.query.DefaultQueryFactory$TupleQuery.execute(DefaultQueryFactory.java:176) ~[stardog-4.2.1.jar:?]
... 10 more
ERROR 2016-12-14 10:54:05,887 [Stardog.Executor-981] com.complexible.common.protocols.server.rpc.ServerHandler:exceptionCaught(413): exceptionCaughtServerHandler
org.openrdf.query.QueryEvaluationException: com.complexible.stardog.plan.eval.ExecutionException: Latitude must be a double value between -90 & 90
at com.complexible.stardog.query.DefaultQueryFactory$TupleQuery.execute(DefaultQueryFactory.java:179) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.query.DefaultQueryFactory$TupleQuery.execute(DefaultQueryFactory.java:162) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.protocols.server.SPECServerFunction.query(SPECServerFunction.java:512) ~[stardog-protocols-spec-server-4.2.1.jar:?]
at com.complexible.stardog.protocols.server.SPECServerFunction.handleMessage(SPECServerFunction.java:152) ~[stardog-protocols-spec-server-4.2.1.jar:?]
at com.complexible.stardog.protocols.http.annex.QueryPanelEndpoint.handleMessage(QueryPanelEndpoint.java:89) ~[stardog-webconsole-annex-4.2.1.jar:?]
at com.complexible.common.protocols.server.rpc.ServerHandler.lambda$handleMessage$1(ServerHandler.java:336) ~[stardog-protocols-api-server-4.2.1.jar:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_111]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_111]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
Caused by: com.complexible.stardog.plan.eval.ExecutionException: Latitude must be a double value between -90 & 90
at com.complexible.stardog.plan.eval.QueryEngine.getExecutablePlan(QueryEngine.java:252) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.eval.QueryEngine.executeSelect(QueryEngine.java:127) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.query.DefaultQueryFactory$TupleQuery.execute(DefaultQueryFactory.java:176) ~[stardog-4.2.1.jar:?]
... 10 more
Caused by: com.complexible.stardog.plan.PlanException: Latitude must be a double value between -90 & 90
at com.complexible.stardog.plan.parser.QueryParserImpl.parseQuery(QueryParserImpl.java:488) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.PlanContext.planFor(PlanContext.java:87) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.eval.QueryEngine.getExecutablePlan(QueryEngine.java:229) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.eval.QueryEngine.executeSelect(QueryEngine.java:127) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.query.DefaultQueryFactory$TupleQuery.execute(DefaultQueryFactory.java:176) ~[stardog-4.2.1.jar:?]
... 10 more
Caused by: java.lang.IllegalStateException: Latitude must be a double value between -90 & 90
at com.complexible.stardog.spatial.db.query.NearbyPropertyFunction$NearbyPlanNodeBuilder.validate(NearbyPropertyFunction.java:197) ~[stardog-spatial-core-4.2.1.jar:?]
at com.complexible.stardog.plan.AbstractPlanNodeBuilder.build(AbstractPlanNodeBuilder.java:85) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.AbstractPropertyFunctionNodeBuilder.build(AbstractPropertyFunctionNodeBuilder.java:20) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.PropertyFunctions$PropertyFunctionReplacer.transform(PropertyFunctions.java:293) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.TransformingPlanNodeVisitor.visit(TransformingPlanNodeVisitor.java:711) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.ScopeNodeImpl.accept(ScopeNodeImpl.java:122) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.TransformingPlanNodeVisitor.unaryVisit(TransformingPlanNodeVisitor.java:549) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.TransformingPlanNodeVisitor.unaryTransform(TransformingPlanNodeVisitor.java:79) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.TransformingPlanNodeVisitor.transform(TransformingPlanNodeVisitor.java:306) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.TransformingPlanNodeVisitor.visit(TransformingPlanNodeVisitor.java:767) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.ProjectionPlanNodeImpl.accept(ProjectionPlanNodeImpl.java:104) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.TransformingPlanNodeVisitor.unaryVisit(TransformingPlanNodeVisitor.java:549) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.TransformingPlanNodeVisitor.unaryTransform(TransformingPlanNodeVisitor.java:79) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.TransformingPlanNodeVisitor.transform(TransformingPlanNodeVisitor.java:316) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.TransformingPlanNodeVisitor.visit(TransformingPlanNodeVisitor.java:759) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.SlicePlanNodeImpl.accept(SlicePlanNodeImpl.java:103) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.PropertyFunctions.apply(PropertyFunctions.java:171) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.parser.QueryParserImpl.postProcess(QueryParserImpl.java:519) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.parser.QueryParserImpl.parseQuery(QueryParserImpl.java:463) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.PlanContext.planFor(PlanContext.java:87) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.eval.QueryEngine.getExecutablePlan(QueryEngine.java:229) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.plan.eval.QueryEngine.executeSelect(QueryEngine.java:127) ~[stardog-4.2.1.jar:?]
at com.complexible.stardog.query.DefaultQueryFactory$TupleQuery.execute(DefaultQueryFactory.java:176) ~[stardog-4.2.1.jar:?]
... 10 more

Michael Grove

unread,
Dec 14, 2016, 7:06:43 AM12/14/16
to stardog
On Wed, Dec 14, 2016 at 4:20 AM, Samur Araujo <s.ar...@geophy.com> wrote:
Dear Stephen, I think may worth mention in the documentation that some of these methods are asymmetric. 

If I use 

   ?b geof:nearby (?a  1  <http://qudt.org/vocab/unit#Kilometer>).

or invert ?b and ?a 

   ?a geof:nearby (?b  1  <http://qudt.org/vocab/unit#Kilometer>).

I get totally different response time. 


For example,  the two queries below return the same results but have a very different response time.

Queries can be semantically equivalent, that is, return the same results, but have different query plans and thus, different evaluation times.

One of your queries iterates over every single spatial feature in the database to see if it's nearby to the point of interest, while the other simply looks up all the things that are nearby. You get the same answers, but those are radically different runtimes.

Cheers,

Mike 

Stephen Nowell

unread,
Dec 14, 2016, 7:30:50 AM12/14/16
to sta...@clarkparsia.com
Samur,

As the stacktrace points out, the value ?lat being passed into the nearby function is not between -90 and 90, so it is not a valid latitude. The most likely cause is that latitude and longitude are switched on that entity for some reason.

Cheers,
Stephen

Samur Araujo

unread,
Dec 14, 2016, 8:01:32 AM12/14/16
to sta...@clarkparsia.com
Hi Stephen, I check all values and they are correct. (also, you know that if they were incorrect the stardog spatial index would have threw an exception already.)

So, I guess there is some issue with the function when lat, long is used instead of point. 

Best,
Samur

Stephen Nowell

unread,
Dec 14, 2016, 8:12:12 AM12/14/16
to sta...@clarkparsia.com
Hi Samur,

Please send a minimal data set and query that we can use to reproduce this issue (presumably the rdf for <http://geophy.data/fm#10> and this query would suffice) and we'll be happy to take a look into it.

Cheers,
Stephen

Stephen Nowell

unread,
Dec 14, 2016, 8:30:54 AM12/14/16
to sta...@clarkparsia.com
Samur,

Upon further review, it turns out that our error message is simply misleading. In the case of geof:nearby (and I will check on the others and add this to the documentation when it gets updated), ?lat and ?long cannot be variables. They must be bound to constant values. Therefore you can query for those values and then bind them into a second query that uses nearby, or simply use the feature itself instead of lat/long. Sorry about the confusion.

Cheers,
Stephen

Samur Araujo

unread,
Dec 14, 2016, 8:34:31 AM12/14/16
to sta...@clarkparsia.com
Do you have an example query?

Stephen Nowell

unread,
Dec 14, 2016, 9:37:27 AM12/14/16
to sta...@clarkparsia.com
It would be as simple as running just the first part of the query, then inserting the results into the second part.


select * where {
    <http://geophy.data/fm#10> wgs:lat ?lat .
    <http://geophy.data/fm#10> wgs:long ?long  .
}

Results come back and ?lat is 42.0, ?long is -42.0.

select * where {

    ?t geo:hasGeometry ?b  . 
    ?b geof:nearby ( "42.0"^^xsd:double "-42.0"^^xsd:double 1  <http://qudt.org/vocab/unit#Kilometer>).
}

If you're using the Java/JS/Clojure API to make these calls, then it is easy enough to bind those variables into the constants. If you're only using the web console, you'll need to do it manually. Otherwise, assuming that the geometry of http://geophy.data/fm#10 is in the database, you can just use the point itself:

select * where {

    ?t geo:hasGeometry ?b .
    <http://geophy.data/fm#10> geo:hasGeometry ?myPoint
    ?b geof:nearby ( ?myPoint 1 <http://qudt.org/vocab/unit#Kilometer>) .
}

Cheers,
Stephen

Martynas Jusevičius

unread,
Dec 14, 2016, 9:45:19 AM12/14/16
to sta...@clarkparsia.com
GeoSPARQL spec does not define functions like geof:sfWithin() however?

On Tue, Dec 13, 2016 at 6:54 PM, Zachary Whitley
<zachary...@wavestrike.com> wrote:
> Check out http://www.opengeospatial.org/standards/geosparql#downloads
>
> Starts on the page labeled 20. (page 38 of the pdf) yeayyyyy pdfs!
>
> On Tue, Dec 13, 2016 at 12:18 PM, <s.ar...@geophy.com> wrote:
>>
>> Would you have a more detail documentation describing the semantics of the
>> geo function mentioned in the stardog website.
>>
>> "... The operators supported by Stardog are geof:relate, geof:distance,
>> geof:within, geof:nearby and geof:area. "
>>
>> Something similar to:
>>
>>
>> https://jena.apache.org/documentation/query/spatial-query.html#property-function-library
>>
>> It is very hard to guess the parameters for these functions.
>>
>> --
>> -- --
>> You received this message because you are subscribed to the C&P "Stardog"
>> group.
>> To post to this group, send email to sta...@clarkparsia.com
>> To unsubscribe from this group, send email to
>> stardog+u...@clarkparsia.com
>> For more options, visit this group at
>> http://groups.google.com/a/clarkparsia.com/group/stardog?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Stardog" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to stardog+u...@clarkparsia.com.
>
>
> --
> -- --
> You received this message because you are subscribed to the C&P "Stardog"
> group.
> To post to this group, send email to sta...@clarkparsia.com
> To unsubscribe from this group, send email to
> stardog+u...@clarkparsia.com
> For more options, visit this group at
> http://groups.google.com/a/clarkparsia.com/group/stardog?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Stardog" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to stardog+u...@clarkparsia.com.
Reply all
Reply to author
Forward
0 new messages