W3C home > Mailing lists > Public > public-prov-comments@w3.org > October 2012

RE: PROV-O in Callimachus

From: Miles, Simon <simon.miles@kcl.ac.uk>
Date: Thu, 25 Oct 2012 17:55:06 +0100
To: James Leigh <james@3roundstones.com>
CC: public-prov-comments <public-prov-comments@w3.org>
Message-ID: <830EEE5C741ED54EAB28EBACFFC77984EEBA8044C1@KCL-MAIL04.kclad.ds.kcl.ac.uk>
Hi James,

The PROV working group discussed the questions regarding mutable resources in Callimachus (and in general) that you raised. We've uploaded the response to the group Wiki [1], but I'll copy the text here for convenience.

PROV supports the case you describe using the prov:specializationOf relation to connect a mutable resource URI to entities representing each revision over time. The latter don't have to exist already in Callimachus, but may be created with unique IDs specifically to model the provenance.

If a change in a resource's state is something to be documented in the provenance, then that requires multiple entities. PROV entities are allowed to be mutable, but the purpose of this is to hide information that is unimportant, i.e. that you do not want to model in the provenance. As soon as the timeline of the resource is divided into relevantly different periods (e.g. before and after each contributor edited), then the mechanism to document this in PROV is to use multiple entities. If you have a single identifier (entity) for the mutable resource as it exists over time, through multiple revisions, this can be connected to the set of revision entities using the prov:specializationOf relation.

The flour and baking example is similar. If a change is to be documented in PROV, then multiple entities are used, e.g. the flour before and after baking. If it is not documented, then only one entity is required. There is no notion of a change which is "documented but not significant", because it is unclear what significance would be in general except for the decision to model/document it. As before, a general, mutable "flour" entity can exist that is connected to the flour before and after baking using prov:specializationOf. For example:
 ex:baked prov:used ex:flour1
 ex:flour2 prov:wasGeneratedBy ex:baked
 ex:flour2 prov:wasDerivedFrom ex:flour1
 ex:flour1 prov:specializationOf ex:flour
 ex:flour2 prov:specializationOf ex:flour

Can you say whether you think this addresses your questions?


[1] http://www.w3.org/2011/prov/wiki/ResponsesToPublicComments#ISSUE-569_.28Mutable_resources.29

Dr Simon Miles
Senior Lecturer, Department of Informatics
Kings College London, WC2R 2LS, UK
+44 (0)20 7848 1166

Automatically Adapting Source Code to Document Provenance:
From: pgroth@gmail.com [pgroth@gmail.com] On Behalf Of Paul Groth [p.t.groth@vu.nl]
Sent: 10 October 2012 14:28
To: James Leigh
Cc: public-prov-comments
Subject: Re: PROV-O in Callimachus

Hi James,

Following-up, I think the issue (now ISSUE-569) you raised on how to
deal with mutable resources is important. We are going to discuss this
in the working group. As to not bombard you with emails, we will take
this onto our own working group email list and get back to you with a
response. If you want to follow the discussion, you can find all the
email traffic and discussion at

Thanks again for your input and we are excited that Callimachus is using prov.

Received on Thursday, 25 October 2012 17:00:14 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 19:49:43 UTC