- From: Ken Baclawski <kenb@ccs.neu.edu>
- Date: Tue, 3 Jul 2001 16:04:02 -0400 (EDT)
- To: Richard Fikes <fikes@KSL.Stanford.EDU>
- cc: www-rdf-logic <www-rdf-logic@w3.org>
On Tue, 3 Jul 2001, Richard Fikes wrote:
[portion omitted]
> (Type R Restriction)
> (onProperty R parent)
> (toClass R person)
>
> We can certainly conclude that the parents of all objects that are type
> R are persons. However, how can we legitimately conclude that an object
> all of those parents are persons is type R when the very next RDF
> statement in the file may be "(hasValue R Joe)"? Those four statements
> together mean that in order to be type R an object has to have Joe as a
> parent and all of its parents must be persons. Thus, the first three
> RDF statements give us a different set of sufficient conditions then do
> the four RDF statements. The problem is that if there is no way of
> indicating that the definition of a non-primitive class is closed
> ("That's all, folks"), then there is no way for that definition to
> provide a set of sufficient conditions for membership in the class.
Why not use a cardinality constraint to bound the number of toClass (or
hasValue) values?
(type RtoClass Restriction)
(onProperty RtoClass toClass)
(cardinality RtoClass "1")
(type R RtoClass)
This restricts the number of toClass values of the R resource to be
exactly 1. Since you know one of them, it follows that you know them all.
One can similarly restrict the number of hasValue values to be 0:
(type RhasValue Restriction)
(onProperty RhasValue hasValue)
(cardinality RhasValue "0")
(type R RhasValue)
Ken Baclawski
Versatile Information Systems
Ken@Baclawski.com
Received on Tuesday, 3 July 2001 16:04:07 UTC