- From: Benedicto Rodriguez <br205r@ecs.soton.ac.uk>
- Date: Thu, 1 Nov 2007 07:43:08 +0000
- To: "public-swbp-wg@w3.org" <public-swbp-wg@w3.org>
Alan, Thanks! I was not aware of the Manchester Simplified Syntax or its use in Protégé 4.x alpha (even though I have been using it now for a few weeks). Nonetheless, I got around the problem with the N3 notation (and its equivalent in OWL) with the help of the folks in the OWL 1.1 mailing list. To tie both replies, their first response is at: http://lists.w3.org/Archives/Public/public-owl-dev/2007OctDec/0084.html However, I'd like to point out a follow up still in connection with the 2 references in the original post which I recap below: [1] Representing Classes As Property Values on the Semantic Web *(Approach 4)*. http://www.w3.org/TR/swbp-classes-as-values/ [2] Representing Specified Values in OWL: "value partitions" and "value sets" *(Pattern 2, variant 2)*. http://www.w3.org/TR/swbp-specified-values/ After looking for a while at the two approaches, their commonalities made me think about certain interesting modelling implications that I think are sensible and extend the patterns described in [1] and [2]. The implications and their rationale are presented below. I have tried to use an "informal" premise/conclusion format which I hope is clear. Premise 1: The class hierarchy represented by the value partition "HealthValue" (and its subclasses) in [2] (Pattern 2, variant 2) plays the same role as the class hierarchy represented by "Animal" (and its subclasses) in [1] (Approach 4). Meaning that both class hierarchies provide the range for the property "has_health_status" and "dc:subject" in their ontologies respectively using an anonymous individual as the property value. (Even though, has_health_status is a functional property while dc:subject is not). Conclusion 1: The class hierarchy represented by "Animal" (and its subclasses) in [1] extends the notion of "value partition" to any type of class hierarchy. Meaning that, also a generic class hierarchy can be used to "play the role" of a "value partition" class hierarchy as described in [2], for a property in the ontology. (Even though, a generic class hierarchy does not conform to the definition of "value partition"). Premise 2: In ontologies that use value partitions, it is a good modelling practice to make disjoint the class hierarchies that represent the value partitions, from the class hierarchies that represent the domain concepts, creating two distinct spaces in the ontology model. Conclusion 2: (Putting Premise 1 and 2 together). If a generic class hierarchy (let's call it "gch1") is used to play the role of a "value partition", then it would be a good modelling practice to make "gch1" disjoint from the class hierarchies that represent the domain concepts in the ontology. For example: in the case of [1], the generic class hierarchy determined by the class "Animal" would be disjoint from the class hierarchy determined by the classes "Book", "BookAboutAnimals", etc. creating a disjoint "value space" and "domain concept space" in the ontology. Premise 3: Say two ontologies O1 and O2, with two generic class hierarchies gch1 and gch2 respectively, where gch1 and gch2 belongs to the "domain concept space" of O1 and O2 in that order as well. Conclusion 3: (Putting Premise 1, 2 and 3 together). It is possible for a generic class hierarchy (gch1) that belongs to the "domain concept space" of an ontology (O1) to play the role of a "value partition" class hierarchy in another ontology (O2) and in that case: - O1.gch1 becomes the range for some property in O2, (using an anonymous individual from gch1 as the property value) and also, - O1.gch1 becomes part of the "value partition space" in O2 and disjoint from O2.gch2. For example: this could be the case in [1], if the generic class hierarchy determined by the class "Animal" was imported from a separate ontology and the "Animal" class hierarchy belonged to the "domain concept space" of that ontology. Would you (or other readers in the list) agree with any of the premises and conclusions above? Any comments would be appreciated and very welcome. Regards, Bene Rodriguez Postgraduate Student | Intelligence, Agents and Multimedia Group | School of Electronics and Computer Science | University of Southampton | Southampton SO17 1BJ | United Kingdom | Phone: +44 23 8059 5052 | Email: bene@soton.ac.uk > -----Original Message----- > From: public-swbp-wg-request@w3.org [mailto:public-swbp-wg-request@w3.org] > On Behalf Of Alan Rector > Sent: 27 October 2007 11:24 > To: Benedicto Rodriguez > Cc: public-swbp-wg@w3.org > Subject: Re: Representing anonymous individual in SemWeb Best Practice > documents > > > Bene > > Apologies. The N3 syntax may not have been checked as carefully as > it should be. > Most of us who wrote it now use the Manchester Simplified Syntax > supported by > Protege4Alpha (It is much more than an Alpha really) which you can > download from > the usual protege.stanford.edu. > > It exports just about everything except N3, which most of us don't > use currently for OWL. > > In that syntax: > > Person THAT has_health_status SOME Good_health_status > > certainly works. and you can make an individual > > John > > of type > > has_health_status SOME Good_health_status > > Note that you don't make a Fact about John but make John of type the > anonymous class. > > (NB as a typographical convention we usually put the keywords in > upper case in emails and the like. They are in lower case but > highlighted in colour in the tool). > > The analogous expression works for the classes as value case. > > Book THAT dc_subject SOME Lion > > (nb: we usually keep "dc:subject" itself as an annotation rather than > using it directly, to avoid various technical conflicts between the > rdf and OWL DL. > > Hope this helps. > > Regards > > Alan > > > > > > On 17 Oct 2007, at 01:23, Benedicto Rodriguez wrote: > > > > > > > -----Original Message----- > > From: Benedicto Rodriguez > > Sent: 15 October 2007 00:54 > > To: 'public-owl-dev@w3.org' > > Subject: Representing anonymous individual in SemWeb Best Practice > > documents > > > > > > Hello everyone, > > > > [...] > > > > Two of the documents in the SWBPD WG ([1], [2]) talk about > > representing > > anonymous individuals as the value of a property using an existential > > restriction. > > > > [1] Representing Classes As Property Values on the Semantic Web. (See: > > Approach 4). http://www.w3.org/TR/swbp-classes-as-values/ > > > > [2] Representing Specified Values in OWL: "value partitions" and > > "value > > sets". (See: Pattern 2, variant 2). > > http://www.w3.org/TR/swbp-specified-values/ > > > > In both cases only the N3 syntax for this variant is provided, not the > > corresponding OWL implementation. > > According to both documents the resulting OWL implementation is within > > OWL-DL expressivity. > > > > *** My goal is simply to write this OWL implementation within OWL- > > DL but > > I run into some problems doing so. > > > > A) I noticed that the N3 syntax provided in [1] and [2] for this > > variant doesn't parse in the only N3 validator online I found > > (http://rdfabout.com/demo/validator/ listed in the SemanticWebTools > > page > > of the ESW Wiki). > > > > Now, I'm not sure if this is because the N3 syntax is actually NOT > > correct or because of an issue with the parser. (?) > > > > In [2] for example. To parse this variant I used the file > > http://www.w3.org/TR/swbp-specified-values/value-partitions- > > variant-1.n3 > > (provided in [2]) replacing the definition of :John in the file for > > the > > definition shown below (also provided in [2]) and after a couple of > > tweaks to bypass an empty relative URI issue: > > > > ### Define John as an individual of type person and of type > > has_health_status someValuesFrom Good_health_status > > :John > > a :Person ; > > [ a owl:Restriction; > > owl:onProperty :has_health_status ; > > owl:someValuesFrom :Good_health_value > > ]. > > > > B) The following modification to the previous N3 snippet solved the > > parsing problem, but I'm not sure if this is what the original N3 > > expression shown in A) intended to represent (?): > > > > :John > > a :Person ; > > :has_health_value > > [ a owl:Restriction; > > owl:onProperty :has_health_status ; > > owl:someValuesFrom :Good_health_value > > ]. > > > > Now, I have tried 2 options when converting the N3 snippet shown in A) > > into OWL. > > (Again, the original claim in [1] and [2] is the representation of an > > anonymous individuals as the value of a property using an existential > > restriction). > > > > C) Option 1: This OWL implementation would place the model is in > > OWL Full because the value of the property "has_health_status" is an > > anonymous class defined by a restriction rather than an anonymous > > individual. > > This deviates from the intention in [1] and [2]. > > > > <Person rdf:about="#John"> > > <has_health_status> > > <owl:Restriction> > > <owl:someValuesFrom> > > <owl:Class rdf:about="#Good_health_value"/> > > </owl:someValuesFrom> > > <owl:onProperty> > > <owl:FunctionalProperty rdf:about="#has_health_status"/> > > </owl:onProperty> > > </owl:Restriction> > > </has_health_status> > > </Person> > > > > D) Option 2: This OWL implementation leaves the model in OWL-DL > > because the value of the property "has_health_status" is an anonymous > > individual from the class "Good_health_value". > > However it doesn't seem to correspond to the original N3 expression > > given that it lacks the "someValuesFrom" restriction. > > > > <Person rdf:about="#John"> > > <has_health_status> > > <Good_health_value/> > > </has_health_status> > > </Person> > > > > E) The same issues and same possible solutions apply to the > > representation of :LionsLifeInThePrideBook in Approach 4 in document > > [1]: > > > > :LionsLifeInThePrideBook > > a :Book; > > [ a owl:Restriction ; > > owl:onProperty dc:subject ; > > owl:someValuesFrom :Lion ]; > > rdfs:seeAlso <http://isbn.nu/0736809643> ; > > :bookTitle "Lions: Life in the Pride" . > > > > In conlusion, any suggestions of what the OWL-DL implementation of the > > N3 snippet in A) should be? > > Is the OWL in D) a sensible solution? > > > > Additionally, any comments regarding what may be causing the parsing > > issue of the N3 shown in A)? > > Do you think the modification shown in B) (that parses OK), is what > > [2] > > intended to represent? > > > > Any other comments/feedback would be very welcome and appreciated. > > > > Regards, > > Bene Rodriguez > > > > Postgraduate Student | Intelligence, Agents and Multimedia Group | > > School of Electronics and Computer Science | University of > > Southampton | > > Southampton SO17 1BJ | United Kingdom | Phone: +44 23 8059 3122 | > > Email: > > bene@soton.ac.uk > > > > ----------------------- > Alan Rector > Professor of Medical Informatics > School of Computer Science > University of Manchester > Manchester M13 9PL, UK > TEL +44 (0) 161 275 6149/6188 > FAX +44 (0) 161 275 6204 > www.cs.man.ac.uk/mig > www.clinical-esciences.org > www.co-ode.org > >
Received on Thursday, 1 November 2007 07:43:38 UTC