Re: secondary resources

Re:
http://lists.w3.org/Archives/Public/public-rdf-in-xhtml-tf/2006Jan/0065

Jeremy,

I agree with much of your reasoning, but some points are a little
unclear, and I'm not sure what resolution this leads to.  Detailed
comments below.

> From: Jeremy Carroll <jjc@hpl.hp.com> 
> 
> Trying to create words that capture what might be a winnable 
> position on secondary resources.
> 
> ===========
> 
> Problem statement:
>    Short form: who is Norman Walsh?
> (Or what is http://norman.walsh.name/knows/who#norman-walsh ?)
> 
> 
>    A URI such as
>      http://norman.walsh.name/knows/who
>    may have multiple representations including RDF/XML and HTML

Yes. 

> 
>    By the TAG resolution of http-range-14, we know that
>     http://norman.walsh.name/knows/who
>    itself identifies an information resource.

Yes.  

> 
>    Reading the RDF/XML representation returned, we learn that
> http://norman.walsh.name/knows/who#norman-walsh
>    is a Male Person:
> 
> [[
> <rdf:Description 
> rdf:about="http://norman.walsh.name/knows/who#norman-walsh">
>        <rdf:type
rdf:resource="http://nwalsh.com/rdf/contacts#Contact"/>
>        <rdf:type rdf:resource="http://nwalsh.com/rdf/genealogy#Male"/>
>        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
> ]]

Okay.  I only received text/html (XHTML 1.0 Transitional) from
http://norman.walsh.name/knows/who when I just tried it, but I'm
assuming it also sends RDF/XML if it gets the right Accept headers.

> 
>    In the HTML version the same fragment is used for this part of the 
> document:
> 
> [[
> <div class="name"><a name="norman-walsh" id="norman-walsh"></a>Norman 
> Walsh&#160;<a href="http://norman.walsh.name/foaf"><img 
> src="/graphics/foafTiny.gif" alt="(foaf)" border="0" /></a></div>
> ]]
> 
> 
> Thus the URI
> http://norman.walsh.name/knows/who#norman-walsh
> when the URL http://norman.walsh.name/knows/who is returned as HTML 
> directs the client to a section of an HTML document.

Right.  By the WebArch rules, the meaning of the fragment identifier is
determined by the MIME type returned.  I got text/html when I tried it,
so in effect the noman.walsh.name server has asserted:

	<http://norman.walsh.name/knows/who#norman-walsh> a
		tag:Location-Within-An-HTML-Document .

I do not know whether tag:Location-Within-An-HTML-Document is a subclass
of tag:InformationResource, but I think it would be very reasonable for
it be so.  I also don't know if tag:Location-Within-An-HTML-Document is
owl:disjointWith foaf:Person.

> 
> Given these two facts, what is the nature of the secondary resource 
> identified by
> http://norman.walsh.name/knows/who#norman-walsh

Well, the norman.walsh.name server has asserted that #norman-walsh is
both a person and a location within a document:

	<http://norman.walsh.name/knows/who#norman-walsh> 
		a tag:Location-Within-An-HTML-Document ,
		a <http://xmlns.com/foaf/0.1/Person> .

I don't know if this is a contradiction -- it would be if foaf:Person is
owl:disjointWith tag:Location-Within-An-HTML-Document -- but it does not
seem to be using the foaf: ontology the way foaf: was intended.  The
foaf: ontology clearly distinguishes between a foaf:Person and a
foaf:Document, and even provides a foaf:PersonalProfileDocument property
that explicitly relates the two.  The above seems to conflate them.

Perhaps the notion of "punning" that Pat Hayes mentioned would
rationalize this -- I'm afraid I have not understood it well enough yet
-- but it looks to me like Norm has unwittingly dirtied his data by
permitting his server to (implicitly) assert that #norman-walsh is a
tag:Location-Within-An-HTML-Document .

The WebArch sec 3.2.2  on "Fragment identifiers and content negotiation"
says that the use of "content negotiation to serve representation
formats that have inconsistent fragment identifier semantics" is a
"server management error" that "leads to URI collision".[1]  However,
WebArch sec 3.2.2 also says that "The representation provider decides
when definitions of fragment identifier semantics are are sufficiently
consistent.".  

Are the above RDF statements sufficiently consistent?  Is a foaf:Person
similar enough to a tag:Location-Within-An-HTML-Document that for Norm's
purposes they can be considered the same thing?  I don't think so.  I
don't that's what is going on here.  I think Norm was simply careless in
(implicitly) asserting:

	<http://norman.walsh.name/knows/who#norman-walsh> 
		a tag:Location-Within-An-HTML-Document .

So in my opinion, an appropriate response on obtaining the above would
be: (a) to ignore it as erroneous data; or (b) to heuristically convert
it to usable data by applying some kind of coercion (as in the
Coercible-Triples approach[2]).

> 
> Problem resolution:
> 
> The Web does not provide a mechanism for returning a representation of

> secondary resources analagous to the GET request to return 
> representations of primary resources.
> 
> Rather, the mechanisms, mediated by mime type, that return 
> representations concerning secondary resources, return a 
> representation that is most appropriate *for that mime type*.
> 
> Hence, when the secondary resource is a non-information resource, but 
> the primary resource is an HTML document, the normal behaviour is that

> the representation concerning  the secondary resource is a section of 
> the HTML document, that relates in some way to the secondary resource.

It sounds like you are giving preference to one assertion (that
#norman-walsh is a foaf:Person) over the other (that #norman-walsh is a
tag:Location-Within-An-HTML-Document).  That makes me uneasy.  It would
be non-monotonic to say that one statement is true only if the other has
not also been asserted.  However, it does sound like we are thinking
along the same lines: that the (implicit) assertion "#norman-walsh is a
tag:Location-Within-An-HTML-Document" is not what Norm intended.
 
> However, the nature of that relationship is unspecified. In 
> particular, information resources such as those identified by 
> http://www.w3.org/People/Connolly/
> and
> http://www.w3.org/People/Berners-Lee/card
> can have secondary resources such as
> http://www.w3.org/People/Connolly/#me
> and
> http://www.w3.org/People/Berners-Lee/card#i
> that are non-information resources; and that if the primary 
> resources have an HTML representation, it is permitted by Web 
> architecture to also provide a section of the HTML document, 
> labelled with a name or id, that relates in some unspecified 
> way to the non-information secondary resources identified 
> by the URIs with fragments.
> 
> ==========
> 
> (Note Tim and Dan have been more careful over this than Norm.
> http://www.w3.org/People/Berners-Lee/card
> does not have an HTML representation
> http://www.w3.org/People/Connolly/
> as an html representation, but no name or id of "me")

As I explained in [3], I don't think the failure to define the fragment
identifier within the HTML document changes the meaning of a URI that
uses that fragment identifier.  In HTML, it just means that
http://www.w3.org/People/Connolly/#me (when served as HTML) identifies a
non-existent location within the document.  

David Booth

[1] WebArch on Content negotiation and fragment identifiers:
http://www.w3.org/TR/webarch/#frag-coneg

[2] Coercible-Triples approach:
http://lists.w3.org/Archives/Public/public-swbp-wg/2006Jan/0171.html

[3] DBooth comment on missing fragment identifiers:
http://lists.w3.org/Archives/Public/public-swbp-wg/2006Jan/0183.html

Received on Wednesday, 1 February 2006 17:00:56 UTC