Reference

JSONLD(3pm)

A toolkit for transforming JSON-LD data.

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 the "expand" 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 "<[email protected]>"

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.

History