class-specific inverse

View: New views
12 Messages — Rating Filter:   Alert me  

class-specific inverse

by Lee Feigenbaum-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

OK, so I always feel very ignorant asking OWL questions, so apologies in
advance. The subject of the email is probably pretty poor also. :-)

I'm wondering if there's anyway to assert the following in OWL. (very
contrived example, since it's 3am and off the top of my head)

Book, Magazine, Newspaper are each a subclass of Publication.

Publication is the domain of a property published_by which relates a
publication to its publisher.

I have 3 other properties as well:

  * publishes_book relates a publisher to a book that the publisher
publishes.
  * publishes_magazine relates a publisher to a magazine that the
publisher publishes.
  * publishes_newspaper relates a publisher to a newspaper that the
publisher publishes.

I'd like X published_by P to entail P publishes_book X iff X rdf:type
Book, and similarly for magazine and newspaper.

That is, I'm wondering if there's a way to say that published_by is the
inverse of the other 3 properties in (and only in) the context of the
appropriate subclass.

(I know this particular example would make a lot more sense with a
reusable "publishes" property instead of the specific ones, but then I
don't get to ask this question.)

Anyway, please let me know if this makes no sense and I'll either try to
clarify it or wander meekly back into the corner of my OWL ignorance. :-)

thanks,
Lee


Re: class-specific inverse

by Uli Sattler :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On 1 Jun 2009, at 08:27, Lee Feigenbaum wrote:

> OK, so I always feel very ignorant asking OWL questions, so  
> apologies in advance. The subject of the email is probably pretty  
> poor also. :-)
>
> I'm wondering if there's anyway to assert the following in OWL.  
> (very contrived example, since it's 3am and off the top of my head)
>
> Book, Magazine, Newspaper are each a subclass of Publication.
>
> Publication is the domain of a property published_by which relates a  
> publication to its publisher.
>
> I have 3 other properties as well:
>
> * publishes_book relates a publisher to a book that the publisher  
> publishes.
> * publishes_magazine relates a publisher to a magazine that the  
> publisher publishes.
> * publishes_newspaper relates a publisher to a newspaper that the  
> publisher publishes.
>
> I'd like X published_by P to entail P publishes_book X iff X  
> rdf:type Book, and similarly for magazine and newspaper.
>
> That is, I'm wondering if there's a way to say that published_by is  
> the inverse of the other 3 properties in (and only in) the context  
> of the appropriate subclass.
>
> (I know this particular example would make a lot more sense with a  
> reusable "publishes" property instead of the specific ones, but then  
> I don't get to ask this question.)
>
> Anyway, please let me know if this makes no sense and I'll either  
> try to clarify it or wander meekly back into the corner of my OWL  
> ignorance. :-)
>

ok, let's see: you have classes

Publisher,

Publication, with subclasses Books and Newspaper, etc.

Then you can have properties

publishes with
- domain Publisher (if you like) and
- range Publication (if you like) and
- inverse publishedBy (if you like) and
- subproperties
        publishesBook (with range Book) and
        publishesNewspaper (with range Newspaper)...

thus you have that, if

Springer publishesBook  YourBook, then this entails (due to subproperty)

Springer publishes  YourBook and thus also

YourBook publishedBy Springer (due to inverse) and
YourBook being an instance of Book and Publication and
Springer being an instance of Publisher

But, if you have

Springer publishes  YourBook and YourBook is an instance of Book, then  
this does *not* entail  Springer publishesBook  YourBook

(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
>



Re: class-specific inverse

by Lee Feigenbaum-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Uli Sattler wrote:

>
> On 1 Jun 2009, at 08:27, Lee Feigenbaum wrote:
>
>> OK, so I always feel very ignorant asking OWL questions, so apologies
>> in advance. The subject of the email is probably pretty poor also. :-)
>>
>> I'm wondering if there's anyway to assert the following in OWL. (very
>> contrived example, since it's 3am and off the top of my head)
>>
>> Book, Magazine, Newspaper are each a subclass of Publication.
>>
>> Publication is the domain of a property published_by which relates a
>> publication to its publisher.
>>
>> I have 3 other properties as well:
>>
>> * publishes_book relates a publisher to a book that the publisher
>> publishes.
>> * publishes_magazine relates a publisher to a magazine that the
>> publisher publishes.
>> * publishes_newspaper relates a publisher to a newspaper that the
>> publisher publishes.
>>
>> I'd like X published_by P to entail P publishes_book X iff X rdf:type
>> Book, and similarly for magazine and newspaper.
>>
>> That is, I'm wondering if there's a way to say that published_by is
>> the inverse of the other 3 properties in (and only in) the context of
>> the appropriate subclass.
>>
>> (I know this particular example would make a lot more sense with a
>> reusable "publishes" property instead of the specific ones, but then I
>> don't get to ask this question.)
>>
>> Anyway, please let me know if this makes no sense and I'll either try
>> to clarify it or wander meekly back into the corner of my OWL
>> ignorance. :-)
>>
>
> ok, let's see: you have classes
>
> Publisher,
>
> Publication, with subclasses Books and Newspaper, etc.
>
> Then you can have properties
>
> publishes with
> - domain Publisher (if you like) and
> - range Publication (if you like) and
> - inverse publishedBy (if you like) and
> - subproperties
>        publishesBook (with range Book) and
>        publishesNewspaper (with range Newspaper)...
>
> thus you have that, if
>
> Springer publishesBook  YourBook, then this entails (due to subproperty)
>
> Springer publishes  YourBook and thus also
>
> YourBook publishedBy Springer (due to inverse) and
> YourBook being an instance of Book and Publication and
> Springer being an instance of Publisher

Right...

> 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 :-)

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
>>
>
>


Re: class-specific inverse

by Rinke Hoekstra-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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@...             |  hoekstra@...

Homepage: http://www.leibnizcenter.org/users/rinke







Re: class-specific inverse

by Thomas Schneider-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On 2 Jun 2009, at 09:02, 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)

Ah, this looks good! :)

I'm just puzzled why you say that "publishesBook" doesn't have to be a  
subproperty of "publishes". If it isn't, then it could be the  
universal property. I doubt that this is desired here. So if I'm not  
overlooking anything, I would want to add this subproperty axiom.

Cheers

Thomas

>
>
> 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@...             |  hoekstra@...
>
> Homepage: http://www.leibnizcenter.org/users/rinke
>
>
>
>
>
>

+----------------------------------------------------------------------+
|  Dr Thomas Schneider                    schneider (at) cs.man.ac.uk  |
|  School of Computer Science       http://www.cs.man.ac.uk/~schneidt  |
|  Kilburn Building, Room 2.114                 phone +44 161 2756136  |
|  University of Manchester                                            |
|  Oxford Road                                             _///_       |
|  Manchester M13 9PL                                      (o~o)       |
+-----------------------------------------------------oOOO--(_)--OOOo--+

Scosthrop (vb.)
   To make vague opening or cutting movements with the hands when
   wandering about looking for a tin opener, scissors, etc., in the hope
   that this will help in some way.

                   Douglas Adams, John Lloyd: The Deeper Meaning of Liff













Re: class-specific inverse

by Rinke Hoekstra-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Thomas,

On 2 jun 2009, at 11:05, Thomas Schneider wrote:
> Ah, this looks good! :)
>
Thanks! :)

> I'm just puzzled why you say that "publishesBook" doesn't have to be  
> a subproperty of "publishes". If it isn't, then it could be the  
> universal property. I doubt that this is desired here. So if I'm not  
> overlooking anything, I would want to add this subproperty axiom.

Hmm... I'm sure it wouldn't really do any harm to do so, but I don't  
know whether it solves anything either... i.e. publishes 'could' be  
the universal property as well...

-Rinke

>
>
> Cheers
>
> Thomas
>
>>
>>
>> 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@...             |  hoekstra@...
>>
>> Homepage: http://www.leibnizcenter.org/users/rinke
>>
>>
>>
>>
>>
>>
>
> +
> ----------------------------------------------------------------------+
> |  Dr Thomas Schneider                    schneider (at)  
> cs.man.ac.uk  |
> |  School of Computer Science       http://www.cs.man.ac.uk/ 
> ~schneidt  |
> |  Kilburn Building, Room 2.114                 phone +44 161  
> 2756136  |
> |  University of  
> Manchester                                            |
> |  Oxford Road                                             _///
> _       |
> |  Manchester M13 9PL                                      
> (o~o)       |
> +-----------------------------------------------------oOOO--(_)--
> OOOo--+
>
> Scosthrop (vb.)
>  To make vague opening or cutting movements with the hands when
>  wandering about looking for a tin opener, scissors, etc., in the hope
>  that this will help in some way.
>
>                  Douglas Adams, John Lloyd: The Deeper Meaning of Liff
>
>
>
>
>
>
>
>
>
>
>



---
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@...             |  hoekstra@...

Homepage: http://www.leibnizcenter.org/users/rinke







Re: class-specific inverse

by Giorgos Stoilos-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Rinke Hoekstra wrote:

> Hi Thomas,
>
> On 2 jun 2009, at 11:05, Thomas Schneider wrote:
>> Ah, this looks good! :)
>>
> Thanks! :)
>
>> I'm just puzzled why you say that "publishesBook" doesn't have to be a
>> subproperty of "publishes". If it isn't, then it could be the
>> universal property. I doubt that this is desired here. So if I'm not
>> overlooking anything, I would want to add this subproperty axiom.
>
> Hmm... I'm sure it wouldn't really do any harm to do so, but I don't
> know whether it solves anything either... i.e. publishes 'could' be the
> universal property as well...

Hi All,

I believe that if you assert publishesBook to be a subproperty of publishes will result in a
irregular role hierarchy (together with the role chain of course).

Greetings,
-gstoil

>
> -Rinke
>
>>
>>
>> Cheers
>>
>> Thomas
>>
>>>
>>>
>>> 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@...             |  hoekstra@...
>>>
>>> Homepage: http://www.leibnizcenter.org/users/rinke
>>>
>>>
>>>
>>>
>>>
>>>
>>
>> +----------------------------------------------------------------------+
>> |  Dr Thomas Schneider                    schneider (at) cs.man.ac.uk  |
>> |  School of Computer Science       http://www.cs.man.ac.uk/~schneidt  |
>> |  Kilburn Building, Room 2.114                 phone +44 161 2756136  |
>> |  University of Manchester                                            |
>> |  Oxford Road                                             _///_       |
>> |  Manchester M13 9PL                                      (o~o)       |
>> +-----------------------------------------------------oOOO--(_)--OOOo--+
>>
>> Scosthrop (vb.)
>>  To make vague opening or cutting movements with the hands when
>>  wandering about looking for a tin opener, scissors, etc., in the hope
>>  that this will help in some way.
>>
>>                  Douglas Adams, John Lloyd: The Deeper Meaning of Liff
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
>
>
> ---
> 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@...             |  hoekstra@...
>
> Homepage: http://www.leibnizcenter.org/users/rinke
>
>
>
>
>
>
>



Re: class-specific inverse

by Ivan Herman-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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@...             |  hoekstra@...
>
> 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


smime.p7s (4K) Download Attachment

Re: class-specific inverse

by Evren Sirin-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue, Jun 2, 2009 at 8:47 AM, Ivan Herman <ivan@...> wrote:
> 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...

No worries, there are more in the bag of modeling tricks :) Instead of
self restrictions, we can use a has value restriction which is allowed
in OWL 2 RL and add one more property into the property chain. So the
axioms we need to would look like this:

:Book rdfs:subClassOf [ a owl:Restriction ; owl:hasValue :book ;
owl:onProperty :isBook ] .

:publishesBook owl:propertyChainAxiom ( [owl:inverseOf :publishedBy]
:isBook [owl:inverseOf :isBook] ) .

We ended up defining an additional individual :book to make this work
in OWL 2 RL but that's it.

Cheers,
Evren


Re: class-specific inverse

by Rinke Hoekstra-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2 jun 2009, at 15:25, Evren Sirin wrote:

> On Tue, Jun 2, 2009 at 8:47 AM, Ivan Herman <ivan@...> wrote:
>> 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...
>
> No worries, there are more in the bag of modeling tricks :) Instead of
> self restrictions, we can use a has value restriction which is allowed
> in OWL 2 RL and add one more property into the property chain. So the
> axioms we need to would look like this:
>
> :Book rdfs:subClassOf [ a owl:Restriction ; owl:hasValue :book ;
> owl:onProperty :isBook ] .
>
> :publishesBook owl:propertyChainAxiom ( [owl:inverseOf :publishedBy]
> :isBook [owl:inverseOf :isBook] ) .
>
> We ended up defining an additional individual :book to make this work
> in OWL 2 RL but that's it.

Cool!

-Rinke

>
>
> Cheers,
> Evren



---
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@...             |  hoekstra@...

Homepage: http://www.leibnizcenter.org/users/rinke







Re: class-specific inverse

by Ivan Herman-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

+1!

Ivan

Rinke Hoekstra wrote:

> On 2 jun 2009, at 15:25, Evren Sirin wrote:
>> On Tue, Jun 2, 2009 at 8:47 AM, Ivan Herman <ivan@...> wrote:
>>> 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...
>>
>> No worries, there are more in the bag of modeling tricks :) Instead of
>> self restrictions, we can use a has value restriction which is allowed
>> in OWL 2 RL and add one more property into the property chain. So the
>> axioms we need to would look like this:
>>
>> :Book rdfs:subClassOf [ a owl:Restriction ; owl:hasValue :book ;
>> owl:onProperty :isBook ] .
>>
>> :publishesBook owl:propertyChainAxiom ( [owl:inverseOf :publishedBy]
>> :isBook [owl:inverseOf :isBook] ) .
>>
>> We ended up defining an additional individual :book to make this work
>> in OWL 2 RL but that's it.
>
> Cool!
>
> -Rinke
>
>>
>>
>> Cheers,
>> Evren
>
>
>
> ---
> 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@...             |  hoekstra@...
>
> 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


smime.p7s (4K) Download Attachment

Re: class-specific inverse

by Lee Feigenbaum-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

thanks to everyone!

this feels like i'm on the opposite side of every time someone asks me
now to do negation or universal quantification in SPARQL ;-)

Lee

Ivan Herman wrote:

> +1!
>
> Ivan
>
> Rinke Hoekstra wrote:
>> On 2 jun 2009, at 15:25, Evren Sirin wrote:
>>> On Tue, Jun 2, 2009 at 8:47 AM, Ivan Herman <ivan@...> wrote:
>>>> 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...
>>> No worries, there are more in the bag of modeling tricks :) Instead of
>>> self restrictions, we can use a has value restriction which is allowed
>>> in OWL 2 RL and add one more property into the property chain. So the
>>> axioms we need to would look like this:
>>>
>>> :Book rdfs:subClassOf [ a owl:Restriction ; owl:hasValue :book ;
>>> owl:onProperty :isBook ] .
>>>
>>> :publishesBook owl:propertyChainAxiom ( [owl:inverseOf :publishedBy]
>>> :isBook [owl:inverseOf :isBook] ) .
>>>
>>> We ended up defining an additional individual :book to make this work
>>> in OWL 2 RL but that's it.
>> Cool!
>>
>> -Rinke
>>
>>>
>>> Cheers,
>>> Evren
>>
>>
>> ---
>> 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@...             |  hoekstra@...
>>
>> Homepage: http://www.leibnizcenter.org/users/rinke
>>
>>
>>
>>
>>
>