Re: Hash vs Slash in relation to the 303 vs 200 debate (was: Is 303 really necessary - demo)

2010-11-07 Thread Ian Davis
On Sat, Nov 6, 2010 at 11:31 PM, Toby Inkster t...@g5n.co.uk wrote:
 Not necessarily. If you take your ex:isDescribedBy predicate and add
 that to a triple store where the non-Information-Resource resources are
 identified using hash URIs, then the SPARQL query is just:

        DESCRIBE uri ?res
        WHERE { ?res ex:isDescribedBy uri . }

 which needn't be very slow.

I've done this myself but using foaf:primaryTopic and foaf:topic to
link a document URI to all the resources that are needed to render it.



 The other downside of fragments is you can't say it exists but I have
 no description of it.

 #foo a rdfs:Resource .

In which case you do have a description of it :) But point taken, this
tautology would be enough.

Cheers,

Ian



Hash vs Slash in relation to the 303 vs 200 debate (was: Is 303 really necessary - demo)

2010-11-06 Thread Ian Davis
On Fri, Nov 5, 2010 at 5:28 PM, Nathan nat...@webr3.org wrote:
 URI resolution is essentially:

  dereference( uri.toAbsolute() );

 Which gives us the simplicity and semantic indirection which we need. Use
 frags, forget HTTP, know that uri#frag is never going to be a document
 (unless you explicitly say it is).


On a practical level using frags can be inefficient when your linked
data output is backed by a triple store. If you use a slash URI then
generating the data for html/xml/turtle output is just a simple
describe uri. For hash URIs you need to describe all the resources
with a common prefix because the fragment is not sent by the browser
with the request. That might mean a filter with a regex or string
functions which will be more inefficient. If you pick a standard
fragment such as #this, #it etc then you can revert to the simple
describe so the inefficiency only arises when there are multiple
arbitrary fragments per document URI.

The other downside of fragments is you can't say it exists but I have
no description of it. With standard slash URIs you can 303 to a 404
to say that. You can 404 on the slash itself to say the resource does
not exist. With my proposal to use 2xx responses you can return 204 No
Content to indicate the resource exists but no description is
available.

With slashes you can use 410 on an individual resource to indicate
that it has gone forever. You can also do this with the one frag per
doc approach although you are really saying the description document
has gone and the user is left to imply the secondary resource has also
gone. With multiple frags per doc (i.e. a lot of schemas) you can't
say just one of those resources has gone forever.

In summary:

Slash with 303: hard static publishing, efficient dynamic, can ack
existence without description

Hash, one resource per doc: easy static publishing, efficient dynamic,
can't ack existence without description

Hash, many resources per doc (the typical schema case): easy static
publishing, less efficient dynamic, can't ack existence without
description

Slash with 2xx: easy static publishing, efficient dynamic, can ack
existence without description

Ian



Re: Hash vs Slash in relation to the 303 vs 200 debate (was: Is 303 really necessary - demo)

2010-11-06 Thread Toby Inkster
On Sat, 6 Nov 2010 12:33:34 +
Ian Davis li...@iandavis.com wrote:

 On a practical level using frags can be inefficient when your linked
 data output is backed by a triple store. If you use a slash URI then
 generating the data for html/xml/turtle output is just a simple
 describe uri. For hash URIs you need to describe all the resources
 with a common prefix because the fragment is not sent by the browser
 with the request. That might mean a filter with a regex or string
 functions which will be more inefficient.

Not necessarily. If you take your ex:isDescribedBy predicate and add
that to a triple store where the non-Information-Resource resources are
identified using hash URIs, then the SPARQL query is just:

DESCRIBE uri ?res
WHERE { ?res ex:isDescribedBy uri . }

which needn't be very slow.

 The other downside of fragments is you can't say it exists but I have
 no description of it.

#foo a rdfs:Resource .

-- 
Toby A Inkster
mailto:m...@tobyinkster.co.uk
http://tobyinkster.co.uk




Is 303 really necessary - demo

2010-11-05 Thread Ian Davis
Hi all,

To aid discussion I create a small demo of the idea put forth in my
blog post http://iand.posterous.com/is-303-really-necessary

Here is the URI of a toucan:

http://iandavis.com/2010/303/toucan

Here is the URI of a description of that toucan:

http://iandavis.com/2010/303/toucan.rdf

As you can see both these resources have distinct URIs.

I created a new property http://vocab.org/desc/schema/description to
link the toucan to its description. The schema for that property is
here:

http://vocab.org/desc/schema

(BTW I looked at the powder describedBy property and it's clearly
designed to point to one particular type of description, not a general
RDF one. I also looked at
http://ontologydesignpatterns.org/ont/web/irw.owl and didn't see
anything suitable)

Here is the URI Burner view of the toucan resource and of its
description document:

http://linkeddata.uriburner.com/about/html/http://iandavis.com/2010/303/toucan

http://linkeddata.uriburner.com/about/html/http/iandavis.com/2010/303/toucan.rdf

I'd like to use this demo to focus on the main thrust of my question:
does this break the web  and if so, how?

Cheers,

Ian

P.S. I am not fully caught up on the other thread, so maybe someone
has already produced this demo



Re: Is 303 really necessary - demo

2010-11-05 Thread Nathan

Ian Davis wrote:

Hi all,

To aid discussion I create a small demo of the idea put forth in my
blog post http://iand.posterous.com/is-303-really-necessary

Here is the URI of a toucan:

http://iandavis.com/2010/303/toucan


Ian, where's the demo of /toucan#frag so everybody can see that you can 
use 200 OK *and* keep the graph clean? will you give it fair air time in 
the (non-)debate? will you show us a comparison of the two and benefits 
of each?



does this break the web  and if so, how?


Of course it doesn't break the web, anybody who says that being HTTP 
friendly breaks the web is clearly wrong.


Wrong question, correct question is if I 200 OK will people think this 
is a document, to which the answer is yes. You're toucan is a :Document.




Re: Is 303 really necessary - demo

2010-11-05 Thread Mike Kelly
On Fri, Nov 5, 2010 at 12:37 PM, Nathan nat...@webr3.org wrote:
 Ian Davis wrote:

 Hi all,

 To aid discussion I create a small demo of the idea put forth in my
 blog post http://iand.posterous.com/is-303-really-necessary

 Here is the URI of a toucan:

 http://iandavis.com/2010/303/toucan

 Ian, where's the demo of /toucan#frag so everybody can see that you can use
 200 OK *and* keep the graph clean? will you give it fair air time in the
 (non-)debate? will you show us a comparison of the two and benefits of each?

 does this break the web  and if so, how?

 Of course it doesn't break the web, anybody who says that being HTTP
 friendly breaks the web is clearly wrong.

 Wrong question, correct question is if I 200 OK will people think this is a
 document, to which the answer is yes. You're toucan is a :Document.


That assertion would be wrong if the response contained a
Content-Location header pointing to the specific document resource.

Cheers,
Mike



Re: Is 303 really necessary - demo

2010-11-05 Thread Nathan

Mike Kelly wrote:

On Fri, Nov 5, 2010 at 12:37 PM, Nathan nat...@webr3.org wrote:

Ian Davis wrote:

Hi all,

To aid discussion I create a small demo of the idea put forth in my
blog post http://iand.posterous.com/is-303-really-necessary

Here is the URI of a toucan:

http://iandavis.com/2010/303/toucan

Ian, where's the demo of /toucan#frag so everybody can see that you can use
200 OK *and* keep the graph clean? will you give it fair air time in the
(non-)debate? will you show us a comparison of the two and benefits of each?


does this break the web  and if so, how?

Of course it doesn't break the web, anybody who says that being HTTP
friendly breaks the web is clearly wrong.

Wrong question, correct question is if I 200 OK will people think this is a
document, to which the answer is yes. You're toucan is a :Document.



That assertion would be wrong if the response contained a
Content-Location header pointing to the specific document resource.


http://trac.tools.ietf.org/wg/httpbis/trac/ticket/154



Re: Is 303 really necessary - demo

2010-11-05 Thread Giovanni Tummarello
I might be wrong but I dont like it much . Sindice would index it as 2
documents.

http://iandavis.com/2010/303/toucan
http://iandavis.com/2010/303/toucan.rdf

i *really* would NOT want to different URLs resolving to the same thing

thanks
Giovanni


On Fri, Nov 5, 2010 at 10:43 AM, Ian Davis m...@iandavis.com wrote:
 Hi all,

 To aid discussion I create a small demo of the idea put forth in my
 blog post http://iand.posterous.com/is-303-really-necessary

 Here is the URI of a toucan:

 http://iandavis.com/2010/303/toucan

 Here is the URI of a description of that toucan:

 http://iandavis.com/2010/303/toucan.rdf

 As you can see both these resources have distinct URIs.

 I created a new property http://vocab.org/desc/schema/description to
 link the toucan to its description. The schema for that property is
 here:

 http://vocab.org/desc/schema

 (BTW I looked at the powder describedBy property and it's clearly
 designed to point to one particular type of description, not a general
 RDF one. I also looked at
 http://ontologydesignpatterns.org/ont/web/irw.owl and didn't see
 anything suitable)

 Here is the URI Burner view of the toucan resource and of its
 description document:

 http://linkeddata.uriburner.com/about/html/http://iandavis.com/2010/303/toucan

 http://linkeddata.uriburner.com/about/html/http/iandavis.com/2010/303/toucan.rdf

 I'd like to use this demo to focus on the main thrust of my question:
 does this break the web  and if so, how?

 Cheers,

 Ian

 P.S. I am not fully caught up on the other thread, so maybe someone
 has already produced this demo





Re: Is 303 really necessary - demo

2010-11-05 Thread Leigh Dodds
Hi,

On 5 November 2010 13:57, Giovanni Tummarello
giovanni.tummare...@deri.org wrote:
 I might be wrong but I dont like it much . Sindice would index it as 2
 documents.

 http://iandavis.com/2010/303/toucan
 http://iandavis.com/2010/303/toucan.rdf

Even though one returns a Content-Location?

Cheers,

L.
-- 
Leigh Dodds
Programme Manager, Talis Platform
Talis
leigh.do...@talis.com
http://www.talis.com



Re: Is 303 really necessary - demo

2010-11-05 Thread Mike Kelly
On Fri, Nov 5, 2010 at 1:57 PM, Giovanni Tummarello
giovanni.tummare...@deri.org wrote:
 I might be wrong but I dont like it much . Sindice would index it as 2
 documents.

 http://iandavis.com/2010/303/toucan
 http://iandavis.com/2010/303/toucan.rdf

 i *really* would NOT want to different URLs resolving to the same thing

 thanks
 Giovanni

As long as the first response provides an appropriate
Content-Location, they should be taken to share the same URL

http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-12#page-14

Cheers,
Mike



Re: Is 303 really necessary - demo

2010-11-05 Thread Mike Kelly
On Fri, Nov 5, 2010 at 1:53 PM, Nathan nat...@webr3.org wrote:
 Mike Kelly wrote:

 On Fri, Nov 5, 2010 at 12:37 PM, Nathan nat...@webr3.org wrote:
 Wrong question, correct question is if I 200 OK will people think this
 is a
 document, to which the answer is yes. You're toucan is a :Document.


 That assertion would be wrong if the response contained a
 Content-Location header pointing to the specific document resource.

 http://trac.tools.ietf.org/wg/httpbis/trac/ticket/154


Sorry, I don't follow. How is that relevant here?

Cheers,
Mike



Re: Is 303 really necessary - demo

2010-11-05 Thread Jörn Hees
Ah, it's magic in the header:

curl -i http://iandavis.com/2010/303/toucan
HTTP/1.1 200 OK
Date: Fri, 05 Nov 2010 14:22:40 GMT
Server: Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.4.6 PHP/5.2.4-2ubuntu5.10 with 
Suhosin-Patch mod_wsgi/1.3 Python/2.5.2
Content-Location: toucan.rdf
Vary: negotiate
TCN: choice
Last-Modified: Fri, 05 Nov 2010 09:24:27 GMT
ETag: 264186-403-4944ad745a8c0;4944ad754eb00
Accept-Ranges: bytes
Content-Length: 1027
Content-Type: application/rdf+xml; qs=0.9

Notice the Content-Location field.

curl -i http://iandavis.com/2010/303/toucan.rdf
HTTP/1.1 200 OK
Date: Fri, 05 Nov 2010 14:22:53 GMT
Server: Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.4.6 PHP/5.2.4-2ubuntu5.10 with 
Suhosin-Patch mod_wsgi/1.3 Python/2.5.2
Last-Modified: Fri, 05 Nov 2010 09:24:27 GMT
ETag: 264186-403-4944ad745a8c0
Accept-Ranges: bytes
Content-Length: 1027
Content-Type: application/rdf+xml; qs=0.9

Well, I'd be ok with this, as it lowers the roundtrip problems of 303.
But might take a long time till all tools support it and don't get confused.

A bit offtopic:
I'd rather see people putting information about a responsible sparql endpoint 
into the play. If you have that you can do a lot more / wiser things than 
crawling data which is incomplete anyhow (if you dereference a URI you can't 
expect to get all triples back, which are relevant for you, try 
http://dbpedia.org/resource/United_States (not the HTML page, but rdf+xml 
content negotiation and see that you don't even get a label but only incoming 
links)).

Jörn



Re: Is 303 really necessary - demo

2010-11-05 Thread Leigh Dodds
Hi,

On 5 November 2010 12:37, Nathan nat...@webr3.org wrote:
 Wrong question, correct question is if I 200 OK will people think this
 is a document, to which the answer is yes. You're toucan is a :Document.

You keep reiterating this, but I'm still not clear on what you're saying.

1. It seems like you're saying that a status code licenses someone to
infer an rdf:type for a resource (in what vocab I'm not sure, but it
looks like you're saying that). Someone is obviously entitled to do
that. Not sure I can think of a use case, do you have one?

2. It also seems like you're suggesting someone is actually doing
that. Or maybe that it's you're expecting someone will start doing it?

3. It also seems like you're suggesting that if someone does do that,
then it breaks the (semantic) web for the rest of us. Which it won't,
unless you blithely trust all data everywhere or don't care to check
your facts

Cheers,

L.

-- 
Leigh Dodds
Programme Manager, Talis Platform
Talis
leigh.do...@talis.com
http://www.talis.com



Re: Is 303 really necessary - demo

2010-11-05 Thread Ian Davis
On Fri, Nov 5, 2010 at 1:53 PM, Jörn Hees j_h...@cs.uni-kl.de wrote:
 If I GET http://iandavis.com/2010/303/toucan i retrieve a document (I'll call
 this A) with rdf statements.

This is not correct. You receive a response with an entity: the
representation. (Here entity is used in the rfc2616 sense)

 If I GET http://iandavis.com/2010/303/toucan.rdf i retrieve another document
 (I'll call this B), which in this case happens to have the same content as A,
 but could be different, can't it?

I could return a different entity, but I wouldn't recommend it. You
might want to if you link to multiple descriptions of the resource.


 Now: how can I say that I don't like A without saying that I don't like
 http://iandavis.com/2010/303/toucan ?

 If your answer is going to be say you don't like B again, please explain
 what happens if A and B don't have the same content.


How do you currently refer to the entity transmitted in a HTTP
response? You don't - they have no names. How do you say you are
offended by something written on twitter's home page when the entity
it sends changes every second.

 Is there some magic involved saying that any ?s with a
 ?s http://vocab.org/desc/schema/description ?d .
 is not a document but a real-world object?

No. But the description document and the entity returned from the
request to /toucan says it's a dbp:Toucan. I would put more credence
in explicit statements than implicit ones.


 Or is there some magic involved that if toucan and toucan.rdf give you the
 same content that one of them is a real-world object then?


No.


 If not, how can I find out that http://iandavis.com/2010/303/toucan is one
 and A is only one of its descriptions?


Look at the data - it states it clearly.

 Jörn

 PS: is there a summary of this discussion somewhere?



I'm afraid not, it's only been going a few hours. I haven't seen
anything that fundamentally challenges the idea yet, i.e. something
that would make me rewrite it. I am seeing several responses arguing
that it confuses the thing with the document but I explicitly show how
it doesn't in the blog post so I think that comes from people's
default assumptions. There are some responses saying don't do that -
use fragments instead, but that's no help for the millions of
resources already deployed with slash uris and the many people who
prefer that style. Other responses have been like yours, seeking more
clarity on the ideas.

Ian



Re: Is 303 really necessary - demo

2010-11-05 Thread Jörn Hees
Thanks for the clarification.

As I guess there are quite a lot of people who -- like me -- didn't notice 
this part of your suggestion I'll summarize it like this:

You still want to include a Content-Location field in the header denoting that 
you're actually retrieving a document more precisely an entity from a different 
URI:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec7.html#sec7

So instead of going for 303 with Location field redirection you simply want to 
provide something with a 200 but tell the enduser hey, but actually you see 
something from ... here with the Content-Location field.

For the toucan example see this parallel mail:
http://lists.w3.org/Archives/Public/public-lod/2010Nov/0153.html

Jörn

PS: I'm out.



Re: Is 303 really necessary - demo

2010-11-05 Thread Nathan

David Wood wrote:

On Nov 5, 2010, at 08:37, Nathan wrote:


Ian Davis wrote:

Hi all,
To aid discussion I create a small demo of the idea put forth in my
blog post http://iand.posterous.com/is-303-really-necessary
Here is the URI of a toucan:
http://iandavis.com/2010/303/toucan

Ian, where's the demo of /toucan#frag so everybody can see that you can use 200 
OK *and* keep the graph clean? will you give it fair air time in the 
(non-)debate? will you show us a comparison of the two and benefits of each?


does this break the web  and if so, how?

Of course it doesn't break the web, anybody who says that being HTTP friendly 
breaks the web is clearly wrong.

Wrong question, correct question is if I 200 OK will people think this is a 
document, to which the answer is yes. You're toucan is a :Document.



Agreed.  That's my problem with this approach.


Sadly your proposed 210 still has it, the true problem isn't a status 
code thing, it's an if I can GET it, it's a document, hence the 
earlier outlined problems with 303 as it stands, still the same problem.


Best,

Nathan



Re: Is 303 really necessary - demo

2010-11-05 Thread Nathan

Mike Kelly wrote:

On Fri, Nov 5, 2010 at 1:53 PM, Nathan nat...@webr3.org wrote:

Mike Kelly wrote:

On Fri, Nov 5, 2010 at 12:37 PM, Nathan nat...@webr3.org wrote:

Wrong question, correct question is if I 200 OK will people think this
is a
document, to which the answer is yes. You're toucan is a :Document.


That assertion would be wrong if the response contained a
Content-Location header pointing to the specific document resource.

http://trac.tools.ietf.org/wg/httpbis/trac/ticket/154



Sorry, I don't follow. How is that relevant here?


I said, if you 200 OK to /toucan then it's a document.

You said not if you include a Content-Location (The value of 
Content-Location also defines the base URI for the entity as per RFC-2616)


So I pointed to the ticket that said that's been removed from HTTP-bis 
and I'd point you to:

  http://tools.ietf.org/html/draft-ietf-httpbis-p3-payload-12#section-6.7

  For a GET or HEAD request, this is an
   indication that the effective request URI identifies a resource that
   is subject to content negotiation and the representation selected for
   this response can also be found at the identified URI.

As in under HTTP-bis (which is to clarify RFC2616) then what you 
asserted is wrong and what I asserted is correct.. if I understood your 
point that is.


Unless of course you're going down the it's a message, not a document, 
and the message payload is a representation of the requested resource 
route - in which case, meh that's the representation of the document, so 
still true.


Any clarifications / corrections?

Best,

Nathan



Re: Is 303 really necessary - demo

2010-11-05 Thread Mike Kelly
On Fri, Nov 5, 2010 at 3:52 PM, Nathan nat...@webr3.org wrote:
 Mike Kelly wrote:

 On Fri, Nov 5, 2010 at 1:53 PM, Nathan nat...@webr3.org wrote:

 Mike Kelly wrote:

 On Fri, Nov 5, 2010 at 12:37 PM, Nathan nat...@webr3.org wrote:

 Wrong question, correct question is if I 200 OK will people think this
 is a
 document, to which the answer is yes. You're toucan is a :Document.

 That assertion would be wrong if the response contained a
 Content-Location header pointing to the specific document resource.

 http://trac.tools.ietf.org/wg/httpbis/trac/ticket/154


 Sorry, I don't follow. How is that relevant here?

 I said, if you 200 OK to /toucan then it's a document.

 You said not if you include a Content-Location (The value of
 Content-Location also defines the base URI for the entity as per RFC-2616)

 So I pointed to the ticket that said that's been removed from HTTP-bis and
 I'd point you to:
  http://tools.ietf.org/html/draft-ietf-httpbis-p3-payload-12#section-6.7

  For a GET or HEAD request, this is an
   indication that the effective request URI identifies a resource that
   is subject to content negotiation and the representation selected for
   this response can also be found at the identified URI.

 As in under HTTP-bis (which is to clarify RFC2616) then what you asserted is
 wrong and what I asserted is correct.. if I understood your point that is.

Ok, you've omitted the previous sentence of that paragraph:

If Content-Location is included in a response message and its value
   differs from the effective request URI, then the origin server is
   informing recipients that this representation has its own, presumably
   more specific, identifier.

i.e. the /toucan resource is not document-specific, /toucan.rdf is.

More of the same here:

http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-12#page-14

If the response has a Content-Location header field, and that URI
   is not the same as the effective request URI, then the response
   asserts that its payload is a representation of the resource
   identified by the Content-Location URI.

If a client wants to make a statement  about the specific document
then a response that includes a content-location is giving you the
information necessary to do that correctly. It's complemented and
further clarified in the entity body itself through something like
isDescribedBy.

Cheers,
Mike



Re: Is 303 really necessary - demo

2010-11-05 Thread David Wood

On Nov 5, 2010, at 11:42, Nathan nat...@webr3.org wrote:

 David Wood wrote:
 On Nov 5, 2010, at 08:37, Nathan wrote:
 Ian Davis wrote:
 Hi all,
 To aid discussion I create a small demo of the idea put forth in my
 blog post http://iand.posterous.com/is-303-really-necessary
 Here is the URI of a toucan:
 http://iandavis.com/2010/303/toucan
 Ian, where's the demo of /toucan#frag so everybody can see that you can use 
 200 OK *and* keep the graph clean? will you give it fair air time in the 
 (non-)debate? will you show us a comparison of the two and benefits of each?
 
 does this break the web  and if so, how?
 Of course it doesn't break the web, anybody who says that being HTTP 
 friendly breaks the web is clearly wrong.
 
 Wrong question, correct question is if I 200 OK will people think this is 
 a document, to which the answer is yes. You're toucan is a :Document.
 
 Agreed.  That's my problem with this approach.
 
 Sadly your proposed 210 still has it, the true problem isn't a status code 
 thing, it's an if I can GET it, it's a document, hence the earlier outlined 
 problems with 303 as it stands, still the same problem.

Hmm. I don't think that's so. If I can GET it *and it returns a 200*, it is a 
document (an information resource). Is that not so?  At least, that is in 
accordance with http-range-14. 

The document statement would not apply to a new status code until such a 
statement was or was not made in a spec. 

Regards,
Dave
--
Sent from my iPhone

 
 Best,
 
 Nathan



Re: Is 303 really necessary - demo

2010-11-05 Thread Nathan

David Wood wrote:

On Nov 5, 2010, at 11:42, Nathan nat...@webr3.org wrote:


David Wood wrote:

On Nov 5, 2010, at 08:37, Nathan wrote:

Ian Davis wrote:

Hi all,
To aid discussion I create a small demo of the idea put forth in my
blog post http://iand.posterous.com/is-303-really-necessary
Here is the URI of a toucan:
http://iandavis.com/2010/303/toucan

Ian, where's the demo of /toucan#frag so everybody can see that you can use 200 
OK *and* keep the graph clean? will you give it fair air time in the 
(non-)debate? will you show us a comparison of the two and benefits of each?


does this break the web  and if so, how?

Of course it doesn't break the web, anybody who says that being HTTP friendly 
breaks the web is clearly wrong.

Wrong question, correct question is if I 200 OK will people think this is a 
document, to which the answer is yes. You're toucan is a :Document.


Agreed.  That's my problem with this approach.

Sadly your proposed 210 still has it, the true problem isn't a status code thing, it's an 
if I can GET it, it's a document, hence the earlier outlined problems with 
303 as it stands, still the same problem.


Hmm. I don't think that's so. If I can GET it *and it returns a 200*, it is a document (an information resource). Is that not so?  At least, that is in accordance with http-range-14. 

The document statement would not apply to a new status code until such a statement was or was not made in a spec. 


How's this then, if the response has a message-body with a media type, 
then it is a message with a media type - any better/clearer? don't 
think this is 200 specific..


Best,

Nathan



Re: Is 303 really necessary - demo

2010-11-05 Thread Robert Fuller

Hi,

I submitted both urls to sindice earlier. Both were indexed and have the 
same content. In the search results[1] one displays with title A 
Toucan, the other with title, A Description of a Toucan.


http://sindice.com/search?q=toucan+domain%3Aiandavis.comqt=term

Robert.

On 05/11/10 09:43, Ian Davis wrote:

Hi all,

To aid discussion I create a small demo of the idea put forth in my
blog post http://iand.posterous.com/is-303-really-necessary

Here is the URI of a toucan:

http://iandavis.com/2010/303/toucan

Here is the URI of a description of that toucan:

http://iandavis.com/2010/303/toucan.rdf

As you can see both these resources have distinct URIs.

I created a new property http://vocab.org/desc/schema/description to
link the toucan to its description. The schema for that property is
here:

http://vocab.org/desc/schema

(BTW I looked at the powder describedBy property and it's clearly
designed to point to one particular type of description, not a general
RDF one. I also looked at
http://ontologydesignpatterns.org/ont/web/irw.owl and didn't see
anything suitable)

Here is the URI Burner view of the toucan resource and of its
description document:

http://linkeddata.uriburner.com/about/html/http://iandavis.com/2010/303/toucan

http://linkeddata.uriburner.com/about/html/http/iandavis.com/2010/303/toucan.rdf

I'd like to use this demo to focus on the main thrust of my question:
does this break the web  and if so, how?

Cheers,

Ian

P.S. I am not fully caught up on the other thread, so maybe someone
has already produced this demo



--
Robert Fuller
Research Associate
Sindice Team
DERI, Galway
http://sindice.com/



Re: Is 303 really necessary - demo

2010-11-05 Thread Ian Davis
On Fri, Nov 5, 2010 at 4:42 PM, Robert Fuller robert.ful...@deri.org wrote:
 I submitted both urls to sindice earlier. Both were indexed and have the
 same content. In the search results[1] one displays with title A Toucan,
 the other with title, A Description of a Toucan.

 http://sindice.com/search?q=toucan+domain%3Aiandavis.comqt=term


So SIndice see them as distinct resources and doesn't concern itself
with the lack of a 303 redirect?

Ian



Re: Is 303 really necessary - demo

2010-11-05 Thread Kingsley Idehen

On 11/5/10 10:41 AM, Jörn Hees wrote:

Ah, it's magic in the header:

curl -i http://iandavis.com/2010/303/toucan
HTTP/1.1 200 OK
Date: Fri, 05 Nov 2010 14:22:40 GMT
Server: Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.4.6 PHP/5.2.4-2ubuntu5.10 with
Suhosin-Patch mod_wsgi/1.3 Python/2.5.2
Content-Location: toucan.rdf
Vary: negotiate
TCN: choice
Last-Modified: Fri, 05 Nov 2010 09:24:27 GMT
ETag: 264186-403-4944ad745a8c0;4944ad754eb00
Accept-Ranges: bytes
Content-Length: 1027
Content-Type: application/rdf+xml; qs=0.9

Notice the Content-Location field.


Try: 
http://linkeddata.uriburner.com/about/html/http/iandavis.com/2010/303/toucan



curl -i http://iandavis.com/2010/303/toucan.rdf
HTTP/1.1 200 OK
Date: Fri, 05 Nov 2010 14:22:53 GMT
Server: Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.4.6 PHP/5.2.4-2ubuntu5.10 with
Suhosin-Patch mod_wsgi/1.3 Python/2.5.2
Last-Modified: Fri, 05 Nov 2010 09:24:27 GMT
ETag: 264186-403-4944ad745a8c0
Accept-Ranges: bytes
Content-Length: 1027
Content-Type: application/rdf+xml; qs=0.9

Well, I'd be ok with this, as it lowers the roundtrip problems of 303.
But might take a long time till all tools support it and don't get confused.


Of course not, we only have a handful of tools in the Linked Data realm.
Implementing a new option should still be relatively cheap at this stage 
in the game.




A bit offtopic:
I'd rather see people putting information about a responsible sparql endpoint
into the play.


Do you mean the ability to discover On (Green), Busy (Amber), and Off 
(Red) re. SPARQL endpoints? This sort of thing is coming, absolutely 
critical for SPARQL-FED.



If you have that you can do a lot more / wiser things than
crawling data which is incomplete anyhow (if you dereference a URI you can't
expect to get all triples back, which are relevant for you, try
http://dbpedia.org/resource/United_States (not the HTML page, but rdf+xml
content negotiation and see that you don't even get a label but only incoming
links)).

Jörn





--

Regards,

Kingsley Idehen 
President  CEO
OpenLink Software
Web: http://www.openlinksw.com
Weblog: http://www.openlinksw.com/blog/~kidehen
Twitter/Identi.ca: kidehen








Re: Is 303 really necessary - demo

2010-11-05 Thread Antoine Zimmermann

Le 05/11/2010 16:42, Nathan a écrit :

[skip]

Sadly your proposed 210 still has it, the true problem isn't a status
code thing, it's an if I can GET it, it's a document, hence the
earlier outlined problems with 303 as it stands, still the same problem.


So, you are against hash URIs? Because if you can GET a hashless URI 
with 200 OK, then put a hash behind it and you can GET the resulting URI 
with a 200 OK too.


According to httpRange-14, if the HTTP response code for a given URI is 
2xx, then the URI denotes an information resource. Quote:



   a) If an http resource responds to a GET request with a
  2xx response, then the resource identified by that URI
  is an information resource;


GET http://liris.cnrs.fr/~azimmerm/antoine - 200 OK - it's a document!

GET http://liris.cnrs.fr/~azimmerm/antoine#me - 200 OK - it's a document!

GET http://liris.cnrs.fr/~azimmerm/antoine.rdf - 200 OK - it's a document!

So your argument is moot since it is going against your own recommendation.

I think that Ian's example with the Toucan is exactly the same as using 
hash URIs, that is, you have a different URI than the actual file URL 
for the thing but both the document's URL and the thing's URI are 
serving the same content.


So, since Ian's idea is as much (or as little) deviant compared to 
httpRange-14, there are 2 solutions: everybody sticks strictly to 303, 
or we open up the options to 303 OR Hash-URIs OR Ian's solution. 
Additionally, having a supplementary code like David Wood suggests may 
help too.



Regards,
--
Antoine Zimmermann
Researcher at:
Laboratoire d'InfoRmatique en Image et Systèmes d'information
Database Group
7 Avenue Jean Capelle
69621 Villeurbanne Cedex
France
Lecturer at:
Institut National des Sciences Appliquées de Lyon
20 Avenue Albert Einstein
69621 Villeurbanne Cedex
France
antoine.zimmerm...@insa-lyon.fr
http://zimmer.aprilfoolsreview.com/



Re: Is 303 really necessary - demo

2010-11-05 Thread Nathan

Antoine Zimmermann wrote:

Le 05/11/2010 16:42, Nathan a écrit :

[skip]

Sadly your proposed 210 still has it, the true problem isn't a status
code thing, it's an if I can GET it, it's a document, hence the
earlier outlined problems with 303 as it stands, still the same problem.


So, you are against hash URIs? Because if you can GET a hashless URI 
with 200 OK, then put a hash behind it and you can GET the resulting URI 
with a 200 OK too.


According to httpRange-14, if the HTTP response code for a given URI is 
2xx, then the URI denotes an information resource. Quote:



   a) If an http resource responds to a GET request with a
  2xx response, then the resource identified by that URI
  is an information resource;


GET http://liris.cnrs.fr/~azimmerm/antoine - 200 OK - it's a document!

GET http://liris.cnrs.fr/~azimmerm/antoine#me - 200 OK - it's a document!

GET http://liris.cnrs.fr/~azimmerm/antoine.rdf - 200 OK - it's a 
document!


So your argument is moot since it is going against your own recommendation.


Did you check the HTTP request? #frag isn't included, it's chopped off 
before sending, those three requests resulted in the following 3 URIs 
being requested:


http://liris.cnrs.fr/~azimmerm/antoine
http://liris.cnrs.fr/~azimmerm/antoine
http://liris.cnrs.fr/~azimmerm/antoine.rdf

no frags, un-mooted.

Best,

Nathan



Re: Is 303 really necessary - demo

2010-11-05 Thread Antoine Zimmermann

Le 05/11/2010 14:57, Giovanni Tummarello a écrit :

I might be wrong but I dont like it much . Sindice would index it as 2
documents.

http://iandavis.com/2010/303/toucan
http://iandavis.com/2010/303/toucan.rdf

i *really* would NOT want to different URLs resolving to the same thing


Hmm, why not?
This happens all the time: usually, all terms from a single ontology 
resolve to the same document. Other examples:


http://g1o.net/
http://g1o.net/index.html

resolve to the same thing,

http://rdfs.org/sioc/ns
http://rdfs.org/sioc/ns.rdf

resolve to the same thing,

etc. etc. etc.

I think Sindice is doing well with this, not a problem IMO.
/toucan.rdf should be cached once /toucan is visited first (since the 
HTTP header says /toucan is actually represented in /toucan.rdf).



Cheers,
AZ.




thanks
Giovanni


On Fri, Nov 5, 2010 at 10:43 AM, Ian Davism...@iandavis.com  wrote:

Hi all,

To aid discussion I create a small demo of the idea put forth in my
blog post http://iand.posterous.com/is-303-really-necessary

Here is the URI of a toucan:

http://iandavis.com/2010/303/toucan

Here is the URI of a description of that toucan:

http://iandavis.com/2010/303/toucan.rdf

As you can see both these resources have distinct URIs.

I created a new property http://vocab.org/desc/schema/description to
link the toucan to its description. The schema for that property is
here:

http://vocab.org/desc/schema

(BTW I looked at the powder describedBy property and it's clearly
designed to point to one particular type of description, not a general
RDF one. I also looked at
http://ontologydesignpatterns.org/ont/web/irw.owl and didn't see
anything suitable)

Here is the URI Burner view of the toucan resource and of its
description document:

http://linkeddata.uriburner.com/about/html/http://iandavis.com/2010/303/toucan

http://linkeddata.uriburner.com/about/html/http/iandavis.com/2010/303/toucan.rdf

I'd like to use this demo to focus on the main thrust of my question:
does this break the web  and if so, how?

Cheers,

Ian

P.S. I am not fully caught up on the other thread, so maybe someone
has already produced this demo







--
Antoine Zimmermann
Researcher at:
Laboratoire d'InfoRmatique en Image et Systèmes d'information
Database Group
7 Avenue Jean Capelle
69621 Villeurbanne Cedex
France
Lecturer at:
Institut National des Sciences Appliquées de Lyon
20 Avenue Albert Einstein
69621 Villeurbanne Cedex
France
antoine.zimmerm...@insa-lyon.fr
http://zimmer.aprilfoolsreview.com/



Re: Is 303 really necessary - demo

2010-11-05 Thread Robert Fuller

On 05/11/10 16:50, Ian Davis wrote:

On Fri, Nov 5, 2010 at 4:42 PM, Robert Fullerrobert.ful...@deri.org  wrote:

I submitted both urls to sindice earlier. Both were indexed and have the
same content. In the search results[1] one displays with title A Toucan,
the other with title, A Description of a Toucan.

http://sindice.com/search?q=toucan+domain%3Aiandavis.comqt=term



So SIndice see them as distinct resources and doesn't concern itself
with the lack of a 303 redirect?


Both pages returned http status code of 200 and some content. Sindice 
extracted metadata from the content (using any23), and associated that 
content with the requested url's.


Sindice doesn't expect 303's, but it follows them.

This isn't always a good thing...
http://inspector.sindice.com/inspect?url=http://xmlns.com/foaf/0.1/IanDavis




Ian


--
Robert Fuller
Research Associate
Sindice Team
DERI, Galway
http://sindice.com/



Re: Is 303 really necessary - demo

2010-11-05 Thread Antoine Zimmermann

Le 05/11/2010 18:01, Nathan a écrit :

Antoine Zimmermann wrote:

Le 05/11/2010 16:42, Nathan a écrit :

[skip]

Sadly your proposed 210 still has it, the true problem isn't a status
code thing, it's an if I can GET it, it's a document, hence the
earlier outlined problems with 303 as it stands, still the same problem.


So, you are against hash URIs? Because if you can GET a hashless URI
with 200 OK, then put a hash behind it and you can GET the resulting
URI with a 200 OK too.

According to httpRange-14, if the HTTP response code for a given URI
is 2xx, then the URI denotes an information resource. Quote:


a) If an http resource responds to a GET request with a
2xx response, then the resource identified by that URI
is an information resource;


GET http://liris.cnrs.fr/~azimmerm/antoine - 200 OK - it's a document!

GET http://liris.cnrs.fr/~azimmerm/antoine#me - 200 OK - it's a
document!

GET http://liris.cnrs.fr/~azimmerm/antoine.rdf - 200 OK - it's a
document!

So your argument is moot since it is going against your own
recommendation.


Did you check the HTTP request? #frag isn't included, it's chopped off
before sending, those three requests resulted in the following 3 URIs
being requested:

http://liris.cnrs.fr/~azimmerm/antoine
http://liris.cnrs.fr/~azimmerm/antoine
http://liris.cnrs.fr/~azimmerm/antoine.rdf

no frags, un-mooted.


Ah yes, forgot this small detail :p.
So obviously, a hash URI cannot resolve to 2xx since it cannot resolve 
at all!  But, in the end, isn't it quite the same principle: I use a 
distinct URI that eventually resolves to the same document?




Best,

Nathan




--
Antoine Zimmermann
Researcher at:
Laboratoire d'InfoRmatique en Image et Systèmes d'information
Database Group
7 Avenue Jean Capelle
69621 Villeurbanne Cedex
France
Lecturer at:
Institut National des Sciences Appliquées de Lyon
20 Avenue Albert Einstein
69621 Villeurbanne Cedex
France
antoine.zimmerm...@insa-lyon.fr
http://zimmer.aprilfoolsreview.com/



Re: Is 303 really necessary - demo

2010-11-05 Thread Nathan

Antoine Zimmermann wrote:

Le 05/11/2010 18:01, Nathan a écrit :

Antoine Zimmermann wrote:

Le 05/11/2010 16:42, Nathan a écrit :

[skip]

Sadly your proposed 210 still has it, the true problem isn't a status
code thing, it's an if I can GET it, it's a document, hence the
earlier outlined problems with 303 as it stands, still the same 
problem.


So, you are against hash URIs? Because if you can GET a hashless URI
with 200 OK, then put a hash behind it and you can GET the resulting
URI with a 200 OK too.

According to httpRange-14, if the HTTP response code for a given URI
is 2xx, then the URI denotes an information resource. Quote:


a) If an http resource responds to a GET request with a
2xx response, then the resource identified by that URI
is an information resource;


GET http://liris.cnrs.fr/~azimmerm/antoine - 200 OK - it's a document!

GET http://liris.cnrs.fr/~azimmerm/antoine#me - 200 OK - it's a
document!

GET http://liris.cnrs.fr/~azimmerm/antoine.rdf - 200 OK - it's a
document!

So your argument is moot since it is going against your own
recommendation.


Did you check the HTTP request? #frag isn't included, it's chopped off
before sending, those three requests resulted in the following 3 URIs
being requested:

http://liris.cnrs.fr/~azimmerm/antoine
http://liris.cnrs.fr/~azimmerm/antoine
http://liris.cnrs.fr/~azimmerm/antoine.rdf

no frags, un-mooted.


Ah yes, forgot this small detail :p.
So obviously, a hash URI cannot resolve to 2xx since it cannot resolve 
at all!  But, in the end, isn't it quite the same principle: I use a 
distinct URI that eventually resolves to the same document?


It's the critical difference in all of this:

  http://liris.cnrs.fr/~azimmerm/antoine
  http://liris.cnrs.fr/~azimmerm/antoine.rdf

both can be resolved

  http://liris.cnrs.fr/~azimmerm/antoine#me

cannot be resolved

URI resolution is essentially:

  dereference( uri.toAbsolute() );

Which gives us the simplicity and semantic indirection which we need. 
Use frags, forget HTTP, know that uri#frag is never going to be a 
document (unless you explicitly say it is).


Best,

Nathan