Hello,

I've got a problem running this query on fuseki 4.9.0 (basically, I'd like to 
delegate to Wikidata, the computation of the distance between two cities) :

PREFIX wd: http://www.wikidata.org/entity/
PREFIX owl: http://www.w3.org/2002/07/owl#
PREFIX ex: http://example/
PREFIX wdt:  http://www.wikidata.org/prop/direct/
PREFIX geof: http://www.opengis.net/def/geosparql/function/
SELECT *
WHERE {
  ?ParisWDID owl:sameAs ex:Paris .
  ?BordeauxWDID owl:sameAs ex:Bordeaux .
  SERVICE https://query.wikidata.org/sparql {
   ?ParisWDID wdt:P625 ?ParisLoc .
   ?BordeauxWDID wdt:P625 ?BordeauxLoc .
   BIND(geof:distance(?ParisLoc,?BordeauxLoc) AS ?dist)
  }
}
____________
Here is the content of my rdf graph:

@prefix wd: http://www.wikidata.org/entity/ .
@prefix owl: http://www.w3.org/2002/07/owl# .
@prefix wdt: http://www.wikidata.org/prop/direct/ .
@prefix ex: http://example/ .

wd:Q90 owl:sameAs ex:Paris .

wd:Q1479 owl:sameAs ex:Bordeaux .

____________
Here is the trace on the standard output:

17:44:59 INFO  Fuseki          :: [8] POST http://localhost:3030/sparql/sparql
17:44:59 INFO  Fuseki          :: [8] Query = PREFIX wd: 
http://www.wikidata.org/entity/ PREFIX owl: http://www.w3.org/2002/07/owl# 
PREFIX ex: http://example/ PREFIX wdt:  http://www.wikidata.org/prop/direct/  
PREFIX geof: http://www.opengis.net/def/geosparql/function/  SELECT * WHERE {   
?ParisWDID owl:sameAs ex:Paris .   ?BordeauxWDID owl:sameAs ex:Bordeaux .   
SERVICE https://query.wikidata.org/sparql {    ?ParisWDID wdt:P625 ?ParisLoc .  
  ?BordeauxWDID wdt:P625 ?BordeauxLoc .    
BIND(geof:distance(?ParisLoc,?BordeauxLoc) AS ?dist)   } }
17:46:08 WARN  Fuseki          :: [8] RC = 500 : 
com.google.gson.stream.MalformedJsonException: Unterminated string at line 
19922828 column 49 path $.results.bindings[855041].ParisLoc.value
org.apache.jena.sparql.resultset.ResultSetException: 
com.google.gson.stream.MalformedJsonException: Unterminated string at line 
19922828 column 49 path $.results.bindings[855041].ParisLoc.value
      at 
org.apache.jena.riot.rowset.rw.rs_json.RowSetJSONStreaming.moveToNext(RowSetJSONStreaming.java:214)
 ~[fuseki-server.jar:4.9.0]
      at 
org.apache.jena.riot.rowset.rw.rs_json.RowSetJSONStreaming.moveToNext(RowSetJSONStreaming.java:66)
 ~[fuseki-server.jar:4.9.0]
...
      at 
org.apache.jena.riot.rowset.rw.rs_json.IteratorRsJSON.computeNextActual(IteratorRsJSON.java:136)
 ~[fuseki-server.jar:4.9.0]
      at 
org.apache.jena.riot.rowset.rw.rs_json.IteratorRsJSON.moveToNext(IteratorRsJSON.java:72)
 ~[fuseki-server.jar:4.9.0]
      at 
org.apache.jena.atlas.iterator.IteratorSlotted.hasNext(IteratorSlotted.java:63) 
~[fuseki-server.jar:4.9.0]
      at 
org.apache.jena.riot.rowset.rw.rs_json.RowSetJSONStreaming.computeNextActual(RowSetJSONStreaming.java:225)
 ~[fuseki-server.jar:4.9.0]
      at 
org.apache.jena.riot.rowset.rw.rs_json.RowSetJSONStreaming.moveToNext(RowSetJSONStreaming.java:210)
 ~[fuseki-server.jar:4.9.0]
      ... 112 more
17:46:08 INFO  Fuseki          :: [8] 500 Server Error (68,499 s)

____________
I verified that when replacing the variables ?ParisWDID and ?BordeauxWDID with 
their values, the query is processed correctly. Thus this query works:

PREFIX wd: http://www.wikidata.org/entity/
PREFIX owl: http://www.w3.org/2002/07/owl#
PREFIX ex: http://example/
PREFIX wdt:  http://www.wikidata.org/prop/direct/
PREFIX geof: http://www.opengis.net/def/geosparql/function/
SELECT *
WHERE {
SERVICE https://query.wikidata.org/sparql {
   wd:Q90 wdt:P625 ?ParisLoc .
   wd:Q1479 wdt:P625 ?BordeauxLoc .
   BIND(geof:distance(?ParisLoc,?BordeauxLoc) AS ?dist)
}
}

____________
Thank you for any hint on what I did wrong

Kind regards,

Fano




Orange Restricted
____________________________________________________________________________________________________________
Ce message et ses pieces jointes peuvent contenir des informations 
confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce 
message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages 
electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou 
falsifie. Merci.

This message and its attachments may contain confidential or privileged 
information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete 
this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been 
modified, changed or falsified.
Thank you.

Reply via email to