Re: PROV-ISSUE-89 (what-entity-attributes): How do we find the attributes of an entity? [Formal Model]

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