我必須創建一個Q &可以使用SPARQL和DBpedia回答問題的系統。目前,我必須使用不存在的屬性對DBpedia進行許多無用的查詢。我試圖獲得所有屬性並將其放入一個txt文件中,但是我沒有得到它的前綴。從DBPedia獲取所有(荷蘭語)屬性,包括前綴
我SPARQL查詢如下:
select distinct str(COALESCE(?property2, ?property)) as ?property where
{
?instance a <%s> .
?instance ?property ?obj .
OPTIONAL{?property rdfs:label ?property2}
}
其中s
是一個鏈接從DBpedia中像下面這樣得到很好(我這樣做是使用Python)標籤:
"http://dbpedia.org/ontology/Amphibian"
"http://dbpedia.org/ontology/AmusementParkAttraction"
"http://dbpedia.org/ontology/AnatomicalStructure"
"http://dbpedia.org/ontology/Animal"
的輸出我從查詢中獲得(CSV格式)是:
"prijzengeld loopbaan ($)" "Verluste" "casualties" "pertes"
"verliezen" "Kategorie" "categorie"
我想擁有前綴s ^包括在內,因此,例如:
prop-nl:
dbpedia-owl:
- 等
尤其是prop-nl
很重要,因爲我必須使用荷蘭的屬性名稱。
財產的答案(查詢)是URI;這就是你真正想要的,不是嗎?人類可讀的前綴,如「prop-nl」,「dbpedia-owl」等,僅僅是某些文本的縮寫。 DBpedia實際上改變了一些預定義的屬性,所以'dbpedia-owl:foo'用於在公共端點上工作,但現在它不會;你必須使用'dbo:foo'。但是''總是可以工作的。 –
但是,如果這就是你想要做的,你可能會在[SPARQL查詢中獲得所有具有名稱空間前綴定義的類標籤]的答案(http://stackoverflow.com/questions/17939197/sparql-query-to-get- all-class-label-with-namespace-prefix-defined/17949002) –
謝謝!因此,不要只是詢問屬性的名稱(如prop-nl:jaar),我可以做?所以我想因此我不需要前綴?我想我會這樣做,而不是使用您提供的鏈接手動縮短URI。謝謝! –
DanielsWrath