W3C home > Mailing lists > Public > public-lod@w3.org > January 2010

Re: Creating JSON from RDF

From: Niklas Lindström <lindstream@gmail.com>
Date: Mon, 4 Jan 2010 23:32:03 +0100
Message-ID: <cf8107641001041432x13b27931y99d8b91fa35c388f@mail.gmail.com>
To: Mike Bergman <mike@mkbergman.com>
Cc: Dave Reynolds <dave.e.reynolds@googlemail.com>, Jeni Tennison <jeni@jenitennison.com>, public-lod@w3.org, Mark Birbeck <mark.birbeck@webbackplane.com>, John Sheridan <John.Sheridan@nationalarchives.gsi.gov.uk>
Hi all!

On Thu, Dec 17, 2009 at 4:40 PM, Mike Bergman <mike@mkbergman.com> wrote:
> Hi Dave,
>
> Dave Reynolds wrote:
>>
>> Dave Reynolds wrote:
>>
>>> Jeni Tennison wrote:
>>
>>>> I don't know where the best place is to work on this: I guess at some
>>>> point it would be good to set up a Wiki page or something that we could use
>>>> as a hub for discussion?
>>>
>>> I'd suggest setting up a Google Code area and making anyone who is
>>> interested a committer. That gives us a Wiki but also hosting for associated
>>> code for generating/navigating the format. I'd be happy to set one up.
>>
>> Now done. We've opened a Google Code area "linked-data-api" and summarized
>> both the aims/assumptions [1] and the various design issues and suggestions
>> that have come out of the list discussions so far [2].
>
> Excellent work pulling this information together.
>
> Please see my comments at [1].
>
> Thanks, Mike

I've followed this with great interest! I've been tinkering with the
same things, mostly in conjunction with my Oort project [1]. I had
actually begun sketching on a JSON format I call Gluon just as this
discussion appeared (inspired by jRDF, irON, GData-in-JSON and
others). To wrap my head around it more, I've spent some time recently
to elaborate on my examples and write an initial working
implementation in Python. To pitch it:

"Gluon is a JSON format for RDF. It has a full syntax covering
properties, resource references, bnodes and literals with optional
datatype or language. With profiles, more more succinct forms are
possible."

I think that it covers many of the things you discuss here and at [2].
Of course it is an experimental design, but I hope it will be of
interest to you.

Until I've written a cohesive description at [3], I hope the specs
[4], examples [5] and implementation [6] may provide you with insight
into the design decisions I've made. Especially the compact example at
[7] describes how to make the JSON more "natural".

(Early last year I made SPARQLTree [8], which has influenced my design
somewhat and may also be interesting to you.)

Depending on how things develop, I'd be happy to contribute to [2] if
that's suitable.

(.. I'm also sketching on how to use the "profile" mechanisms to
define a language-agnostic way of accessing RDF graphs as "plain"
objects (which may update/replace my current Object-RDF mapping
solution in "Oort the python package" from which "Oort the umbrella
project" stems). Of course this also relates to e.g. the API
vocabulary and programmatic (js) access to JSON-with-references ideas
which Jeni and Mark have discussed.)

Best regards,
Niklas Lindström

[1] = <http://code.google.com/p/oort/>
[2] = <http://code.google.com/p/linked-data-api/>
[3] = <http://code.google.com/p/oort/wiki/Gluon>
[4] = <http://code.google.com/p/oort/source/browse/#svn/trunk/lab/gluon/etc/specs>
[5] = <http://code.google.com/p/oort/source/browse/#svn/trunk/lab/gluon/etc/examples/lcsh>
[6] = <http://code.google.com/p/oort/source/browse/#svn/trunk/lab/gluon/python/gluon>
[7] = <http://code.google.com/p/oort/source/browse/trunk/lab/gluon/etc/examples/lcsh/sh95000541-compact.json>
[8] = <http://code.google.com/p/oort/wiki/SparqlTree>
Received on Monday, 4 January 2010 22:32:56 UTC

This archive was generated by hypermail 2.3.1 : Sunday, 31 March 2013 14:24:24 UTC