On Mar 31, 2012, at 12:07 PM, Miles, Simon wrote:
> Hello,
>
> In working on the primer examples, I thought about a situation which it seems could commonly occur, but for which the best solution is not clear to me.
>
> I create a document and give it an ID, :doc. I make the document public along with metadata including PROV statements that it was generated by some activity and suchlike.
> :doc a prov:Entity.
> :doc prov:wasGeneratedBy :editing.
> :doc dcterms:title "What I did on my holidays"
> etc.
>
> I was not expecting to change the document, but later notice a serious error which means I need to correct it. I describe the new version as a new entity, :docV2. In describing :doc above, I was describing the document in general, not a specific version of it, as I didn't expect multiple versions to exist. I would like to say:
> :docV2 prov:specializationOf :doc.
>
> but some of my statements above, like the wasGeneratedBy, are specific to the original version.
>
> So, I could either
> (1) Create an entity :docV1, state that :docV1 and :docV2 are specializations of :doc, and change some of the original statements to be about :docV1 where specific to the original version.
>
> (2) Don't change the original statements, treat :doc as referring to the original version, create an entity :docInGeneral, which :doc and :docV2 are specializations of, and re-assert each of the above statements about :doc that are also true for :docInGeneral
>
> Option (1) seems only possible if we assume copies of the statements do not exist elsewhere, e.g. have already been downloaded.
>
> Would guidance on this kind of situation be helpful to have in the best practices document?
>
> Is there more general semantic web guidance on what to do when you thought you were identifying one thing and it turned out to be two?
Once you've confounded two things with the same name and can't control the rewrite, you're sunk.
The best thing to do is to get it right when you report on your next holiday; specializationOf will be ready for you to use in that go 'round.
And, if you really need to let people know about the _right_ provenance of this year's holiday report, then release a new account with the appropriate distinction, and assert:
:no_really_I_mean_this_provenance
a prov:Account;
prov:wasRevisionOf :oops_this_provenance_mentions_v1_as_its_abstract_form;
prov:wasAttributedTo :simon;
dcterms:subject :doc, :docV2, :docV1;
.
-Tim
>
> Thanks,
> Simon
>
> Dr Simon Miles
> Senior Lecturer, Department of Informatics
> Kings College London, WC2R 2LS, UK
> +44 (0)20 7848 1166
>
> Electronically querying for the provenance of entities:
> http://eprints.dcs.kcl.ac.uk/61/