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

Re: JSON-LD should be an RDF syntax

From: David Booth <david@dbooth.org>
Date: Sun, 28 Apr 2013 22:30:42 -0400
Message-ID: <517DDB52.9030907@dbooth.org>
To: Bo Ferri <zazi@smiy.org>
CC: public-rdf-comments@w3.org
On 04/27/2013 05:49 PM, Bo Ferri wrote:
> 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.

AFAICT you are proposing that the term "Linked Data" be co-opted and 
redefined for a different purpose than it was originally intended, as it 
very clearly was -- and has been for several years -- inextricably 
linked to RDF (the Semantic Web).  I would vehemently disagree with any 
proposal to change its meaning in such a fundamental way, as doing so 
would be quite harmful to the Semantic Web community.

If you wish to refer to a different, non-RDF, non-Semantic-Web notion of 
data interconnection, please coin a new term rather than name squatting 
on an established term that is so important to the Semantic Web community.

David Booth

> 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 Monday, 29 April 2013 02:31:15 UTC

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