2

我在我的本体中遇到了与类(而不是个人)相关的问题。我需要知道哪一个 OWL(full-dl-lite) 允许关联类。我的意思是财产的领域和范围是http://www.w3.org/2002/07/owl#Class。有可能这样做吗?感谢您的任何提示。

4

1 回答 1

4

首先,忘记http://www.w3.org/TR/owl-guide/http://www.w3.org/TR/owl-ref/http://www.w3.org上的规范/TR/owl-semantics/ . Web Ontology Language 的官方推荐是OWL 2,其中各种子语言是 OWL 2 EL、OWL 2 QL、OWL 2 RL、OWL 2 DL 和 OWL 2 Full(了解OWL 2 的新特性)。OWL Lite 不再存在,应该永远被遗忘。

其次,在 OWL(1 和 2)中,总是可以使用注释属性来关联类,就像在Turtle中这样:

# valid in all variants and OWL 1 and OWL 2
:prop  a  owl:AnnotationProperty .
:C1  a  owl:Class .
:C2  a  owl:Class;
     :prop  :C2 .

在 OWL 1 中,无法为注释属性定义域或范围,但现在在 OWL 2 中可以:

# works in all variants of OWL 2
:prop  a  owl:AnnotationProperty;
       rdfs:domain  owl:Class;
       rdfs:range  owl:Class .

您的另一种选择是依靠“双关语”的概念,即使用个人类的 IRI,如下所示:

# works in all variants of OWL 2
:prop  a  owl:ObjectProperty .
:C1  a  owl:Class .
:C2  a  owl:Class;
     :prop  :C2 .

但是,您不能owl:Class用作对象属性的域或范围。最后一种可能是不关心并使用 OWL (1/2) Full:

# works in OWL 1 Full, OWL 2 Full
:prop  rdfs:domain  owl:Class;
       rdfs:range  owl:Class .
:C1  a  owl:Class;
     :prop  :C2 .

请注意,大多数 OWL DL 推理器不会在该输入上崩溃(更准确地说,我测试过的所有推理器都不会崩溃),因此实际上它非常安全。

于 2012-11-01T08:29:00.047 回答