- From: Bene Rodriguez <beroca@gmail.com>
- Date: Wed, 16 May 2012 09:54:17 +0200
- To: public-swbp-wg@w3.org, public-owl-dev <public-owl-dev@w3.org>, noy@stanford.edu
-------- Original Message -------- Subject: Re: About the Approach 1, Representing Classes As Property Values on the Semantic Web Date: Tue, 15 May 2012 17:55:52 +0200 From: Bene Rodriguez <benedicto.rodriguez@ebusiness-unibw.org> To: Natasha Noy <noy@stanford.edu> CC: public-swbp-wg@w3.org <public-swbp-wg@w3.org>, public-owl-dev@w3.org Dear Natasha, all, I was revisiting Approach 1 of Representing Classes As Property Values on the Semantic Web (http://www.w3.org/TR/swbp-classes-as-values/) and I came across some questions that I would like to capture below. Regarding the declaration of :BookAboutAnimals in Approach 1. It seems that the implementation of :BookAboutAnimals listed online as an N3 snippet as part of subsection "Considerations when choosing approach 1:", does not match the implementation found in the [N3] [RDF/XML] files provided in subsection "OWL code for approach 1" listed below: - [N3] http://www.w3.org/TR/swbp-classes-as-values/books1.n3 - [RDF/XML] http://www.w3.org/TR/swbp-classes-as-values/books1.owl The declaration of :BookAboutAnimals found in the [N3] file above is as follows: 13 default:BookAboutAnimals 14 a owl:Class ; 15 rdfs:subClassOf owl:Thing ; 16 rdfs:subClassOf 17 [ a owl:Class ; 18 owl:unionOf ([ a owl:Restriction ; 19 owl:onProperty dc:subject ; 20 owl:someValuesFrom default:Animal 21 ] [ a owl:Restriction ; 22 owl:onProperty dc:subject ; 23 owl:someValuesFrom 24 [ a owl:Restriction ; 25 owl:hasValue default:Animal ; 26 owl:onProperty p1:subClassOf 27 ] 28 ]) 29 ] . If we compare the declaration above to that on the snippet listed online, two mismatches can be seen: 1) [N3] file, line 26: "p1:subClassOf" seems to be a typo for "rdfs:subClassOf". 2) [N3] file, line 20: "owl:someValuesFrom default:Animal" is "owl:hasValue Animal" on the snippet listed online. There is also a new owl:ObjectProperty declared, "p1:subClassOf" on line 47, I guess because of 1). In this sense, my questions would be: - Regarding 1). What was the actual intent? If the intended property is in fact rdfs:subClassOf, would we want to apply an OWL restriction on a property that is part of the RDF-Schema definition? Wouldn't this turn rdfs:subClassOf into an owl:ObjectProperty as a side effect also, creating a somewhat odd meta-modeling scenario? - Regarding 2). What was the intended restriction? owl:someValuesFrom as in line 20 above, or owl:hasValue as in the N3 fragment given online? If the intended one is owl:hasValue as in the fragment online, the expected value would be an individual, while "Animal" is a class. Is this re-use of the class "Animal" as value of the property owl:hasValue, also part of what Approach 1 is trying to illustrate? I believe these mismatches between the N3 fragment given online and the [N3] file provided, leave some room for ambiguity on what the intended implementation of Approach 1 is. Would it be possible to consolidate these two sources as originally intended? Thanks a lot, Bene Rodriguez P.S. Some additional info: These mismatches seem to have propagated to the [RDF/XML] file pointed to above as well with a few additional variations. Comparing the contents of the [RDF/XML] file version (omitted for clarity, please view contents on external editor), to that on the snippet listed online, we can see: 3) [RDF/XML] file, line 14: A new class "BooksAboutAnimal2" is introduced that seems to correspond to ":BookAboutAnimals" on the online snippet. 4) [RDF/XML] file, line 32: Again, the property "rdfssubclassof" seems a typo for "rdfs:subClassOf". 5) [RDF/XML] file, lines 23-25: Again, the restriction "owl:someValuesFrom" is a "owl:hasValue" on the snippet listed online. 6) [RDF/XML] file, line 44: There is a class "BookAboutAnimals" that does not correspond to ":BookAboutAnimals" on the online snippet. 7) [RDF/XML] file, line 51: A new class "#AnimalClass" is introduced that is not part of the original example. >From 3) to 7), it seems that the [RDF/XML] serialization does not correspond to the [N3] version provided and adds a couple of mismatches, which again, makes a bit tricky to guess the originally intended implementation. -- Research Associate E-Business and Web Science Research Group Department of General Management and E-Business Universitaet der Bundeswehr Munich (Germany) p: +49 89 6004-2849 e: benedicto.rodriguez@unibw.org w: http://purl.org/beroca On 2/4/09 8:02 PM, Natasha Noy wrote: > Dear Mark, > > I think you are right -- we didn't technically need the first > statement as any class is by definition a subclass of itself. It > doesn't hurt to have it there as it makes things a bit more clear > (perhaps?) > > Natasha > > > On Mar 27, 2009, at 2:09 AM, Sw Fan wrote: > >> Dear all, >> >> I've a question about the example for the Approach 1 in Representing >> Classes As Property Values on the Semantic Web. Below is the text >> extracted from the document: >> >> {{ >> >> For instance, we may want to define a class of all books about >> animals—BookAboutAnimals—that >> our animal books will be instances of and we want to restrict the >> range of >> values for the dc:subject property for the BookAboutAnimals >> class to the class Animal and its subclasses. One way to define >> such restriction is as follows: >> >> :BookAboutAnimals >> a owl:Class ; >> rdfs:subClassOf :Book ; >> >> rdfs:subClassOf >> [ a owl:Class ; >> owl:unionOf ([ a owl:Restriction ; >> owl:onProperty dc:subject ; >> owl:hasValue Animal >> >> ] >> [ a owl:Restriction ; >> owl:onProperty dc:subject ; >> owl:someValuesFrom >> [ a owl:Restriction >> ; >> owl:onProperty rdfs:subClassOf; >> owl:hasValue Animal >> ] >> ]) >> >> ] . >> >> }} >> >> My question is, why do we have to bother defining a union class >> above? Since a class is a subclass of itself, so from my >> understanding, >> >> [ a owl:Restriction ; >> owl:onProperty dc:subject ; >> owl:hasValue Animal >> ] >> >> has been subsumed by >> >> >> [ a owl:Restriction ; >> owl:onProperty dc:subject ; >> owl:someValuesFrom >> [ a owl:Restriction >> ; >> owl:onProperty rdfs:subClassOf; >> owl:hasValue Animal >> ] >> ] >> >> >> Is there anything I missed here? Thank you! >> >> Best, >> Mark >> >> > >
Received on Wednesday, 16 May 2012 07:54:48 UTC