Re: on behalf of sandro

From: Deborah McGuinness (
Date: 10/24/01

there are a few ways, arguably, none perfect.

the most direct is mincardinalityQ
state that something has mincardinality 1 (or more)
and the Q in this case is RED-THING

(the bad thing about this is it requires a property to be defined for the
mincardinalityq statement
say MySpecialProperty  so that i can say

<daml:Restriction daml:maxCardinalityQ="1">
      <daml:onProperty rdf:resource="#MySpecialProperty"/>
      <daml:hasClassQ rdf:resource="#RedThing"/>

(and this of course assumes red things to be defined which could be:

<daml:Class rdf:ID="RedThing">
      <daml:onProperty rdf:resource="#hasColor"/>
      <daml:hasValue rdf:resource="#red"/>

one could also make individuals  (just for the purposes of implying a
and say foo has min cardinality 1 on a property MySpecialProperty and
then have the value restriction on MySpecialProperty be RedThing and the
filler of MySpecialProperty
on foo, be bar.
this implies that bar is red and thus, there exists a red thing.   One
would not need to explicitly create bar for the inference to be implied.

Richard Fikes wrote:

> >The knowledge base contains the statements: "Pat's car is blue, and
> >there is something colored red."  Somewhat more formally:
> >
> >   RDF(PatsCar, color, blue).
> >   exists x (RDF(x, color, red)).
> Sorry to be dense, but how does one state "there is something colored
> red" in DAML+OIL?
> Richard

 Deborah L. McGuinness
 Knowledge Systems Laboratory
 Gates Computer Science Building, 2A Room 241
 Stanford University, Stanford, CA 94305-9020
 (voice) 650 723 9770    (stanford fax) 650 725 5850   (computer fax)
801 705 0941

This archive was generated by hypermail 2.1.4 : 04/02/02 EST