- From: Seth Russell <seth@robustai.net>
- Date: Tue, 19 Feb 2002 10:32:28 -0800
- To: <tarod@softhome.net>, "Pat Hayes" <phayes@ai.uwf.edu>
- Cc: <www-rdf-logic@w3.org>
From: "Pat Hayes" <phayes@ai.uwf.edu> > > property c(range(A or B), domain(A and B)) > > I take it that this means that the range is the union and the domain > is the intersection. The official answer is that you can't. What you > can do is this: > > _:x rdfs:range A . > _:x rdfs:subPropertyOf C . > _:y rdfs:range B . > _:y rdfs:subPropertyOf C . > C rdfs:domain A . > C rdfs:domain B . > > This says that the domain is contained in A intersect B, and that the > range is contained in a class containing both A and B. That's the > best you can do in RDF since it doesn't have any kind of negation or > 'lower-bound' construct that could prevent a range or domain being > smaller than stated. If you want to be more exact about upper and > lower bounds of classes, you will need to use a more expressive > language, such as DAML. Interesting .. can a property ~inherit?~ a range ~restraint?~ from it's subProperties ? http://robustai.net/mentography/rdfs_domain_range5.gif Seth Russell
Received on Tuesday, 19 February 2002 14:40:13 UTC