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

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