W3C home > Mailing lists > Public > public-schemaorg@w3.org > June 2015

Re: JSON-LD and multiple values

From: Melvin Carvalho <melvincarvalho@gmail.com>
Date: Tue, 9 Jun 2015 15:20:25 +0200
Message-ID: <CAKaEYh+741+dadSi0g6=zZpbz4q0z248UbeWn3FFr1GRWTES7A@mail.gmail.com>
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>
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

This archive was generated by hypermail 2.3.1 : Tuesday, 9 June 2015 13:20:54 UTC