4.6 library(semweb/rdf_persistency): Providing persistent storage
AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
    • Packages
      • SWI-Prolog Semantic Web Library 3.0
        • Plugin modules for rdf_db
          • library(semweb/rdf_persistency): Providing persistent storage
            • rdf_attach_db/2
            • rdf_detach_db/0
            • rdf_current_db/1
            • rdf_persistency/2
            • rdf_flush_journals/1
            • Enriching the journals
Availability::- use_module(library(semweb/rdf_persistency)).
Sourcerdf_flush_journals(+Options)
Flush dirty journals. With the option min_size(KB) only journals larger than KB Kbytes are merged with the base state. Flushing a journal takes the following steps, ensuring a stable state can be recovered at any moment.
  1. Save the current database in a new file using the extension .new.
  2. On success, delete the journal
  3. On success, atomically move the .new file over the base state.

Note that journals are not merged automatically for two reasons. First of all, some applications may decide never to merge as the journal contains a complete changelog of the database. Second, merging large databases can be slow and the application may wish to schedule such actions at quiet times or scheduled maintenance periods.