|
View:
New views
12 Messages
—
Rating Filter:
Alert me
|
|
|
class-specific inverseOK, 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 inverseOn 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 inverseUli 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 inverseHi,
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 inverseOn 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 inverseHi 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 inverseRinke 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 inverseThis 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 |
|
|
Re: class-specific inverseOn 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 inverseOn 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+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 |
|
|
Re: class-specific inversethanks 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 >> >> >> >> >> > |
| Free embeddable forum powered by Nabble | Forum Help |