RDF (RDF.ex v0.9.0) View Source
The top-level module of RDF.ex.
RDF.ex consists of:
- modules for the nodes of an RDF graph
- the
RDF.Literal.Datatype
system - a facility for the mapping of URIs of a vocabulary to Elixir modules and
functions:
RDF.Vocabulary.Namespace
- modules for the construction of statements
- modules for collections of statements
- functions to construct and execute basic graph pattern queries:
RDF.Query
- functions for working with RDF serializations:
RDF.Serialization
- behaviours for the definition of RDF serialization formats
- and the implementation of various RDF serialization formats
This top-level module provides shortcut functions for the construction of the basic elements and structures of RDF and some general helper functions.
For a general introduction you may refer to the guides on the homepage.
Link to this section Summary
Functions
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.
See RDF.Graph.new/0
.
See RDF.IRI.new/1
.
Checks if the given value is a RDF literal.
See RDF.NS.RDF.nil/0
.
Checks if the given value is a RDF resource.
See RDF.NS.RDF.rest/0
.
A fixed set prefixes that will always be part of the default_prefixes/0
.
Checks if the given value is a RDF term.
See RDF.NS.RDF.type/0
.
See RDF.IRI.new/1
.
Link to this section Functions
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
See RDF.Dataset.new/0
.
See RDF.Dataset.new/1
.
See RDF.Dataset.new/2
.
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/"
}
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
Returns the default_prefixes/0
with additional prefix mappings.
The prefix_mappings
can be given in any format accepted by RDF.PrefixMap.new/1
.
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.LangString.new/2
.
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 a RDF literal.
See RDF.NS.RDF.nil/0
.
See RDF.NS.RDF.object/0
.
See RDF.PrefixMap.new/1
.
See RDF.Quad.new/1
.
See RDF.Quad.new/4
.
Checks if the given value is a RDF resource.
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
.
A fixed set prefixes that will always be part of the default_prefixes/0
.
%RDF.PrefixMap{
map: %{
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.
See RDF.NS.RDF.subject/0
.
Checks if the given value is a RDF term.
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
See RDF.Triple.new/1
.
See RDF.Triple.new/3
.
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
.