【发布时间】:2012-08-29 15:51:07
【问题描述】:
我正在尝试获取一个类的最具体的属性,但我被卡住了。我想提取所有适用于给定类的属性(包括从超类继承的属性),除了那些在结果集中具有子属性的属性。
例如,如果我有一个类 Population,它的属性之一是 atLocation,而 Population 的子类称为 难民。 Refugees 有一个属性currentLocation,它是atLocation 的子属性。
所以我想要的是一个通用查询,如果我输入 Population 和 only currentLocation 如果我输入 Refugees。我有的是这样的:
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 邮件列表上也发布(并回答)了相同的问题,请参阅lists.w3.org/Archives/Public/public-sparql-dev/2012JulSep/…
标签: sparql semantic-web