W3C home > Mailing lists > Public > public-rdf-comments@w3.org > April 2013

Re: JSON-LD should be an RDF syntax

From: Bo Ferri <zazi@smiy.org>
Date: Sat, 27 Apr 2013 23:49:56 +0200
Message-ID: <517C4804.3060507@smiy.org>
To: public-rdf-comments@w3.org
Hi all,

On 4/24/2013 8:33 PM, David Wood wrote:
> Hi David,
>
> Just so you hear another viewpoint on this topic, I consider any reference to Linked Data to be an (indirect) reference to RDF.  Linked Data explicitly uses the RDF data model.

I object to this a bit and I think other people out there as well ... ;)

see also "A generalisation of the Linked Data publishing guideline" [1]. 
so the Linked Data definition in the JSON-LD spec is just fine.

Cheers,


Bo


[1] 
http://smiy.org/2011/02/17/a-generalisation-of-the-linked-data-publishing-guideline/

>
> (chair hat "off")
>
> Regards,
> Dave
> --
> http://about.me/david_wood
>
>
>
> On Apr 24, 2013, at 10:52, David Booth <david@dbooth.org> wrote:
>
>> Hi Manu,
>>
>> Thanks for your remarks.  I don't agree with all of them, and just for completeness I'll note in-line below which ones and why, but rather than focus on those details I think it would be better to discuss this at a higher level, because you brought up a very interest point about potentially skolemizing blank nodes, and I think that raises the possibility of a different path for addressing the issue that JSON-LD should be an RDF syntax.
>>
>> To my mind, the central problem that needs to be addressed is that, at present, the draft of JSON-LD
>> http://dvcs.w3.org/hg/json-ld/raw-file/default/spec/latest/json-ld/index.html
>> reads as an attempt to divorce Linked Data (and JSON-LD) from RDF.  This is evidenced in several places throughout the document.  For example, the definition of Linked Data in the introduction fails to mention RDF at all:
>> [[
>> Linked Data is a technique for creating a network of inter-connected data across different documents and Web sites. In general, Linked Data has four properties: 1) it uses IRIs to name things; 2) it uses HTTP IRIs for those names; 3) the name IRIs, when dereferenced, provide more information about the thing; and 4) the data expresses links to data on other Web sites.
>> ]]
>>
>> I suggest fixing that omission by inserting the words "based on RDF" into the first sentence, to read: "Linked Data is a technique, based on RDF, for creating a network of inter-connected data across different documents and Web sites."
>>
>> The same sentiment of divorcing JSON-LD from RDF is evidenced in other places in the document as well, such as in phrases like "converted to RDF", and in the definition of a JSON-LD data model that is completely separate from the standard RDF data model, complete with parallel terms such a "blank node" and "blank node identifier".  Left as is, the world would have parallel and competing standards for Linked Data: those based on JSON-LD and its data model, blank nodes, etc., and those based on RDF and its data model, blank nodes, etc., because JSON-LD is *not* RDF.
>>
>> One might claim that JSON-LD *can* be used as a serialization of RDF, and therefore JSON-LD *is* already based on RDF.  But that argument does not hold water, because that same claim can be made of *any* language!  *Any* language can be viewed as a serialization of RDF, given an appropriate mapping.  Indeed, the whole purpose of GRDDL was to enable such mappings to be easily defined from XML and HTML.  Many people have defined mappings from CSV to RDF, and from many other things to RDF.  We do not need a JSON syntax that *can* be mapped to RDF.  We need a JSON syntax that *is* a standard serialization of RDF, based on the RDF data model and RDF semantics -- not a parallel (but subtly different) data model, terminology and semantics.   JSON-LD at present defines a parallel universe that looks confusingly similar to RDF -- even co-opting terms such as "blank node".
>>
>> I am sympathetic to -- and fully support -- the goal of making JSON-LD easy for people to use, **without knowing anything more about RDF than what they learn about JSON-LD,**.  But I also think it is critical that JSON-LD still be normatively based on RDF and grounded in the RDF data model and semantics.  And I think it is also pretty clear in the charter
>> http://www.w3.org/2012/ldp/charter
>> that the work of the group was intended to be **based on RDF** -- not "inspired by RDF" or "similar to RDF" or "addressing the same goals as RDF".   In other words, the LD working group should define a JSON-based "RDF serialization syntax", as the charter calls it.
>>
>> Can the group achieve both of these aims?  I think so.  And I think one way to achieve it would be to define a normative mapping between the JSON syntax and the RDF abstract syntax, by using skolemization in places where prohibited blank nodes would otherwise appear, such as in the predicate position of an RDF triple.
>>
>> Specific suggestions:
>>
>> 1. Insert "based on RDF" to the definition of Linked Data, as explained above.
>>
>> 2. Define a *normative* bi-directional mapping of a JSON profile to and from the RDF abstract syntax, so that the JSON profile *is* a serialization of RDF, and is fully grounded in the RDF data model and semantics.
>>
>> 3. Use skolemized URIs in the normative mapping to prevent mapping JSON syntax to illegal RDF.
>>
>> 4. Make editorial changes to avoid implying that JSON-LD is not RDF. For example, change "Convert to RDF" to "Convert to Turtle" or perhaps "Convert to RDF Abstract Syntax".
>>
>> 5. Define normative names for, and clearly differentiate between, the JSON serialization of RDF and JSON-LD, such that JSON-LD *is* a JSON serialization of RDF, with additional constraints for Linked Data (such as URIs use "http:" prefix, etc.).  They do not necessarily have to be defined in two separate documents.  They could be defined in a single document called "JSON-RDF and JSON-LD", for example.  People that use the JSON RDF serialization for purposes other than Linked Data need to be able to easily and clearly talk about that serialization *without* wrongly implying adherence to the additional Linked Data requirements imposed by JSON-LD, and *without* having to explain that those requirements can be ignored in this case.
>>
>> If there is one thing we all should have learned from the Semantic Web, it is the value of assigning an unambiguous name to every important concept.  A JSON serialization of RDF is a *very* important concept and deserves its own unambiguous name, distinct from JSON-LD.
>>
>> BTW, regarding the name "JSON-RDF", when I first read your response at
>> http://lists.w3.org/Archives/Public/public-rdf-comments/2013Mar/0036.html
>> saying "We couldn't use JSON-RDF because a variation on the name was already taken", I assumed you meant that RDF/JSON was a defunct proposal, and I was going to suggest that if it is defunct, then there would be little harm in noting it as defunct, and using the term "JSON-RDF".  But when I view the RDF/JSON document now at
>> https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-json/index.html#
>> I see it is dated "24 April 2013" and it says that is is a product of the RDF working group.  So what's going on?  Why is the W3C standardizing *two* potential JSON serializations of RDF?  How are they related or different?  If this is a W3C activity then these activities should be coordinated, *one* should be picked -- that's what standards are for -- and the name JSON-RDF can be used for that one.
>>
>> 6. Some small editorial fixes:
>>
>> "Since JSON-LD is 100% compatible with JSON" would be better phrased as "Since JSON-LD is a restricted form of JSON", because saying that JSON-LD is compatible with JSON wrongly suggests that JSON-LD is *not* JSON, when in fact it is.
>>
>> s/secrete agents/secret agents/
>>
>> Thanks,
>> David Booth
Received on Saturday, 27 April 2013 21:50:35 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:59:32 UTC