- From: Michel Dumontier <michel.dumontier@gmail.com>
- Date: Sun, 21 Sep 2014 14:00:15 -0700
- To: Martynas Jusevičius <martynas@graphity.org>
- Cc: Joachim Baran <joachim.baran@gmail.com>, Andrea Splendiani <andrea.splendiani@iscb.org>, HCLS <public-semweb-lifesci@w3.org>
Martynas, The Cool URIs proposal does not address versioning (and neither does most metadata vocabularies), unfortunately. There's no reason why you can't create URIs to return information that is known about an object under some condition (APIs do that all the time). The key is that the URI persists. In our TrustyURI proposal [1], we show how to generate HTTP URIs that are verifiable, immutable, and permanent. Using these, one could relate a version of data with another, perhaps using pav:previousVersion [2], as we indicate in the HCLS note on dataset descriptions. That way, you'd be sure that you're getting back what you linked to in the first place. m. [1] http://www.slideshare.net/TobiasKuhn/trustyuris [2] http://purl.org/pav/ [3] http://tinyurl.com/mg9ly9c On Sun, Sep 21, 2014 at 1:42 PM, Martynas Jusevičius <martynas@graphity.org> wrote: > Joachim, > > I think your proposal is in conflict with core Linked Data principle: > Cool URIs Don't Change. > > http://www.w3.org/TR/cooluris/#cooluris > > > Martynas > graphityhq.com > > On Fri, Sep 19, 2014 at 7:14 PM, Joachim Baran <joachim.baran@gmail.com> wrote: >> Hi! >> >> I would reorder the URI as "http://eample/V2/P1234". That way you make it >> more explicit that you are talking about data set releases, each of which is >> defined by its own URI prefix. That way you can have two P1234 residing >> side-by-side even though they might be completely different. >> >> Should the version always be part of an URI? I would say yes -- despite >> seeing your argumentation about the temporal interpretation of URIs that you >> gave. >> >> Kim >> >> On 19 September 2014 08:38, Andrea Splendiani <andrea.splendiani@iscb.org> >> wrote: >>> >>> Hi, >>> >>> I'm posting here a question I have posted in some other forums. >>> How do you go about versioning ? >>> >>> I tend to think at the URI as pointing to the endurant, and this leaves to >>> the "version" the meaning of "what was known/true about an entity at a given >>> time". The latter is conveniently packed in a graph, whose URIs can be >>> conveniently linked to the endurant URI. >>> >>> >>> So http://example/P04637 is the protein URI that returns what is currently >>> known about this protein. >>> >>> http://example/P04637/V2 is the URI of a version (a set of statements) >>> that return what is known for http://example/P04637 at a given time. >>> >>> Note that http://example/P04637/V2 doesn't appear in results (except in >>> predicates linking different versions, like "replaces") >>> >>> >>> Basically I never have an assertion as: >>> >>> http://example/P04637 hasVersion 2, but version is only used to filter >>> which pack of information is relevant. So if I mix results from different >>> versions (e.g. quads) I can filter what is relevant and where to me. >>> >>> >>> Is this a common way of doing things ? >>> >>> If not, have you thought about it and if you took alternatives, why ? >>> >>> >>> best, >>> >>> Andrea >> >> >
Received on Sunday, 21 September 2014 21:01:03 UTC