text: 4.9 OWL Property Domains and Ranges 
  Properties may have a*domain*and*range*defined. These terms have the same meaning in OWL as they do 
  in mathematics and set theory. The domain of a property is the set of all objects that can have that 
  property asserted about it. The range is the set of all objects that can be the value of the property. Both the 
  domain and range are optional. In general, it is a good idea to define them because doing so can catch 
  modeling mistakes while defining the model rather than at run time when trying to use it. The domain for 
  an object property must always be a class. For data properties the range is a simple datatype such as 
  xsd:decimal. The most common predefined datatypes already exist in Protégé. It is also possible to 
  define new data types although most users will seldom need to do that. For most cases if you are 
  considering defining a new datatype you should probably consider making the property an object property 
  instead and defining a class as the range. For people familiar with Entity-Relation modeling an object 
  property is similar to a relation and a data property is similar to an attribute. For those familiar with set 
  theory a property is identical to a binary relation in set theory. 