我的本体论中有关于课程(而不是个人)的问题。我需要知道哪一个 OWL(full-dl-lite)允许关联类。 我的意思是财产的范围和范围是http://www.w3.org/2002/07/owl#Class。 有可能吗? 谢谢你的任何提示。
答案 0 :(得分:3)
首先,忘记http://www.w3.org/TR/owl-guide/,http://www.w3.org/TR/owl-ref/和http://www.w3.org/TR/owl-semantics/的规范。 Web本体语言的官方建议是OWL 2,其中各种子语言是OWL 2 EL,OWL 2 QL,OWL 2 RL,OWL 2 DL和OWL 2 Full(阅读new features of 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 reasoners不会在该输入上崩溃(更准确地说,我测试过的所有reasoners都不会崩溃),所以它实际上非常安全。