为什么推理者推断出此 class 是此 class 的子 class
Why the reasoner inferred that this class is a sub class of this class
这是我的第一个 class Ratings2016
,它相当于 class:Ratings 和 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>
这是另一个 class Ratings2015
它相当于 Ratings 并且 createdOn 大于 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 低于 Ratings 2015class
这是不正确的,为什么会这样,如何解决?
原因是您使用 xsd:minInclusive
指定创建日期。但是,根据 XMLSchema,xsdminInclusive
仅指定可能值的下限。因此,由于 Ratings2016
的创建日期大于 Ratings2015
的日期,因此 包含 在为 Ratings2015
指定的值中(从2015年初开始,不终止),属于那个class.
解决这个问题的方法当然取决于你的问题,但也许它可能就足够了,例如也为你的评级声明 xsd:maxInclusive
值。
这是我的第一个 class Ratings2016
,它相当于 class:Ratings 和 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>
这是另一个 class Ratings2015
它相当于 Ratings 并且 createdOn 大于 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 低于 Ratings 2015class
这是不正确的,为什么会这样,如何解决?
原因是您使用 xsd:minInclusive
指定创建日期。但是,根据 XMLSchema,xsdminInclusive
仅指定可能值的下限。因此,由于 Ratings2016
的创建日期大于 Ratings2015
的日期,因此 包含 在为 Ratings2015
指定的值中(从2015年初开始,不终止),属于那个class.
解决这个问题的方法当然取决于你的问题,但也许它可能就足够了,例如也为你的评级声明 xsd:maxInclusive
值。