- From: Gregg Kellogg <gregg@kellogg-assoc.com>
- Date: Fri, 26 Aug 2011 12:50:38 -0400
- To: Alexandre Passant <alex@seevl.net>
- CC: Thomas Steiner <tomac@google.com>, Linked JSON <public-linked-json@w3.org>, Richard Cyganiak <richard@cyganiak.de>
- Message-ID: <C5DBF82F-0877-4C9E-AFAB-DF8D1DFE4E3A@greggkellogg.net>
On Aug 26, 2011, at 6:28 AM, Alexandre Passant wrote:
Hi,
On Fri, Aug 26, 2011 at 1:16 PM, Thomas Steiner <tomac@google.com<mailto:tomac@google.com>> wrote:
Hi all,
This is to get people's opinion on allowing HTTP Link headers [1] as
an _alternative_ means of providing @context to JSON payload.
+1, cf also the ongoing discussion at [1]
http://tools.ietf.org/html/draft-zyp-json-schema-03
We've discussed both Link and Accept/Content HTTP headers as impacting a JSON-LD processor. I think using Link makes sense.
+1
* This is how it _currently_ works (shortened for legibility):
$ curl -i https://www.example.com/test.jsonld
HTTP/1.1 200 OK
Date: Fri, 26 Aug 2011 07:33:56 GMT
Status: 200 OK
ETag: "72054d9a6fbdcc7df012e19f32345b65"
Last-Modified: Fri, 26 Aug 2011 07:33:56 GMT
Content-Type: application/json; charset=utf-8
{
"@context": "http://example.org/json-ld-contexts/person",
"name": "Manu Sporny",
"homepage": "http://manu.sporny.org/",
"avatar": "http://twitter.com/account/profile_image/manusporny"
}
* This is how it could also work _in the future_ (shortened for legibility):
$ curl -i https://www.example.com/test.jsonld
HTTP/1.1 200 OK
Date: Fri, 26 Aug 2011 07:33:56 GMT
Status: 200 OK
ETag: "72054d9a6fbdcc7df012e19f32345b65"
Last-Modified: Fri, 26 Aug 2011 07:33:56 GMT
Content-Type: application/json; charset=utf-8
==> Link: <http://example.org/json-ld-contexts/person>; rel="@context
http://json-ld.org/spec/latest/#the-context" <==
{
"name": "Manu Sporny",
"homepage": "http://manu.sporny.org/",
"avatar": "http://twitter.com/account/profile_image/manusporny"
}
I'd however favor describedby instead of "context" in the header [2]
Agreed, describedby seems appropriate here. Also, note the Mime-types are somewhat different (application/ld+json with optional parameters). Also, I think the Link format is a bit different. The HTTP response might be the following:
HTTP/1.1 200 OK
Date: Fri, 26 Aug 2011 07:33:56 GMT
Status: 200 OK
ETag: "72054d9a6fbdcc7df012e19f32345b65"
Last-Modified: Fri, 26 Aug 2011 07:33:56 GMT
Content-Type: application/ld+json; charset=utf-8
Link: <http://example.org/json-ld-contexts/person>; rel="describedby"; type="application/ld+json;form=context"
{
"name": "Manu Sporny",
"homepage": "http://manu.sporny.org/",
"avatar": "http://twitter.com/account/profile_image/manusporny"
}
The uses the "descdribedby" del to a URI with type "application/ld+json;form=context", indicating context sub-format of JSON-LD, as the format of a context document is a subset of normal JSON-LD.
Alex.
[1] http://lists.w3.org/Archives/Public/public-linked-json/2011Aug/0058.html
[2] http://tools.ietf.org/html/draft-zyp-json-schema-03#section-4
Gregg
Link headers, the mullet of the Web: business in the front, party in
the back. Idea: serve #JSON, make it #jsonLD by a @context Link
header. [2]
Arguments pro:
- might improve adoption (as no payload change for "legacy" JSON)
- saves minimal payload space
- elegant (IMHO)
Arguments contra:
- may be hard for webmasters to add Link headers
- little advantage over direct @context link in payload
- might remain undiscovered by consumers
- might cause confusion for implementers (what @context mechanism to choose)
Best,
Tom
[1] http://tools.ietf.org/html/rfc5988
[2] http://twitter.com/tomayac/status/106304670464606208
--
Thomas Steiner, Research Scientist, Google Inc.
http://blog.tomayac.com, http://twitter.com/tomayac
--
Dr. Alexandre Passant - @terraces
Founder, CEO - seevl.net<http://seevl.net> - @seevl
Reinventing Music Discovery
Received on Friday, 26 August 2011 16:51:41 UTC