- From: Melvin Carvalho <melvincarvalho@gmail.com>
- Date: Tue, 9 Jun 2015 15:20:25 +0200
- To: John Walker <john.walker@semaku.com>
- Cc: Dan Brickley <danbri@google.com>, "mfhepp@gmail.com" <mfhepp@gmail.com>, Gregg Kellogg <gregg@greggkellogg.net>, Manu Sporny <msporny@digitalbazaar.com>, "schema.org Mailing List" <public-schemaorg@w3.org>
- Message-ID: <CAKaEYh+741+dadSi0g6=zZpbz4q0z248UbeWn3FFr1GRWTES7A@mail.gmail.com>
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. > > I had the idea that a conformant JSON-LD serialisation is, per definition, > also conformant to I-JSON. > > Regards, > John > > On 9 Jun 2015, at 13:29, Dan Brickley <danbri@google.com> wrote: > > > On 9 June 2015 at 10:35, mfhepp@gmail.com <mfhepp@gmail.com> wrote: > >> Melvin: > >> I might not have made my point clear: This is not a problem of not > being able to represent an RDF structure in JSON-LD, but that > >> > >> 1. the correct pattern in JSON-LD (list/array) is different from the > pattern in Turtle, RDFa, RDF/XML etc. (repetition of the same property) and > >> 2. that naively using the pattern from the other syntaxes fails > *silently* in JSON-LD (just the last value is recognized). > > > > This is broadly analogous to the rule in RDF/XML (inherited from XML > > and HTML) that multiple attributes of the same name can't exist. In > > RDF/XML that's why we also encoded properties via sub-elements, and > > the rule was well known. In JSON, well > > https://www.tbray.org/ongoing/When/201x/2013/02/21/JSON-Lesson ... > > expresses the situation nicely. > > > > (http://linter.structured-data.org/ doesn't seem to complain btw) > > > > Hopefully we don't have any of these in schema.org's examples. If any > > have slipped through, please file a bug - > > http://github.com/schemaorg/schemaorg/issues ... I haven't found a > > convenient way of checking automatically yet. > > > > Dan > > > >> Try my two examples in the Google Structured Data Testing tool and you > will see the difference. > >> > >> Martin > >> > >> ----------------------------------- > >> martin hepp http://www.heppnetz.de > >> mhepp@computer.org @mfhepp > >> > >> > >> > >> > >> > >> > >> > >>> On 09 Jun 2015, at 11:23, Melvin Carvalho <melvincarvalho@gmail.com> > wrote: > >>> > >>> > >>> > >>> On 9 June 2015 at 10:59, mfhepp@gmail.com <mfhepp@gmail.com> wrote: > >>> Dear Gregg, > >>> dear Manu: > >>> > >>> I think there is a need for clarifying the proper use of multiple > values for the same property in JSON-LD because if I understand it > properly, the behavior differs from any other RDF syntax and Microdata (see > [1]), as you CANNOT simply repeat a property with different values, as in > any other RDF syntax, like so > >>> > >>> I thought all RDF can be converted to JSON LD? > >>> > >>> JSON-LD is capable of serializing any RDF graph or dataset and most, > but not all, JSON-LD documents can be directly interpreted as RDF as > described in RDF 1.1 Concepts [RDF11-CONCEPTS]. > >>> > >>> http://www.w3.org/TR/json-ld/#relationship-to-rdf > >>> > >>> > >>> > >>> <script type="application/ld+json"> > >>> { > >>> "@context": "http://schema.org", > >>> "@type": "Offer", > >>> "businessFunction" : "http://purl.org/goodrelations/v1#Repair", > >>> "businessFunction" : "http://purl.org/goodrelations/v1#Sell" > >>> > >>> } > >>> </script> > >>> > >>> but instead must use a LIST of values, like so: > >>> > >>> > >>> <script type="application/ld+json"> > >>> { > >>> "@context": "http://schema.org", > >>> "@type": "Offer", > >>> "businessFunction": ["http://purl.org/goodrelations/v1#Repair", " > http://purl.org/goodrelations/v1#Sell" ] > >>> > >>> } > >>> </script> > >>> > >>> The Google Structured Data Testing Tool shows only the value for the > last use of the same property name, but in complex data structures, this > will be easy to overlook. > >>> > >>> We should highlight this prominently (and review all of our examples > in schema.org), because otherwise people will have a hard time > understanding why only part of their data is understood. > >>> > >>> In particular, product feature markup with many usages of > "additionalProperty" will be prone to this. > >>> > >>> Best > >>> > >>> Martin > >>> > >>> [1] > http://webmasters.stackexchange.com/questions/81080/using-productontology-org-to-add-multiple-types/81081#81081 > >>> > >>> > >>> ----------------------------------- > >>> martin hepp http://www.heppnetz.de > >>> mhepp@computer.org @mfhepp > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >> > > >
Received on Tuesday, 9 June 2015 13:20:54 UTC