簡體   English   中英

獲取DBpedia類的所有屬性

[英]Get all properties for a DBpedia class

如何獲取特定類的屬性列表? 考慮類dbpedia-owl:Person Person類的所有實例都有一些以dbpprop:為前綴的屬性dbpprop: 如何獲取我們可能為Person類的所有實例找到的所有dbpprop:屬性?

有效的是:

select distinct ?property where { 
   ?property <http://www.w3.org/2000/01/rdf-schema#domain> 
                             <http://dbpedia.org/ontology/Person> . }

在此查詢中,您要求所有具有dbpedia:Person作為rdfs:domain的屬性。 此查詢需要模式定義才能工作,有時數據集並不能完全遵循模式。 對於這些數據集,您可以嘗試此其他查詢

select distinct ?property where {
         ?instance a <http://dbpedia.org/ontology/Person> . 
         ?instance ?property ?obj . }

此查詢查看綁定每個屬性的人的每個實例。 它比第一個難得多,在dbpedia公共實例中你會得到一個時間。 如果你想使用公共端點,那么你最好使用第一個。

要獲取所有傳遞屬性,您可以詢問此查詢

select distinct ?property where{
{
  ?property rdfs:domain ?class . 
  dbpedia-owl:Person rdfs:subClassOf+ ?class.
} UNION {
  ?property rdfs:domain dbpedia-owl:Person.
}}

'rdfs:subClassOf'中的'+'是一個屬性路徑表達式[1],它也可以獲取Person的所有超類。 這些屬性對Person也有效。

另請注意,建議不要使用dbprop命名空間,因為數據是原始數據,而不是規范化為數據類型。

[1] http://www.w3.org/TR/2010/WD-sparql11-property-paths-20100126/

披露:我是DBpedia開發人員

暫無
暫無

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

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