我目前正在尋找一種方法來通過SPARQL端點查詢DBPedia's Infobox Onyology database以獲取類的列表,所選類的子類和給定類的屬性。就我所能找到的,你要麼需要知道你正在尋找的財產,要麼搜索特定的東西 - 我發現的所有例子似乎都是基於這樣的想法,即你想要搜索某些特定的東西(比如特定高程以上的城市人口等),而我想建立一些可以有效「瀏覽」類別的東西。例如,從this class hierarchy chart上的「owl:Thing」的子類列表開始,並向用戶顯示所選子類的子類列表。似乎可以通過映射wiki來瀏覽像這樣的內容,但最好是直接查詢SPARQL端點。獲取DBPedia信息框類別
是否有一些簡單的SPARQL查詢會返回這些類的可用類和屬性?
更新: 我想出了一個辦法,通過this query:
SELECT ?subject WHERE {
?subject rdfs:subClassOf owl:Thing
}
它返回貓頭鷹的子類列表以獲得類層次看來,通過迭代:事情,如果我用其中一個子類替換owl:Thing,我得到這個子類的列表,直到沒有子類爲止,此時我可以選擇所有具有由所選子類給出的類型的資源。不過,我仍然不確定如何獲得子類的所有屬性。
更新2 現在開始接近。該查詢得到我的所有屬性(DBpedia中的孩子:屬性),同時也是一個國家,以及它們的標題:
SELECT DISTINCT ?prop ?title WHERE {
?country ?prop ?value.
?country a <http://dbpedia.org/ontology/Country>.
?prop rdf:type rdf:Property.
?prop rdfs:label ?title
}
這實際上是我真正要求。我現在要做的最後一件事是嘗試按它們出現的頁面數排序(可能最常見的屬性將是最感興趣的屬性)。
無論出於何種原因,似乎沒有當你選擇國家而不是SpaceMission工作。它返回的是「twinCountry」。此外,它似乎只返回dbpedia中的東西:本體,而不是dbpedia:屬性。我更新了主帖,看起來是對我原來的問題的回答。 – Paul 2011-03-20 01:06:15