W3C home > Mailing lists > Public > public-rdfa-wg@w3.org > March 2013

Node.js tool for RDFa -> JSON-LD transformation

From: Manu Sporny <msporny@digitalbazaar.com>
Date: Fri, 29 Mar 2013 21:34:46 -0400
Message-ID: <51564136.6090602@digitalbazaar.com>
To: JSON-LD CG <public-linked-json@w3.org>
bcc: RDFa WG, RDF WG

Dave Lehn and Dave Longley just put together a tool that's pretty rough
around the edges, but really helpful for those trying to:

 * Transform RDFa to JSON-LD
 * Normalize JSON-LD/RDF Datasets to NQuads
 * Transform JSON-LD to compact, expanded, normalized, or flattened form

To install the tool, do the following (you will need git, nodejs, and
npm installed):

git clone https://github.com/digitalbazaar/jsonld.js.git
cd jsonld.js
npm install

To compact a document on the Web using a JSON-LD context published on
the Web:

./bin/jsonld compact
  -c "http://w3id.org/payswarm/v1"
  "http://recipes.payswarm.com/?p=10554"

That will read in a PaySwarm Asset and Listing in RDFa 1.0 format (using
Green Turtle by Alex Milowski), convert it to JSON-LD expanded form,
compact it using the 'http://w3id.org/payswarm/v1' context, and dump it
out to the console in compacted form.

./bin/jsonld normalize -q "http://recipes.payswarm.com/?p=10554"

That will read in a PaySwarm Asset and Listing in RDFa 1.0 format,
normalize the data using the RDF Dataset normalization algorithm, and
then dump the output to normalized NQuads format. The NQuads can then be
processed via SHA-256, or similar algorithm, to get a deterministic hash
of the contents of the Dataset.

The implementation is up-to-date with the RDFa and JSON-LD specs. The
tool still needs quite a bit of tweaking, but it's a pretty powerful
demonstration of many of the things this community has been building
over the past several years.

-- manu

-- 
Manu Sporny (skype: msporny, twitter: manusporny, G+: +Manu Sporny)
Founder/CEO - Digital Bazaar, Inc.
blog: Google Summer of Code 2013: RDFa, JSON-LD, Web Payments
http://digitalbazaar.com/2013/03/12/gsoc/
Received on Saturday, 30 March 2013 01:35:46 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:19:58 UTC