NAME JSON::GRDDL - transform JSON to RDF SYNOPSIS # Low-Level Interface # my $grddl = JSON::GRDDL->new; my @transformations = $grddl->discover($jsondoc, $baseuri); foreach my $trans (@transformations) { my $model = $grddl->transform_by_uri($jsondoc, $baseuri, $trans); # $model is an RDF::Trine::Model } # High-Level Interface # my $grddl = JSON::GRDDL->new; my $model = $grddl->data($jsondoc, $baseuri); # $model is an RDF::Trine::Model DESCRIPTION This module implements jsonGRDDL, a port of GRDDL concepts from XML to JSON. jsonGRDDL is described at . This module attempts to provide a similar API to XML::GRDDL but differs in some respects. Constructor "JSON::GRDDL->new" The constructor accepts no parameters and returns a JSON::GRDDL object. Methods "$grddl->ua" "$grddl->ua($ua)" Get/set an LWP::UserAgent object for HTTP requests. "$grddl->data($json, $base, %options)" This is usually what you want to call. It's a high-level method that does everything for you and returns the RDF you wanted. $json is the raw JSON source of the document, or an equivalent Perl hashref/arrayref structure. $base is the base URI for resolving relative references. Returns an RDF::Trine::Model. "$grddl->discover($json, $base, %options)" You only need to call this method if you're doing something unusual. Processes the JSON document to discover the transformation associated with it. $json is the raw JSON source of the document, or an equivalent Perl hashref/arrayref structure. $base is the base URI for resolving relative references. Returns a list of URLs as strings. "$grddl->transform_by_uri($json, $base, $transformation, %options)" You only need to call this method if you're doing something unusual. Transforms a JSON document into RDF using a JsonT transformation, specified by URI. $json is the raw JSON source of the document, or an equivalent Perl hashref/arrayref structure. $base is the base URI for resolving relative references. $transformation is the URI for the JsonT transformation. Returns an RDF::Trine::Model. "$grddl->transform_by_jsont($json, $base, $code, $name, %options)" You only need to call this method if you're doing something unusual. Transforms a JSON document into RDF using a JsonT transformation, specified as a Javascript code, variable name pair. $json is the raw JSON source of the document, or an equivalent Perl hashref/arrayref structure. $base is the base URI for resolving relative references. $code and $name must be suitable for passing to the "new" constructor from the JSON::T package. Returns an RDF::Trine::Model. BUGS Please report any bugs to . SEE ALSO Specification: . Related modules: JSON, JSON::T, JSON::Path, JSON::Hyper, JSON::Schema, XML::GRDDL. . This module is derived from Swignition . AUTHOR Toby Inkster . COPYRIGHT AND LICENCE Copyright 2008-2011 Toby Inkster. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. DISCLAIMER OF WARRANTIES THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.