process_rdf(+Input,
:OnTriples, +Options)
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:RDFelements. 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.