有什么方法可以将个人(实例)连接到具有对象属性的类吗?例如,本例中的个体是模块名称:Web 编程。对象属性:isClassified。类别:网络。
我尝试将 Web 编程定义为类,并且它有效,因为域和范围都是类。同样,如果我将网络编程和网络定义为个体,它也是有效的。如果域是一个类并且范围是单个的,它仍然有效。但是如果域是个体的并且范围是类的呢?有什么方法可以将它与对象属性连接:isClassifiedIn?
Prot\xc3\xa9g\xc3\xa9 是 OWL 2 DL 编辑器(自版本 4 起)。在 OWL 2 DL 中,个体不能是类,并且对象属性必须仅将个体与个体相关联。所以你想要的东西不能用你所表述的方式来表达。但是,您可以做两件事:
\n在OWL 2 DL中,虽然个体不可能是类,但个体名称同时是类名称是可能的。例如,可以说(用 Turtle 语法):
\nex:Module a owl:Class .\nex:Network a owl:Class, owl:Thing .\nex:isClassified a owl:ObjectProperty .\nex:webProgramming a ex:Module;\n ex:isClassified ex:Network .\nRun Code Online (Sandbox Code Playgroud)\n注意,ex:webProgramming这里与类无关。它与 类型的个体有关owl:Thing。这个个体与名为 的类没有任何关系ex:Network,尽管它具有相同的名称。这在 OWL 2 规范中称为“双关语”。
还有第三种方法:改变你的知识模型,这样你就不会遇到这个问题。我不知道你的本体论,但它可能暗示你应该避免的反模式。
\n| 归档时间: |
|
| 查看次数: |
4667 次 |
| 最近记录: |