[英]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.