首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对OWL导入进行限制

对OWL导入进行限制
EN

Stack Overflow用户
提问于 2016-10-06 15:38:16
回答 2查看 87关注 0票数 1

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

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

所以,我不希望foaf:Image及其关系被导入到我的本体中。有没有可能设置限制,这样foaf:Image就不会出现在我的模型中了……?

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

谢谢你的预付。

EN

回答 2

Stack Overflow用户

发布于 2016-10-07 03:16:28

你不能用owl:imports做到这一点,但这不是开放世界与封闭世界的问题。它纯粹基于owl:imports的工作方式。基本上,owl:imports所说的是“接受你在这个网址找到的任何本体术语和公理,就像它们是我的本体的一部分一样”。这在封闭世界的语义中也是有效的。

有关于允许部分导入的框架或形式化的理论和实验研究,但在实现时没有真正健壮和维护的东西。这是Web Ontology语言的一个已知问题。

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

代码语言:javascript
复制
   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在语义方面并不是真的有用,但承认它们是从另一个本体借用的事实。有些人可能认为这是一种糟糕的做法,因为您定义的术语是您没有权限的(因为您不拥有可以检索它们的描述的名称空间),但这是我能想到的最好的做法。

票数 2
EN

Stack Overflow用户

发布于 2016-10-06 20:33:45

import指令恐怕没有这种粒度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39890223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档