[英]why inference is not working well
I have two ontologies which i join them together in one big ontology 我有两种本体,我将它们结合成一个大本体
This is in the big ontology 这是大本体
<!-- http://www.MusicSemanticOntology/mso#r1 -->
<owl:NamedIndividual rdf:about="http://www.MusicSemanticOntology/mso#r1">
<rdf:type rdf:resource="http://semanticrecommender.com/rs#Rates"/>
<rs:about rdf:resource="http://music.org/musicontology/mo#5th_Symphony"/>
<rs:createdOn rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">1956-06-25T04:00:00-05:00</rs:createdOn>
<rs:ratesBy rdf:datatype="http://www.w3.org/2001/XMLSchema#float">1.0</rs:ratesBy>
</owl:NamedIndividual>
</rdf:RDF>
as you see, the instance r1 is from Rangs and it has createdOn and has ratesBy predicate 如您所见,实例r1来自Rangs,它具有createdOn并且具有ratesBy谓词
I have this class: 我有这个课:
<!-- http://semanticrecommender.com/rs#Likes -->
<owl:Class rdf:about="http://semanticrecommender.com/rs#Likes">
<rdfs:subClassOf>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<rdf:Description rdf:about="http://semanticrecommender.com/rs#Rates"/>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="http://semanticrecommender.com/rs#ratesBy"/>
<owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#float">0.8</owl:hasValue>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://semanticrecommender.com/rs#ratesBy"/>
<owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#float">0.9</owl:hasValue>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://semanticrecommender.com/rs#ratesBy"/>
<owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#float">1.0</owl:hasValue>
</owl:Restriction>
</owl:unionOf>
</owl:Class>
</owl:intersectionOf>
</owl:Class>
</rdfs:subClassOf>
</owl:Class>
why the r1 is not being form class likes when i run the reaonsoner? 当我运行reaonsoner时,为什么r1不能像表单类一样? though the value of its rangeBy is 1 and it has the relattion about, and it has the un mandatory createdOn predicate and the value of about (which is the 5th_syphony) is from type Recommendable
尽管其rangeBy的值为1,并且具有相关性,并且具有非强制的createdOn谓词,并且about的值(即5th_syphony)来自Recommendable
类型
It doesn't infer that r1
is of type Likes
because it does not have sufficient information to do so. 不能推断出r1
是Likes
类型的,因为它没有足够的信息来做到这一点。
You have defined your class Likes
as a subclass of your restrictions. 您已将Likes
类定义为您的限制的子类 。 This means that you have defined necessary conditions for class membership (that is, if something is an instance of Likes
, then it must have the necessary property values), but you haven't defined that these conditions are also sufficient (that is, if something has these property values, then it must be an instance of Likes
). 这意味着您已经定义了类成员资格的必要条件(即, 如果某物是Likes
的实例, 则它必须具有必要的属性值),但是您尚未定义这些条件也就足够了 (即, 如果某物具有这些属性值, 那么它必须是Likes
的实例。 It is perfectly valid for something to have the specified ratesBy
values and yet not be an instance of the Likes
class. 具有指定的ratesBy
值而不是Likes
类的实例是完全有效的。 A fix for this is to define it as an owl:equivalentClass
instead of a rdfs:subClassOf
. 解决此问题的方法是将其定义为owl:equivalentClass
而不是rdfs:subClassOf
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.