The predicates below modify the RDF store directly. In addition, data 
may be loaded using rdf_load/2 or 
by restoring a persistent database using rdf_attach_db/2. 
Modifications follow the Prolog logical update view semantics, 
which implies that modifications remain invisible to already running 
queries. Further isolation can be achieved using
rdf_transaction/3.
- [det]rdf_assert(+Subject, 
+Predicate, +Object)
- Assert a new triple into the database. This is equivalent to
rdf_assert/4 using Graph user. Subject 
and Predicate are resources. Object is either a 
resource or a termliteral(Value). See rdf/3 
for an explanation of Value for typed and language qualified literals. 
All arguments are subject to name-space expansion. Complete duplicates 
(including the same graph and‘line’and with a compatible‘lifespan’) 
are not added to the database.
- [det]rdf_assert(+Subject, 
+Predicate, +Object, +Graph)
- As rdf_assert/3, adding the 
predicate to the indicated named graph.
| Graph | is either the name of a graph (an 
atom) or a term
Graph:Line, where Line is an integer that denotes a line 
number. |  
 
- [det]rdf_retractall(?Subject, 
?Predicate, ?Object)
- Remove all matching triples from the database. As
rdf_retractall/4 using an 
unbound graph. See also
rdf_retractall/4 and rdf_unload/1.
- [det]rdf_retractall(?Subject, 
?Predicate, ?Object, ?Graph)
- As rdf_retractall/3, also 
matching Graph. This is particularly useful to remove all 
triples coming from a loaded file. See also
rdf_unload/1.
- [det]rdf_update(+Subject, 
+Predicate, +Object, ++Action)
- [det]rdf_update(+Subject, 
+Predicate, +Object, +Graph, ++Action)
- Replaces one of the three (four) fields on the matching triples 
depending on Action:
- subject(Resource)
- Changes the first field of the triple.
- predicate(Resource)
- Changes the second field of the triple.
- object(Object)
- Changes the last field of the triple to the given resource or
literal(Value).
- graph(Graph)
- Moves the triple from its current named graph to Graph. This 
only works with rdf_update/5 
and throws an error when used with rdf_update/4.