为什么推理效果不佳

时间:2016-03-09 00:33:05

标签: rdf semantic-web owl rdfs

我有两个本体,我将它们加在一个大本体中

这是一个大本体论

  <!-- 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并且它已创建On并具有ratesBy谓词

我有这堂课:

<!-- 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

1 个答案:

答案 0 :(得分:4)

它不会推断r1属于Likes类型,因为它没有足够的信息来执行此操作。

您已将类Likes定义为限制的子类。这意味着您已为类成员身份定义了必要的条件(即,如果某些内容是Likes的实例,它必须具有必要的属性值),但是你还没有定义这些条件也足够(也就是说,如果某些东西有这些属性值,那么 < / em>它必须是Likes)的实例。对于具有指定ratesBy值且尚未成为Likes类的实例的内容,它完全有效。解决此问题的方法是将其定义为owl:equivalentClass而不是rdfs:subClassOf