View Source RDF (RDF.ex v2.0.1)

The top-level module of RDF.ex.

RDF.ex consists of:

This top-level module provides shortcut functions for the construction of the basic elements and structures of RDF and some general helper functions.

It also can be use'ed to add basic imports and aliases for working with RDF.ex on any module. See __using__/1 for details.

For a general introduction you may refer to the guides on the homepage.

Summary

Functions

See RDF.NS.RDF.nil/0.

Adds basic imports and aliases for working with RDF.ex.

Checks if the given value is a blank node.

A user-defined RDF.PrefixMap of prefixes to IRI namespaces.

Returns the default_prefixes/0 with additional prefix mappings.

Checks if the given value is an RDF literal.

Checks if the given value is a RDF.Resource, i.e. a RDF.IRI or RDF.BlankNode.

Returns a SPARQL encoded list of prefixes.

A fixed set prefixes that will always be part of the default_prefixes/0.

Returns whether RDF-star support is enabled.

Checks if the given value is a RDF.Term, i.e. a RDF.IRI, RDF.BlankNode or RDF.Literal.

Returns a Turtle encoded list of prefixes.

Functions

See RDF.NS.RDF.nil/0.

Link to this macro

__using__(opts)

View Source (macro)

Adds basic imports and aliases for working with RDF.ex.

This allows to write

use RDF

instead of the following

import RDF.Sigils
import RDF.Guards
import RDF.Namespace.IRI

require RDF.Graph

alias RDF.{XSD, NTriples, NQuads, Turtle}

See RDF.BlankNode.new/0.

See RDF.BlankNode.new/1.

Checks if the given value is a blank node.

Examples

iex> RDF.bnode?(RDF.bnode)
true
iex> RDF.bnode?(RDF.iri("http://example.com/resource"))
false
iex> RDF.bnode?(42)
false
Link to this function

coerce_graph_name(graph_name)

View Source

See RDF.Star.Statement.coerce_graph_name/1.

Link to this function

coerce_object(object, property_map \\ nil)

View Source

See RDF.Star.Statement.coerce_object/2.

Link to this function

coerce_predicate(predicate)

View Source

See RDF.Star.Statement.coerce_predicate/1.

Link to this function

coerce_predicate(predicate, property_map)

View Source

See RDF.Star.Statement.coerce_predicate/2.

Link to this function

coerce_subject(subject, property_map \\ nil)

View Source

See RDF.Star.Statement.coerce_subject/2.

See RDF.Dataset.new/0.

See RDF.Dataset.new/1.

See RDF.Dataset.new/2.

See RDF.IRI.default_base/0.

A user-defined RDF.PrefixMap of prefixes to IRI namespaces.

This prefix map will be used implicitly wherever a prefix map is expected, but not provided. For example, when you don't pass a prefix map to the Turtle serializer, this prefix map will be used.

By default, the standard_prefixes/0 are part of this prefix map, but you can define additional default prefixes via the default_prefixes compile-time configuration.

For example:

config :rdf,
  default_prefixes: %{
    ex: "http://example.com/"
  }

You can also set :default_prefixes to a module-function tuple {mod, fun} with a function which should be called to determine the default prefixes.

If you don't want the standard_prefixes/0 to be part of the default prefixes, or you want to map the standard prefixes to different namespaces (strongly discouraged!), you can set the use_standard_prefixes compile-time configuration flag to false.

config :rdf,
  use_standard_prefixes: false
Link to this function

default_prefixes(prefix_mappings)

View Source

Returns the default_prefixes/0 with additional prefix mappings.

The prefix_mappings can be given in any format accepted by RDF.PrefixMap.new/1.

Link to this function

description(subject, opts \\ [])

View Source

See RDF.Description.new/2.

See RDF.Diff.diff/2.

See RDF.NS.RDF.first/0.

See RDF.Graph.new/0.

See RDF.Graph.new/1.

See RDF.Graph.new/2.

See RDF.IRI.new/1.

See RDF.IRI.new!/1.

See RDF.IRI.valid?/1.

See RDF.NS.RDF.langString/0.

Link to this function

lang_string(value, opts)

View Source

See RDF.LangString.new/2.

See RDF.NS.RDF.langString/0.

See RDF.LangString.new/2.

See RDF.List.node?/1.

See RDF.List.node?/2.

See RDF.Literal.new/1.

See RDF.Literal.new/2.

Checks if the given value is an RDF literal.

See RDF.NS.RDF.object/0.

See RDF.NS.RDF.predicate/0.

See RDF.PrefixMap.new/1.

See RDF.PrefixMap.new/1.

Link to this function

property_map(property_map)

View Source

See RDF.PropertyMap.new/1.

Link to this function

quad(tuple, property_map \\ nil)

View Source

See RDF.Star.Quad.new/2.

Link to this function

quad(s, p, o, g, property_map \\ nil)

View Source

See RDF.Star.Quad.new/5.

Link to this function

read_file(filename, opts \\ [])

View Source

See RDF.Serialization.read_file/2.

Link to this function

read_file!(filename, opts \\ [])

View Source

See RDF.Serialization.read_file!/2.

Link to this function

read_stream(stream, opts \\ [])

View Source

See RDF.Serialization.read_stream/2.

Link to this function

read_stream!(stream, opts \\ [])

View Source

See RDF.Serialization.read_stream!/2.

Link to this function

read_string(string, opts)

View Source

See RDF.Serialization.read_string/2.

Link to this function

read_string!(string, opts)

View Source

See RDF.Serialization.read_string!/2.

Checks if the given value is a RDF.Resource, i.e. a RDF.IRI or RDF.BlankNode.

Examples

Supposed EX is a RDF.Vocabulary.Namespace and Foo is not.

iex> RDF.resource?(RDF.iri("http://example.com/resource"))
true
iex> RDF.resource?(EX.resource)
true
iex> RDF.resource?(EX.Resource)
true
iex> RDF.resource?(Foo.Resource)
false
iex> RDF.resource?(RDF.bnode)
true
iex> RDF.resource?(RDF.XSD.integer(42))
false
iex> RDF.resource?(42)
false

See RDF.NS.RDF.rest/0.

Link to this function

sparql_prefixes(prefixes)

View Source

Returns a SPARQL encoded list of prefixes.

The prefix_mappings can be given in any format accepted by RDF.PrefixMap.new/1.

Examples

iex> RDF.sparql_prefixes(
...>  rdf: RDF,
...>  rdfs: RDF.NS.RDFS,
...>  xsd: RDF.NS.XSD,
...>  ex1: EX,
...>  ex2: "http://example.com/ns2/")
"""
PREFIX ex1: <http://example.com/>
PREFIX ex2: <http://example.com/ns2/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
"""

A fixed set prefixes that will always be part of the default_prefixes/0.

RDF.PrefixMap.new(%{
  :rdf => ~I<http://www.w3.org/1999/02/22-rdf-syntax-ns#>,
  :rdfs => ~I<http://www.w3.org/2000/01/rdf-schema#>,
  :xsd => ~I<http://www.w3.org/2001/XMLSchema#>
})

See default_prefixes/0, if you don't want these standard prefixes to be part of the default prefixes.

Returns whether RDF-star support is enabled.

Link to this function

statement(tuple, property_map \\ nil)

View Source

See RDF.Star.Statement.new/2.

See RDF.Star.Statement.new/3.

See RDF.Star.Statement.new/4.

See RDF.NS.RDF.subject/0.

Checks if the given value is a RDF.Term, i.e. a RDF.IRI, RDF.BlankNode or RDF.Literal.

Examples

Supposed EX is a RDF.Vocabulary.Namespace and Foo is not.

iex> RDF.term?(RDF.iri("http://example.com/resource"))
true
iex> RDF.term?(EX.resource)
true
iex> RDF.term?(EX.Resource)
true
iex> RDF.term?(Foo.Resource)
false
iex> RDF.term?(RDF.bnode)
true
iex> RDF.term?(RDF.XSD.integer(42))
true
iex> RDF.term?(42)
false
Link to this function

triple(tuple, property_map \\ nil)

View Source

See RDF.Star.Triple.new/2.

Link to this function

triple(s, p, o, property_map \\ nil)

View Source

See RDF.Star.Triple.new/4.

Link to this function

turtle_prefixes(prefixes)

View Source

Returns a Turtle encoded list of prefixes.

The prefix_mappings can be given in any format accepted by RDF.PrefixMap.new/1.

Examples

iex> RDF.turtle_prefixes(
...>  rdf: RDF,
...>  rdfs: RDF.NS.RDFS,
...>  xsd: RDF.NS.XSD,
...>  ex1: EX,
...>  ex2: "http://example.com/ns2/")
"""
@prefix ex1: <http://example.com/> .
@prefix ex2: <http://example.com/ns2/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
"""

See RDF.NS.RDF.type/0.

See RDF.IRI.new/1.

See RDF.IRI.new!/1.

See RDF.IRI.valid?/1.

See RDF.NS.RDF.value/0.

Link to this function

write_file(data, filename, opts \\ [])

View Source

See RDF.Serialization.write_file/3.

Link to this function

write_file!(data, filename, opts \\ [])

View Source

See RDF.Serialization.write_file!/3.

Link to this function

write_stream(data, opts)

View Source

See RDF.Serialization.write_stream/2.

Link to this function

write_string(data, opts)

View Source

See RDF.Serialization.write_string/2.

Link to this function

write_string!(data, opts)

View Source

See RDF.Serialization.write_string!/2.