简体   繁体   English

为什么推理不能很好地进行

[英]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. 不能推断出r1Likes类型的,因为它没有足够的信息来做到这一点。

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM