protocol

json_graph_protocol

JSON Graph Format v2 parser and generator protocol.

Availability:
logtalk_load(json_graph(loader))
Author: Paulo Moura
Version: 1:0:0
Date: 2026-07-03
Compilation flags:
static
Dependencies:
(none)
Remarks:
(none)
Inherited public predicates:
(none)

Public predicates

parse/2

Parses the graph contents read from the given source (codes(List), stream(Stream), file(Path), chars(List), atom(Atom), or object(Object)) into a list of canonical graph terms. Fails if the contents cannot be parsed.

Compilation flags:
static
Template:
parse(Source,Terms)
Mode and number of proofs:
parse(++compound,--list) - one_or_error
Exceptions:
Source is a variable:
instantiation_error
Source is neither a variable nor a valid JSON graph source term:
domain_error(json_graph_source,Source)
Source is object(Object) but Object does not conform to the graph data protocol:
domain_error(json_graph_source,Source)

generate/2

Generates the graph contents using the representation specified in the first argument (codes(List), stream(Stream), file(Path), chars(List), atom(Atom), or object(Object)) for the list of canonical graph terms in the second argument.

Compilation flags:
static
Template:
generate(Sink,Terms)
Mode and number of proofs:
generate(+compound,++list) - one_or_error
Exceptions:
Sink is a variable:
instantiation_error
Sink is neither a variable nor a valid JSON graph sink term:
domain_error(json_graph_sink,Sink)
Terms is neither a variable nor a valid list of canonical graph terms:
domain_error(json_graph_terms,Terms)

Protected predicates

(none)

Private predicates

(none)

Operators

(none)