问题描述
我正在寻找一个本体,允许将类型分类映射到另一个应用程序。我需要找到所有类型为 Person
的实例,而没有明确定义 Jack
是 Person
的三元组。目前使用 Protege 我还不能只使用子类。
假设如下:
MaleCollegeStudent is a subclass of CollegeStudent.
CollegeStudent is a subclass of Student.
Student is a subclass of Person.
ApplicationPersonType
是 Person
的等效类。这用于从 RDF 类显式映射应用程序类型。
Hierarchy:
MaleCollegeStudent
-> CollegeStudent
-> Student
-> Person
-> ApplicationPersonType
# Class Declarations
:MaleCollegeStudent a owl:Class .
:CollegeStudent a owl:Class .
:Student a owl:Class .
:Person a owl:Class .
:ApplicationPersonType a owl:Class .
# SubClass Declarations
:MaleCollegeStudent rdfs:subClassOf :CollegeStudent .
:CollegeStudent rdfs:subClassOf :Student .
:Student rdfs:subClassOf :Person .
# Equivalence Declarations
:ApplicationPersonType owl:equivalentClass :Person .
# Instances
:Jack a :MaleCollegeStudent .
:Ellen a :Student .
# Assumed Inferred Relations
:Jack a :Person .
:Jack a :Student .
:Jack a :CollegeStudent .
:Ellen a :Person .
:Jack a :ApplicationPersonType .
:Ellen a :ApplicationPersonType .
出于某种原因,我使用的 Protégé 工具没有给出上述推断结果。我的假设是推理器不起作用/没有在层次结构的那么高的层次上列出推理。
第一季度。该工具是否列出了所有推理? IE。即使推断出更高级别的层次结构之间存在更多链接,它是否会走捷径并仅列出直接推论?
为了满足我的要求,我想推断出以下关系:
杰克属于 ApplicationPersonType
类型
艾伦属于 ApplicationPersonType
第二季度。为了实现这一目标,我是否遗漏了上述内容?
当我向每个类添加域和范围时,我可以看到在工具上进行推理。理想情况下,我还想知道是否有办法在只有子类的多级层次结构上推断类型。
第三季度。是否可以推断 Jack 属于 ApplicationPersonType
类型,但没有为任何项目映射域和范围?
提前感谢您的回复!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)