Re: Some thoughts on the semantics of domain and range (was: Re: RDFS bug "A property can have at most one range property")

At 10:56 AM 09/13/2000 -0700, guha wrote:
>rdfs:domain and rdfs:range were modelled after the similarly named
>in Cycl and have had very well defined meanings right from the beginning.
>(rdfs:domain ?arc ?domain) ^ (?arc ?source ?target) => (rdf:type ?source
>(rdfs:range ?arc ?range) ^ (?arc ?source ?target) => (rdf:type ?target
>and thats it.

Actually, Cyc's conjunctive semantics  for domains and ranges can (and
does) force modeling choices that sometimes make the whole concept of
domain and range practically useless. Here is an example (if memory serves,
it comes directly from Cyc). Consider the domain of a property
wearingSomething. A natural domain would be Person. However, dogs can also
wear something, so we have to make Animal a domain of wearingSomething (by
the by, allowing lions to wear things as well). In addition, manikins can
wear something. Now we have to go up to TangibleThing making the
declaration of domain essentially useless. Similar argument holds for range.

This conjunctive semantics for domains and ranges in Cyc was in fact a
problem for the OKBC systems when Cyc knowledge bases were translated into
frame-based OKBC-compatible KR systems such as Ontolingua and Protege:
Since domains and ranges of properties had to be maximally general,
high-level classes had hundreds of slots (properties) that had little
meaning for that class.

In fact, OKBC adopted the disjunctive semantics for domains and ranges of
slots (perhaps, for practical reasons), and it seemed to work well there.


Received on Wednesday, 13 September 2000 19:28:04 UTC