- From: David I. Lehn <dil@lehn.org>
- Date: Thu, 29 Sep 2011 14:55:41 -0400
- To: Markus Lanthaler <markus.lanthaler@gmx.net>
- Cc: public-linked-json@w3.org, Gregg Kellogg <gregg@kellogg-assoc.com>
On Thu, Sep 29, 2011 at 5:01 AM, Markus Lanthaler <markus.lanthaler@gmx.net> wrote: > ... > I think that's quite a nice approach.. I see only one issue with it. People > could start doing something like: > > { > "@context": [ > "/api/context.json", > { "xy": "..a..", "@language": "en" }, > { "xy": "..b..", "@language": "de" } > ], > "@subject": ... > } > > As we generally say that arrays are unordered in JSON-LD we have no way to > resolve this conflict. Saying that in this case the order of the elements > matters wouldn't be a very elegant solution. > Treating arrays as unordered is for the data, but meta-data like @context is a bit different. I think it's fine, and perhaps required, to have @context be ordered so you can control processing and allow overriding of rules. Your example above will work fine, it just does some extra processing work. I don't think we need to add complexity to avoid that just as most programming languages don't go out of their way to avoid you from assigning values to a variable twice (ex: x = 1; x = 2). > ... > We might even generalize Niklas' approach and say that @import can be used > to import both context and instance documents. Then we could have something > like > > > { > "@import": "my-big-context.jsonld", > "@context": { "@language": "en" }, > "name": "Markus Lanthaler", > "knows": [ > { "name": Gregg Kellog", "@import": "/details/gregg.jsonld" } > } > } > I seem to recall tossing around some ideas about general inclusion mechanisms a long time ago. Something to keep in mind but we'd have to deal with @import and @context ordering and precedence issues and probably other details. What are the use cases of this that are not solved with just loading two docs at the application level? -dave
Received on Thursday, 29 September 2011 18:56:10 UTC