【问题标题】:Can individual connect to class with object property on Protege?个人可以通过 Protege 上的对象属性连接到类吗?
【发布时间】:2017-02-14 12:02:26
【问题描述】:

个人(实例)是否有任何方式连接到具有对象属性的类?例如,本例中的个人是模块名称:Web Programming。对象属性:isClassified。类别:网络。

我尝试将 Web 编程定义为类,它之所以有效,是因为域和范围都是类。如果我将 Web 编程和网络都定义为个人,也是如此,它可以工作。如果域是一个类并且范围是单个的,它仍然有效。但是如果域是个体而范围是类呢?有什么方法可以将它与对象属性连接起来:isClassifiedIn?

【问题讨论】:

    标签: ontology protege4


    【解决方案1】:

    你必须使用“价值”。 使用类表达式编辑器编写您自己的表达式。 选择类比写: “属性”值“个人”

    【讨论】:

      【解决方案2】:

      Protégé 是一个 OWL 2 DL 编辑器(从版本 4 开始)。在 OWL 2 DL 中,个体不能是类,并且对象属性必须仅将个体与个体相关联。所以你想要的东西不能用你制定它的方式来表达。但是,您可以做两件事:

      1. 使用注释属性而不是对象属性。这可能并不理想,因为 OWL DL 推理器必须在推理过程中忽略注释属性。它们就是:注解,类似于编程代码中的 cmets。
      2. 将个人与另一个与班级同名的个人联系起来。让我详细说明一下。

      在 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 规范中称为“双关语”。

      还有第三种方法:改变你的知识模型,这样你就不会遇到这个问题。我不知道你的本体,但它可能暗示你应该避免的反模式。

      【讨论】:

      • 谢谢你的回答,抱歉我回复得太晚了
      猜你喜欢
      • 2011-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-23
      • 2015-07-27
      • 2021-12-25
      相关资源
      最近更新 更多