Re: Fwd: RDF/JSON

On 04/30/2013 01:37 PM, Martin Nally wrote:
> Based on our experience implementing applications, this is the
> advice I am giving people at IBM, and anyone else who asks me.

How many production systems have you deployed using JSON-LD vs. RDF/JSON?

> 1) If you are writing RDF-aware clients and servers, and you are 
> looking for a data format for the interface between them, use 
> RDF/JSON.

Why not just TURTLE or N-Triples? What are the benefits of JSON if you
have RDF-aware clients/servers?

> This is true whether or not you were previously interested in JSON. 
> Think of RDF/JSON as the natural way for RDF-aware programs to talk 
> to each other, regardless of other technology choices - it's the RDF 
> format for programmers.

Why? What makes it the 'natural way'? Why is RDF/JSON the 'format for
programmers'?

> 2) If you have an existing JSON format, and you want to extend it so 
> it is more self-describing for RDF-aware clients, consider using 
> JSON-LD. An alternative is to offer two different media types - your 
> current one and RDF/JSON

Our experience has shown us that most Web developers don't care about
RDF. They care about data structures that are easy to work with,
specifically, JSON is really nice. RDF/JSON is a bit of a nightmare to
work with for a large subset of Web developers.

> 3) If you are designing a new RDF-aware server and you want to
> expose it to both RDF-aware and RDF-unaware clients, offer two
> different media types - RDF/JSON plus "web JSON". Offering JSON-LD
> will not be popular with either the web crowd or the RDF crowd, both
> of whom will view it as unnecessarily complex from their point of
> view.

JSON-LD is more concerned about the "Web crowd" than the "RDF crowd".
The "RDF crowd" has never had a problem with consuming and publishing
RDF. However, the RDF crowd has stayed very small over the past decade
due to the lack of a good data format that is useful to the broader
programming community.

JSON-LD's approach is to embrace what's currently working on the Web
(JSON), and augment it such that it's not changed into something that
Web developers won't recognize (RDF/JSON). We expect that most useful
JSON-LD will end up looking like this:

{
  "@context": "http://example.com/context.jsonld",
  "key1": "value1",
  "key2": "value2"
}

The document above is far more useful to a regular Web developer than
its RDF/JSON counterpart:

{
  "_:bnode1": {
    "http://example.com/vocab#key1": {
      "value": "value1"
      "type": "literal"
    },
    "http://example.com/vocab#key2": {
      "value": "value2"
      "type": "literal"
    }
  }
}

> It is possible I will change my mind as I learn more

I hope you do as the opinion you have expressed is very much in the
minority based on the feedback we've received from developers. I think
you might be conflating a good dump format (like N-Triples and RDF/JSON)
with something that developers would like to use (like JSON / JSON-LD).
You may want to watch this to get an idea of why Web developers prefer
simple key-value data structures vs. the SPO data structures of RDF:

http://www.youtube.com/watch?v=vioCbTo3C-4

RDF/JSON is disconnected from what Web developers expect from a modern
Linked Data serialization format.

-- manu

-- 
Manu Sporny (skype: msporny, twitter: manusporny, G+: +Manu Sporny)
Founder/CEO - Digital Bazaar, Inc.
blog: Meritora - Web payments commercial launch
http://blog.meritora.com/launch/

Received on Tuesday, 30 April 2013 21:23:55 UTC