View Source JSON.LD (JSON-LD.ex v0.3.8)
An implementation of JSON-LD 1.0.
As an implementation of the RDF.Serialization.Format
behaviour of RDF.ex
Summary
Functions
Compacts the given input according to the steps in the JSON-LD Compaction Algorithm.
Generator function for JSON.LD.Context
s.
Expands the given input according to the steps in the JSON-LD Expansion Algorithm.
Flattens the given input according to the steps in the JSON-LD Flattening Algorithm.
Returns if the given value is a JSON-LD keyword.
The set of all JSON-LD keywords.
Generator function for JSON-LD node maps.
Deserializes a graph or dataset from a file.
Deserializes a graph or dataset from a file.
Deserializes a graph or dataset from a stream.
Deserializes a graph or dataset from a stream.
Deserializes a graph or dataset from a string.
Deserializes a graph or dataset from a string.
Serializes a RDF data structure to a file.
Serializes a RDF data structure to a file.
Serializes a RDF data structure to a string.
Serializes a RDF data structure to a string.
Functions
Compacts the given input according to the steps in the JSON-LD Compaction Algorithm.
Compaction is the process of applying a developer-supplied context to shorten IRIs to terms or compact IRIs and JSON-LD values expressed in expanded form to simple values such as strings or numbers. Often this makes it simpler to work with document as the data is expressed in application-specific terms. Compacted documents are also typically easier to read for humans.
-- https://www.w3.org/TR/json-ld/#compacted-document-form
Details at https://www.w3.org/TR/json-ld-api/#compaction-algorithms
@spec context(map() | RDF.PropertyMap.t(), JSON.LD.Options.t()) :: JSON.LD.Context.t()
Generator function for JSON.LD.Context
s.
You can either pass a map with a "@context"
key having the JSON-LD context
object its value, or the JSON-LD context object directly.
This function can be used also to create JSON.LD.Context
from a RDF.PropertyMap
.
Expands the given input according to the steps in the JSON-LD Expansion Algorithm.
Expansion is the process of taking a JSON-LD document and applying a
@context
such that all IRIs, types, and values are expanded so that the@context
is no longer necessary.
-- https://www.w3.org/TR/json-ld/#expanded-document-form
Details at http://json-ld.org/spec/latest/json-ld-api/#expansion-algorithm
Flattens the given input according to the steps in the JSON-LD Flattening Algorithm.
Flattening collects all properties of a node in a single JSON object and labels all blank nodes with blank node identifiers. This ensures a shape of the data and consequently may drastically simplify the code required to process JSON-LD in certain applications.
-- https://www.w3.org/TR/json-ld/#flattened-document-form
Details at https://www.w3.org/TR/json-ld-api/#flattening-algorithms
Returns if the given value is a JSON-LD keyword.
@spec keywords() :: [String.t()]
The set of all JSON-LD keywords.
see https://www.w3.org/TR/json-ld/#syntax-tokens-and-keywords
Generator function for JSON-LD node maps.
@spec options() :: JSON.LD.Options.t()
@spec read_file( Path.t(), keyword() ) :: {:ok, RDF.Graph.t() | RDF.Dataset.t()} | {:error, any()}
Deserializes a graph or dataset from a file.
It returns an {:ok, data}
tuple, with data
being the deserialized graph or
dataset, or {:error, reason}
if an error occurs.
Options
General serialization-independent options:
:stream
: Allows to enable reading the data from a file directly via a stream (default:false
on this function,true
on the bang version):gzip
: Allows to read directly from a gzipped file (default:false
):file_mode
: A list with the ElixirFile.open
modes to be used for reading (default:[:read, :utf8]
)
See the module documentation of the decoder for the available format-specific options, all of which can be used in this function and will be passed them through to the decoder.
@spec read_file!( Path.t(), keyword() ) :: RDF.Graph.t() | RDF.Dataset.t()
Deserializes a graph or dataset from a file.
As opposed to read_file/2
, it raises an exception if an error occurs and
defaults to stream: true
.
See read_file/3
for the available format-independent options.
See the module documentation of the decoder for the available format-specific options, all of which can be used in this function and will be passed them through to the decoder.
@spec read_stream( Enumerable.t(), keyword() ) :: {:ok, RDF.Graph.t() | RDF.Dataset.t()} | {:error, any()}
Deserializes a graph or dataset from a stream.
It returns an {:ok, data}
tuple, with data
being the deserialized graph or
dataset, or {:error, reason}
if an error occurs.
See the module documentation of the decoder for the available format-specific options, all of which can be used in this function and will be passed them through to the decoder.
@spec read_stream!( Enumerable.t(), keyword() ) :: RDF.Graph.t() | RDF.Dataset.t()
Deserializes a graph or dataset from a stream.
As opposed to read_stream/2
, it raises an exception if an error occurs.
See the module documentation of the decoder for the available format-specific options, all of which can be used in this function and will be passed them through to the decoder.
@spec read_string( String.t(), keyword() ) :: {:ok, RDF.Graph.t() | RDF.Dataset.t()} | {:error, any()}
Deserializes a graph or dataset from a string.
It returns an {:ok, data}
tuple, with data
being the deserialized graph or
dataset, or {:error, reason}
if an error occurs.
See the module documentation of the decoder for the available format-specific options, all of which can be used in this function and will be passed them through to the decoder.
@spec read_string!( String.t(), keyword() ) :: RDF.Graph.t() | RDF.Dataset.t()
Deserializes a graph or dataset from a string.
As opposed to read_string/2
, it raises an exception if an error occurs.
See the module documentation of the decoder for the available format-specific options, all of which can be used in this function and will be passed them through to the decoder.
@spec write_file(RDF.Data.t(), Path.t(), keyword()) :: :ok | {:error, any()}
Serializes a RDF data structure to a file.
It returns :ok
if successful or {:error, reason}
if an error occurs.
Options
General serialization-independent options:
:stream
: Allows to enable writing the serialized data to the file directly via a stream. Possible values::string
or:iodata
for writing to the file with a stream of strings respective IO lists,true
if you want to use streams, but don't care for the exact method orfalse
for not writing with a stream (default:false
on this function,:iodata
on the bang version):gzip
: Allows to write directly to a gzipped file (default:false
):force
: If not set totrue
, an error is raised when the given file already exists (default:false
):file_mode
: A list with the ElixirFile.open
modes to be used for writing (default:[:write, :exclusive]
)
See the module documentation of the encoder for the available format-specific options, all of which can be used in this function and will be passed them through to the encoder.
@spec write_file!(RDF.Data.t(), Path.t(), keyword()) :: :ok
Serializes a RDF data structure to a file.
As opposed to write_file/3
, it raises an exception if an error occurs.
See write_file/3
for the available format-independent options.
See the module documentation of the encoder for the available format-specific options, all of which can be used in this function and will be passed them through to the encoder.
@spec write_string( RDF.Data.t(), keyword() ) :: {:ok, String.t()} | {:error, any()}
Serializes a RDF data structure to a string.
It returns an {:ok, string}
tuple, with string
being the serialized graph or
dataset, or {:error, reason}
if an error occurs.
See the module documentation of the encoder for the available format-specific options, all of which can be used in this function and will be passed them through to the encoder.
@spec write_string!( RDF.Data.t(), keyword() ) :: String.t()
Serializes a RDF data structure to a string.
As opposed to write_string/2
, it raises an exception if an error occurs.
See the module documentation of the encoder for the available format-specific options, all of which can be used in this function and will be passed them through to the encoder.