Re: [PROV-AQ] Multiple anchors and provenance-URIs

Ok, I see, so the use of HTTP vs. HTML can be motivated depending on the
use case and which optimizations you need.

It's not ideal, but I agree that we should maximize the possibilities for
documents linking to their provenance. It's good to have some
clarification. A colleague of mine suggested a possible optimization for
the <link> elements through their id attribute, but we haven't thoroughly
checked it out.

Either way, thanks for the quick answer!

Regards,
Tom

2013/2/7 Graham Klyne <Graham.Klyne@zoo.ox.ac.uk>

> Hi Tom,
>
> Short answer: the first HTTP example is OK, and cannot be exactly
> replicated in HTML.
>
> It's a known wrinkle, and has also been noted in review comments.
>
> The choice we made was to trade maximization of use of existing
> capabilities over consistency, so as you say there is a difference in
> selectivity of Link: headers vs HTML <link> elements.
>
> My position is that multiple hasProvenance links is probably an edge case,
> and I don't want to get too drawn into optimizing for it.  Accordingly, the
> general position is that you have one or more provenance URIs and one or
> more anchors: you can then look for references to any of the anchors in any
> of the provenance records.  This may be slightly inefficient but it cannot
> yield incorrect results if the provenance data is correct.
>
> The HTTP case can be optimized because you are given anchors values on a
> per-provenenance-record basis.  But it's just that, an optimization, no
> more.
>
> This is intended to be covered by this text:
> [[
> The mechanisms described here are intended to allow a provider to supply
> information that may assist a client in finding related provenance records.
> The provenance records should themselves explicitly identify the target
> resources they describe. While a provider should avoid giving spurious
> information, there are no fixed semantics, particularly when multiple
> resources are indicated, and a client should not assume that a specific
> given provenance-URI will yield information about a specific given
> target-URI. In the general case, a client presented with multiple
> provenance-URIs and multiple target-URIs should look at all of the
> provenance-URIs for information about any or all of the target-URIs.
> ]]
> --
> https://dvcs.w3.org/hg/prov/**raw-file/ae85f08dcda4/paq/**
> prov-aq.html#locating-**provenance-records<https://dvcs.w3.org/hg/prov/raw-file/ae85f08dcda4/paq/prov-aq.html#locating-provenance-records>
>
> #g
> --
>
>
>
> On 07/02/2013 14:44, Tom De Nies wrote:
>
>> Hi Paul, Graham,
>>
>> I'm confused about something in PROV-AQ.
>>
>> When linking through the HTTP Link header, you have the option to do this:
>>
>>  Link: http://example.org/example.**provn<http://example.org/example.provn>;
>>> rel="
>>> http://www.w3.org/ns/prov#**hasProvenance<http://www.w3.org/ns/prov#hasProvenance>";
>>> anchor="
>>> http://example.org/example.**html <http://example.org/example.html>"
>>> Link: http://example.org/example2.**provn<http://example.org/example2.provn>;
>>> rel="
>>> http://www.w3.org/ns/prov#**hasProvenance<http://www.w3.org/ns/prov#hasProvenance>";
>>> anchor="
>>> http://example.org/example.jpg**"
>>>
>>>  Where one provenance resource describes the provenance of the html page,
>> and another the provenance of a jpg included in the page.
>> Another use case is the separate provenance of sections:
>>
>>  Link: http://example.org/example.**provn<http://example.org/example.provn>;
>>> rel="
>>> http://www.w3.org/ns/prov#**hasProvenance<http://www.w3.org/ns/prov#hasProvenance>";
>>> anchor="
>>> http://example.org/example.**html#section1<http://example.org/example.html#section1>
>>> "
>>> Link: http://example.org/example2.**provn<http://example.org/example2.provn>;
>>> rel="
>>> http://www.w3.org/ns/prov#**hasProvenance<http://www.w3.org/ns/prov#hasProvenance>";
>>> anchor="
>>> http://example.org/example.**html#section2<http://example.org/example.html#section2>
>>> "
>>>
>>>
>> However, when you use the <link> element in de <head> of the HTML, you can
>> only do this:
>>
>>  <link rel="http://www.w3.org/ns/**prov#hasProvenance<http://www.w3.org/ns/prov#hasProvenance>"
>>> href="
>>> http://example.org/example.**provn <http://example.org/example.provn>">
>>> <link rel="http://www.w3.org/ns/**prov#hasProvenance<http://www.w3.org/ns/prov#hasProvenance>"
>>> href="
>>> http://example.org/example2.**provn <http://example.org/example2.provn>
>>> ">
>>> <link rel="http://www.w3.org/ns/**prov#hasAnchor<http://www.w3.org/ns/prov#hasAnchor>"
>>> href="
>>> http://example.org/example.**html <http://example.org/example.html>">
>>>
>>>  if you would specify a second hadAnchor, you'd have no idea in which
>> provenance resource the anchor is referred.
>> Dito for RDF.
>>
>> Is the first HTTP example allowed or discouraged? And if it is allowed,
>> how
>> can it be done in HTML or RDF?
>>
>> This isn't intended as a blocking issue, just something I spotted when
>> trying to link my personal page to its provenance.
>>
>> Regards,
>> Tom
>>
>>

Received on Friday, 8 February 2013 12:11:17 UTC