- From: Yoshio FUKUSHIGE <paatje@cam.hi-ho.ne.jp>
- Date: Wed, 01 Sep 2010 23:33:10 +0900
- To: Michael Schneider <schneid@fzi.de>, public-owl-dev@w3.org
Thanks Michael, (2010/08/31 19:51), Michael Schneider wrote: > Hi Yoshio! > > Your example below is, in the given form, only valid in OWL 2 Full [1]. But > you don't need a complete OWL 2 Full reasoner for making it work. Any > reasoner implementing the OWL 2 RL/RDF rules [2] will give you the result > you expect (the OWL 2 RL/RDF rules define a sub-semantics of the semantics > of OWL 2 Full). > Oh, I almost forgot OWL 2 Full, for I've been trying to use only OWL2 DL with Pellet. And I was kind of surprised to see my initial statements are valid (in OWL 2 Full), for I almost got the idea that property chain only allows ObjectProperties as its constructing blocks, which was wrong, right? > For example, you can use Ivan Herman's OWL 2 RL reasoner for checking, which > is available as an online service at [3]. For your convenience, here is your > complete example in a form that can be directly be inserted into Ivan's > reasoner. Press "Go" and check for the expected triple > > my:MyRecorder my:recordableTo my:MyDisc . > > in the result set. > I tested the coding with Ivan's OWL 2 RL reasoner and the triple above was in the result set. But does that mean my statements were valid in OWL2 RL?? Given that I'm now using Joseki + Pellet to process SPARQL queries with dataset with an ontology, what is your suggestion. please? Using some OWL 2 Full/RL? reasoner which can be used with Joseki (then what are my options?) or remaining in OWL 2 DL using kind of tricks as Pavel showed me in his response? Best, Yoshio > """ > @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . > @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . > @prefix owl: <http://www.w3.org/2002/07/owl#> . > @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . > @prefix my: <http://www.example.org/> . > > my:hasInstance owl:inverseOf rdf:type . > my:BDRecorder my:classRecordableToInstanceOf my:BD-R . > my:recordableTo owl:propertyChainAxiom ( rdf:type > my:classRecordableToInstanceOf my:hasInstance ). > my:MyRecorder a my:BDRecorder . > my:MyDisc a my:BD-R . > """ > > Cheers, > Michael > > [1] > <http://www.w3.org/TR/2009/REC-owl2-rdf-based-semantics-20091027/#topic-ont- > owl2full> > [2] > <http://www.w3.org/TR/2009/REC-owl2-profiles-20091027/#Reasoning_in_OWL_2_RL > _and_RDF_Graphs_using_Rules> > [3] <http://www.ivan-herman.net/Misc/2008/owlrl/> > >> -----Original Message----- >> From: public-owl-dev-request@w3.org [mailto:public-owl-dev- >> request@w3.org] On Behalf Of Yoshio FUKUSHIGE >> Sent: Tuesday, August 31, 2010 9:25 AM >> To: public-owl-dev@w3.org >> Subject: How to put "universal" restrictions to members of two classes? >> >> I'm building an ontology for Audio Visual devices, and wondering how to >> put >> "universal" restrictions to members of two classes. >> (I'm not sure if this wording is appropriate though...) >> >> What I want to do is to make every pair of members of two classes to >> have >> designated relations. >> >> For example, suppose we have my:BDRecorder Class representing all >> instance of Blu-ray recorders >> and my:BD-R Class representing all instance of BD-R Discs. >> >> Now I want to force force every instance of my:BDRecorder able to record >> to any instance of my:BD-R. >> >> In n3, I think I can write: >> >> { ?rec a my:BDRecorder. ?disc a my:BD-R } => { ?rec my:recordableTo >> ?disc }. >> >> but how can I do in OWL 2 (if possible)? >> >> If possible, I'd like to do so by stating some "Class level" relation >> between the two Classes, >> and make a statement entailing the corresponding "Instance level" >> relation between the instances of the Classes. >> >> I first tried to do so by introducing my:classRecordableToInstanceOf and >> my:hasInstance (as owl:inverseOf rdf:type) and then >> stating: >> >> my:BDRecorder my:classRecordableToInstanceOf my:BD-R. >> >> my:recordableTo owl:propertyChainAxiom >> ( rdf:type my:classRecordableToInstanceOf my:hasInstance). >> >> hoping to entail, if my:MyRecorder a my:BDRecorder and my:MyDisc a >> my:BD-R, >> >> my:MyRecorder my:recordableTo my:MyDisc. >> >> but failed. >> >> I think the reason was owl:propertyChainAxiom can be used only to list >> of >> owl:ObjectProperty's which is not the case with >> my:classRecordableToInstanceOf >> nor rdf:type nor my:hasInstance. >> >> Could someone help? >> >> Thanks in advance, >> >> Yoshio Fukushige, >> Panasonic Corporation. > -- > Dipl.-Inform. Michael Schneider > Research Scientist, Information Process Engineering (IPE) > Tel : +49-721-9654-726 > Fax : +49-721-9654-727 > Email: michael.schneider@fzi.de > WWW : http://www.fzi.de/michael.schneider > ======================================================================= > FZI Forschungszentrum Informatik an der Universitat Karlsruhe > Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe > Tel.: +49-721-9654-0, Fax: +49-721-9654-959 > Stiftung des burgerlichen Rechts, Az 14-0563.1, RP Karlsruhe > Vorstand: Prof. Dr.-Ing. Rudiger Dillmann, Dipl. Wi.-Ing. Michael Flor, > Prof. Dr. Dr. h.c. Wolffried Stucky, Prof. Dr. Rudi Studer > Vorsitzender des Kuratoriums: Ministerialdirigent Gunther Lesnerkraus > ======================================================================= > > >
Received on Wednesday, 1 September 2010 14:33:49 UTC