W3C home > Mailing lists > Public > public-linked-json@w3.org > October 2011

RE: ISSUE-30 - JSON-LD Telecon Minutes for 2011-10-04

From: Markus Lanthaler <markus.lanthaler@gmx.net>
Date: Wed, 12 Oct 2011 16:34:23 +0200
To: "'Gregg Kellogg'" <gregg@kellogg-assoc.com>
Cc: "'Olivier Grisel'" <olivier.grisel@ensta.org>, "'Linked JSON'" <public-linked-json@w3.org>
Message-ID: <000201cc88ec$0a99e920$1fcdbb60$@lanthaler@gmx.net>
Sorry for the late reply..  I wasn't online for a couple of days.

 
> If the processing rules basically call for substituting a @context IRI
> with the content of the @context block at the referenced document, then
> requiring the processor to re-order the array so that referenced
> contexts are processed before in-line seems un-natural. In reality, I
> think this is an academic concern, and we can state that best practice
> is to process the contexts (remote or local) in the order listed.

That would be acceptable for me even though I don't really like the fact
that remote documents overwrite local settings as this is a source of
hard-to-debug errors (remote documents can change).
Just stating that it is a best practice is not enough though. If we would
like to do it that way, we should specify it to enforce consisting
processing. We also have to mention how recursions are (or should be)
handled.

If we would enforce that remote inclusions have to be listed first (just as
in CSS @import statements) it would be easy to see that rules in the context
itself override rules in the imported contexts. If that imported context was
already loaded we could safely ignore it.


> CSS does not define an order except in most-specific to least specific,
> in-tag or in-document before loaded (AFAIR). JSON does specify an
> order.

That's not true. CSS [1] has quite strict rules:

- In CSS 2.1, any @import rules must precede all other rules

- Cascading order
[...] Sort according to importance and origin [...] Sort rules with the same
importance and origin by specificity of selector [..] Finally, sort by order
specified: if two declarations have the same weight, origin and specificity,
the latter specified wins. Declarations in imported style sheets are
considered to be before any declarations in the style sheet itself.


> In reality, I would expect that there would only be two entries, a
> remote and a local, but test cases could check for multiple remote and
> multiple local with order-dependent definitions.

If we don't specify that limit there will be more.


[1] http://www.w3.org/TR/CSS2/cascade.html


--
Markus Lanthaler
@markuslanthaler
Received on Wednesday, 12 October 2011 14:34:55 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:25:35 GMT