Friday, 6 August 2010

Modeling with Range-less OWL Properties

For those with a more traditional data modeling background, the idea of a property (aka attribute) with no range or specified data value space seems counter-intuitive. Attributes must be integers or real numbers or pointers to other instances/individuals. However, the OWL language allows range-less properties ... and that can be quite powerful when used in combination with the OWL allValuesFrom restriction.

Take the concept of identification or identifiers as an example. In simple cases, a string is all that's required for an identifier. In other cases, the organization owning the identifier and the specification of its format are very important. So, in some cases a property with a string data type suffices while in others a reference to an instance/individual with properties of its own (e.g. owningOrganization) is required. Here's a diagram of this example:



The key is to use rdf:Property for the rangeless identification property and then to use subClassOf restrictions when to associate the property with an OWL class.