2016-03-09 4 views
0

Это мой первый класс 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 это эквивалентно Рейтинги и 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 является подклассом рейтингов 2015

image

Это не правильно, почему это и как его решить?

ответ

6

Причина в том, что вы используете xsd:minInclusive, чтобы указать дату создания. Но, согласно XMLSchema, xsdminInclusive указывает только нижнюю границу для возможного значения. Таким образом, поскольку Ratings2016 имеет дату создания, которая больше даты Ratings2015, она составляет в приложении в значениях, указанных для Ratings2015 (который начинается с начала 2015 года и не заканчивается) и принадлежит к этому классу.

Способ решения этой проблемы зависит, конечно, от вашей проблемы, но, возможно, этого может быть достаточно, например, объявить также значения xsd:maxInclusive для ваших рейтингов.

+0

Спасибо, что он работает после 'maxInClusive' –

+0

, пожалуйста, не могли бы вы мне помочь? https://stackoverflow.com/questions/35914679/why-protege-doesnt-infer-a-data-property-in-this-case –

 Смежные вопросы

  • Нет связанных вопросов^_^