- From: Paul Tyson <phtyson@sbcglobal.net>
- Date: Tue, 23 Aug 2011 23:03:04 -0500
- To: Graham Klyne <graham.klyne@zoo.ox.ac.uk>
- Cc: public-rdf-comments@w3.org
On Tue, 2011-08-23 at 09:55 +0100, Graham Klyne wrote: > Re: http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-json/index.html > > I'm probably wasting my time saying this, but I personally think that defining a > JSON format for RDF triples is missing the point of using JSON at all - it still > looks nothing like the kind of JSON a non-RDF developer might produce. > > I think the effort would be better directed to defining a common RDF-carrying > JSON syntax that is closer to what applications might actually use. An example > of the sort of thing I mean is JRON: > http://decentralyze.com/2010/06/04/from-json-to-rdf-in-six-easy-steps-with-jron/, which > I have used quite successfully to migrate an application using non-RDF JSON to > using something that can also be interpreted as RDF. > > "Sometimes, if you stand in the right place and squint, JSON and RDF line up > perfectly." But the view of RDF triples isn't that place. Maybe I'm far enough away that jron and the editor's draft look a lot alike. ---------------- >From jron step 1: { "__repr": "2010-03-06", "__type": "http://www.w3.org/2001/XMLSchema#date" } As in RDF/JSON: { "value": "2010-03-06", "type" : "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#date" } ---------------- >From jron step 2: { "__text": "chat", "__lang": "fr" } As in RDF/JSON: { "value": "chat", "lang": "fr" , "type" : "literal" } ------------------ >From jron step 3: { "foaf_name": "Sandro Hawke", "foaf_knows: { "__node_id": "n102" }, "__node_id": "n334" } ... { "foaf_name": "Eric Prud'hommeaux", "foaf_knows: { "__node_id": "n334" }, "__node_id": "n102" } As in RDF/JSON: { "_:n334" : { "foaf_name": [ {"value" : "Sandro Hawke", "type" : "literal"} ], "foaf_knows": [ {"value" : "_:n102" , "type" : "bnode" } ] }, ... "_:n102" : { "foaf_name": [ { "value" : "Eric Prud'hommeaux" , "type" : "literal" } ], "foaf_knows: [ { "value" : "_:n334" , "type" : "bnode" } ] } } ------------------ >From jron step 4: { "foaf_name": "Sandro Hawke", "__iri": "http://www.w3.org/People/Sandro/data#Sandro_Hawke" } As in RDF/JSON: { "_:n334" : { "foaf_name": [ {"value" : "Sandro Hawke", "type": "literal"} ], "http://xmlns.com/foaf/0.1/page" : [ { "value" : "http://www.w3.org/People/Sandro/data#Sandro_Hawke", "type" : "uri" } ] } } ------------------ Jron step 5 specifies a prefix mechanism which presumably will be added to RDF/JSON (?) ------------------- >From jron step 6: { "foaf.name": "Sandro Hawke", "foaf.knows: { "__values": [ { "foaf.name": "Eric Prud'hommeaux" }, { "foaf.name": "Dan Brickley" }, { "foaf.name": "Matt Womer" } ]} } As in RDF/JSON: { "_:n334" : { "foaf_name": [ {"value" : "Sandro Hawke", "type" : "literal"} ], "foaf.knows: [ { "value" : "_:eric" , "type" : "bnode" }, { "value" : "_:dan" , "type" : "bnode" }, { "value" : "_:matt" , "type" : "bnode" } ] }, "_:eric" : { "foaf.name" : [ {"value" : "Eric Prud'hommeaux","type" : "literal" } ] }, "_:dan" : { "foaf.name" : [ { "value" : "Dan Brickley", "type" : "literal" } ] } , "_:matt" : { "foaf.name" : [ { "value" : "Matt Womer", "type" : "literal" } ] } } -------------------- OK, so jron step 6 falls flat in RDF/JSON, and step 5 is not designed (yet?). RDF/JSON is a bit wordier than jron, but they seem to line up on the main points. I don't know why triple structures aren't admitted in value arrays--I can see some advantage to flattening the graph to a set of subject keys in a root object, but no advantage to prohibiting nested syntactic structures that could be processed recursively. I don't use much json myself, but am looking forward to a standard json notation for RDF. This looks like a good start. Regards, --Paul
Received on Wednesday, 24 August 2011 04:03:33 UTC