- From: Timothy Lebo <lebot@rpi.edu>
- Date: Fri, 16 Sep 2011 18:18:09 -0400
- To: Stian Soiland-Reyes <soiland-reyes@cs.manchester.ac.uk>
- Cc: Khalid Belhajjame <Khalid.Belhajjame@cs.man.ac.uk>, public-prov-wg@w3.org
On Sep 16, 2011, at 6:10 AM, Stian Soiland-Reyes wrote: > On Fri, Sep 16, 2011 at 09:49, Khalid Belhajjame > <Khalid.Belhajjame@cs.man.ac.uk> wrote: > > >> prov:Entity a owl:Class ; >> prov:CharacterizingAttributes a owl:Class ; >> >> prov:characetrizedBy >> a rdf:Property ; >> rdfs:domain prov:Entity . >> rdfs:range prov:CharacterizingAttributes . >> >> The attributes that are used to characterize the entity can then be attached >> to the resource of type "CharacterizingAttributes" using data property or >> even object properies, if they are complex attributes. >> >> Other attributes that are associated to the entity and are not part of the >> characterization can be associated directly to the resource of type Entity. > > Sounds good IMHO. Some clarifications: > > a) Are characterizing attributes meant to also (implicitly or > explicitly) apply directly to the entity? > > b) Are nested object properties included in the characterisation (like > a filter), or just auxiliary attributes? > > > > A slight variation of this could be to have those characterizing > attribute values directly on the entity, but listing which property > names are characterizing: This variation that Stian proposes is MUCH more in line with the design of RDF, while the CharacterizingAttributes design is essentially REIMPLEMENTING RDF using RDF - and thus ignoring its inherent benefits. > > prov:characterizedBy > a owl:AnnotationProperty ; > rdfs:domain prov:Entity . > rdfs:range rdf:Property . > > used like: > > :car :characterizedBy :colour, :owner . However, the modeling of the Stian's second variation could be a bit cleaner using rdfs:subPropertyOf . :colour rdfs:subPropertyOf prov:characterizingProperty . :owner rdfs:subPropertyOf prov:characterizingProperty . This makes query easy because you don't need to know what properties are used to characterize the entity: SELECT * WHERE { :my_entity prov:characterizingProperty ?val . } If you REALLY wanted to distinguish among "truly characterizing" properties from what you already get directly in RDF (properties that describe the subject). The advantage of using rdfs:subProperty is that you can stay within OWL semantics to describe the "nested characterizing properties" -- instead of working around an unnecessary level of indirection with "using triples to encode triples" . -Tim > > > or perhaps better - as an rdf collection to lock down any future possibilities: > > :car :characterizedBy [ :colour, :owner ] . The above can be modeled directly within RDFS (instead of reinventing something) :colour rdfs:subPropertyOf prov:characterizingProperty . :owner rdfs:subPropertyOf prov:characterizingProperty . > > > One advantage of these is that it is possible to say that an entity is > characterized by an attribute without saying/knowing which value it > had. This is going beyond the current Prov abstract model though. > > > -- > Stian Soiland-Reyes, myGrid team > School of Computer Science > The University of Manchester > >
Received on Friday, 16 September 2011 22:18:46 UTC