两个本体之间的映射

时间:2015-01-25 22:36:13

标签: semantics semantic-web owl

我如何使用owl:sameas链接两个本体?

如果我有Ontology A

:c rdf:type owl:Class .

和Ontology B

:d rdf:type owl:Class .

我想将这两个本体与共享概念(:c和:d)联系起来,我已经阅读了关于owl:sameas的内容,但是在本体中类似类的实例之间只使用了一个本体。

我想在class:c和class:d之间进行链接,这两个本体的解决方案是什么?

1 个答案:

答案 0 :(得分:3)

  

我读过关于owl:sameas的内容,但仅在一个本体中使用   在本体中类似类的实例之间。

正如您所注意到的,

owl:sameAs 用于表示一个人与另一个人相同。如果你想说两个类是等价的,那么你应该使用 C owl:equivalentClass D 形式的等价类公理。

当您编写本体A并定义C类时,但想表明它等同于本体B中定义的某些D类,您有两种选择:

  1. 您可以使用与D相同的IRI在本体中声明一个类。也就是说,你在你的本体中重新声明 D类,然后只说C相当于D.如果有人同时导入你的本体和其他本体,他们就会有公理说明两个班级是等同的。
  2. 您可以导入其他本体,以便导入D类声明。然后您只需将等效类公理添加到本体。
  3. 其中,在我看来,第二个是更好的选择,大部分时间。如果你要把你的班级等同于别人的,那么对你的本体论所做的任何推理都应该考虑到其他本体论中断言的公理,所以你应该导入它。如果你没有计划进行任何推理,那么导入基本上被忽略了,但是你仍然遵循让别人知道其他一些相关定义的好习惯。

    我认为导入的唯一情况是个好主意,如果其他本体不一致,或者它不是OWL本体,但也许是RDF词汇,或类似的东西那。在这些情况下,类的原始语义可能与您的原始语义不完全相同,并且最好避免导入(尽管如果类实际上不是这样,您可能也想避免使用等效的类公理)当量)。