在 OWL 中的表达式前面列出?
List in front of the expression in OWL?
是否可以在OWL中的表达式前加一个列表?类似于:
( :Dairy :Egg :Nut ) rdfs:subClassOf :FoodGroup .
或:
:Dairy , :Egg , :Nut rdfs:subClassOf :FoodGroup .
或者一般来说,是否有针对该类型的一组表达式的语法糖?:
:Diary rdfs:subClassOf :FoodGroup .
:Egg rdfs:subClassOf :FoodGroup .
:Nut rdfs:subClassOf :FoodGroup .
乌龟
在 Turtle 中,没有类似于 object lists 的主题列表。
possible写成(:a :b) rdfs:subClassOf :c
.
但是,这不等于 :a rdfs:SubClassOf :c . :b rdfs:SubClassOf :c
.
事实上,在主题位置使用 RDF list 可以写出的最有用的东西是 (:a :b) a rdf:List
.
我。即,没有 syntactic 糖。
OWL
使用 OWL 推理能力,有可能实现这样的目标。
可以声明一个逆 属性,然后在序列化中使用 Turtle 对象列表:
:inverseProperty owl:inverseOf :directProperty .
:c :inverseProperty :a, :b .
限制
但是,这不适用于 rdfs:subClassOf
。对象属性连接个人,而不是 类。 :c rdfs:superClassOf :a, :b
之类的内容将被视为与同名 个人.
相关
这就是OWL punning works (see also this令人大开眼界的回答。
对于 rdfs:subClassOf
的特殊情况,写 [ owl:unionOf (:a :b) ] rdfs:subClassOf :c
,
如果您不需要 :c owl:unionOf (:a :b)
或 :c owl:disjointUnionOf (:a :b)
.
不幸的是,general class inclusion 公理无法保存在曼彻斯特语法中。
是否可以在OWL中的表达式前加一个列表?类似于:
( :Dairy :Egg :Nut ) rdfs:subClassOf :FoodGroup .
或:
:Dairy , :Egg , :Nut rdfs:subClassOf :FoodGroup .
或者一般来说,是否有针对该类型的一组表达式的语法糖?:
:Diary rdfs:subClassOf :FoodGroup .
:Egg rdfs:subClassOf :FoodGroup .
:Nut rdfs:subClassOf :FoodGroup .
乌龟
在 Turtle 中,没有类似于 object lists 的主题列表。
possible写成(:a :b) rdfs:subClassOf :c
.
但是,这不等于 :a rdfs:SubClassOf :c . :b rdfs:SubClassOf :c
.
事实上,在主题位置使用 RDF list 可以写出的最有用的东西是 (:a :b) a rdf:List
.
我。即,没有 syntactic 糖。
OWL
使用 OWL 推理能力,有可能实现这样的目标。
可以声明一个逆 属性,然后在序列化中使用 Turtle 对象列表:
:inverseProperty owl:inverseOf :directProperty .
:c :inverseProperty :a, :b .
限制
但是,这不适用于 rdfs:subClassOf
。对象属性连接个人,而不是 类。 :c rdfs:superClassOf :a, :b
之类的内容将被视为与同名 个人.
这就是OWL punning works (see also this令人大开眼界的回答。
对于 rdfs:subClassOf
的特殊情况,写 [ owl:unionOf (:a :b) ] rdfs:subClassOf :c
,
如果您不需要 :c owl:unionOf (:a :b)
或 :c owl:disjointUnionOf (:a :b)
.
不幸的是,general class inclusion 公理无法保存在曼彻斯特语法中。