我如何使用owl:sameas来连接两个本体论?
如果我有本体A
:c rdf:type owl:Class .和本体论B
:d rdf:type owl:Class .我想将这两个本体与共享的概念(:c和:d)联系起来,我读过关于owl:sameas的文章,但是在本体中类似类的实例之间只使用了一个本体。
我想把两种本体论的类:c和class :d联系起来,解决方案是什么?
发布于 2015-01-26 01:06:25
我读过关于owl:sameas的文章,但它只在本体中类似类的实例之间的一个本体中使用。
owl:正如您注意到的,sameAs表示一个人和另一个个体是相同的。如果您想说两个类是等价的,那么您应该使用C owl形式的等效类公理:等效类D。
当您正在编写本体A并定义类C时,但希望表明它与在本体B中定义的某个类D等价时,您有两个选项:
在我看来,在大多数情况下,第二种选择是更好的选择。如果您要将您的类等同于其他人的类,那么对您的本体执行的任何推理都应该考虑到在其他本体中断言的公理,所以您应该导入它。如果您根本不打算进行任何推理,那么导入基本上是被忽略的,但是您仍然遵循这样的良好做法,即让其他人知道还有其他一些相关的定义。
我认为导入不是一个好主意的唯一情况是,如果其他本体不一致,或者它不是OWL本体,而是可能是RDF词汇表,或者类似的东西。在这些情况下,类的原始语义可能与您的类不完全相同,最好避免导入(不过,如果类实际上不是等效的,您也可能希望避免等效的类公理)。
https://stackoverflow.com/questions/28142402
复制相似问题