- From: Herbert Van de Sompel <hvdsomp@gmail.com>
- Date: Wed, 18 Nov 2015 03:19:46 -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, TimeGates and TimeMaps are resources that comply with their description in RFC7089, see http://mementoweb.org/guide/rfc/ . They are implemented in software. Various tools natively come with TimeGates/TimeMaps and other tools exist that add TimeGate/TimeMap functionality to existing systems. An overview is at http://mementoweb.org/tools/ . Of special interest for Data efforts could be the TimeGate server (https://github.com/mementoweb/timegate) that can be added to an existing system to expose its native versioning API in a manner that is compliant with the Memento protocol. I hope this helps. Greetings Herbert On Tue, Nov 17, 2015 at 1:22 PM, Bernadette Farias Lóscio <bfl@cin.ufpe.br> wrote: > Hi Herbert, > > Thanks a lot for your explanation! If I understood correctly, versioning > information is described through the TimeMap and the TimeGate. > > In the current version of the examples, we show how to get information about > versioning through TimeMaps and TimeGates, but we don't show how to "create" > them (TimeMaps and TimeGates). > > IMO, If we're gonna use Memento as an approach for implementation then I > think we should provide a short explanation of how to create TimeMaps and > TimeGates. We can also provide a link to a page with an explanation. Does it > make sense for you? > > Cheers, > Bernadette > > > > 2015-11-06 10:15 GMT-03:00 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/ >> >> == > > > > > -- > 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 Wednesday, 18 November 2015 10:20:17 UTC