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.
Interesting. Folk in the Dublin Core community have long felt a bit guilty for the http://purl.org/dc/elements/1.1/ terms having no fixed ranges. Maybe it's OK after all? :)
ReplyDelete