Best practice for specialization

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?

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/

Received on Saturday, 31 March 2012 16:08:41 UTC