- From: Natalya Fridman Noy <noy@SMI.Stanford.EDU>
- Date: Wed, 13 Sep 2000 16:28:10 -0700
- To: guha@guha.com, www-rdf-interest@w3.org
At 10:56 AM 09/13/2000 -0700, guha wrote: >rdfs:domain and rdfs:range were modelled after the similarly named >concepts >in Cycl and have had very well defined meanings right from the beginning. > >(rdfs:domain ?arc ?domain) ^ (?arc ?source ?target) => (rdf:type ?source >?domain) >and >(rdfs:range ?arc ?range) ^ (?arc ?source ?target) => (rdf:type ?target >?range) > >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. Natasha
Received on Wednesday, 13 September 2000 19:28:04 UTC