2
OPTION(傳遞的)我有以下查詢SPARQL查詢錯誤與耶拿
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?type
WHERE
{
{
SELECT *
WHERE
{
?x rdfs:subClassOf ?type .
}
}
OPTION (TRANSITIVE, t_distinct, t_in (?x), t_out (?type)) .
FILTER (?x = <http://dbpedia.org/ontology/Hospital>)
}
當我把它發送到炫技點,但在我的耶拿例如不工作,它工作正常。在具體的我得到以下錯誤:
INFO [1] 400 Parse error:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?type
WHERE
{
{
SELECT *
WHERE
{
?x rdfs:subClassOf ?type .
}
}
OPTION (TRANSITIVE, t_distinct, t_in (?x), t_out (?type)) .
FILTER (?x = <http://dbpedia.org/ontology/Hospital>)
}
Lexical error at line 12, column 39. Encountered: " " (32), after : "OPTION" (17 ms)
在這種情況下,一個炫技特定的功能,我將不勝感激知道此查詢會與*耶拿/標準SPARQL工作等效)。預期結果應該是:
http://dbpedia.org/ontology/Building
http://dbpedia.org/ontology/ArchitecturalStructure
http://dbpedia.org/ontology/Place
http://dbpedia.org/ontology/d0:Location
它代表了「醫院」
如果使用耶拿發送帶有炫技的特定功能的查詢時,您需要將創建一個QueryEngineHTTP(這是一個QueryExecution),並提供只是2串,端點和查詢字符串。否則,Jena在本地驗證查詢,但它不是有效的SPARQL,因此它失敗。 – AndyS 2014-09-24 10:48:19
謝謝enridago和@AndyS。這個人[http://blog.pingoured.fr/index.php?post/2011/10/11/Jena%2C-virtuoso-and-option-transitive]聲稱使用QueryEngineHTTP爲他工作。這就是爲什麼我把什麼enridaga建議,但我知道它的Virtuoso具體。不幸的是,建議的代碼沒有爲我運行,Fuseki扔回了相同的例外,所以我猜這符合你們兩人的表現。有沒有辦法重寫這個查詢來與Jena一起工作? – alexandria 2014-09-24 11:11:11
你能編輯你的問題來描述你期望的結果嗎?它僅僅是rdfs:subClassOf的傳遞性嗎?如果是這種情況,則可以使用屬性路徑,即SPARQL 1.1功能。 – enridaga 2014-09-24 12:26:16