View Source RDF.BlankNode (RDF.ex v1.2.0)

An RDF blank node (aka bnode) is a local node of a graph without an IRI.

This module can also be used as RDF.Resource.Generator for the generation of random identifiers, which is using the new/0 function. For the generation of value-based blank nodes, you can use RDF.BlankNode.Generator.

see https://www.w3.org/TR/rdf11-primer/#section-blank-node and https://www.w3.org/TR/rdf11-concepts/#section-blank-nodes

Summary

Functions

Tests for value equality of blank nodes.

Creates a random RDF.BlankNode.

Creates a RDF.BlankNode with a user-defined value for its identity.

Returns the internal string representation of a blank node.

Types

@type t() :: %RDF.BlankNode{value: String.t()}

Functions

Link to this function

equal_value?(left, right)

View Source
@spec equal_value?(t(), t()) :: boolean() | nil

Tests for value equality of blank nodes.

Returns nil when the given arguments are not comparable as blank nodes.

@spec new() :: t()

Creates a random RDF.BlankNode.

@spec new(reference() | String.t() | atom() | integer()) :: t()

Creates a RDF.BlankNode with a user-defined value for its identity.

A "_:" prefix in a given string value will be automatically ignored.

When given an integer as value it will be automatically converted to a string prefixed with "b".

Examples

iex> RDF.BlankNode.new(:foo)
%RDF.BlankNode{value: "foo"}

iex> RDF.BlankNode.new("foo")
%RDF.BlankNode{value: "foo"}

iex> RDF.BlankNode.new("_:foo")
%RDF.BlankNode{value: "foo"}

iex> RDF.BlankNode.new(42)
%RDF.BlankNode{value: "b42"}

Returns the internal string representation of a blank node.