个人(实例)是否有任何方式使用对象属性连接到类?例如,在这种情况下,个人是模块名称:Web Programming。对象属性:isClassified。课程:网络。
我尝试将Web编程定义为类,它的工作原理是因为域和范围都是类。如果我同时定义Web Programming&网络作为个人,它的工作原理。如果域是一个类,范围是个体的,它仍然有效。但是,如果域是个体的并且范围是类,该怎么办?有什么办法可以用object属性连接它:isClassifiedIn?
答案 0 :(得分:3)
Protégé是一个OWL 2 DL编辑器(从版本4开始)。在OWL 2 DL中,个人不能是一个类,并且对象属性必须仅将个人与个人联系起来。所以你想要的东西不能以你制定它的方式表达出来。但是,你可以做两件事:
在OWL 2 DL中,尽管个人不可能成为课程,但个人姓名可能同时课程名称。例如,可以说(用Turtle语法):
ex:Module a owl:Class .
ex:Network a owl:Class, owl:Thing .
ex:isClassified a owl:ObjectProperty .
ex:webProgramming a ex:Module;
ex:isClassified ex:Network .
请注意,ex:webProgramming
此处与课程无关。它与owl:Thing
类型的个人有关。虽然它具有相同的名称,但这个人与名为ex:Network
的类没有任何关系。这在OWL 2规范中称为“双关语”。
还有第三种方法:改变你的知识模型,这样你就不会遇到这个问题。我不知道你的本体论,但可以暗示你应该避免的反模式。
答案 1 :(得分:0)
您必须使用“值”。 使用类表达式编辑器编写您自己的表达式。 选择比写的类: “属性”值“个人”