W3C home > Mailing lists > Public > public-linked-json@w3.org > May 2013

RE: JSON-LD: Please keep @base

From: Markus Lanthaler <markus.lanthaler@gmx.net>
Date: Fri, 3 May 2013 12:09:08 +0200
To: "'Stian Soiland-Reyes'" <soiland-reyes@cs.manchester.ac.uk>
Cc: <public-rdf-comments@w3.org>, "'Linked JSON'" <public-linked-json@w3.org>
Message-ID: <012001ce47e6$41c12430$c5436c90$@lanthaler@gmx.net>
On Friday, May 03, 2013 10:52 AM, Stian Soiland-Reyes wrote:

> To me (with a Python background ;) ), this would feel more natural if
> the scopes worked something like:
> 
> A context can have a @base
> A context can have relative IRI references
> The @base of a context can be relative (to the location of the context)

Would if a context consists of multiple local contexts?

{ "@context": [ localctx, localctx, ref-external-ctx ... ] }

Would the base of the first influence the second one? Would it influence a reference to an external context?


> A context can only see names from the contexts it explicitly imports
> (ie. it can't see names from the previous context)

Not sure I understand what you mean by this. If you import a context, it is the previous context

{ "@context": [ http://ref-external-ctx, localctx ] }


> @base is not inherited from an external context

So not imported at all? What about @vocab? Why should they be treated differently?


> Relative IRI references are resolved "locally" - ie within the external
> context
> --> names imported from an external reference are always absolute

Not sure we agree what locally means in this context :-)


> This would probably also be more familiar to the semantic web world.

So far nothing comparable to an external context exists AFAICT (RDFa doesn't support base changes in its initial contexts).


> But that would be a big jump from the current "Just keep evaluating in
> a single namespace" mechanism; and probably require rewrite of most
> parsers - it would also not allow these kind of tricks:
> http://bit.ly/16tFZql
> 
> {
>   "@context": [
>   {
>     "id": "widget://c13c6f30-ce25-11e0-9572-0800200c9a66/"
>   },
>   {
>     "proxy": "id:.ro/annotations/"
>   }],
>   "proxy": "bananas"
> }

Yeah, if the thing above wouldn't work anymore because the second localctx can't use the currently active context lots of things would break and change the design completely.


Cheers,
Markus 



--
Markus Lanthaler
@markuslanthaler
Received on Friday, 3 May 2013 10:09:42 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:53:21 UTC