- From: Herbert Van de Sompel <hvdsomp@gmail.com>
- Date: Fri, 6 Nov 2015 06:15:31 -0700
- To: Bernadette Farias Lóscio <bfl@cin.ufpe.br>
- Cc: Data on the Web Best Practices Working Group <public-dwbp-wg@w3.org>, Herbert Van de Sompel <hvdsomp@gmail.com>
hi Bernadette, I am not sure whether I understand your question. But let me try. If the below does not help, then I hope that http://mementoweb.org/guide/howto/ does. Assume: * http://example.org/dataset is the “generic URI” at which the current version of a dataset is always available * http://example.org/dataset-000 is the versioned URI of the first version of the dataset, which was "current" in the temporal interval [t1,t2[ * http://example.org/dataset-001 is the versioned URI of the second version of the dataset, which was "current" in the temporal interval [t2,t3[ * http://example.org/dataset-002 is the versioned URI for the current version of the dataset, which became current at t3 and still is now Under these assumptions, Memento provides the following functionality: => Datetime Negotiation functionality - Given http://example.org/dataset , follow a "timegate" typed link to a TimeGate. At the TimeGate, perform datetime negotiation using a time tq, with t0 <= tq <= now . This will lead to the version of the dataset that was current at tq. For example, if t1 <= tq < t2 the resulting URI will be http://example.org/dataset-000 . If the temporal dataset version is available in different serializations, then regular content negotiation for a specific serialization is also possible. => Version history functionality - Given http://example.org/dataset follow a "timemap" typed link to a TimeMap. Accessing the TimeMap will yield a document that includes the following info: http://example.org/dataset http://example.org/dataset-000; datetime="t1" http://example.org/dataset-001; datetime="t2" http://example.org/dataset-002; datetime="t3" If these temporal versions are available in different serializations, this document could include the following info: http://example.org/dataset http://example.org/dataset-000; datetime="t1"; type="type1" http://example.org/dataset-001; datetime="t2"; type="type1" http://example.org/dataset-002; datetime="t3"; type="type1" http://example.org/dataset-000; datetime="t1"; type="type2" http://example.org/dataset-001; datetime="t2"; type="type2" http://example.org/dataset-002; datetime="t3"; type="type2" => Generic URI functionality - Given the URI of a version, eg http://example.org/dataset-001 , follow a "original" typed link to the generic URI for the dataset, ie to http://example.org/dataset Please let me know whether this answered your question. Cheers Herbert On Fri, Nov 6, 2015 at 4:35 AM, Bernadette Farias Lóscio <bfl@cin.ufpe.br> wrote: > Hi Herbert, > > Thanks a lot for your message! We made the corrections on the example [1] . > > I have another question about the Memento protocol. You said that Memento is > a protocol that "Access the version of a resource that was the current > version at a specified date/time." My question is: when we have multiple > versions of a resource how memento identifies which version will be the > current version at a specified time? I'm sorry if this is a stupid question, > but I'm trying to find a better way to connect memento with the BP. > > Cheers, > Bernadette > > [1] http://w3c.github.io/dwbp/bp.html#dataVersioning > > > > 2015-11-05 5:38 GMT-03:00 Herbert Van de Sompel <hvdsomp@gmail.com>: >> >> On Wed, Nov 4, 2015 at 8:13 AM, Bernadette Farias Lóscio >> <bfl@cin.ufpe.br> wrote: >> > Hi Herbert, >> > >> > I just updated the DWBP document to include the versioning example with >> > memento [1]. Thanks a lot for your contribution! >> > >> > Please, take a look and tell me if it is ok! >> > >> >> Three things: >> >> * The link to Memento info seems to have disappeared. The official >> spec is RFC7089, whereas http://mementoweb.org/howto/ has more on >> Memento and versioning. >> >> * In Example 8, it would be nice to have a blank line after each curl >> command. >> >> * Something seems to have gone wrong with the second curl in Example >> 9. This is what it should look like: >> >> curl -i http://example.org/timemap/dataset >> >> HTTP/1.1 200 OK >> Content-Type: application/link-format >> >> <http://example.org/dataset>;rel="original”, >> <http://example.org/timegate/dataset>;rel="timegate”, >> <http://example.org/timemap/dataset>;rel="timemap”; >> type=“application/link-format”, >> <http://example.org/dataset-000>; rel=“first memento"; >> datetime="Thu,05 Mar 2015 00:00:00 GMT", >> <http://example.org/dataset-001>; rel=“memento"; datetime=“Sun, 05 >> Apr2015 00:00:00 GMT" >> <http://example.org/dataset-002>; rel=“last memento"; datetime="Tue,05 >> May 2015 00:00:00 GMT" >> >> > I also have one question about the use of memento. If I understand >> > correct, >> > Memento is a protocol that helps to obtain different versions of the >> > same >> > resource. >> >> Memento (RFC7089) is an HTTP-based protocol that provides the >> following functionality regarding resource versions: >> * Access the version of a resource that was the current version at a >> specified date/time. This is achieved via datetime negotiation, a >> variant of content negotiation, and involves a so-called TimeGate. >> * Access the version history of a resource. This is achieved by >> obtaining a TimeMap, which lists all resource versions and their >> respective date/time. >> >> > In this case, I think we should add something on the BP to make >> > it clear that we need: i) a way to describe and to add versioning >> > information to datasets and ii) a way to access such information and to >> > access different versions of a resource. I was also wondering if instead >> > of >> > having this information as part of the BP08 and BP09, it would be better >> > to >> > have a specific BP related to provide access to different dataset >> > versions. >> > Does it make sense for you? >> > >> >> * I think that the Memento TimeMap example in BP09 aligns well with >> the title of the BP "Provide version history", which is exactly what >> TimeMaps do. However, it fits less with the description in the "Why" >> of that BP which states "Determining how the various versions of a >> dataset differ from each other is typically very laborious unless a >> summary of the differences is provided." Memento TimeMaps merely >> provide an overview of the URIs of resource versions and their >> creation datetimes. TimeMaps provide no info on what the difference >> between the versions is, other than that they were created at >> different times. With that regard, it fits better under BP08, which is >> about uniquely identifying versions, etc. >> >> * I think you are right to suggest that the Memento example in BP08 is >> not really about "Providing version information". With that regard, as >> per the above, the TimeMap example would seem to fit better under >> BP08. The current Memento example in BP08 is about accessing a version >> of a dataset that was the "current" version at some given date/time in >> the past. This feature, as such, is not formulated as a BP. Note that >> TimeMaps can also provide this feature since they list all versions. >> But, if there are a very significant number of versions, the use of >> TimeMaps for access to a specific temporal version can be cumbersome. >> >> Since I am at it, I would like to add some thoughts related to the >> "webby" stuff that Erik and I have brought up. I think it would be >> very constructive to include an additional Best Practice about using >> typed links as a way to guide clients and applications. In this new >> Best Practice, a few examples could be provided that show HTTP >> interactions/headers that provide typed web links. The following >> examples come to mind, immediately: >> - the describes/describedby links between dataset and metadata about >> dataset, which I mailed about previously >> - prev/next links to navigate between versions of datasets >> - the Memento timemap link for access to version history >> - maybe others, for example, one using the duplicate relation type to >> link to a mirror copy >> >> Personally, I think this would be a crucial best practice to add to >> the document. >> >> Cheers >> >> Herbert >> >> >> > Thanks, >> > Bernadette >> > >> > [1] http://w3c.github.io/dwbp/bp.html#dataVersioning >> > >> > >> > >> > >> > >> > 2015-10-23 13:42 GMT-03:00 Bernadette Farias Lóscio <bfl@cin.ufpe.br>: >> >> >> >> Hi Herbert, >> >> >> >> Thanks a lot for your help! It would be great if you could help us with >> >> the rewriting of the versioning examples. >> >> >> >> Cheers, >> >> Bernadette >> >> >> >> >> >> >> >> 2015-10-23 11:40 GMT-02:00 Herbert Van de Sompel <hvdsomp@gmail.com>: >> >>> >> >>> hi all, >> >>> >> >>> => I am willing to provide material to rewrite the existing Memento >> >>> example to match the example that is used throughout the document. >> >>> >> >>> => I think that Memento should also be mentioned in the version >> >>> history section. Memento has the notion of TimeMaps, documents that >> >>> list the entire temporal version history of a resource. See >> >>> http://mementoweb.org/guide/rfc/#Pattern6-Response1 . I am willing to >> >>> provide that material too. >> >>> >> >>> Pls let me know if OK. >> >>> >> >>> Cheers >> >>> >> >>> Herbert >> >>> >> >>> On Thu, Oct 22, 2015 at 4:54 PM, Data on the Web Best Practices >> >>> Working Group Issue Tracker <sysbot+tracker@w3.org> wrote: >> >>> > dwbp-ISSUE-206: The example with memento needs to be rewritten to >> >>> > use >> >>> > the transport example [Best practices document(s)] >> >>> > >> >>> > http://www.w3.org/2013/dwbp/track/issues/206 >> >>> > >> >>> > Raised by: Bernadette Farias Loscio >> >>> > On product: Best practices document(s) >> >>> > >> >>> > The example used in BP - Information about dataset versioning should >> >>> > be >> >>> > available is not consistent with other examples used in the >> >>> > document. >> >>> > >> >>> > >> >>> > >> >>> >> >>> >> >>> >> >>> -- >> >>> Herbert Van de Sompel >> >>> Digital Library Research & Prototyping >> >>> Los Alamos National Laboratory, Research Library >> >>> http://public.lanl.gov/herbertv/ >> >>> >> >>> == >> >>> >> >> >> >> >> >> >> >> -- >> >> Bernadette Farias Lóscio >> >> Centro de Informática >> >> Universidade Federal de Pernambuco - UFPE, Brazil >> >> >> >> >> >> ---------------------------------------------------------------------------- >> > >> > >> > >> > >> > -- >> > Bernadette Farias Lóscio >> > Centro de Informática >> > Universidade Federal de Pernambuco - UFPE, Brazil >> > >> > ---------------------------------------------------------------------------- >> >> >> >> -- >> Herbert Van de Sompel >> Digital Library Research & Prototyping >> Los Alamos National Laboratory, Research Library >> http://public.lanl.gov/herbertv/ >> >> == > > > > > -- > Bernadette Farias Lóscio > Centro de Informática > Universidade Federal de Pernambuco - UFPE, Brazil > ---------------------------------------------------------------------------- -- Herbert Van de Sompel Digital Library Research & Prototyping Los Alamos National Laboratory, Research Library http://public.lanl.gov/herbertv/ ==
Received on Friday, 6 November 2015 13:16:04 UTC