- From: <mfhepp@gmail.com>
- Date: Tue, 9 Jun 2015 18:52:50 +0200
- To: Dan Brickley <danbri@google.com>
- Cc: Melvin Carvalho <melvincarvalho@gmail.com>, Gregg Kellogg <gregg@greggkellogg.net>, John Walker <john.walker@semaku.com>, Manu Sporny <msporny@digitalbazaar.com>, "schema.org Mailing List" <public-schemaorg@w3.org>
+1 As suggested: 1. Validators should complain about using the same property multiple times. 2. All examples in schema.org should be checked against this potential bug. 3. Optional: Add a note to respective documentation, e.g. http://blog.schema.org/2013/06/schemaorg-and-json-ld.html https://developers.google.com/schemas/formats/json-ld Martin ----------------------------------- martin hepp http://www.heppnetz.de mhepp@computer.org @mfhepp > On 09 Jun 2015, at 18:27, Dan Brickley <danbri@google.com> wrote: > > On 9 June 2015 at 17:10, Melvin Carvalho <melvincarvalho@gmail.com> wrote: >> >> >> On 9 June 2015 at 16:53, Gregg Kellogg <gregg@greggkellogg.net> wrote: >>> >>>> On Jun 9, 2015, at 7:06 AM, Dan Brickley <danbri@google.com> wrote: >>>> >>>> On 9 June 2015 at 14:36, Melvin Carvalho <melvincarvalho@gmail.com> >>>> wrote: >>>>> >>>>> >>>>> On 9 June 2015 at 15:33, Dan Brickley <danbri@google.com> wrote: >>>>>> >>>>>> On 9 June 2015 at 14:20, Melvin Carvalho <melvincarvalho@gmail.com> >>>>>> wrote: >>>>>>> >>>>>>> >>>>>>> On 9 June 2015 at 14:52, John Walker <john.walker@semaku.com> wrote: >>>>>>>> >>>>>>>> For the record I-JSON forbids duplicate names in an object: >>>>>>>> https://tools.ietf.org/html/rfc7493#section-2.3 >>>>>>> >>>>>>> So how do you do unordered lists. Say a user has two nicknames or >>>>>>> telephone >>>>>>> numbers (strings). This is a fundamental part of linked data, if it >>>>>>> cant >>>>>>> easily be done it's a *massive* interoperability issue. >>>>>> >>>>>> It's an array viewed from JSON, but a repeated property viewed from >>>>>> RDF. >>>>> >>>>> >>>>> Got it, so you'd use @list in JSON LD for an ordered list, and a >>>>> standard >>>>> array for unordered. >>>>> >>>>> But is can I-JSON do the same thing? >>>> >>>> Yup, https://www.tbray.org/ongoing/When/201x/2015/03/23/i-json >>>> "I-JSON is just a note saying that if you construct a chunk of JSON >>>> and avoid the interop failures described in RFC 7159, you can call >>>> it an “I-JSON Message”.” >>> >>> Depends on what you mean by “do the same thing”; JSON does not have an >>> unordered collection type, just an array. However, it is a syntax only. Most >>> implementations will take this to be an ordered array of elements, and allow >>> duplicates. JSON-LD explicitly treats these as being unordered, unless the >>> context or an explicit @list indicates otherwise, but that’s due to the >>> underlying data-model being RDF, where values are inherently unordered. Note >>> that element contents in Microdata, RDFa and RDF/XML have a document order, >>> but result in the same unordered set of values when converted to RDF. >> >> >> Very interesting, thanks for the clarification. >> >> Unordered items are not specific to RDF, or linked data, but rather, a >> fundamental part of the web. The web being a giant graph of links, and >> thereby having a very special architecture, and well proven results on >> scalability etc. >> >> This issue seems to be a common case where unordered lists are neglected in >> the design phase. Another IETF serialization that does not have unordered >> lists is JRD. In fact, not only are arrays of links ordered, but lists >> must be ordered in terms of 'preference', which is not always known or well >> defined. >> >> Clearly the relationship with JSON and ECMA Script would make repeating keys >> in the data structure problematic for programmers, as keys are generally >> considered unique. It's good that unordered lists can be represented in >> JSON LD another (and quite intuitive) way. >> >> This seems to be a major deficiency of some JSON serializations in the wild, >> but fixed in JSON LD. It can be well argued that raw JSON is *not* a very >> well aligned language for the web, and should be used in limited examples of >> API data interchange. >> >> I think there is an argument that the IETF would benefite from thinking more >> carefully, going forward, about openstand principles such as >> interoperability, when looking at the ordering of lists in proposed RFC >> serializations. >> >> It's great that JSON LD provides the best of both worlds. > > > And on that note, I suggest we've met the goals of this thread. Rather > than give in to the temptation to debate JSON vs the Web Architecture, > ... can we identify and track any actions that will help improve > schema.org implementations (publishers or consumers)? Perhaps there's > a great JSON-LD tutorial we should link to that explains these issues? > > Dan
Received on Tuesday, 9 June 2015 16:53:21 UTC