对OWL Imports

时间:2016-10-06 07:38:16

标签: import rdf owl

我想知道是否可以对owl:imports进行一些限制。

例如:我想导入foaf,因为我想使用foaf的语义:Person和foaf:Organization。但我不同意foaf的语义:Image(我希望在我的命名空间中定义“Image”的语义)。

所以,我不想要foaf:Image和它的关系可以在我的本体中导入。是否可以设置限制,以便foaf:Image不会出现在我的模型中......?

我理解这可能与“开放世界”假设相矛盾......和/或者我可能并不完全理解“进口”机制。

先谢谢你。

2 个答案:

答案 0 :(得分:2)

你不能用owl:imports做到这一点,但这不是开放世界与封闭世界的问题。它纯粹基于owl:imports应该如何工作。基本上,owl:imports所说的是“采用你在这个URL上找到的任何本体术语和公理,就好像它们是我的本体论的一部分”。这也适用于封闭的世界语义。

有关允许部分导入的框架或形式的理论和实验研究,但实际上并没有真正强大和维护。这是Web Ontology Language的一个已知问题。

如果您想要遵守FOAF本体的某些部分,您可以做的就是简单地复制您在本体中同意的术语声明和公理。例如:

   ex:myOnto  a  owl:Ontology .
   foaf:Agent  a  owl:Class;
       rdfs:isDefinedBy  foaf: .
   foaf:Person  a  owl:Class;
       rdfs:subClassOf  foaf:Agent;
       rdfs:isDefinedBy  foaf: .
   foaf:Organization  a  owl:Class;
       rdfs:subClassOf  foaf:Agent;
       rdfs:isDefinedBy  foaf: .

请注意,rdfs:isDefinedBy在语义方面并不真正有用,但承认这些是从另一个本体中借用的。有些人可能会认为这是一种不好的做法,因为你定义了你没有权限的术语(在某种意义上你不拥有可以检索它们描述的命名空间),但这是最好的我能想到。

答案 1 :(得分:0)

我害怕导入指令没有这种粒度。