Re: dwbp-ISSUE-206: The example with memento needs to be rewritten to use the transport example [Best practices document(s)]

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