我想引用其他本体中定义的概念,仅使用相应的概念URI,而不导入外部本体。我认为这与OWL语义兼容,使用owl:equivalentTo
属性。
有人可以确认这是正确的吗?此外,有人可以给我一个如何做的例子(最好使用Protege)吗?
答案 0 :(得分: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
。
答案 1 :(得分:0)
在外部本体中引用概念的唯一方法是导入它。导入后,您可以使用owl:equivalentTo
声明您的本体中的Identity
概念等同于外部本体的external:ID
概念。