- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Wed, 05 Mar 2003 10:00:38 -0500 (EST)
- To: costello@mitre.org
- Cc: public-webont-comments@w3.org
[Mike Dean has already provided some answers, but here are some more.]
From: "Roger L. Costello" <costello@mitre.org>
Subject: ObjectProperty defined using rdfs:range, equivalent to using owl:allValuesFrom?
Date: Tue, 04 Mar 2003 15:27:11 -0500
> Hi Folks,
>
> I have several questions:
>
> 1. XML Schema distinguishes between "defining" and "declaring", e.g.,
> you "define" types, but you "declare" elements. Does OWL make such a
> distinction? That is, do you "define" a class, or do you "declare" a
> class? Do you "define" a property, or do you "declare" a property?
OWL doesn't really have any notion of defining or declaring. There are
some aspects of these, but really all you do is provide information about a
class, a property, or an individual.
> 2. Consider this ObjectProperty (er) definition from the OWL Guide:
>
> <owl:ObjectProperty rdf:ID="regionOf">
> <owl:allValuesFrom rdf:resource="#Country"/>
> <owl:cardinality rdf:datatype="&xsd;NonNegativeInteger">
> 1
> </owl:cardinality>
> </owl:ObjectProperty>
This is an error in the Guide. Part of the meaning of this can be captured
as
<owl:FunctionalProperty rdf:ID="regionOf">
<rdfs:range rdf:resource="#Country"/>
</owl:FunctionalProperty>
but this misses the part that would appear to require that the property is
total.
> I have two questions about it:
>
> (a) How is it different than if rdfs:range had been used[?]
If it was valid syntax, it should mean the same as if rdfs:range was used.
[...]
> If the two forms are equivalent, then when should each form be used?
Only one is possible.
> (b) I am struggling to understand why one would ever put a cardinality
> in a property definition - cardinality seems to me to be something that
> a class would want to assert, i.e., "when used in this class the
> property has a cardinality of 1". Can someone please elaborate upon
> when you would use cardinality in a property definition?
In general, global conditions of this sort are to be avoided. Instead use
restrictions, which are local to classes. Sometimes, however, it is useful
to provide a global domain or range. Also, some conditions on properties
can only be stated globally, such as transitivity and inverse.
> Thanks! /Roger
peter
Received on Wednesday, 5 March 2003 10:00:52 UTC