- From: Natasha Noy <noy@stanford.edu>
- Date: Tue, 22 May 2012 09:51:50 -0700
- To: Bene Rodriguez <benedicto.rodriguez@ebusiness-unibw.org>
- Cc: "public-swbp-wg@w3.org" <public-swbp-wg@w3.org>, public-owl-dev@w3.org
Dear Bene, > 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? It's a typo. The intended property is rdfs:subClass. Although, p1 is defined as another prefix for rdf schema. So, the end result is actually the same. > 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? That's not really a problem. I don't think there is a definition anywhere that restricts the range of owl:onProperty to owl:ObjectProperty. Do you have a pointer? > - 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? Yes, exactly. You *can* have a class as the value for hasValue. It gets you into OWL Full, but you are already there in this approach. > > 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? I don't see a mismatch, other than the additional declaration of the namespace prefix -- which leads to the same result. The note explains that you need both restrictions in this case: the someValuesFrom and hasValue on rdfs:subclassOf. Hope this helps. Natasha >
Received on Tuesday, 22 May 2012 16:53:12 UTC