W3C home > Mailing lists > Public > www-rdf-interest@w3.org > May 2003

Re: Define a property to have an EMPTY range ... use owl:Nothing?

From: Jeen Broekstra <jeen.broekstra@aidministrator.nl>
Date: Wed, 14 May 2003 16:44:39 +0200
Message-ID: <3EC25657.8070102@aidministrator.nl>
To: "Roger L. Costello" <costello@mitre.org>
CC: www-rdf-interest@w3.org

Roger L. Costello wrote:

> Oscar Corcho sent me an interesting idea - use owl:Nothing to represent
> EMPTY, e.g., 
>     <rdf:Property rdf:ID="secret">
>         <rdfs:domain rdf:resource="#Document"/>
>         <rdfs:range rdf:resource="&owl;Nothing"/>
>     </rdf:Property>
> A very interesting idea!  Are there any drawbacks to this?  Does it
> achieve the desired result of requiring secret to have an EMPTY range,
> e.g.,
>     <Document>
>         <secret/>
>     </Document

This would not have the desired effect, though the thought is good. 
Your ontology now indeed does specify that there can be no legal 
values of a secret property. Sofar, so good.

However, it is an intrinsic part of the RDF data model that all 
statements have subject, predicate *and* object. You simply cannot 
have a property without a specified value. Thus, what your ontology 
definition leads to is that you can not use the 'secret' property at 
all, on any Document.

Having looked at your initial post, I would suggest a simple 
modeling along these lines:

   <rdfs:Class rdf:ID="DocumentTag"/>

   <DocumentTag rdf:ID="secret"/>

   <rdf:Property rdf:ID="tag">
       <rdfs:domain rdf:resource="#Document"/>
       <rdfs:range rdf:resource="#DocumentTag"/>

     <tag rdf:resource="#secret"/>

(Maybe I'm being far too practical here, but I'm just sharing what
  came to mind :)).

aidministrator nederland bv - http://www.aidministrator.nl/
julianaplein 14b, 3817 cs amersfoort, the netherlands
tel. +31-(0)33-4659987, fax. +31-(0)33-4659987
Received on Wednesday, 14 May 2003 10:47:07 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:44:42 UTC