PROV-ISSUE-139 (collection-emptylist): Collections don't provide a way to specify empty lists [Data Model]

PROV-ISSUE-139 (collection-emptylist): Collections don't provide a way to specify empty lists [Data Model]

http://www.w3.org/2011/prov/track/issues/139

Raised by: Stian Soiland-Reyes
On product: Data Model

http://www.w3.org/TR/prov-dm/#expression-Collection specifies how to build collections.

Given issue collection-isolation and collection-collision are solved, one can then assume what all the asserted keys and values of the final collection are.

However, without also including a way to assert that a collection is empty, it is not possible to have a complete picture of the content of the collection - as the "initial" collection is not terminated - a new wasAddedTo_Coll might appear showing that more elements were contained.

I propose to add an assertion:

emptyCollection(c0)

to state that c0 is a collection, but did not contain any keys or values.

Any collections built from c0 will then be completely defined.


I would also propose a collection(c0) as a specialisation saying entity(type="collection") - then emptyCollection(c0) is a specialisation of collection also saying entity(type="emptyCollection").



(Note: We should allow different empty lists entities and not a single :emptyCollection entity, as several PEs might generate empty collections, but those are different entities with different provenance and interpretations. For instance, in Taverna, even empty lists have 'depth' showing how deep list nesting they would have contained if they had had any items)

Received on Sunday, 30 October 2011 00:03:05 UTC