Rdf 在OWL中的表达式前面列出?

Rdf 在OWL中的表达式前面列出?,rdf,owl,semantic-web,turtle-rdf,Rdf,Owl,Semantic Web,Turtle Rdf,在OWL中的表达式前面可以有一个列表吗?比如: ( :Dairy :Egg :Nut ) rdfs:subClassOf :FoodGroup . 或: 或者一般来说,这种类型的一组表达式是否有语法上的糖分 :Diary rdfs:subClassOf :FoodGroup . :Egg rdfs:subClassOf :FoodGroup . :Nut rdfs:subClassOf :FoodGroup . 海龟 在Turtle中,没有类似的主题列表 它可以编写类似于(:a:b)rdfs

在OWL中的表达式前面可以有一个列表吗?比如:

( :Dairy :Egg :Nut ) rdfs:subClassOf :FoodGroup .
或:

或者一般来说,这种类型的一组表达式是否有语法上的糖分

:Diary rdfs:subClassOf :FoodGroup .
:Egg rdfs:subClassOf :FoodGroup .
:Nut rdfs:subClassOf :FoodGroup .

海龟

在Turtle中,没有类似的主题列表

它可以编写类似于
(:a:b)rdfs:subClassOf:c

但是,这并不等于
:a rdfs:subassof:c.:b rdfs:子类:c

事实上,您可以使用主题位置编写的最有用的东西是
(:a:b)rdf:List

也就是说,没有语法上的糖

猫头鹰

使用OWL推断功能,可以实现类似的功能

可以声明反向属性,然后在序列化中使用对象列表:

:inverseProperty owl:inverseOf :directProperty .
:c :inverseProperty :a, :b .

限制

但是,这不适用于
rdfs:subassof
。对象属性连接个人,而不是类。类似于
:c rdfs:superClassOf:a,:b的内容将被视为与同名个体相关

这就是工作原理(另请参见令人大开眼界的答案)

对于
rdfs:subassof
的特殊情况,编写
[owl:unionOf(:a:b)]rdfs:subassof:c

如果您不需要简单的
:c owl:unionOf(:a:b)
:c owl:disjointionof(:a:b)

不幸的是,不能用曼彻斯特语法保存公理。

BTW:。显然,您可以在SPARQL中编写类似于
?c^rdfs:subassof:a,:b
的代码。
:inverseProperty owl:inverseOf :directProperty .
:c :inverseProperty :a, :b .