Load RDF data. If this predicate is called a second time
for the same file, it is by default treated as a no-op.
See option =if(changed)
=.
Options provides additional processing options.
Defined options are:
- blank_nodes(+ShareMode)
- How to handle equivalent blank nodes. If
share
(default),
equivalent blank nodes are shared in the same resource.
- base_uri(+URI)
- URI that is used for rdf:about="" and other RDF constructs
that are relative to the base uri. Default is the source
URL.
- concurrent(+Jobs)
- If FileOrList is a list of files, process the input files
using Jobs threads concurrently. Default is the mininum
of the number of cores and the number of inputs. Higher
values can be useful when loading inputs from (slow)
network connections. Using 1 (one) does not use
separate worker threads.
- format(+Format)
- Specify the source format explicitly. Normally this is
deduced from the filename extension or the mime-type. The
core library understands the formats xml (RDF/XML) and
triples (internal quick load and cache format). Plugins,
such as library(semweb/turtle) extend the set of recognised
extensions.
- graph(?Graph)
- Named graph in which to load the data. It is not allowed
to load two sources into the same named graph. If Graph is
unbound, it is unified to the graph into which the data is
loaded. The default graph is a
file://
URL when loading
a file or, if the specification is a URL, its normalized
version without the optional #fragment.
- if(Condition)
- When to load the file. One of
true
, changed
(default) or
not_loaded
.
- modified(-Modified)
- Unify Modified with one of
not_modified
, cached(File)
,
last_modified(Stamp)
or unknown
.
- cache(Bool)
- If
false
, do not use or create a cache file.
- register_namespaces(Bool)
- If
true
(default false
), register xmlns
namespace
declarations or Turtle @prefix
prefixes using
rdf_register_prefix/3 if there is no conflict.
- silent(+Bool)
- If
true
, the message reporting completion is printed using
level silent
. Otherwise the level is informational
. See
also print_message/2.
- prefixes(-Prefixes)
- Returns the prefixes defined in the source data file as a list
of pairs.
- multifile +Boolean
- Indicate that the addressed graph may be populated with
triples from multiple sources. This disables caching and
avoids that an rdf_load/2 call affecting the specified
graph cleans the graph.
Other options are forwarded to process_rdf/3. By default,
rdf_load/2 only loads RDF/XML from files. It can be extended to
load data from other formats and locations using plugins. The
full set of plugins relevant to support different formats and
locations is below:
:- use_module(library(semweb/turtle)). % Turtle and TriG
:- use_module(library(semweb/rdf_ntriples)).
:- use_module(library(semweb/rdf_zlib_plugin)).
:- use_module(library(semweb/rdf_http_plugin)).
:- use_module(library(http/http_ssl_plugin)).
- See also
- - rdf_open_hook/3, library(semweb/rdf_persistency) and
library(semweb/rdf_cache)