ObjectProperty defined using rdfs:range, equivalent to using owl:allValuesFrom?

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?

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> 

I have two questions about it:

(a) How is it different than if rdfs:range had been used:

<owl:ObjectProperty rdf:ID="regionOf"> 
    <rdfs:range rdf:resource="#Country"/>
    <owl:cardinality rdf:datatype="&xsd;NonNegativeInteger">
        1
    </owl:cardinality>
</owl:ObjectProperty> 

If the two forms are equivalent, then when should each form be used?

(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?

Thanks!  /Roger

Received on Tuesday, 4 March 2003 06:03:11 UTC