代码之家  ›  专栏  ›  技术社区  ›  user697911

我是否应该始终在OWL本体中创建双向关系?

  •  1
  • user697911  · 技术社区  · 6 年前

    例如,对于 Book Author 课程,我可以 authorOf 关系,和或 hasAuthor 关系对于 Student Course 课程,我可以 courseOf hasCourse 二者之间的关系。

    总是在两个方向上建立关系似乎是多余的。是否有任何准则或原则来处理这种情况?

    1 回复  |  直到 6 年前
        1
  •  2
  •   unor    6 年前

    我不知道有什么建议 总是 显式提供反向属性。

    反向特性至少有两个用例:

    • 需要引用反向属性,我们称之为“IP”, 本体内部。

      我们可能需要声明另一个属性与IP不相交。或者其他财产等同于IP。现在,我们提供IP以允许该声明。另一个非常微不足道的例子是希望将注释保留在正确的位置。您可以定义IP只是为了在其上放置rdfs:注释。

    • 需要外部引用反向属性。

      例如:我们的应用程序将自然语言的翻译分配给ObjectProperties。在著名的Protege Pizza本体中,我们将“hasTopping”翻译成“en:has-topping”这样的字符串。我们还想用自然语言表达“en:is the top of”。(我们的应用程序语义需要它。)这就是创建反向属性“IsTopingof”的原因:为了有一个实例,对应一个URI,我们的翻译可以引用。