为什么推理者推断这个类是这个类的子类

时间:2016-03-09 10:41:21

标签: rdf semantic-web owl ontology protege

这是我的第一个班级Ratings2016,它是一个等同的类:评级和createdOn的值大于2016年。

<!-- http://semanticrecommender.com/rs#Ratings2016 -->

    <owl:Class rdf:about="http://semanticrecommender.com/rs#Ratings2016">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="http://semanticrecommender.com/rs#Rates"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="http://semanticrecommender.com/rs#createdOn"/>
                        <owl:someValuesFrom>
                            <rdfs:Datatype>
                                <owl:onDatatype rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
                                <owl:withRestrictions rdf:parseType="Collection">
                                    <rdf:Description>
                                        <xsd:minInclusive rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2016-01-01T00:00:00</xsd:minInclusive>
                                    </rdf:Description>
                                </owl:withRestrictions>
                            </rdfs:Datatype>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

这是另一个班级Ratings2015,相当于评级,并且创建比2015年更大

 <!-- http://semanticrecommender.com/rs#Ratings2015 -->

    <owl:Class rdf:about="http://semanticrecommender.com/rs#Ratings2015">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="http://semanticrecommender.com/rs#Rates"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="http://semanticrecommender.com/rs#createdOn"/>
                        <owl:someValuesFrom>
                            <rdfs:Datatype>
                                <owl:onDatatype rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
                                <owl:withRestrictions rdf:parseType="Collection">
                                    <rdf:Description>
                                        <xsd:minInclusive rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2015-01-01T00:00:00</xsd:minInclusive>
                                    </rdf:Description>
                                </owl:withRestrictions>
                            </rdfs:Datatype>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

当我运行推理器时,推理者称Ratings2016是2015年评级的子类

image

这不正确,为什么会这样解决?

1 个答案:

答案 0 :(得分:6)

原因是您使用xsd:minInclusive指定创建日期。但是,根据XMLSchema,xsdminInclusive仅指定可能值的下限。因此,由于Ratings2016的创建日期大于Ratings2015的日期,因此在为Ratings2015指定的值中包含从2015年开始,不要终止),属于该类。

解决此问题的一种方法当然取决于您的问题,但也许就足以为您的评级声明xsd:maxInclusive值。