- From: Dan Connolly <connolly@w3.org>
- Date: Mon, 02 Jul 2001 17:33:45 -0500
- To: Richard Fikes <fikes@KSL.Stanford.EDU>
- CC: www-rdf-logic <www-rdf-logic@w3.org>
Richard Fikes wrote:
>
> We are developing a DAML+OIL reasoner based on our axiomatic semantics
> paper and have an initial version of the reasoner running. That work
> has led me to a set of concerns about the semantics of DAML+OIL
> restrictions on which I would like some feedback. Although I take
> responsibility for whatever claims are made here about these problems,
> Richard Waldinger, Pat Hayes, Deborah McGuinness, and Gleb Frank have
> all contributed to an initial discussion of these issues and an
> exploration of possible solutions.
>
> The concerns are focused on the semantics of DAML+OIL restrictions. A
> DAML+OIL restriction is a class, and moreover is a non-primitive (aka
> defined) class. Thus, the conditions stated in a restriction element
> are intended to provide both necessary and sufficient conditions for
> membership in the class. So, a restriction that has a value of "parent"
> for the property onProperty and a value of "Person" for the property
> toClass is intended to represent the class of all objects all of whose
> values of "parent" are type "Person". The concern is that a
> straightforward translation of such a restriction into RDF, e.g.:
>
> (Type R Restriction)
> (onProperty R parent)
> (toClass R person)
>
> does not capture the notion that the restriction has no other values of
> toClass and has no values for hasValue, cardinality, etc. The missing
> "completeness" information is important since any such additional values
> would have to be included in the sufficient conditions for membership in
> the restriction.
Hmm... I consider onProperty and toClass to be
UniqueProperties, i.e. cardinality 1.
I thought that was in the axiomatic or model-theoretic
semantics somewhere; if not, I'd consider that a bug.
And of course it should be in the prose etc.
> Since the DAML+OIL reference description
> (http://www.daml.org/2001/03/reference.html) says that a DAML+OIL
> knowledge base is a collection of RDF triples, the questions are:
>
> * What set of RDF triples corresponds to a DAML+OIL restriction?
You got it right above.
> * How does a reasoner determine the sufficient conditions for being an
> instance of a restriction?
Using Ax94 etc.
Ax94. (=> (and (PropertyValue onProperty ?r ?p)
(PropertyValue toClass ?r ?c))
(forall (?i) (<=> (Type ?i ?r)
(forall (?j) (=> (PropertyValue ?p ?i ?j)
(Type ?j ?c))))))
> Note that this problem is confounded by the fact that DAML+OIL allows a
> restriction to contain multiple constraints.
Not really.
i.e. you can describe such a restriction, but you're
almost certain to state an inconsistency or
end up with an empty/unsatisfyable class in
almost all cases.
> That is, the above example
> restriction could also contain a value "Sam-Jones" for property hasValue
> so that the restriction is saying that it is the class of all objects
> that have "Sam-Jones" as a parent and all of whose parents are type
> "Person". The RDF for that restriction would be:
>
> (Type R Restriction)
> (onProperty R parent)
> (toClass R person)
> (hasValue R Sam-Jones)
Yes... provided Sam-Jones is a parent, that's the same as
(Type R Restriction)
(onProperty R parent)
(hasValue R Sam-Jones)
no?
> Attached below are two proposals for fixing this problem. All comments
> welcome.
>
> Richard
>
> Change DAML+OIL So That A Restriction Contains Only One Constraint
> -----------------------------------------------------------------
>
> The most straightforward solution to this problem seems to be to change
> DAML+OIL so that a restriction expresses exactly one constraint. That
> would mean that a restriction would have one value for exactly one of
> the properties toClass, hasValue, minCardinality, maxCardinality,
> cardinality, etc.
>
> That is the solution I would recommend.
That's a pretty good health warning for users: don't
try to specify more than one on the same restriction.
But I don't see why we need to do it that way formally.
Formally, we can just say (if we have not already)
that each of toClass/hasValue/etc. is functional/unique/cardinality-1.
>
> Make a Completeness Assumption About the Description of a Restriction
> ---------------------------------------------------------------------
>
> Assume the RDF statements in a given file completely describe each
> restriction mentioned in the file.
Ugh. No thanks. We went to a lot of trouble to avoid that
sort of thing, and I'd rather not go there.
--
Dan Connolly, W3C http://www.w3.org/People/Connolly/
Received on Monday, 2 July 2001 18:33:49 UTC