View Source RDF.Star.Statement (RDF.ex v0.11.0)
Helper functions for RDF-star statements.
An RDF-star statement is either a RDF.Star.Triple
or a RDF.Star.Quad
.
Link to this section Summary
Functions
Creates a RDF.Star.Statement
tuple with proper RDF values.
See RDF.Statement.coerce_graph_name/1
.
See RDF.Statement.coerce_predicate/1
.
See RDF.Statement.coerce_predicate/2
.
Creates a RDF.Star.Triple
or RDF.Star.Quad
with proper RDF values.
Checks if the given tuple is a RDF-star statement with a quoted triple on subject or object position.
Checks if the given tuple is a valid RDF-star statement, i.e. RDF-star triple or quad.
Link to this section Types
Specs
coercible() :: RDF.Star.Triple.coercible() | RDF.Star.Quad.coercible()
Specs
coercible_graph_name() :: RDF.Statement.coercible_graph_name()
Specs
coercible_object() :: RDF.Statement.coercible_object() | RDF.Star.Triple.t()
Specs
coercible_predicate() :: RDF.Statement.coercible_predicate()
Specs
coercible_subject() :: RDF.Statement.coercible_subject() | RDF.Star.Triple.t()
Specs
coercible_t() :: coercible()
Specs
graph_name() :: RDF.Statement.graph_name()
Specs
object() :: RDF.Statement.object() | RDF.Star.Triple.t()
Specs
predicate() :: RDF.Statement.predicate()
Specs
subject() :: RDF.Statement.subject() | RDF.Star.Triple.t()
Specs
t() :: RDF.Star.Triple.t() | RDF.Star.Quad.t()
Specs
term_mapping() :: RDF.Statement.term_mapping()
Link to this section Functions
Specs
coerce(coercible(), RDF.PropertyMap.t() | nil) :: RDF.Star.Triple.t() | RDF.Star.Quad.t()
Creates a RDF.Star.Statement
tuple with proper RDF values.
An error is raised when the given elements are not coercible to RDF-star values.
examples
Examples
iex> RDF.Star.Statement.coerce {"http://example.com/S", "http://example.com/p", 42}
{~I<http://example.com/S>, ~I<http://example.com/p>, RDF.literal(42)}
iex> RDF.Star.Statement.coerce {"http://example.com/S", "http://example.com/p", 42, "http://example.com/Graph"}
{~I<http://example.com/S>, ~I<http://example.com/p>, RDF.literal(42), ~I<http://example.com/Graph>}
See RDF.Statement.coerce_graph_name/1
.
See RDF.Statement.coerce_predicate/1
.
See RDF.Statement.coerce_predicate/2
.
Creates a RDF.Star.Triple
or RDF.Star.Quad
with proper RDF values.
An error is raised when the given elements are not coercible to RDF-star values.
Note: The RDF.statement
function is a shortcut to this function.
examples
Examples
iex> RDF.Star.Statement.new({EX.S, EX.p, 42})
{RDF.iri("http://example.com/S"), RDF.iri("http://example.com/p"), RDF.literal(42)}
iex> RDF.Star.Statement.new({EX.S, EX.p, 42, EX.Graph})
{RDF.iri("http://example.com/S"), RDF.iri("http://example.com/p"), RDF.literal(42), RDF.iri("http://example.com/Graph")}
iex> RDF.Star.Statement.new({EX.S, :p, 42, EX.Graph}, RDF.PropertyMap.new(p: EX.p))
{RDF.iri("http://example.com/S"), RDF.iri("http://example.com/p"), RDF.literal(42), RDF.iri("http://example.com/Graph")}
See RDF.Star.Quad.new/4
.
Specs
star_statement?(RDF.Star.Triple.t() | RDF.Star.Quad.t() | any()) :: boolean()
Checks if the given tuple is a RDF-star statement with a quoted triple on subject or object position.
Note: This function won't check if the given tuple or the quoted triple is valid.
Use valid?/1
for this purpose.
examples
Examples
iex> RDF.Star.Statement.star_statement?({EX.S, EX.P, EX.O})
false
iex> RDF.Star.Statement.star_statement?({EX.AS, EX.AP, {EX.S, EX.P, EX.O}})
true
iex> RDF.Star.Statement.star_statement?({{EX.S, EX.P, EX.O}, EX.AP, EX.AO})
true
Specs
valid?(RDF.Star.Triple.t() | RDF.Star.Quad.t() | any()) :: boolean()
Checks if the given tuple is a valid RDF-star statement, i.e. RDF-star triple or quad.
The elements of a valid RDF-star statement must be RDF terms. On the subject position only IRIs, blank nodes and triples allowed, while on the predicate and graph context position only IRIs allowed. The object position can be any RDF term or a triple.
Specs
valid_graph_name?(graph_name() | any()) :: boolean()