NAME
JSONLD - A toolkit for transforming JSON-LD data.
VERSION
This document describes JSONLD version 0.006.
SYNOPSIS
use v5.14;
use JSON;
use JSONLD;
my $infile = 'test.jsonld';
open(my $fh, '<', $infile) or die $!;
my $content = do { local($/); <$fh> };
my $data = JSON->new()->boolean_values(0, 1)->decode($content);
my $jld = JSONLD->new();
my $expanded = $jld->expand($data);
DESCRIPTION
This module implements part of the JSON-LD 1.1 standard for manipulating JSON data as linked data.
This version provides full support for the JSON-LD 1.1 "Expansion" and "toRdf" transformations (the latter primarily being useful through a subclass of JSON-LD, such as that provided by AtteanX::Parser::JSONLD). Partial support for the "Compaction" transformation is provided, but it contains many known deficiencies. Full support for "Compaction" may be forthcoming in a future release. No other JSON-LD transformation are supported at this time.
METHODS
compact( $data, [$context] )
-
Returns the JSON-LD compaction of
$data
, using the optionally supplied$context
.NOTE: Support for JSON-LD Compaction is not fully supported in this version.
expand( $data, [expandContext => $ctx] )
-
Returns the JSON-LD expansion of
$data
.If an
expandContext
value is supplied, it is used to construct the initial active context for the expansion process. to_rdf( $data, [expandContext => $ctx] )
-
Returns the dataset generated by turning the JSON-LD expansion of
$data
into RDF.If an
expandContext
value is supplied, it is passed to theexpand
function call that takes place internally prior to generating RDF.Note: this method must be called on a
JSONLD
subclass which implements the RDF-related methods:default_graph()
new_dataset()
new_triple($s, $p, $o)
new_quad($s, $p, $o, $g)
new_iri($value)
new_graphname($value)
new_blank( [$id] )
new_lang_literal($value, $lang)
new_dt_literal($value, $datatype)
add_quad($quad, $dataset)
See AtteanX::Parser::JSONLD for an API that provides this functionality.
BUGS
Please report any bugs or feature requests to through the GitHub web interface at https://github.com/kasei/perl-jsonld/issues.
SEE ALSO
- irc://irc.perl.org/#perlrdf
- AtteanX::Parser::JSONLD
- https://www.w3.org/TR/json-ld11/
- https://www.w3.org/TR/json-ld-api/
- MooX::Role::JSON_LD
AUTHOR
Gregory Todd Williams <gwilliams@cpan.org>
COPYRIGHT
Copyright (c) 2019--2020 Gregory Todd Williams. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.