- 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