- From: Uli Sattler <sattler@cs.man.ac.uk>
- Date: Wed, 15 Oct 2008 14:35:56 +0100
- To: Uli Sattler <sattler@cs.man.ac.uk>
- Cc: Максим Караваев <maxoid@kg.ru>, public-owl-dev@w3.org
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 UTC