- From: Dan Brickley <danbri@google.com>
- Date: Tue, 9 Jun 2015 12:29:03 +0100
- To: "mfhepp@gmail.com" <mfhepp@gmail.com>
- Cc: Melvin Carvalho <melvincarvalho@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 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 11:29:32 UTC