JSON-LD Context URI

Dear all,

A slight hiccup... the location that we specified in the most recent
version of the spec for the default JSON-LD context document isn't
actually available to use.  The W3C uses the /ns/ directory
exclusively for namespace documents, and the context document doesn't
count.  W3C doesn't have a /contexts/ yet (and may never have one), we
don't have a /TR/ space as a community group, so we'd be back to
putting it in openannotation.org.  This is undesirable for when we
move further into the standards process, of course.

We could have a PURL redirect and swap it from one to the other, but
then we would lose the versioning information and just adds an
additional hop for processors to follow.

We're discussing the issue on the JSON-LD list, please feel free to
join in if it's of interest to you, but one interesting proposal is as
below.
The original thread is here:
http://lists.w3.org/Archives/Public/public-linked-json/2013Feb/0152.html

-----
> As the W3C (thank you Ivan) lets us
> publish our namespace documents, we figured that they'd also let us
> publish the JSON-LD context file, but they don't have anything in
> place for doing that yet.

I didn't know that. If that's the case, why don't combine your namespace
document with your external context? The external context would end up being
slightly bigger, but that shouldn't really matter. That even has the
advantage that your namespace document is available as JSON-LD and there
won't be an additional round-trip to fetch its definitions.

So, what I mean is this. You upload a JSON-LD document describing your
vocabulary. In that document you also include an @context element at the
top-level JSON object. You can even use that local context when describing
your vocab.

{
  "@context": {
    ...
  },
  ... your vocabulary ...
}

When retrieving an external context, a JSON-LD will ignore everything but
the context. Et voila, everything works as expected. You have your context
at a stable location and even reduced the number of necessary roundtrips if
you need, e.g., the labels for some properties.
-----


This seems extremely attractive to me, at least.  We wouldn't have to
maintain two separate files (ontology in JSON-LD and context would be
the same document) and processors would still do the right thing.

Rob

Received on Tuesday, 26 February 2013 22:42:47 UTC