Re: using "undeclared" properties and classes

From: Ian Horrocks (horrocks@cs.man.ac.uk)
Date: 12/26/00


I think this is covered by the "ID" versus "about" answer - the names
are just URIs and although it is good style to declare them it is not
mandatory. It is certainly legal from a daml+oil perspective to use
undeclared class and property names.

Ian

On December 25, Frank van Harmelen writes:
> 
> In the ammended version of our introductory example (at http://www.cs.vu.nl/~frankh/spool/DAML+OIL/daml+oil-ex.daml) there are a few places where I refer to a property without having declared it as a property first. 
> 
> For example:
> 
> <rdfs:Class rdf:about="#Person">
>   <restrictedBy>
>     <Restriction>
>       <onProperty rdf:resource="#spouse"/>
>       <maxcardinalityQ>1</maxcardinalityQ>
>       <hasClassQ rdf:resource="#Person"/>
>     </Restriction>
>   </restrictedBy>
> </rdfs:Class>
> 
> places a qualified cardinality restriction on the property spouse applied to persons, while there has never been a statement declaring spouse to be a property, ie nothing like
>   <rdf:Property rdf:ID="spouse/>
> appears anywhere (earlier or later) in the file. 
> 
> QUESTION: is this legal? In DAML? In RDF? in RDF Schema? 
> 
> The same happens with a class that is mentioned but never defined:
> 
> <Disjoint parseType="daml:collection">
>   <rdfs:Class rdf:about="#Car">
>   <rdfs:Class rdf:about="#Person">
>   <rdfs:Class rdf:about="#Plant">
> </Disjoint>
> 
> appears without there ever being anywere anything like:
> 
> <rdfs:Class rdf:ID="Plant"/>
> 
> SAME QUESTION.
> 
> Frank.
>    ----


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