列出OWL中的表达式?

时间:2018-04-14 12:28:43

标签: rdf owl semantic-web turtle-rdf

是否可以在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 .

1 个答案:

答案 0 :(得分:3)

<强>龟

在Turtle中,没有与object lists类似的主题列表。

(:a :b) rdfs:subClassOf :c之类的内容possible 但是,这不等于:a rdfs:SubClassOf :c . :b rdfs:SubClassOf :c 事实上,您在主题位置使用RDF list撰写的最有用的内容是(:a :b) a rdf:List

予。例如,没有句法糖。

<强> OWL

使用OWL推理功能,可以实现这样的功能。

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

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

inverse

<强>限制

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

punning

这就是OWL punning的工作原理(另见this令人大开眼界的答案)。

对于rdfs:subClassOf的特定情况,请写[ owl:unionOf (:a :b) ] rdfs:subClassOf :c
如果您不仅需要:c owl:unionOf (:a :b):c owl:disjointUnionOf (:a :b)

gci

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