- From: Manu Sporny <msporny@digitalbazaar.com>
- Date: Sat, 03 Sep 2011 23:04:37 -0400
- To: public-linked-json@w3.org
On 09/03/2011 03:43 PM, Danny Ayers wrote: > Ok, I suppose the crux of the disagreement is that while you see : > > (flexible format + framing) = easy for developers I'm sorry Danny, I do not think that is the crux of the disagreement. What you write above is not a good summary of what Dave is saying... you seem to be assuming that developers need to rely on framing for JSON-LD to be useful. Here is a breakdown of how it should work in practice, starting from a simple example, moving up to a more complex example: JSON-LD allows this to be published: { "name": "Danny Ayers", "homepage": "http://dannyayers.com/" } and then JavaScript developers can do the following with it: person = JSON.parse(THE_OBJECT_ABOVE); console.log("The name of the person is: "+ person.name); Note that there is absolutely no need for framing or RDF or knowing about graphs or anything Semantic Web-y. You do need to know the exact structure of what the Web Service is publishing - but most JSON folks seem to be cool with that (in 2011). You just use the JSON as-is and everyone is happy - except for the people that care about Linked Data. So, the question becomes "What can we do to keep the people that are using JSON happy while making the Linked Data people happy as well?". The JSON-LD answer to this is: { "@context": "http://example.com/vocabs/person", "name": "Danny Ayers", "homepage": "http://dannyayers.com/" } The people that don't care about Linked Data, and only care about JSON can still do this: person = JSON.parse(THE_OBJECT_ABOVE); console.log("The name of the person is: "+ person.name); Note that there is absolutely no need for JSON-LD APIs or framing in this example. Also note that the Linked Data people can follow-their-nose to the @context and expand the object out into something that has more meaning to them, specifically: _:bnode1 foaf:name "Danny Ayers". _:bnode1 foaf:homepage <http://dannyayers.com/> . So, now both JSON folks and Linked Data folks are happy. Also keep in mind that the JSON folks still don't have to care about framing or RDF or graphs. The Linked Data folks have to care about RDF and graphs - but that's cool, because they already care about that stuff. So, now both camps are happy. Each solution that you have proposed breaks this fundamental principle - don't muck around with what makes people happy. You can't ask JSON developers to start publishing their data with a very restrictive structure because /they do not care about RDF or SPARQL or Linked Data/ right now. If they believed in it, they would just use TURTLE - not JSON. > I can't help seeing : > > (flexible format) = difficult for developers I reject the statement above - JSON is an incredibly flexible format - it isn't difficult for developers. Therefore having a flexible format does not automatically mean that it will be difficult for developers. The statement above doesn't capture the nuance of this issue. If I were arguing your point, I'd say: The flexibility offered by JSON-LD may be difficult for JSON developers transitioning from a JSON-only world to a Linked Data world. That is, they will need to understand how graphs work. I would agree with that statement, but luckily, we try very hard to make it so that they don't have to make the transition unless they want to do so. If they want to care about Linked Data, they're going to have to learn about graphs of information. > (framing) = difficult for developers Again, this does not capture the nuances involved. Which developers? JavaScript developers? SPARQL developers? Linked Data developers? Why is framing difficult? Why is query-by-example (which is what framing emulates) more difficult than learning a sub-set of SPARQL? Who is your audience?... because it doesn't seem like it is JSON developers. The statement above is just as spurious as: SPARQL = difficult for developers, or RDF = difficult for developers Most importantly, what are the alternatives to framing that don't break the "Don't muck around with what makes people happy." design principle? I have yet to see a single proposal that takes both of these concerns into account: 1. Make JSON developers happy. 2. Make Linked Data developers happy. All of what you have proposed thus far arguably achieves #2 - but fails to achieve #1. -- manu -- Manu Sporny (skype: msporny, twitter: manusporny) Founder/CEO - Digital Bazaar, Inc. blog: Building a Better World with Web Payments http://manu.sporny.org/2011/better-world/
Received on Sunday, 4 September 2011 03:05:08 UTC