- From: Nicolas Chauvat <nicolas.chauvat@logilab.fr>
- Date: Wed, 8 Jun 2011 12:30:33 +0200
- To: semantic-web@w3.org
- Cc: adim@logilab.fr
Hi, We are working on publishing as html and rdf a large catalog from a public library. I am writing here in the hope that someone will want to provide feedback on the way we organized urls and content negotiation. I did not cc pedantic-web since the catalog is not online yet and I understood pedantic-web focuses on fixing things rather than designing them. 0/ definitions ---------------- <data> is an alias for http://data.thelibrary.com/ <id> is a unique id for the person, organization or work: the thing that used to be a paper card in the catalog before libraries used computers. 1/ uris ------- For non-informational ressources: <data>/<id>#foaf:Person identifies a person <data>/<id>#foaf:Organization identifies an organization <data>/<id>#frbr:Work identifies a work <data>/<id>#skos:Concept identifies the concept associated to the work, person or organisation that has id <id>. There is a Concept for each Person, Organization and Work. For informational resources: <data>/<id>/readable_name is a document describing <id> Examples could be: http://data.thelibrary.com/1234#foaf:Person http://data.thelibrary.com/1234/victor_hugo 2/ redirection and content-negotiation -------------------------------------- <data>/1234 redirects via HTTP 303 to <data>/1234/readable_name <data>/1234/readable_name redirects via HTTP 301 to <data>/1234/readable_name/ <data>/1234/readable_name/ returns a document with HTTP 200. The exact document that is returned depends on the outcome of the content-negotiation. In the HTTP response, the content-location is set to something like <data>/<id>/readable_name/<lang>.<extension-mime> Examples of actual content-locations would be: <data>/1234/victor_hugo/fr.html <data>/1234/victor_hugo/en.html <data>/1234/victor_hugo/rdf.xml <data>/1234/victor_hugo/rdf.n3 <data>/1234/victor_hugo/fr.pdf <data>/1234/victor_hugo/en.pdf When an agent asks for some urls that are plausible but do not exist, a HTTP 303 redirect is sent to make life easier on users, disregarding the content-negotiation mechanism. a GET on is Redirected via 303 to <data>/1234/victor_hugo.html <data>/1234/victor_hugo/fr.html <data>/1234/victor_hugo.rdf <data>/1234/victor_hugo/rdf.xml <data>/1234/victor_hugo.n3 <data>/1234/victor_hugo/rdf.n3 <data>/1234/victor_hugo.pdf <data>/1234/victor_hugo/fr.pdf The fallback rule is of course HTTP 404 Not Found. That includes: <data>/1234/vicktor_ugo <data>/1234/victor_hugo.txt <data>/1234/victor_hugo/txt etc. Any feedback will be welcome. Thank you in advance. -- Nicolas Chauvat logilab.fr - services en informatique scientifique et gestion de connaissances
Received on Wednesday, 8 June 2011 10:31:02 UTC