Exploits the call-back interface of sgml2pl, calling
OnTriples(Triples, File:Line)
with the list of
triples resulting from a single top level RDF object for each RDF
element in the input as well as the source-location where the
description started.
Input is either a file name or term stream(Stream)
.
When using a stream all triples are associated to the value of the
base_uri
option. This predicate can be used to process
arbitrary large RDF files as the file is processed object-by-object. The
example below simply asserts all triples into the database:
assert_list([], _). assert_list([H|T], Source) :- assert(H), assert_list(T, Source). ?- process_rdf('structure,rdf', assert_list, []).
Options are described with load_rdf/3.
The option
expand_foreach
is not supported as the container may be in
a different description. Additional it provides embedded
:
- embedded(Boolean)
- The predicate process_rdf/3
processes arbitrary XML documents, only interpreting the content of
rdf:RDF
elements. If this option isfalse
(default), it gives a warning on elements that are not processed. The optionembedded(true)
can be used to process RDF embedded in xhtml without warnings.