Re: Domain/Range Woes

From: "Stephen K. Rhoads" <rhoads@thrupoint.net>
Subject: Re: Domain/Range Woes
Date: Wed, 5 Feb 2003 17:21:36 -0500

> 
> > Also, can you elaborate on the "Union" option.  Do you mean to say that I
> > create a class as the union of two or more other classes?  For example,
> > "Nameable" is the union of "Person" and "ContentProvider".  How is that
> any
> > different from making "Person" and "ContentProvider" subclasses of
> > "Nameable"?

Well in the first case Nameable *is* the union of Person and
ContentProvider.  In the second case Nameable is only a *superset* of the
union of Person and ContentProvider.

> Or wait.  Maybe I just answered my own question.
> 
> I create an *anonymous* class which is composed of the unionOf "Person" and
> "ContentProvider" and assign this class as the domain of the property.

Anonymity is a separate issue.  Anonymous classes are useful if you don't
want the names cluttering up your ontology.

> Something like this:

> <owl:DataTypeProperty rdf:ID="name">
>    <rdfs:domain>
>       <owl:Class>
>          <owl:unionOf rdf:parseType="Collection">
>             <owl:Class rdf:about="#Person">
>             <owl:Class rdf:about="#ContentProvider">
>          </owl:unionOf>
>    </rdfs:domain>
> </owl:DataTypeProperty>

> That way I don't have to define and explain a contrived name.  This bit just
> lurks in the schema and serves to validate instance data.

Well, validation may not be what you get.  If you now state something like

<rdf:Description rdf:about="#John">
  <name>John</name>
</rdf:Description>

There is nothing wrong.  All that you have said is that John is either a
Person or a ContentProvider (or both).

> (P.S. I know this runs contrary to the spirit of the SemanticWeb, but I
> really want to create a "self-contained" ontology so that creators of
> Content Management Systems can implement the ontology without needing to
> become experts in RDF/OWL at this early stage.)

peter

Received on Wednesday, 5 February 2003 17:41:53 UTC