Import 限制猫头鹰的进口

Import 限制猫头鹰的进口,import,rdf,owl,Import,Rdf,Owl,我想知道是否有可能对猫头鹰:进口产品进行一些限制 例如:我想导入foaf,因为我想使用foaf:Person和foaf:Organization的语义。但是我不同意foaf:Image的语义(我希望在我的名称空间中定义“Image”的语义) 所以,我不想在我的本体中导入foaf:Image及其关系。这是否可能设置限制,以便foaf:Image不会出现在我的模型中 我理解这可能与“开放世界”的假设相矛盾。。。和/或可能我不完全理解“进口”麦加主义 提前谢谢。导入指令恐怕没有这种粒度。您无法使用ow

我想知道是否有可能对猫头鹰:进口产品进行一些限制

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

所以,我不想在我的本体中导入foaf:Image及其关系。这是否可能设置限制,以便foaf:Image不会出现在我的模型中

我理解这可能与“开放世界”的假设相矛盾。。。和/或可能我不完全理解“进口”麦加主义


提前谢谢。

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

您无法使用owl:imports来实现这一点,但这不是开放世界与封闭世界的问题。它完全基于owl:imports的工作原理。基本上,
owl:imports
所说的是“获取在这个URL上找到的任何本体术语和公理,就像它们是我的本体的一部分一样”。在一个封闭的世界里,这也是可行的

对于允许部分导入的框架或形式主义进行了理论和实验研究,但在实现时,没有什么真正健壮和可维护的。这是Web本体语言的一个已知问题

如果您希望遵守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
在语义方面并没有真正的用处,但承认这是从另一个本体借用来的。有些人可能会认为这是一个糟糕的做法,从某种意义上说,你定义了你没有权限的术语(在这个意义上,你不拥有可以检索它们的描述的命名空间),但这是我能想到的最好的。