- From: Svensson, Lars <L.Svensson@dnb.de>
- Date: Mon, 11 May 2015 15:54:10 +0000
- To: Kingsley Idehen <kidehen@openlinksw.com>, "public-lod@w3.org" <public-lod@w3.org>
Kingsley, On Saturday, May 09, 2015 12:07 AM, Kingsley Idehen wrote: [...] > >> So to repeat my question in another mail: I have an entity described by a >> (generic) URI. > > You have an entity identified by a IRI in RDF. If you are adhering to Linked Open > Data principles, said IRI would take the form of an HTTP URI. > > >> Then I have three groups of documents describing that entity, the first uses >> schema.org, the second group uses org ontology and the third uses foaf. > > You have an entity identified by an HTTP URI. The dual nature of this kind of > URI enables it function as a Name. The fundamental quality (attribute, > property, feature) of a Name is that its interpretable to meaning ie., a Name > also has a dual (denotation and connotation feature) which is what an HTTP URI > is all about, the only different is that denotation->connotation (i.e. name > interpretation) occurs in the hypermedia medium provided by an HTTP network > (e.g. World Wide Web). Net effect, the HTTP URI resolves to and document at a > location on the Web (i.e, a document at a location, which is the URL aspect of > this duality). OK. I have an http URI that denotes an entity. Depending on the server configuration and what accept-headers I provide, the http dereferencing function returns a document at a location. >> All documents are available as RDF/XML, Turtle and xhtml+RDFa. How does a >> client that knows only the generic URI for the resource tell the server that it >> prefers foaf in turtle and what does the server answer? > > It can do stuff like this: > > curl -L -H "Accept: text/xml;q=0.3,text/html;q=1.0,text/turtle;q=0.5,*/*;q=0.3" - > H "Negotiate: *" -I http://dbpedia.org/resource/Analytics OK, I can see how setting the Accept-header negotiates the media type. If I understand correctly, the Negotiate-header gives the server and intermediate proxies a carte blanche to negotiate things any way they prefer. I don't see any header that tells the server what profile/shape/vocabulary the client prefers. > HTTP/1.1 303 See Other > Date: Tue, 05 May 2015 16:01:06 GMT > Content-Type: text/turtle; qs=0.35 > Content-Length: 0 > Connection: keep-alive > Server: Virtuoso/07.20.3213 (Linux) i686-generic-linux-glibc212-64 VDB > TCN: choice > Vary: negotiate,accept > Alternates: {"/data/Analytics.atom" 0.500000 {type application/atom+xml}}, > {"/data/Analytics.jrdf" 0.600000 {type application/rdf+json}}, > {"/data/Analytics.jsod" 0.500000 {type application/odata+json}}, > {"/data/Analytics.json" 0.600000 {type application/json}}, > {"/data/Analytics.jsonld" 0.500000 {type application/ld+json}}, > {"/data/Analytics.n3" 0.800000 {type text/n3}}, {"/data/Analytics.nt" 0.800000 > {type text/rdf+n3}}, {"/data/Analytics.ttl" 0.700000 {type text/turtle}}, > {"/data/Analytics.xml" 0.950000 {type application/rdf+xml}} Given this Alternates-header: how can a client figure out what those representations look like (except for their media type)? > Link: > <http://mementoarchive.lanl.gov/dbpedia/timegate/http://dbpedia.org/resour > ce/Analytics>; rel="timegate" > Location: http://dbpedia.org/data/Analytics.ttl > Expires: Tue, 12 May 2015 16:01:06 GMT > Cache-Control: max-age=604800 Best, Lars
Received on Monday, 11 May 2015 15:54:40 UTC