I have recently started learning Web Ontology Language (OWL). I want to define a DataProperty with my own defined range of value. Consider the following property:
<owl:DatatypeProperty rdf:ID="myProperty">
<rdfs:domain rdf:resource="#MyDomain"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/>
</owl:DatatypeProperty>
The property has the range of double value but I want to restrict the range in order to make my property to accept only double values between 0 and 1. I would be very grateful if you guide me how to define my own ranges for data properties.
Here you go (in Turtle rather than RDF/XML, for conciseness):
I would suggest that you use
xsd:decimal
instead ofxsd:double
, becausexsd:double
is limited in precision and is disjoint fromxsd:decimal
, which also makes it disjoint fromxsd:integer
,xsd:int
, etc.UPDATE: in RDF/XML, it corresponds to (look at how messy it is compared to Turtle):
But if you are writing RDF directly with a text editor, you should really learn to use Turtle. It's much simpler and more concise than RDF/XML. You can really see the triples. And it's going to be a standard soon, the move to W3C Candidate Recommendation is imminent.
**Update October 3rd, 2017: Turtle was standardised in February 2014. If you prefer a notation for RDF based on JSON, there is also JSON-LD, another W3C standard.