- From: Markus Lanthaler <markus.lanthaler@gmx.net>
- Date: Fri, 24 Jan 2014 21:31:08 +0100
- To: "'Robert Sanderson'" <azaroth42@gmail.com>, "'Linked JSON'" <public-linked-json@w3.org>
Hi Robert,
On Friday, January 24, 2014 9:16 PM, Robert Sanderson wrote:
> Dear all,
>
> A quick question driven by discussions in the Open Annotation
> Community Group.
>
> If two communities decide that they want to use different context
> descriptions for the same basic ontologies, is there a recommended way
> to allow a system to serve both formulations?
>
[...]
>
> The two methods that immediately come to mind are:
>
> 1. Content Negotiation Use a header on the HTTP request to ask for a
> particular context by its full URI. For example: X-JSONLD-Context:
> http://www.openannotation.org/spec/core/context.json
A variation of that would be my preferred approach. JSON-LD's media type [1]
features a profile parameter that you can use for such purposes. Just define
a profile and give it a unique URL identifying it. Then you simply use
HTTP's
Accept: application/ld+json;
profile="http://www.openannotation.org/profile/default"
You should consider registering that profile. There's an IETF Internet Draft
of mine [2] establishing a registry for such profiles. I expect it to become
an RFC shortly.
> 2. URI patterns. Have patterns in the URIs (somehow) that reflect
> which context is desired. This isn't as extensible, but doesn't
> require minting new HTTP headers. For example:
> http://example.org/annotations/defaultContext/annotation1.json vs:
> http://example.org/annotations/otherContext/annotation1.json
I would discourage you to do something like that. It's very brittle and not
without good reason considered an anti pattern.
> Or as a query param with the full URI: http://example.org/annotation
> s/annotation1.json?context=http://www.openannotation.org/spec/core/con
> text.json
A bit better but also difficult to standardize.
HTH,
Markus
[1] http://www.w3.org/TR/json-ld/#iana-considerations
[2] http://tools.ietf.org/html/draft-lanthaler-profile-registry
--
Markus Lanthaler
@markuslanthaler
Received on Friday, 24 January 2014 20:31:40 UTC