W3C home > Mailing lists > Public > public-owl-dev@w3.org > April to June 2009

Re: class-specific inverse

From: Ivan Herman <ivan@w3.org>
Date: Tue, 02 Jun 2009 14:47:19 +0200
Message-ID: <4A251F57.4030403@w3.org>
To: Rinke Hoekstra <hoekstra@uva.nl>
CC: Lee Feigenbaum <lee@thefigtrees.net>, Uli Sattler <sattler@cs.man.ac.uk>, public-owl-dev@w3.org
This looks like a nice and cute solution...

Pity it cannot be expressed in OWL 2 RL (RL does not have a self
restriction...). Oh well, one cannot get it all...

Ivan

Rinke Hoekstra wrote:
> Hi,
> 
> On 1 jun 2009, at 16:44, Lee Feigenbaum wrote:
>>> But, if you have
>>> Springer publishes  YourBook and YourBook is an instance of Book,
>>> then this does *not* entail  Springer publishesBook  YourBook
>>
>> ...But this is the part I'm asking how to do :-)
> 
> You can do this using complex role inclusion axioms (role chains) and
> marker properties [1]:
> 
> - add an object property 'isBook'
> - put a self restriction on isBook on Book: Book subClassOf isBook some
> self
> - add a role chain definition to publishesBook: publishes o isBook ->
> publishesBook
> - (publishesBook does not have to be a subproperty of publishes)
> 
> What happens is that any individual of type Book (e.g. YourBook) will
> 'get' an isBook relation with itself. Given a publisher individual
> (Springer) that has a publishes relation with YourBook, these properties
> will form a chain publishes, isBook... which is a sub property of
> publishesBook, and therefore the relation publishesBook will relate
> Springer to YourBook.
> 
> Obviously you can easily do the same for publishesNewspaper &c.
> 
> Alternatively, you can do the same for just the inverse (without a
> 'publishes' property): isBook o publishedBy -> bookPublishedBy
> Add publishesBook as inverse of bookPublishedBy to get the relation you
> wanted.
> 
> Oh, and [2]
> 
> -Rinke
> 
> [1] shameless self-advertisement:
> http://www.amazon.com/Ontology-Representation-Intelligence-Applications-Dissertations/dp/1607500132/ref=sr_1_1?ie=UTF8&s=books&qid=1243929407&sr=8-1
> 
> 
> [2] http://www.webont.org/owled/2009/
> 
>>
>>
>> Alan gave me a pointer that I'll dig through a bit later.
>>
>> Lee
>>
>>> (the "range" only works in one direction, i.e., if  Springer
>>> publishesBook  YourBook and the range of publishesBook is Book,
>>> *then* YourBook is an instance of Book --- but not the other way round)
>>> Did this answer your question? Cheers, Uli
>>>> thanks,
>>>> Lee
>>>>
> 
> 
> 
> ---
> Drs Rinke Hoekstra
> 
> Leibniz Center for Law      |  AI Department
> Faculty of Law              |  Faculty of Sciences
> Universiteit van Amsterdam  |  Vrije Universiteit
> Kloveniersburgwal 48        |  De Boelelaan 1081a
> 1012 CX  Amsterdam          |  1081 HV Amsterdam
> +31-(0)20-5253499           |  +31-(0)20-5987752
> hoekstra@uva.nl             |  hoekstra@few.vu.nl
> 
> Homepage: http://www.leibnizcenter.org/users/rinke
> 
> 
> 
> 
> 
> 

-- 

Ivan Herman, W3C Semantic Web Activity Lead
Home: http://www.w3.org/People/Ivan/
mobile: +31-641044153
PGP Key: http://www.ivan-herman.net/pgpkey.html
FOAF: http://www.ivan-herman.net/foaf.rdf

Received on Tuesday, 2 June 2009 12:48:04 GMT

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