Re: on behalf of sandro (fwd)

From: Ian Horrocks (
Date: 10/25/01

------- start of forwarded message -------
From: Ian Horrocks <>
To: Richard Fikes <fikes@KSL.Stanford.EDU>
Date: Thu, 25 Oct 2001 14:45:30 -0400
Subject: Re: on behalf of sandro
Reply-To: Ian Horrocks <>

On October 24, Richard Fikes writes:
> > >>  Sorry to be dense, but how does one state "there is something colored
> > >>  red" in DAML+OIL?
> > >
> > >The simple answer is that you can't without either naming it (i.e.,
> > >asserting that some named individual is red) or connecting it to some
> > >named individual via properties. This "collapsed model property" is
> > >one of the basic properties of description logics on which their
> > >decision procedures depend.
> > 
> > Hmm. This seems easy in RDF:
> > 
> > _:xxx hasColor Red .
> > 
> > That would seem to imply that RDF can express something that DAML+OIL 
> > cannot express! Which is fine, I guess, but it doesn't jibe with what 
> > I had (perhaps naively) thought was the intended relationship between 
> > RDF/S and DAML+OIL.
> I would very  much like to see this issue resolved.

I agree. This is a basic issue that needs to be resolved before we can
get anywhere.

> However, it seems to me that cardinality constraints provide us with the
> same (or at least analogous) issues regarding bindings to query
> variables in query results.  I.e., does a query that asks for all the
> parents of Joe (as described in my previous message), to a KB that does
> not name the parents of Joe get back two bindings to constants created
> by the query answering agent to represent the parents of Joe or does it
> get back no bindings plus an indicator that there are exactly two
> answers to the query?

No, this is different - this is the case I mentioned where a reasoner
can infer the existence of individuals that don't correspond with any
node in the RDF graph. I REALLY don't believe we should consider
returning bindings to these individuals. I believe that trying to do
so would have serious consequences for the formal characteristics of
the query language. E.g., we could easily define a KB where Joe has
an infinite number of ancestors, where ancestors is a transitive
property. Queries about Joe's ancestors would then have infinite

We can answer questions about the number of parents Joe has e.g. by
asking if Joe is an instance of the class of things with at least 2
parents. As we have discussed before, logical KR systems aren't very
good at answering questions like "how many parents does Joe have" (or
"tell me what you know about Joe") because we may only have partial
information, or we may have knowledge like "either Joe has 2 parents
or it is raining in Manchester".

Of course we could ask a series of questions in order to discover the
min and max number of parents that Joe must have (in every
model). However, I don't believe that we should consider this sort of
thing as part of the basic query language - let's try to keep things
simple and resolve basic issues like the one about bindings and try to
determine the characteristics of the resulting language.


> Richard
------- end of forwarded message -------

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