2013-01-05 3 views
3

Недавно я начал изучать язык он-лайн Web (OWL). Я хочу определить DataProperty с моим собственным определенным диапазоном значений. Рассмотрим следующее свойство:Как определить свои собственные диапазоны для OWL DataProperties

<owl:DatatypeProperty rdf:ID="myProperty"> 
    <rdfs:domain rdf:resource="#MyDomain"/> 
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> 
    </owl:DatatypeProperty> 

Свойство имеет диапазон двойного значения, но я хочу, чтобы ограничить диапазон для того, чтобы сделать свою собственность, чтобы принимать только двойные значения между 0 и 1. Я был бы очень признателен, если вы расскажете мне, как определить собственные диапазоны для свойств данных.

ответ

10

Здесь вы идете (в черепахе, а не RDF/XML, для краткости):

:myProperty a owl:DatatypeProperty; 
    rdfs:domain :MyDomain; 
    rdfs:range [ 
     a rdfs:Datatype; 
     owl:onDatatype xsd:double; 
     owl:withRestrictions ([xsd:minInclusive 0] [xsd:maxInclusive 1]) 
    ] . 

Я хотел бы предложить, что вы используете xsd:decimal вместо xsd:double, потому что xsd:double ограничен в точности и не пересекается с xsd:decimal, что также делает его не пересекающиеся с xsd:integer, xsd:int и т.д.

UPDATE: в RDF/XML, он соответствует (посмотреть, как неаккуратно его сравнивают с Turtle):

<owl:DatatypeProperty rdf:about="#myProperty"> 
    <rdfs:domain rdf:resource="#MyDomain"/> 
    <rdfs:range> 
     <rdfs:Datatype> 
      <owl:onDatatype rdf:resource="&xsd;double"/> 
      <owl:withRestrictions rdf:parseType="Collection"> 
       <rdf:Description> 
        <xsd:minInclusive rdf:datatype="&xsd;double">0</xsd:minInclusive> 
       </rdf:Description> 
       <rdf:Description> 
        <xsd:maxInclusive rdf:datatype="&xsd;double">1</xsd:maxInclusive> 
       <rdf:Description> 
       </rdf:Description> 
      </owl:withRestrictions> 
     </rdfs:Datatype> 
    </rdfs:range> 
</owl:DatatypeProperty> 

Но если вы пишете RDF непосредственно с помощью текстового редактора, вы должны действительно научиться использовать Turtle. Это намного проще и проще, чем RDF/XML. Вы действительно можете увидеть троек. И это скоро станет стандартом, переход к рекомендации кандидата W3C неизбежен.

** Обновление 3 октября 2017 года: Turtle was standardised in February 2014. Если вы предпочитаете обозначение для RDF на основе JSON, есть также JSON-LD, еще один стандарт W3C.

+0

спасибо. Не могли бы вы также написать его в формате RDF/XML? Я попытался преобразовать его сам, но поскольку я не очень хорошо знаком с Черепахой, я не получил приемлемого результата. –