Re: Restriction to compare properties with them self?

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 -- 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:11:55 UTC