почему протеж не выводит свойство данных в этом случае
У меня есть классRates1.0
это подкласс класса имеет значение1.0f
для предикатаratesBy
в дальнейшем:
<!-- http://semanticrecommender.com/rs#Rates1.0 -->
<owl:Class rdf:about="http://semanticrecommender.com/rs#Rates1.0">
<rdfs:subClassOf rdf:resource="http://semanticrecommender.com/rs#Rates"/>
<rdfs:subClassOf>
<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>
</rdfs:subClassOf>
</owl:Class>
предикатratesBy
является одновременно свойством данных и функциональным следующим:
<!-- http://semanticrecommender.com/rs#ratesBy -->
<owl:DatatypeProperty rdf:about="http://semanticrecommender.com/rs#ratesBy">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
<rdfs:domain rdf:resource="http://semanticrecommender.com/rs#Rates"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/>
</owl:DatatypeProperty>
Я определяю экземплярRates1.0
назови этоr1
Я запускаю аргументатор в protege, но он не делает вывод, что r1 имеет свойство dataratesBy
вообще, почему, пожалуйста?
Я сказал, что всеRates1.0
иметьratesBy
со значением1.0f
иratesBy
функционально
Это определение экземпляра r1
<!-- http://www.MusicSemanticOntology.com/mso#r1 -->
<owl:NamedIndividual rdf:about="http://www.MusicSemanticOntology.com/mso#r1">
<rdf:type rdf:resource="http://semanticrecommender.com/rs#Rates1.0"/>
<rs:about rdf:resource="http://music.org/musicontology/mo#5th_Symphony"/>
<rs:createdOn rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2016-01-01T00:00:00</rs:createdOn>
</owl:NamedIndividual>
Обновление 2Даже если бы я сказал, что Rates1.0 является подклассом(ratesBy value 1.0f) and (ratesBy exactly 1 float)
до сих пор не выведено, что r1 должен иметь ставки по
Подсказка: я знаю, что использование equvlent вместо подкласса решит, но мне нужно знать, почему подкласс не работает в этом сценарии