- From: Dave Longley <dlongley@digitalbazaar.com>
- Date: Thu, 13 Jun 2013 11:48:58 -0400
- To: "Sven R. Kunze" <sven.kunze@informatik.tu-chemnitz.de>
- CC: Markus Lanthaler <markus.lanthaler@gmx.net>, 'public-rdf-comments' <public-rdf-comments@w3.org>
On 06/13/2013 11:04 AM, Sven R. Kunze wrote: > And to repeat myself. JSON-LD data is just a string. JSON-LD data should not be thought of as "just" a string. Working with JSON is not the same as working with Turtle. This statement and the ones below seem to a cause of misunderstanding. I don't know if it arises from a general unfamiliarity with JSON or not, but I'll explain below. On 06/12/2013 05:54 AM, Sven R. Kunze wrote: > > Well, if JSON-LD is a concrete syntax of RDF then people indeed will > wish to work with it on the abstract RDF level. They need tools than > can parse the JSON-LD and "transform it into a usable programmable > API" just using the abstract interface. > > As I mentioned earlier, the big advantage of RDF is the separation of > abstract and concrete syntax. Nobody actually wants to take care of > the concrete syntax. There is a graph and I can query it and change at > will via an abstract interface like SPARQL or rdflib interface. While RDF people will certainly be interested in tools that can "transform [JSON-LD] into a usable programmable API", your assertion that "nobody" wants to take care of the concrete syntax, they just want to use tools that provide them with an API to query the graph is inaccurate. I take this statement to mean that you think *no one* really cares how the serialization (or its structure) looks -- they just want to parse it and get it into something they can query with an API. If that's what you mean, then you're missing the purpose underlying perhaps the most important design goal of JSON-LD: to make sure it can function just like idiomatic JSON. That "nobody" you speak of is actually a huge swath of web developers; if you're unaware of that, then it explains much of the confusion. I understand that you're arguing that RDF is all about an abstract syntax ... so the concrete syntax shouldn't matter. The concrete syntax matters to JSON developers -- and we're trying to bring the power of RDF to them. In other words, for web developers, JSON (or JSON-LD) documents are essentially themselves *already* "usable, programmable APIs," without any API cruft or extra tools. Languages with native JSON parsers make it possible to work with JSON documents with the same natural syntax that is used to manipulate any other objects or arrays in memory. In more concrete terms: // create an object directly from JSON in JavaScript var object = {"foo": "bar"}; console.log(object.foo); // access and print the foo property's value object.foo = 'a'; // set the foo property's value # create an object directly from JSON in Python object = {"foo": "bar"} print object.foo // access and print the foo property's value object["foo"] = 'a'; // set the foo property's value Working with JSON is different from working with other serializations because the extra layers of parsers and APIs that are required ... *are not*. You just don't need them if you want to do something simple. The strength of JSON-LD is that you can indicate which parts of a JSON document can be interpreted as Linked Data/RDF. That means that you can use JSON-LD as JSON *or* you can employ RDF tools to use it as RDF. This gives us the best of both worlds; it allows people who were previously locked out of the Linked Data/RDF world to join it at their own pace. -- Dave Longley CTO Digital Bazaar, Inc.
Received on Thursday, 13 June 2013 15:49:26 UTC