W3C home > Mailing lists > Public > semantic-web@w3.org > January 2006

RE: hasValue with more than one outcome

From: Hans Teijgeler <hans.teijgeler@quicknet.nl>
Date: Tue, 17 Jan 2006 15:21:14 +0100
To: "'Peter F. Patel-Schneider'" <pfps@research.bell-labs.com>
Cc: <semantic-web@w3.org>
Message-ID: <000501c61b71$49c72480$6c7ba8c0@hans>

Peter,

The W3C OWL Language Reference tells me that I can define a Restriction as
follow:

<owl:Restriction>
	<owl:onProperty rdf:resource="#hasParent" />
	<owl:hasValue rdf:resource="#Clinton" />
</owl:Restriction>

It also tells me that I can determine the cardinality:

<owl:Restriction>
  <owl:onProperty rdf:resource="#hasParent" />
  <owl:maxCardinality
rdf:datatype="&xsd;nonNegativeInteger">2</owl:maxCardinality>
</owl:Restriction>

So, when I want to define, for the Class "Person", I can use:

<owl:Restriction>
	<owl:onProperty rdf:resource="#hasParent"/>
	<owl:hasValue rdf:resource="#Father"/>
</owl:Restriction>

<owl:Restriction>
	<owl:onProperty rdf:resource="#hasParent"/>
	<owl:hasValue rdf:resource="#Mother"/>
</owl:Restriction>

When, as in this case, there are only two, I guess that I can create two
anonymous Classes, one for each, to define these constraints for any
individual person.

But in other cases I may have a long list. So I was trying to find out how
to address that. For now I have chosen for an enumerated class and an
allValuesFrom construct.

Regards,
Hans

-----Original Message-----
From: Peter F. Patel-Schneider [mailto:pfps@research.bell-labs.com] 
Sent: Tuesday, January 17, 2006 14:40
To: hans.teijgeler@quicknet.nl
Cc: semantic-web@w3.org
Subject: Re: hasValue with more than one outcome


From: "Hans Teijgeler" <hans.teijgeler@quicknet.nl>
Subject: hasValue with more than one outcome
Date: Tue, 17 Jan 2006 13:34:42 +0100

> Hi,
>  
> In http://www.w3.org/TR/2004/REC-owl-ref-20040210/#hasValue-def
> <http://www.w3.org/TR/2004/REC-owl-ref-20040210/#hasValue-def>
> I find:
>  
> <owl:Restriction>
>   <owl:onProperty rdf:resource="#hasParent" />
>   <owl:hasValue rdf:resource="#Clinton" />
> </owl:Restriction>
> 
> In order to make this complete can I state:
>  
> <owl:Restriction>
>   <owl:onProperty rdf:resource="#hasParent" />
>   <owl:hasValue rdf:resource="#Clinton" />
>   <owl:hasValue rdf:resource="#Hillary" />
> </owl:Restriction>
> 
> i.e. what to do when owl:hasValue has more than one possible outcome?

In general malformed restrictions like the one above should be avoided.
They are definitely not legal in OWL DL, and often have very strange
meanings in OWL Full.

> I hope someone can help me.

Well, it is hard to determine exactly what you want to do here.

> Regards,
> Hans

peter
Received on Tuesday, 17 January 2006 14:22:34 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:47:11 UTC