RE: Official response to RDF-ISSUE-132: JSON-LD/RDF Alignment

Hi Sven,

thanks for your mail.

On Saturday, June 08, 2013 5:13 PM, Sven R. Kunze wrote:
> Hi,
> maybe, the perspective of a potential user helps:

It always helps to hear more opinions.

> First, I thought, hmmm, what's this all about, yet another
> serialization for RDF? Something even better?
> To be honest, I didn't spent to much time on the intro as they are
> always quite superficial; especiall when it comes to buzz words like
> Linked Data.


> I read the syntax part and thought, okay, yet another serialization
> for RDF, quite verbose with all this JSON []s and {}s, acceptable for
> Web clients as they already have JSON parsers. But no mentioning of
> RDF so far.

Well, that part is describing the syntax :-P

> BUT the "JSON-LD data model" has been mentioned. Whoooops, now, I was
> confused because RDF is a data model.
> So, I read part "data model" and the part "relationship JSON-LD to RDF"
> Again, I became more and more confused.

So the following sentence wasn't clear enough?

   The RDF data model, as outlined in [RDF11-CONCEPTS], is an abstract
   syntax for representing a directed graph of information. It is a
   subset of JSON-LD's data model with a few additional constraints.
   The differences between the two data models are: ...

> My preliminary conclusion: <<<It's just the same as we can do the same
> with both.>>>
> Correct me if I am wrong but having "native literals" does not make
> any difference as most RDF tools and JSON-LD tools will give me a
> variable filled with a datatype specific to the programming language I
> use.

Well, you might not care, but other people care :-P JSON-LD has e.g. native numbers and (probably more interesting) lists. In RDF everything is a opaque string that can only be interpreted, i.e., converted to a number in your programming language, if you understand the data type. So to speak, JSON-LD has a built-in data type for numbers.

> I really do not care of the serialization as the work on the data
> is done in code.
> So, it gives me the impression that JSON-LD is just another
> serialization for RDF... But why a different data model?

Because it allows things that RDF (currently) doesn't, i.e., blank nodes as graph names and predicates.

> > We added the Data Model section since the RDF WG asked us to do so. I
> > don't see compelling reasons to revisit that decision.
> I do not question the decision of the RDF WG but for me as a user it's
> quite confusing as it does not contribute any significant advantage
> (at least for me and my understanding of the spec). It in fact
> introduce a steeper learning curve figuring out the differences of
> both data models but from a practical point of view do not exist.

To be honest, you are not really the target group since you are coming from an RDF background. Most people won't have that background knowledge so they do not have to compare anything but just to understand the data model the syntax is able to serialize.

> > JSON-LD is not RDF. Turtle is neither. Both are serialization formats
> > with a mapping to RDF, an abstract data model.
> Thank you for that clarification!!! Finally, I got it. But why the
> heck isn't the spec mentioning it?

Quoting the spec (Relationship to RDF):

   Summarized these differences mean that JSON-LD is capable of serializing
   any RDF graph or dataset and most, but not all, JSON-LD documents can be
   directly transformed to RDF.

Isn't that saying exactly the same?

> Just to make my point clear: it took me a while to realize the
> importance of the separation of concrete syntax and abstract syntax
> that the RDF data model introduced. It is an so important step, but
> the JSON-LD spec is so blurring?, covering up? a lot that I couldn't
> figure it out on my own what role exactly JSON-LD is supposed to take
> in the Semantic Web AND what its relationship to RDF really is.
> Would adding your CLEAR statement ("JSON-LD is a concrete syntax of
> RDF.") to the part "relationship" or even in the intro as the first
> line as e.g. turtle does do any harm?

You didn't read the intro, but already there we say

   Developers that require any of the facilities listed above or
   need to serialize an RDF graph or dataset [RDF11-CONCEPTS] in
   a JSON-based syntax will find JSON-LD of interest.

IMHO that's crystal clear.

> I am going to support JSON-LD (especially when it comes to processing
> on Web client side; currently, we have such a use-case) and promote it
> to my fellow colleagues.

Would love to hear more about how you use JSON-LD. Feel free to share it on the JSON-LD mailing list as probably a lot of people are interested in hearing that.

> But as long as am I not able to make clear
> statements of how everything fits together, I feel like an idiot
> talking drivel.

The goal of standardization is to find a compromise that can be accepted by all involved participants. We worked long and hard on this and I think we found a compromise which overall makes all of us equally happy (or unhappy for that matter).

What we are doing right now is minor-wordsmithing without any technical result at the end of a very long process. It is important to have these discussions but at some point it just doesn't make much sense anymore to rehash the same discussions over and over again. It just has to be accepted that there are different opinions.

People are waiting for this technology to become a proper standard. Some are waiting for a long time and I think most of us deeply involved in this standardization process are exhausted after all the hard work we've done over the years. It's time to ship.

Thanks again for your comments,

Markus Lanthaler

Received on Saturday, 8 June 2013 18:31:09 UTC