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

Re: prov:value versus KeyValuePair

From: Stephan Zednik <zednis@rpi.edu>
Date: Tue, 15 May 2012 09:24:35 -0600
Cc: Luc Moreau <L.Moreau@ecs.soton.ac.uk>, public-prov-wg@w3.org
Message-Id: <220F16B6-7167-4BEE-B307-82791BF9D1DB@rpi.edu>
To: Timothy Lebo <lebot@rpi.edu>

On May 15, 2012, at 9:16 AM, Timothy Lebo wrote:

> 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.

I think this goes back to my preference for prov:KeyEntityPair over prov:KeyValuePair.

Why can only entities be the value in a KeyValuePair?

--Stephan

> 
> -Tim
> 
> 
> 
Received on Tuesday, 15 May 2012 15:25:41 GMT

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