为什么推理不能很好地进行 [英] why inference is not working well
问题描述
我有两种本体,我将它们结合成一个大本体
I have two ontologies which i join them together in one 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>
如您所见,实例r1来自Rangs,它具有createdOn且具有rateBy谓词
as you see, the instance r1 is from Rangs and it has createdOn and has ratesBy predicate
我上了这个课:
<!-- 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>
当我运行reaonsoner时,为什么r1不能像表单类一样?尽管其rangeBy的值为1,并且具有相关性,并且具有非强制的createdOn谓词,并且about的值(即5th_syphony)来自类型Recommendable
why the r1 is not being form class likes when i run the reaonsoner? 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
推荐答案
由于没有足够的信息,因此无法推断r1
的类型为Likes
.
It doesn't infer that r1
is of type Likes
because it does not have sufficient information to do so.
您已将类Likes
定义为您的限制的子类.这意味着您已经为类成员资格定义了必要的条件(即 if 如果某物是Likes
的实例,则 then 必须具有必需的属性值),但您还没有定义这些条件也足够(即,如果某些东西具有这些属性值,则 then >它必须是Likes
的实例).具有指定的ratesBy
值而不是Likes
类的实例是完全有效的.解决此问题的方法是将其定义为owl:equivalentClass
而不是rdfs:subClassOf
.
You have defined your class Likes
as a subclass of your restrictions. 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
). It is perfectly valid for something to have the specified ratesBy
values and yet not be an instance of the Likes
class. A fix for this is to define it as an owl:equivalentClass
instead of a rdfs:subClassOf
.
这篇关于为什么推理不能很好地进行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!