[ 
https://issues.apache.org/jira/browse/JENA-1970?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17203191#comment-17203191
 ] 

Marco Neumann edited comment on JENA-1970 at 9/28/20, 12:32 PM:
----------------------------------------------------------------

of course, here comes an example query + data:

{noformat}
PREFIX wgs84_pos: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX spatial:  <http://jena.apache.org/spatial#>

SELECT  *
 WHERE{
                        ?x wgs84_pos:lat ?lat.
                        ?x wgs84_pos:long ?lon.
                        ?x spatial:nearby(53.72 13.33 10)
  }

{noformat}

data


{noformat}

@prefix gn:  <http://www.geonames.org/ontology#> .
@prefix wgs84_pos:  <http://www.w3.org/2003/01/geo/wgs84_pos#> .

<http://sws.geonames.org/2038682/>       gn:name         "Bahnhof Annaburg" ;   
 gn:countryCode "DE" ;   wgs84_pos:lat  "53.72833" ;     wgs84_pos:long 
"13.33361" .
<http://sws.geonames.org/2658739/>       gn:name         "Schiener Bach" ;      
 gn:countryCode "DE" ;   wgs84_pos:lat  "51.6802" ;      wgs84_pos:long 
"12.86131" .
<http://sws.geonames.org/2659829/>       gn:name         "Lunkenbach" ;  
gn:countryCode "DE" ;   wgs84_pos:lat  "53.68136" ;     wgs84_pos:long 
"13.84938" .
<http://sws.geonames.org/2744273/>       gn:name         "Witte Venn" ;  
gn:countryCode "DE" ;   wgs84_pos:lat  "52.15" ;        wgs84_pos:long 
"12.88333" .
<http://sws.geonames.org/2744666/>       gn:name         "Westerwoldsche A" ;   
 gn:countryCode "DE" ;   wgs84_pos:lat  "53.23333" ;     wgs84_pos:long "11.2" .
<http://sws.geonames.org/2745605/>       gn:name         "Hoge Veenkanal" ;     
 gn:countryCode "DE" ;   wgs84_pos:lat  "52.73333" ;     wgs84_pos:long 
"12.51667" .
<http://sws.geonames.org/2746549/>       gn:name                "Schwalm" ;     
 gn:countryCode "DE" ;   wgs84_pos:lat   "53.25" ;       wgs84_pos:long 
"12.01667" .

{noformat}



was (Author: neumarcx):

of course, here comes an example query + data:

{noformat}

        SELECT  *
                WHERE{
                        ?x wgs84_pos:lat ?lat.
                        ?x wgs84_pos:long ?lon.
                        ?x spatial:nearby(53.72 13.33 10)
        }

{noformat}

data


{noformat}

@prefix gn:  <http://www.geonames.org/ontology#> .
@prefix wgs84_pos:  <http://www.w3.org/2003/01/geo/wgs84_pos#> .

<http://sws.geonames.org/2038682/>       gn:name         "Bahnhof Annaburg" ;   
 gn:countryCode "DE" ;   wgs84_pos:lat  "53.72833" ;     wgs84_pos:long 
"13.33361" .
<http://sws.geonames.org/2658739/>       gn:name         "Schiener Bach" ;      
 gn:countryCode "DE" ;   wgs84_pos:lat  "51.6802" ;      wgs84_pos:long 
"12.86131" .
<http://sws.geonames.org/2659829/>       gn:name         "Lunkenbach" ;  
gn:countryCode "DE" ;   wgs84_pos:lat  "53.68136" ;     wgs84_pos:long 
"13.84938" .
<http://sws.geonames.org/2744273/>       gn:name         "Witte Venn" ;  
gn:countryCode "DE" ;   wgs84_pos:lat  "52.15" ;        wgs84_pos:long 
"12.88333" .
<http://sws.geonames.org/2744666/>       gn:name         "Westerwoldsche A" ;   
 gn:countryCode "DE" ;   wgs84_pos:lat  "53.23333" ;     wgs84_pos:long "11.2" .
<http://sws.geonames.org/2745605/>       gn:name         "Hoge Veenkanal" ;     
 gn:countryCode "DE" ;   wgs84_pos:lat  "52.73333" ;     wgs84_pos:long 
"12.51667" .
<http://sws.geonames.org/2746549/>       gn:name                "Schwalm" ;     
 gn:countryCode "DE" ;   wgs84_pos:lat   "53.25" ;       wgs84_pos:long 
"12.01667" .

{noformat}


> GeoSPARQL spatial:nearby geo:lat and geo:long indexing of Literals
> ------------------------------------------------------------------
>
>                 Key: JENA-1970
>                 URL: https://issues.apache.org/jira/browse/JENA-1970
>             Project: Apache Jena
>          Issue Type: New Feature
>          Components: Jena
>    Affects Versions: Jena 3.16.0
>         Environment: any
>            Reporter: Marco Neumann
>            Priority: Minor
>
> PREFIX spatial: <http://jena.apache.org/spatial#>
> the spatial:nearby property function now fails to operate on untyped 
> literals. While http://www.w3.org/2003/01/geo/wgs84_pos# mentions decimals in 
> the range it is common to find  data in the wild that fails to adhere to the 
> vocabulary specification. Furthermore functions in the 
> http://jena.apache.org/function/spatial# namespace continue to be able to 
> process untyped literals. It might be worthwhile to consider to typecast 
> literals here in spatial functions for data processed for latitude and 
> longitude in the wgs84_pos namespace.
> {noformat}
> Fuseki     WARN  [1] RC = 500 : Not a number: "53.72833"
> org.apache.jena.sparql.expr.ExprEvalException: Not a number: "53.72833"
> Caused by: org.apache.jena.datatypes.DatatypeFormatException: Not a number: 
> "53.72833"
>       at 
> org.apache.jena.geosparql.spatial.ConvertLatLon.toNodeValue(ConvertLatLon.java:47)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.geosparql.spatial.ConvertLatLon.toNode(ConvertLatLon.java:62) 
> ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.geosparql.spatial.property_functions.GenericSpatialPropertyFunction.checkBound(GenericSpatialPropertyFunction.java:132)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.geosparql.spatial.property_functions.GenericSpatialPropertyFunction.search(GenericSpatialPropertyFunction.java:87)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.geosparql.spatial.property_functions.GenericSpatialPropertyFunction.execEvaluated(GenericSpatialPropertyFunction.java:66)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.pfunction.PFuncSimpleAndList.execEvaluated(PFuncSimpleAndList.java:44)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.pfunction.PropertyFunctionEval.exec(PropertyFunctionEval.java:42)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.pfunction.PropertyFunctionBase$RepeatApplyIteratorPF.nextStage(PropertyFunctionBase.java:106)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:108)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:65)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.iterator.QueryIterProcedure.hasNextBinding(QueryIterProcedure.java:73)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.main.iterator.QueryIterGraph$QueryIterGraphInner.hasNextBinding(QueryIterGraph.java:121)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:74)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:101)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:65)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:101)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:65)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.iterator.QueryIterProcessBinding.hasNextBinding(QueryIterProcessBinding.java:66)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:38)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:38)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:74)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.sparql.engine.ResultSetCheckCondition.hasNext(ResultSetCheckCondition.java:55)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.executeQuery(SPARQLQueryProcessor.java:324)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execute(SPARQLQueryProcessor.java:273)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.executeWithParameter(SPARQLQueryProcessor.java:222)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execute(SPARQLQueryProcessor.java:197)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.fuseki.servlets.ActionService.executeLifecycle(ActionService.java:58)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execGet(SPARQLQueryProcessor.java:79)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.fuseki.servlets.ActionProcessor.process(ActionProcessor.java:33)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.fuseki.servlets.ActionBase.process(ActionBase.java:55) 
> ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.fuseki.servlets.ActionExecLib.execAction(ActionExecLib.java:107)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.fuseki.server.Dispatcher.dispatchAction(Dispatcher.java:118) 
> ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.fuseki.server.Dispatcher.process(Dispatcher.java:110) 
> ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.fuseki.server.Dispatcher.dispatch(Dispatcher.java:96) 
> ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.apache.jena.fuseki.servlets.FusekiFilter.doFilter(FusekiFilter.java:51) 
> ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:545) 
> ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1297)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485) 
> ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1212)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) 
> ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
>  ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at org.eclipse.jetty.server.Server.handle(Server.java:500) 
> ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383) 
> ~[jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547) 
> [jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375) 
> [jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:270) 
> [jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
>  [jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) 
> [jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) 
> [jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
>  [jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
>  [jena-fuseki-geosparql-3.17.0-20200915.115805-17.jar:3.17.0-SNAPSHOT]
>       at java.lang.Thread.run(Thread.java:830) [?:?]
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to