W3C home > Mailing lists > Public > public-prov-wg@w3.org > May 2012

Re: prov:value versus KeyValuePair

From: Timothy Lebo <lebot@rpi.edu>
Date: Tue, 15 May 2012 11:16:06 -0400
Cc: Luc Moreau <L.Moreau@ecs.soton.ac.uk>, public-prov-wg@w3.org
Message-Id: <89117676-2CFE-449E-89DB-C42FF2BA7E0A@rpi.edu>
To: Stephan Zednik <zednis@rpi.edu>
Stephan, Luc, and wg,

On May 15, 2012, at 11:07 AM, Stephan Zednik wrote:

> 
> On May 15, 2012, at 7:13 AM, Luc Moreau wrote:
> 
>> Hi Tim,
>> 
>> On 05/15/2012 01:55 PM, Timothy Lebo wrote:
>>> prov-wg,
>>> 
>>> When modeling Dictionaries, PROV-O had a straightforward way to model KeyValuePairs:
>>> 
>>> [
>>>   a prov:KeyValuePair;
>>>   prov:key     "goalie";
>>>   prov:value  :joe_the_tank;
>>> ]
>>> 
>> 
>> FYI, prov-dm talks about key-entity-set (key-entity pairs), since the term value means
>> something else in prov-dm.
>> I appreciated that prov:entity is already used in prov-o.
>> 
>>> Then, DM introduced the reserved property "value" to do things like:
>>> 
>>> entity(ex:in, [prov:value="abcd"])
>>> entity(ex:out, [prov:value=4])
>>> activity(ex:len, [prov:type="string-length"])
>>> used(ex:len,ex:in)
>>> wasGeneratedBy(ex:out,ex:len)
>>> wasDerivedFrom(ex:out,ex:in)
>>> 
>>> DM's "value" property is exactly how rdf:value has been used in the past decade:
>>> 
>>> :parameter_1
>>>     a prov:Entity;
>>>     rdf:value 1024;
>>> .
>>> 
>>> but we wanted to reestablish prov:value because rdf:value's definition was "a bit" cloudy.
>>> So, we end up with:
>>> 
>>> 
>>> :parameter_1
>>>     a prov:Entity;
>>>     prov:value 1024;
>>> .
>>> 
>>> 
>>> Unfortunately, the KeyValuePair's value collides with the DM's new value (rdf:value).
>>> 
>>> So, we could:
>>> 
>>> 1) relax prov:value's domain from KeyValuePair to Entity
>>> 
>>> This would allow us to use prov:value in both KeyValuePairs as well as arbitrary "number entities".
> 
> -1
> 
> This also does not provide the functionality the DM wants with prov:value (associating a literal value with the entity) and conflates prov:value to have two very different purposes.
> 
>>> 
>>> 
>>> 2) Rename DM's "value" to "chars", inspired by cnt:chars from
>>> http://www.w3.org/TR/Content-in-RDF10/#ContentAsTextClass
> 
> -1
> 
> I prefer "content" to "chars", but would prefer even more to use prov:value to be consistent with the DM.

I was proposing to have DM to change "value" to "content" at 
http://www.w3.org/TR/2012/WD-prov-dm-20120503/#term-attribute-value

> 
>>> 
>>> 
>>> 
>>> 
>> 
>> The names don't need to be exactly the same in prov-o/prov-dm.
>> Why can't you prov:pairValue or prov:pairEntity, instead of prov:value in pairs?
> 
> +1 for prov:pairEntity
> 
> --Stephan

Leaning towards Luc and Stephan, what about 

[ 
  a prov:KeyValuePair;
  prov:pairKey      "goalie"; 
  prov:pairValue  :joe_the_tank;
]

I think the property should be named by the role, not its range - otherwise we'd have pairString which is odd.

-Tim
Received on Tuesday, 15 May 2012 15:16:56 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 15 May 2012 15:16:56 GMT