- 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