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 term
literal(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.
- [det]rdf_retractall(?Subject, ?Predicate, ?Object, ?Graph)
- As rdf_retractall/3, also matching Graph. This is particulary useful to remove all triples coming from a loaded file. See also rdf_unload/1.
- [det]rdf_update(+Subject, +Predicate, +Object, +Action)
- Replaces one of the three fields on the matching triples depending on Action:
- Changes the first field of the triple.
- Changes the second field of the triple.
- Changes the last field of the triple to the given resource or
- Moves the triple from its current named graph to Graph.
- [det]rdf_update(+Subject, +Predicate, +Object, +Graph, +Action)
- As rdf_update/4 but allows for specifying the graph.