簡體   English   中英

SPARQL查詢不返回任何數據

[英]SPARQL query returns no data

為什么此SPARQL查詢不返回任何數據

 PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
 PREFIX dbpedia: <http://dbpedia.org/resource/>

SELECT *
WHERE { 
    <http://dbpedia.org/resource/Louis,_Prince_of_Condé_(1530–1569)> dbpedia-owl:abstract ?abstract            
}
LIMIT 1

如果您查看DBpedia頁面 ,它會顯示該人員有摘要。 是否與URL中的括號有關? 如果是這樣,我怎么能繞過這個?

這個URI不會導致與DBpedia頁面相同的結果 - 出於何種原因。 你可以看到這個

PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX dbpedia: <http://dbpedia.org/resource/>
SELECT *
WHERE { 
    <http://dbpedia.org/resource/Louis,_Prince_of_Condé_(1530–1569)> ?p ?o          
}
LIMIT 100

但它有一個貓頭鷹:與http://dbpedia.org/resource/Louis,_Prince_of_Cond%C3%A9_(1530%E2%80%931569)的關系相同

這意味着如果您在查詢中使用此URI,它應該按預期工作。 但是你應該對語言應用FILTER,例如英語摘要的'en'。

正如AKSW所提到的,資源實際上並沒有很多屬性,而是通過owl:sameAs鏈接連接到“規范”版本。 你可以繼續使用你現在使用的IRI,在任何一個方向上跟隨owl:sameAs到任何相同的資源(讓我們稱之為?),然后詢問?s的摘要。 (然后按語言過濾並不是一個壞主意,如果這是適用的。)你可以用這樣的查詢來做到這一點(注意當前的DBpedia端點使用dbo :,現在,不是舊的dbpedia-owl:)

select ?abstract where {
   <http://dbpedia.org/resource/Louis,_Prince_of_Condé_(1530–1569)> (owl:sameAs|^owl:sameAs)* ?s .
   ?s dbo:abstract ?abstract .

  filter langMatches(lang(?abstract),'en')
}

它沒有dbpedia-owl:abstract謂詞。 如果列出其謂詞,則會找到以下屬性:

http://www.w3.org/2002/07/owl#sameAs
http://xmlns.com/foaf/0.1/name
http://purl.org/dc/elements/1.1/description
http://dbpedia.org/ontology/alias
http://dbpedia.org/ontology/birthYear
http://dbpedia.org/ontology/deathYear
http://dbpedia.org/ontology/viafId
http://dbpedia.org/ontology/deathPlace
http://dbpedia.org/ontology/deathDate
http://dbpedia.org/ontology/birthPlace
http://dbpedia.org/ontology/birthDate

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM