W3C home > Mailing lists > Public > public-owl-dev@w3.org > October to December 2008

Re: Restriction to compare properties with them self?

From: Uli Sattler <sattler@cs.man.ac.uk>
Date: Wed, 15 Oct 2008 14:35:56 +0100
Cc: Максим Караваев <maxoid@kg.ru>, public-owl-dev@w3.org
Message-Id: <E253DAC9-0D1D-472F-8F9A-CD363B37A1AA@cs.man.ac.uk>
To: Uli Sattler <sattler@cs.man.ac.uk>


On 15 Oct 2008, at 14:13, Uli Sattler wrote:

>
>
> On 15 Oct 2008, at 12:34, Максим Караваев wrote:
>
>>
>> Hello!
>>
>> For example: I have two classes: "Client" and "Address". And two  
>> object
>> properties: "billingAddress" and "deliveryAddress". I need a subclass
>> for "Clients" who have the same billing and delivery addresses. Is it
>> possible to declare such class on OWL2 without rules?
>>
>> PropertyDomain( "billingAddress", "Client" )
>> PropertyDomain( "deliveryAddress", "Client" )
>> PropertyRange("billingAddress", "Address" )
>> PropertyRange("deliveryAddress", "Address" )
>> SubClassOf("ClientsWithTheSameAddr?", "Client")
>>
>
> Hello, you could introduce a super-property anyAddress of  
> billingAddress and billingAddress and then describe
>
> EquivalentClass("ClientsWithTheSameAddr", IntersectionOf("Client",  
> MaxCardinality(1 anyAddress)))
>
> this will work

bummer: as Pavel Klinov just pointed out, this won't work (I had  
assumed that both billingAddress and billingAddress are functional,  
but this still doesn't work since a client can have anyAddress- 
successors that are neither billingAddress- nor billingAddress- 
fillers...)...i tend to think that

- yes, we can define such a class and, if we make Bill an instance of  
ClientsWithTheSameAddr, then Bill's billingAddress and billingAddress  
will be merged, and this might cause contradictions if they are  
different...

- but, i won't be able to infer that Bill is an instance of  
ClientsWithTheSameAddr even though Bill's  billingAddress- and  
billingAddress-fillers coincide...because it could be the case that  
Bill has an  anyAddress-successors that is neither his billingAddress-  
nor his billingAddress-filler.

Cheers, Uli

> -- provided that you ensure that different instances of Address  
> indeed reflect different addresses....in order to do so, you would  
> need to go 'outside' OWL since this is would be a form of 'integrity  
> constraints'. if you want to learn more about these, you could have  
> a look into
>
> B. Motik, I. Horrocks, and U. Sattler. Bridging the Gap Between OWL  
> and Relational Databases. In Proc. of the 16th International World  
> Wide Web Conference (WWW 2007), 2007.
>
> Cheers, Uli
>
>> The same problem for data properties. But here the comparing can  
>> have a facet
>> as an option.
>> Maybe needs some kind of class expression like a HasValue:
>> HasTheSameValueAs( DPE1  DPE2 )
>> DataValueRestriction( DPE1 facet DPE2 )?
>>
>> Thanks for any help and answer,
>> Maxim Karavaev
>> E-mail: maxoid@kg.ru
>> www.knowledgegenesis.com
>>
>>
>
>
Received on Wednesday, 15 October 2008 13:34:26 GMT

This archive was generated by hypermail 2.3.1 : Wednesday, 27 March 2013 09:32:56 GMT