- From: David Martin <martin@ai.sri.com>
- Date: Tue, 17 Sep 2002 22:32:13 -0700
- To: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>
- CC: pacheco@ai.sri.com, www-rdf-logic@w3.org
"Peter F. Patel-Schneider" wrote: Peter -- I could use another round of clarification on this thread. This particular question has come up in the course of implementing a DAML+OIL editor here at SRI. > From: John Pacheco <pacheco@AI.SRI.COM> > Subject: Re: Dealing with qualified expressions in DAML > Date: Tue, 17 Sep 2002 12:14:07 -0700 (PDT) > > > > > <daml:Class rdf:ID="CartoonCharacter"> > > > > <rdfs:subClassOf> > > > > <daml:Restriction> > > > > <daml:onProperty rdf:resource="#hasInPocket"/> > > > > <daml:hasClassQ rdf:resource="#Elephant"/> > > > > <daml:maxCardinalityQ>2</daml:maxCardinalityQ> > > > > <daml:hasClassQ rdf:resource="#Dynamite"/> > > > > <daml:maxCardinalityQ>4</daml:maxCardinalityQ> > > > > <daml:hasClassQ rdf:resource="#Anvil"/> > > > > <daml:maxCardinalityQ>1</daml:maxCardinalityQ> > > > > </daml:Restriction> > > > > </rdfs:subClassOf> > > > > </daml:Class> > > > > > > This is valid DAML+OIL, but it does not mean what you might think that it > > > means. To get the standard meaning of this you need to create an > > > intersectionOf multiple restrictions. So far, so good. To increase my level of comfort, please confirm that the following is a correct paraphrase of the entire expression above: (1) Class CartoonCharacter is a subset of {{things with at most 1 elephant in their pocket} \intersect {things with at most 2 elephants in their pocket} \intersect {things with at most 4 elephants in their pocket} \intersect {things with at most 1 dynamite in their pocket} \intersect {things with at most 2 dynamites in their pocket} \intersect {things with at most 4 dynamites in their pocket} \intersect {things with at most 1 anvil in their pocket} \intersect {things with at most 2 anvils in their pocket} \intersect {things with at most 4 anvils in their pocket}} > > > > > So what does this code mean then? How is one to interpret multiple hasClassQ > > and cardinalityQ tags? > > > > -John Pacheco > > Take all possible ways of combining the pieces that make a complete > DAML+OIL restriction. The extension of the restriction is then *each* of > them. Earlier, you used the word "intersection", and I'd be happy if you'd written the following just above: "The extension of the restriction is then the intersection of all of them." Is that what you are saying, or are you saying something that goes beyond that? > > This doesn't sound so weird said like this, but a side effect is to assert > that each of the restrictions thus formed has the same extension. So, the > above example says that any object that has at most 2 dynamites in its pocket > also has atmost 1 elephant in its pocket, and vice versa. I have to admit the above has me befuddled. Why should it be so? Suppose I define the following 2 classes: <daml:Class rdf:ID="foo"> <rdfs:sameClassAs> <daml:Restriction> <daml:onProperty rdf:resource="#hasInPocket"/> <daml:hasClassQ rdf:resource="#Elephant"/> <daml:maxCardinalityQ>1</daml:maxCardinalityQ> </daml:Restriction> </rdfs:sameClassAs> </daml:Class> <daml:Class rdf:ID="bar"> <rdfs:sameClassAs> <daml:Restriction> <daml:onProperty rdf:resource="#hasInPocket"/> <daml:hasClassQ rdf:resource="#Dynamite"/> <daml:maxCardinalityQ>2</daml:maxCardinalityQ> </daml:Restriction> </rdfs:sameClassAs> </daml:Class> From what you say above, a DAML+OIL reasoner should be able to infer, from these 2 definitions and (1) above, this: <daml:Class rdf:about="bar"> <rdfs:sameClassAs>foo</rdfs:sameClassAs> </daml:Class> How does that get to be a legitimate inference? Intuitively, I can't see a shred of basis for it. Thanks, David Martin
Received on Wednesday, 18 September 2002 01:31:28 UTC