- From: Nathan <nathan@webr3.org>
- Date: Thu, 24 Mar 2011 13:38:25 +0000
- To: Peter Frederick Patel-Schneider <pfps@research.bell-labs.com>
- CC: public-rdf-wg@w3.org
Hi Peter, and anybody else finding confusion around JSON,
Please do familiarise yourself with section 15.12 of the ECMAScript-262
[1] specification which covers JSON, it's relations to the rest of
ECMAScript-262 (the thing most people mean when they say "javascript")
including terms like "key" and "value" and also the parsing and
stringification rules:
[1]
http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf
Best & Hope that helps,
Nathan
Peter Frederick Patel-Schneider wrote:
> From: Nathan <nathan@webr3.org>
> Subject: Re: [JSON] Tiny Proposal
> Date: Wed, 23 Mar 2011 15:26:23 -0500
>
>> cc-RDF WG
>>
>> Peter Frederick Patel-Schneider wrote:
>>> From: Nathan <nathan@webr3.org>
>>> Subject: Re: [JSON] Tiny Proposal
>>> Date: Wed, 23 Mar 2011 14:38:31 -0500
>>>
>>>> Peter Frederick Patel-Schneider wrote:
>>>>> From: Nathan <nathan@webr3.org>
>>>>> Subject: [JSON] Tiny Proposal
>>>>> Date: Wed, 23 Mar 2011 13:14:00 -0500
>>>>>
>>>>>> Hi All,
>>>>>>
>>>>>> Here's a tiny proposal:
>>>>>>
>>>>>> 1: Constrain JSON [1] to be an (optionally nested) sequence of one or
>>>>>> more objects (where one, no enclosing [] is needed).
>>>>> Do you mean here that no arrays are allowed at all? Why? Can't arrays
>>>>> turn into lists?
>>>> Yes arrays are allowed, as for lists how would one distinguish between
>>>> multiple values and a list?
>>>>
>>>> x y "a", "b", "c" .
>>>> x y ( "a" "b" "c" ) .
>>>>
>>>> would both be
>>>> {
>>>> "@id": "x",
>>>> "y": ["a","b","c"]
>>>> }
>>> No! This would be the second. The first would be
>>>
>>> {
>>> "@id": "x",
>>> "y": "a",
>>> "y": "b",
>>> "y": "c"
>>> }
>> Sadly that's valid JSON, but can't be parsed,
>
> Huh? If it is valid JSON then certainly it must be parsed!
>
>> as it would parse to:
>>
>> {
>> "@id": "x",
>> "y": "c"
>> }
>
> I don't understand how some input can "parse" to some other input.
>
>> Overriding the previous two values, each object can only have one unique
>> key.
>
> Umm, where is this behaviour specified?
>
> [...]
>
>>>>>> 2: constrain object keys [I think that you mean names here] to be strings with no white space
>>>>> Why? IRIs should be able to handle (escaped) white space so I don't see
>>>>> what the problem is.
>>>> Specifically I'm referring to the "string" in
>>>> pair
>>>> string : value
>>>>
>>>> from the JSON spec, less formerly this would be the "key" in the below:
>>>> {
>>>> "key": "value"
>>>> }
>>> Where is this from? I don't see "key" anywhere important in JSON.
>> The "string" in the above pair ( string : value ) is commonly referred
>> to socially as the "key" in a "key"/"value" pair, also property,
>> attribute and so forth.
>
> I would really like a document that puts all this down. Otherwise how
> can the WG determine what should be done with respect to JSON?
>
>>>> JSON allows whitespace in the keys:
>>>> {
>>>> "key foo bar": "value"
>>>> }
>>> Sure, but isn't this just
>>>
>>> [ <...key%20foo%20bar> "value" ]
>> well we haven't defined if it is or is not :) we could also treat it as
>> syntax sugar for multiple space separated keys, as with relLists in HTML
>> rel="key foo bar".
>
> Is this actually allowed in JSON? If so, where is it stated?
>
> [...]
>
>>>>>> 5: add recognition for a special "@vocab" property who's value is an IRI
>>>>>> (when present, each key [name?] in that object is concatenated to the @vocabs
>>>>>> value to form the IRI of the property)
>>>>> What @vocabs value? Is @vocabs something special for JSON?
>>>> @vocab singular sorry, special to this proposed data/media type.
>>>>
>>>>> Perhaps you mean that "@vocab" is something like a local base URL.
>>>> like @vocab in RDFa:
>>>> http://www.w3.org/2010/02/rdfa/sources/rdfa-core/#A-vocab
>>>>
>>>>> What about namespaces?
>>>> no namespace support proposed.
>>> Hmm. Why not?
>> In all honesty, to preserve the beloved . notation in JSON.parse'd
>> output, and because certain would be adopters (like the browser vendors
>> and HTML5 WG) have a /real/ problem with the indirection, spanning way
>> back to the HTML5/XHTML2.0 split and general hatred of @xmlns. Sigh, the
>> issues run deep throughout the communities.
>
> What . notation? I haven't seen any JSON document that talks about it at all.
>
>> An alternative is:
>>
>> http://www.w3.org/2011/rdf-wg/wiki/JSON_Syntax_Options#TERMs_.28with_colon_allowed.29
>
>
>
>>>>> What about the special properties? Are these expanded this way? (They
>>>>> can't be, of course.) But then, why not just do something like have
>>>>> prefixes and then rdf:type can be treated just like any other property?
>>>> This was a specific trade-off, see:
>>>>
>>>> http://www.w3.org/2011/rdf-wg/wiki/JSON_Syntax_Options#TERMs_.2B_Single_Vocab
>>> What other limitations are there in this proposal? I think that it
>>> would be a good idea to list them all.
>> will do, if there's any point that is!
>
> Well, they need to be laid out sometime (and soon, I think). Otherwise
> how can the WG decide whether the proposal is worthwhile?
>
>> cheers,
>>
>> Nathan
>
> peter
>
>
>
Received on Thursday, 24 March 2011 13:39:31 UTC