Rdf SPARQL:如何获取所选类的owl:onProperty列表

Rdf SPARQL:如何获取所选类的owl:onProperty列表,rdf,sparql,owl,Rdf,Sparql,Owl,如何获取选定类的所有属性的列表?例如: 18 我想要类的所有属性(甚至是值),比如 |property|value| |a_xxyy |aaaaa| |a_yyzz |bbbb | |a_gggrrr|<18 | |属性|值| |a_xxyy | aaaaa| |a|yyz|bbbb| |a_gggrrr| 选定类的所有属性 您展示的RDF序列化是一组等价的类公理,其中一个类是匿名限制类。例如: 说 精选≡ ∀a_xxyy.aaaaa 这意味着所选的实例对属性axxyy的每

如何获取选定类的所有属性的列表?例如:


18
我想要类的所有属性(甚至是值),比如

|property|value|
|a_xxyy  |aaaaa|
|a_yyzz  |bbbb |
|a_gggrrr|<18  |
|属性|值|
|a_xxyy | aaaaa|
|a|yyz|bbbb|
|a_gggrrr|
选定类的所有属性

您展示的RDF序列化是一组等价的类公理,其中一个类是匿名限制类。例如:


精选≡ ∀a_xxyy.aaaaa

这意味着所选的实例对属性axxyy的每个值都必须是aaaaaaa。但这并不意味着a_xxyy是“类的属性”。之后,给出了一个结构相似的公理

人与环境亚类;∀没有外骨骼,什么都没有

也就是说没有人有外骨骼。因此,具有外骨骼不会被视为“人类的财产”。不过,公理的形式是相同的

无论如何,SPARQL查询并不十分复杂。它只是:

前缀owl:
选择“类”属性,其中{
?类owl:等效类/owl:onProperty?属性
}
实际上,您可能不仅需要owl:equivalentClass,还需要rdfs:subclass,因此您可以:

前缀rdfs:
前缀owl:
选择“类”属性,其中{
?类(rdfs:子类| owl:等价类)/owl:onProperty?属性
}

首先,感谢您的快速回答!之后在本体论中,我想说的是,如果某物是所选择的距离,那么这个“某物”必须具有属性“a_xxyy”值“aaaaa”。这对你合适吗?好啊在任何情况下,我都希望在查询中指定类的名称,因为我只想要“Selected”的属性,而不是每个类的所有属性。对不起,我在这件事上说得不清楚!tnx@MaxCalzone我的观点是,仅仅因为某个东西是“owl:allValuesFrom”限制,并不意味着一个等价的类或子类必然具有关联属性的某些值。我可以说“我所有的兄弟都是律师”,这是真的,因为我没有兄弟。我也可以说“我所有的员工都是正方形的圆圈”,这是真的,因为我没有任何员工。然而,它也强制我不能有任何员工,因为不能有任何方圆。你所使用的公理与你所描述的意图不符。好吧。。。我想明白你说的话。。。我可以通过一个独特的大限制来解决这些问题,即“我所有的兄弟都是律师”、“他们都活着”、“他们是男性”、“他们是我父亲的儿子,或者他们是我母亲的儿子”。。。对我来说,现在真正重要的一点是(首先一定要学习更好的owl和sparql:)识别一个选定类的所有属性。。。所以我想我必须在查询中指定类的“名称”。。。但我不知道怎么做!tnxhowever@MaxCalzone您只需在
的where
部分中编写
而不是
?class
,然后执行
选择属性where{
而不是
选择类?属性where{
。这就是你要问的吗?请务必在发布后校对你的问题,或者更好的是,在发布前检查预览。我刚刚意识到,你问题的原始文本包含了一些呈现版本没有的信息。我已经做了,但你应该检查它们的正确性。