【问题标题】:Referring to a concept in a not-imported ontology引用未导入本体中的概念
【发布时间】:2017-12-07 13:02:04
【问题描述】:

我想引用其他本体中定义的概念,只使用各自的概念URI,不导入外部本体。我认为这与 OWL 语义兼容,使用owl:equivalentTo 属性。

有人可以确认这是正确的吗?此外,有人可以为我提供一个如何做到这一点的例子(最好使用 Protege)吗?

【问题讨论】:

  • 不导入其他本体,你的推论会有所不同,因为你不会有其他本体提供的定义。如果您的目标是在有和没有导入的情况下进行相同的推理,则无法实现。

标签: owl protege


【解决方案1】:

假设存在一个本体anOnt:,其中有一个术语anOnt:Term,您希望在您的本体yourOnt: 中重用它。您可以导入anOnt: 并完成。但是,您也可以在本体中重新声明术语anOnt:Term,如下所示:

yourOnt:  a  owl:Ontology .
anOnt:Term  a  owl:Class .
# use anOnt:Term as you wish

但这些选项只有在您想遵守 OWL 2 DL 时才是必需的。 OWL 还定义了 OWL Full 及其RDF-based semantics,其中的术语根本不需要声明。所以你可以写:

yourOnt:SomeTerm  rdfs:subClass  anOnt:Term .

从基于 OWL 2 RDF 的语义的意义上讲,这与 OWL 语义兼容。

有关您是否应该使用owl:imports 或重新声明条款,或者只是重复使用条款的更多信息,您可以阅读answer I wrote on answers.semanticweb.com(一个现已关闭的网站)。更多关于为什么 OWL 2 有两种语义,你可以阅读another answer I wrote on answers.semanticweb.com

【讨论】:

    【解决方案2】:

    在外部本体中引用概念的唯一方法是导入它。导入后可以使用owl:equivalentTo断言说你本体中的Identity概念等价于外部本体的external:ID概念。

    【讨论】:

    • 其实答案比这个复杂。您正在将问题缩小到 OWL 2 DL 语法和 OWL 2 Direct Semantics 的一致性。在不符合这些规范的情况下,您可以做更多事情(同时在某种意义上仍然兼容)。
    • @Henriette:感谢您的回答。这不是我想听到的,但我仍然非常感谢您的时间。
    • @AntoineZimmermann:你是什么意思?能给我举个例子吗?如果我不遵循 OWL 语义,我将如何与 OWL 兼容?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多