- From: Diogo FC Patrao <djogopatrao@gmail.com>
- Date: Mon, 1 Sep 2014 11:39:40 -0300
- To: "Eric Prud'hommeaux" <eric@w3.org>
- Cc: Victor Porton <porton@narod.ru>, Hm Hrm <unixprog@googlemail.com>, "semantic-web@w3.org" <semantic-web@w3.org>
- Message-ID: <CAFRj_AeHcMPAYFLB1GqTie0emFwEcFaQczVKWzgKOUKjkVju9w@mail.gmail.com>
Hi Victor I faced a similar problem years ago and went with "X a P"; in my case, X is a patient instance and P a diagnosis. The alternative was "X :hasDiagnosis P". Some thoughts: *X a P* Pro: P can be modelled as a Class, which is adequate (diagnostics can be hierarchic), inference is fast Con: If I have other classes attributed to X, and want to know the subclasses related to diagnostic, It'll be more difficult (yet not impossible) *X :hasDiagnosis P* Pro: easier to query when several different diagnosis (see Con above) Con: I would need to create an instance for each diagnostic class (ie. flu a Flu, patient1 :hasDiagnosis flu), or relate the instance directly to the class (OWL-Full) Years ago, I was modelling a similar case (precedence of data sources), and found easier to work with comparative properties, such as: db1 :isMoreTrustableThan db2 defining :isMoreTrustableThan as transitive, you can compare any instances (given there's a path db1 :isMoreTrustableThan ... :isMoreTrustableThan dbn), however I couldn't get it to find the most trustable of all without resorting to SPARQL. Cheers, -- diogo patrĂ£o On Mon, Sep 1, 2014 at 10:05 AM, Eric Prud'hommeaux <eric@w3.org> wrote: > * Victor Porton <porton@narod.ru> [2014-09-01 15:28+0300] > > 01.09.2014, 10:07, "Hm Hrm" <unixprog@googlemail.com>: > > > On 08/31/2014 06:43 PM, Victor Porton wrote: > > >> Suppose P is a precedence of operation X. Should I write "X a P ." or > > >> "X :precedence P ." (in Turtle format)? > > >> > > >> What are (dis)advantages of both variants? > > > > > > Assuming that the property should link instance P to instance X, both > of > > > class :Operation, then you should use "X :precedence P". > > > > > > "X a P", a shortcut for "X rdf:type P", would imply that P is an > > > rdf:Class and X an instance of said class P. Extending the semantics of > > > 'rdf:type' and using an instance as a class seems a bad idea. > > > > P is a class (because I want rdf:subClassOf for properties. > > > > But I yet doubt whether an operation should be an instance of precedence. > > I wouldn't advise it, but you could always say that Addition is an > instance of a thing with precedence 2 and Multiplication ... 6 (from > < > http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B#Arithmetic_operators > >). > My guess is that instead you want to model more like this: > > :precedenceIncludes a owl:ObjectProperty . > :PrecedenceAtLeast1 a owl:Class . > :PrecedenceAtLeast2 rdfs:subClassOf a :PrecedenceAtLeast1 . > :PrecedenceAtLeast3 rdfs:subClassOf a :PrecedenceAtLeast2 . > # ... > :Operation a owl:Class; > rdfs:subClassOf [ > owl:onProperty :precedenceIncludes ; > owl:someValuesFrom :PrecedenceAtLeast1 > ] . > :Addition rdfs:subClassOf > :Operation , > [ owl:onProperty :precedenceIncludes ; > owl:someValuesFrom :PrecedenceAtLeast2 ] > :Multiplication rdfs:subClassOf > :Operation , > [ owl:onProperty :precedenceIncludes ; > owl:someValuesFrom :PrecedenceAtLeast6 ] > > That way you can apply the T-box to an A-box (e.g. a parse graph over > which you are doing static analysis) and leverage inferences from the > ontology. > > > -- > > Victor Porton - http://portonvictor.org > > > > -- > -ericP > > office: +1.617.599.3509 > mobile: +33.6.80.80.35.59 > > (eric@w3.org) > Feel free to forward this message to any list for any purpose other than > email address distribution. > > There are subtle nuances encoded in font variation and clever layout > which can only be seen by printing this message on high-clay paper. > >
Received on Monday, 1 September 2014 14:40:39 UTC