W3C home > Mailing lists > Public > www-tag@w3.org > July 2002

Re: [httpRange-14] What do HTTP URIs Identify?

From: Aaron Swartz <me@aaronsw.com>
Date: Wed, 31 Jul 2002 16:26:27 -0500
Cc: <www-tag@w3.org>
To: "Tim Berners-Lee" <timbl@w3.org>
Message-Id: <2C4F5EAC-A4CC-11D6-9B32-0003936780B2@aaronsw.com>

OK, let me see if I can make my point with a concrete example:

<http://fielding.org/Roy/> a foaf:Person . # Roy Fielding.
<http://fielding.org/Roy/index.html> a :Document . # /His home page.
<http://fielding.org/Roy/index.html.20020126130519> a :BagOfBits. # The 
specific entity (bag of bits) from that date.

We can also describe the relations between these things:

<http://fielding.org/Roy/> :content-location 
<http://fielding.org/Roy/index.html> .
<http://fielding.org/Roy/index.html> :entity-instance 
<http://fielding.org/Roy/index.html.20020126130519> .

We can talk about the thing, the web page and a specific 
representation/entity of/for this web page. We can have multiple web 
pages for each. We could also use anonymous nodes to achieve the same 
effect and use additional date and media-type properties to be clear 
about the representation we're referring to. And there are no 
constraints on what an HTTP URI can identify. Can you point out anything 
that's broken in this situation?

Overall the new material you added to /DesignIssues/HTTP-URI was 
alright. I couldn't find anything to responding on.

More nitty gritty responses below:

I'd summarize the point of view as "HTTP URIs can identify cars and 
other abstract things, although most don't. The author gets to decide 
what it identifies." I guess that's 2.2.

>>> If a web page is about a car, then the URI can't be used to refer to 
>>> the web page.
>> Ummm... huh? Just because a URI can identify a car doesn't mean it 
>> can't identify a web page.
> Are you talking about same URI? If so, I am surprised, as I think of 
> web pages and cars as being different.

Sorry, I meant different HTTP URIs.

>> In your view, URIs can't identify donkeys.
> On the contrary, URIs can.

Sorry, I abbreviated HTTP URIs to URIs here.

> The problems I have described in the document, but in summary two of 
> them
> are is that if the HTTP URI identifies the donkey, then what identifies 
> the web page?

Make up a new URI to do it and describe the relationship in RDF. Or make 
up a new URI scheme, the inverse of tdb: (thing described by) and use 
that. You can also use the HTTP Content-Location header to get from a 
URI that identifies a donkey to a web page about the donkey.

> and, if URIs can identify web pages or donkeys, how do we tell which 
> for a given URI?

Read the content of the web page. Hopefully we'll also have HTTP headers 
to make this clearer to a machine. We can also use Content-Location 
headers to do part of this.

>> Most HTTP headers, as I believe I pointed out in the Expires: example, 
>> apply to the entity or representation, not the Resource. I believe 
>> those that apply to the Resource work just fine with it being a donkey.
> See section 2.4.  This is the two-level apporach to dividing 
> propoerties into those which refer to the web page and those which 
> refer to the donkey.

I disagree with 2.4 because I don't think the URI needs to be ambiguous. 
It can be entirely clear and specified (and in many cases is). Just 
because HTTP headers don't all give subjects for their properties 
doesn't mean that they're all describing the GETed URI.

>>> You can argue that a web page indirectly identifies something, of 
>>> course, and I am quite happy with that.
>> And, as I show above, you can indirectly talk about the web page using 
>> the URI to identify the thing. This works fine and requires less 
>> constraints on web architecture than your proposal.
> Tricky, though, because many web pages can be represnetations of the 
> same thing. How many bytes, for example, are the in "the" page which 
> identifies Roy Fielding? There are many such pages. It would require a 
> constraint on the web architecture that every concept had only one URI, 
> which breaks the principle that anyone can say anyhing about thing.  
> Apart from that it would work, I think. (I deal with the opposite way 
> of turning things around in a new section 2.8.)

What? I don't follow that reasoning at all... See my example above for a 

>> Again, you are confusing the ability for a web page to identify a 
>> donkey
>> with the requirement that it does. I would argue that the web page only
>> identifies the donkey if one was careful to state that it did. An
>> example of such a page is: http://logicerror.com/myWeavingTheWeb
> So what, sir, is the algorithm for determining that no one had carefully
> stated tha a web page was a donkey?

Visiting the page and reading through it. As I said, as we move into the 
Semantic Web we'll need RDF properties and HTTP headers to provide this 
information in a machine-processable way, but that's true about many 
things. I don't see how that's a deal-breaker.

> When you say [ is html:representation of <URI>; dc:date "[DATE]" ]. you 
> have a problem becasse I can replace <URI> with any otehr symbol whcih 
> is equivalent.  As all the URIs represneting Roy Fielding are 
> equivalent, i can use any one.

Ooh, this is an interesting problem. I guess I should have made the URI 
a literal like:

[ is html:representation of <Roy-Fielding>; location "[URI]"; date 
"[DATE]" ] .

Aaron [http://www.aaronsw.com] 4FAC4838B7D8D13FA6D92EDB4145521E79F0DF4B
Received on Wednesday, 31 July 2002 17:26:29 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:55:53 UTC