Re: How do you go about versioning ?

Hi,
I think hasVersion can be vague. In my case it has the specific meaning of
"time-snapshot" from a "master" information resource. So I can have
hasVersion and versionOf as inverse (not that I have committed to this and
I may adopt a more relaxed vocabulary, but I could).
Closed vs Open World: you never know if you have the last version... there
may be more statements like "hasCurrentVersion" with different target
versions, existing through unexpected propagation in different systems. So
at the end that's not so different.
It's true that it is more complex to retrieve the last version without a
shortcut (unless you are in sparql server). The nice thing is that you can
keep everything monotonous and you never have to delete any statement if
"hasCurrent" is implied.
Maybe this is more of a theoretical nicety than a practical one, though.

best,
Andrea

On Mon, Sep 22, 2014 at 4:26 PM, Stian Soiland-Reyes <
soiland-reyes@cs.manchester.ac.uk> wrote:

> On 22 September 2014 14:19, Andrea Splendiani
> <andrea.splendiani@iscb.org> wrote:
> > ok, so it seems our representations are pretty much aligned, except for
> the
> > "http://example.com" I don't say anything but simply redirect to the
> current
> > versions.
>
> I think that's fine as long as it's not in conflict with say the HTML
> representation - depending if you want to gather links to the
> versioned or unversioned resource.
>
> > Each version page state things like "this is a version of
> > http://example.com, previousVersion... and so on. Latest version is the
> one,
> > by definition, not replaced by any other version.
>
> > Per contra, if I understand you correctly, you are explicit about which
> > versions are out there and which is the latest version in the response
> page
> > to http:example.com. Right ?
>
> Yes, initially PAV only had "previousVersion" and I used the same
> reasoning - the last one which no-one has as previous is the latest.
>
> But this has two problems:
>
> 1) Require closed-world assumptions
> 2) There could be a later version that is not (yet) the current
> version e.g. a draft update
> 3) Requires more complicated reasoning
>
>
> So, asked for by EBI / Simon Jupp, we added the pav:hasVersion and
> pav:hasCurrentVersion as a kind of top-down navigation tool. It is
> arguably not directly provenance, but more bibliographic information.
> In many cases you can simply think of them as shortcuts - e.g.
> pav:hasVersion will point directly to each of the versioned resources
> in the pav:previousVersion chain.  (we also added the transitive
> pav:earlierVersion)
>
>
> The inverse dct:isVersionOf approach is more allowing of any
> third-party "versions" that are not "official releases". It would very
> quickly be wrong for anything except for the master version and its
> actual current version to claim to be the current version. :). By
> adding the has*Version relations we found a way to also be specific
> about that "officialness".
>
> --
> Stian Soiland-Reyes, myGrid team
> School of Computer Science
> The University of Manchester
> http://soiland-reyes.com/stian/work/ http://orcid.org/0000-0001-9842-9718
>

Received on Monday, 22 September 2014 15:24:06 UTC