RE: Issue 89 - why?

> 
> Certainly - my point was that it doesn't prevent one from describing (say)
> d1v1, d1v2, etc. and also separately saying that they arr "versions" of d1.
> And it's a *lot* simpler than the current proposal.

How so (re: it's simpler)? If you already have a class for document and a class for version, you just use the complementOf link between them - same as asserting a version relation. If you don't have classes (you don't control the domain ontology), or you don't want the provenance engine and users of provenance to have to know the temporal behavior of your classes, you can fix attributes/define a class from a base class and attribute constraints to expose them in a generic fashion at (just to) the level of precision needed to unambiguously interpret your provenance assertions.

That's the only 'complexity' we're adding. Version gets used to talk about big changes to text, small changes, changes to the language used, changes in location, etc.  And we talk about a document with "Four score and seven years ago" in it after defining documents as mutable. Etc.  How can we answer simple questions about whether you have read those words if we don't know which things have fixed content? What mechanism other than a way to relate things that are mutable to immutable/less mutable versions of themselves (complementof) and a way to assert the values of the immutable properties of those things will work? (Just having the first part (complement/versionOf) and leaving the second to domain ontologists works in some sense - you can record provenance just as soon as those ontologies are complete.)

All that said, I'm all for trying to explain the model in a more incremental fashion, e.g. starting from an OPM-like core, considering versions (as complementOf), and then introducing the idea of fixed attributes on entities as a way to generically document how the things in complementOf relationships differ and using that as a way to explain how to query, etc. (e.g. Asking for a document that contains a string has to be interpreted as finding a document who's latest version has that string or for which any version had that string. PROV is designed to make you pick one of the choices so you get an unambiguous answer ).

 Jim

Received on Monday, 19 September 2011 13:54:40 UTC