我試圖爲一個類獲取最具體的屬性,並且我被卡住了。我想提取適用於給定類的所有屬性(包括從超類繼承的屬性),,除以外的結果集中包含子屬性的屬性。SPARQL:獲得「最具體的屬性」
例如,如果我有一個類人口其屬性之一是atLocation,和人口的子類,稱爲難民。 難民有房產currentLocation,這是at地點的子屬性。
所以,我要的是一個通用的查詢會給我只有atLocation如果我把在人口和只有currentLocation如果我把在難民。我有這樣的:
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix ex: <http://example.org/vocabulary#>
SELECT DISTINCT ?prop WHERE {
ex:Refugee rdfs:subClassOf* ?domain .
?prop rdfs:domain ?domain .
?subprop rdfs:domain ?domain .
FILTER NOT EXISTS { ?subprop rdfs:subPropertyOf ?prop . }
} ORDER BY ?prop
這讓我既atLocation和currentLocation,雖然。
這可能在一個查詢中呢?任何想法如何解決這個讚賞!
同樣的問題也在W3C sparql-dev郵件列表上發佈(和回答),請參閱http://lists.w3.org/Archives/Public/public-sparql-dev/2012JulSep/0017.html –