Kat*_*aki 5 rdf semantic-web owl ontology rdfs
我想用Protege创建一个本体,它包含两个类,Animal和FatherAnimal,以及对象属性hasFather,域名为Animal,范围为FatherAnimal.
另外,我创建了另外两个类:Son和Father,它们与相同的对象属性hasFather链接.这里的问题是我不允许为同一个对象属性创建多个域和范围.我真的想避免创建一个新的对象属性.还有其他解决方案吗?
目前还不清楚问题是什么.您可以向对象属性添加多个域和范围,但解释是交集.这意味着,如果你说,例如,
hasFather rdfs:domain Son
hasFather rdfs:domain Animal
Run Code Online (Sandbox Code Playgroud)
无论何时你有
X hasFather Y
Run Code Online (Sandbox Code Playgroud)
你能够推断出来
X rdf:type Son
X rdf:type Animal
Run Code Online (Sandbox Code Playgroud)
这可能不是你想要的.
在我看来,你可以这样做:
如果您想要更多类型推断,那么您还可以添加两个子类公理:
Son SubClassOf(hasFather only Father)
Animal SubClassOf(hasFather only AnimalFather)
这些公理说,如果事情是一个儿子和它与由财产东西hasFather,那么,什么是实例父亲.Similiary,如果某个东西是动物并且与属性hasFather有关,那么某些东西就是AnimalFather的一个实例.