- From: Antoine Zimmermann <antoine.zimmermann@deri.org>
- Date: Sat, 12 Jun 2010 19:43:42 +0100
- To: Kurt J <kurtjx@gmail.com>
- CC: Linked Data community <public-lod@w3.org>, Semantic Web <semantic-web@w3.org>, pedantic-web@googlegroups.com
Deer Kurt, [I Cc the Pedantic Web mailing list whose member could be interested in those issues] I have some comments on your ontology: 1) related to OWL DL 2) related to the use of owl:Class VS rdfs:Class, owl:*Property VS rdf:Property 3) related to musim:element, musim:subject and music:object 4) related to musim:distance and musim:weight ===== 1) OWL DL ===== Are you aware that your ontology is not in OWL DL and is it intentional? Please notice that minor changes would make it a DL ontology. I can give you the details if you are interested. ===== 2) owl:Class VS rdfs:Class; owl:*Property VS rdf:Property ===== All your classes and properties are declared using the OWL vocabulary. It would be good to have, *in addition* to this, a declared type rdfs:Class and rdf:Property like this: :Similarity a owl:Class, rdfs:Class; rdfs:label "..."; rdfs:subClassOf ... etc. The reason is that a pure RDFS tool is not aware of the meaning of the OWL vocabulary. Therefore, such a tool is not able to infer that an owl:Class is also an rdfs:Class. Similarly, it is not able to identify an owl:ObjectProperty or owl:DatatypeProperty or owl:AnnotationProperty as an rdf:Property. As an example, a SPARQL query like: SELECT ?prop WHERE { ?prop a rdf:Property } would give *no* result when applied to your ontology. You should keep *both* types (owl:Class and rdfs:Class) because declaring all classes and properties with a OWL vocabulary is obligatory in OWL DL. Adding rdfs:Class to the types is not a problem for OWL DL so you can safely use it. ===== 3) musim:element, musim:subject and musim:object ===== musim:element is defined as a FunctionalProperty which means that a given thing can only have at most one element. Moreover, music:subject and music:object are subproperties of music:element, so a subject is an element and an object is also an element of a thing. Now that means that it is not possible to have a subject and an object which are different. The following knowledge base is inconsistent wrt you ontology: my:assoc :subject my:sub ; :object my:obj . my:sub owl:differentFrom my:obj . This contradicts the description of the properties subject and object. I imagine that you want to say that an association has one subject and one object. Why not use a class restriction like: :Association a owl:Class, rdfs:Class ; rdfs:subClassOf [ a owl:Restriction ; owl:onProperty :subject ; owl:someValuesFrom owl:Thing ] rdfs:subClassOf [ a owl:Restriction ; owl:onProperty :object ; owl:someValuesFrom owl:Thing ] .. If your data are likely to be processed by an OWL 2 RL reasoner, this would not be a good solution since it is forbidden in the RL profile of OWL 2 (but is allowed in EL, QL, DL and Full). Moreover, :element, :subject and :object are AsymetricProperties. While this obviously makes sense at the conceptual level, I don't think it "fits" with your ontology. Your ontology is very lightweight and little constrained (which is good) except for these properties. I don't think it adds much to explicitly put such a constraint. ===== 4) musim:distance and musim:weight ===== I notice that you are defining two datatype properties with multiple range restriction: :distance a owl:DatatypeProperty; rdfs:range xsd:float; rdfs:range xsd:int; rdfs:range xsd:double . and :weight a owl:DatatypeProperty; rdfs:range xsd:float; rdfs:range xsd:int; rdfs:range xsd:double . I'm quite sure that it is not what you intend to mean and I imagine that you would like to say that the weight or the distance can be either a float, a double or an int. Here you actually specify that the distance and the weight of something is necessarily a float, a int and a double at the same time. Furthermore, the OWL spec [1] says that: """As specified in XML Schema [XML Schema Datatypes], the value spaces of xsd:double, xsd:float, and xsd:decimal are pairwise disjoint.""" This implies that :distance and :weight are in fact empty relations since it is impossible to have a value which is both a float and a double. Using :distance or :weight in the predicate position of any triple would make the knowledge base inconsistent. If you want to say that a distance or weight has to be in *one of* the three datatypes, you should rather say: :weight a owl:DatatypeProperty, rdf:Property; rdfs:range [ owl:unionOf ( xsd:float xsd:int xsd:double ) ] . However, I feel unsatisfied by this because it is slightly overconstraining. Why not allow xsd:decimal or even owl:real as well? Or untyped literals such as: ex:a :distance "1879.42" . I imagine that the value for such a distance will be computed automatically and the programme which does it will ensure that it is indeed a number. [1] OWL 2 Web Ontology Language: Structural Specification and Functional-Style Syntax, W3C Recommendation 27 October 2009. Section "4.2 Floating-Point Numbers", http://www.w3.org/TR/owl2-syntax/#Datatype_Maps Le 11/06/2010 19:20, Kurt J a écrit : > I've developed an ontology for describing similarity between things. > Not directly applicable to "like" and "share" but possibly of > interest. > > http://purl.org/ontology/similarity/ > > Note the most significant design decision is to make a similarity a > class rather than a property. This same approach might make sense for > "like" and "share" allowing you to bind properties to these things. I > argue this enables more intuitive queries such as "show me all the > 'likes' from this person from this info service". > > -kurt j > > On Fri, Jun 11, 2010 at 12:54 PM, Stéphane Corlosquet > <scorlosquet@gmail.com> wrote: >> Nathan, >> Have you looked at http://ontologi.es/like# ? >> Steph. >> On Fri, Jun 11, 2010 at 11:29 AM, Nathan<nathan@webr3.org> wrote: >>> >>> Hi All, >>> >>> Before I give it a quick go, has anybody created an ontology for likes, >>> resharing things etc ? >>> >>> Best, >>> >>> Nathan >>> >> >> > -- Antoine Zimmermann Post-doctoral researcher at: Digital Enterprise Research Institute National University of Ireland, Galway IDA Business Park Lower Dangan Galway, Ireland antoine.zimmermann@deri.org http://vmgal34.deri.ie/~antzim/
Received on Saturday, 12 June 2010 19:21:35 UTC