rdf_journal_file(?DB,
?JournalFile)True if
File is the absolute file name of an existing named graph
DB. A journal file contains a sequence of Prolog terms of the
following format.4Future versions
of this library may use an XML based language neutral format.
- start(Attributes)
- Journal has been opened. Currently Attributes contains a term
time(Stamp)
.
- end(Attributes)
- Journal was closed. Currently Attributes contains a term
time(Stamp)
.
- assert(Subject, Predicate, Object)
- A triple {Subject, Predicate, Object} was added to the database.
- assert(Subject, Predicate, Object, Line)
- A triple {Subject, Predicate, Object} was added to the database with
given Line context.
- retract(Subject, Predicate, Object)
- A triple {Subject, Predicate, Object} was deleted from the database.
Note that an rdf_retractall/3
call can retract multiple triples. Each of them have a record in the
journal. This allows for‘undo’.
- retract(Subject, Predicate, Object, Line)
- Same as above, for a triple with associated line info.
- update(Subject, Predicate, Object, Action)
- See rdf_update/4.
- begin(Id, Nest, Time, Message)
- Added before the changes in each database affected by a transaction with
transaction identifier
log(Message)
. Id is an
integer counting the logged transactions to this database. Numbers are
increasing and designed for binary search within the journal file.
Nest is the nesting level, where‘0’is a toplevel
transaction.
Time is a time-stamp, currently using float notation with two
fractional digits. Message is the term provided by the user
as argument of the log(Message)
transaction.
- end(Id, Nest, Others)
- Added after the changes in each database affected by a transaction with
transaction identifier
log(Message)
. Id and Nest
match the begin-term. Others gives a list of other databases
affected by this transaction and the Id of these records. The
terms in this list have the format DB:Id.