Release Notes

Version 5.0.1 of DES adds to previous version (5.0):

  • Enhancements:
    • Fuzzy answer subsumption prunes both computation and space by dismissing equal tuples with lesser approximation degrees
    • Fuzzy equations with degree 0 resulting from t-closure are no longer stored
    • PDG and strata updated rather than reconstructed for queries modifying the database (autoviews, SQL queries, ...)
    • New syntactic disequality operator \==, which does not evaluate its operands by contrast to \=
    • Added timings to command execution (enabled with the command /timing on)
    • Added the sizes of both the extensional and call tables to statistics (enabled with /statistics on and displayed when verbose output is also enabled with /verbose on)
    • New commands:
      • /csv FileName Enables semicolon-separated csv output of answer tuples. If FileName is off, output is disabled. If the file already exists, tuples are appended to the existing file.
      • /db_rules Display the number of rules in the database. It includes all the rules that can be listed in development mode (including compilations to core Datalog). Therefore, a number greater than the user rules can be displayed. The system flag $db_rules$ is updated each time this command is executed
      • /display_statistics Display whether statistics display is enabled
      • /display_statistics Switch Enable or disable statistics display (on or off, resp., and disabled by default). Enabling statistics display also enables statistics collection, but disabling statistics display does not disable statistics collection. Statistics include numbers for: Fixpoint iterations, EDB (Extensional Database - Facts) retrievals, IDB (Intensional Database - Rules) retrievals, ET (Extension Table) retrievals, ET lookups, CT (Call Table) lookups, CF (Complete Computations) lookups, ET entries and CT entries. Individual statistics can be displayed in any mode with write commands and system flags (e.g., /writeln $et_entries$)
      • /fuzzy_answer_subsumption Display whether fuzzy answer subsumption is enabled
      • /fuzzy_answer_subsumption Switch Enable or disable fuzzy answer subsumption (on or off, resp. and enabled by default). Enabling fuzzy answer subsumption prunes answers for the same tuple with less approximation degrees, in general saving computations
      • /list_t_closure Relation List the t-closure of the relation Relation as fuzzy equations of the form X Relation Y=D, meaning that the symbol X is similar to the symbol Y with approximation degree D.  Can be used as a directive
      • /set_var Var Value Set the user variable Var to Value
      • /t_closure_entries Synonym for /t_closure_entries ~
      • /t_closure_entries Relation Display the number of entries in the t-closure of Relation. The system flag $t_closure_entries$ is updated each time this command is executed
  • Changes:
    • Enabling statistics does not automatically show statistics unless statistics display is enabled
    • Removing the reflexive property does not imply antireflexivity
    • Unquoted output for write family of commands
    • Command /external_pdg moved to section Dependency Graph and Stratification
  • Fixed bugs:
    • PDG and strata were not updated when asserting e-clauses in DES expansion
    • A solve assertion during consulting needs to update PDG and strata
    • The command /ashell didn't accept arguments separated by blanks
    • The command /system didn't accept general Prolog terms as goals
    • The command /if raised an exception
    • Some command arguments were not parsed in uppercase
    • Date and time type error conversions with type casting enabled
    • The test null=<null succeeded
    • Some SQL expressions and function arguments were not type checked
    • Optional left parenthesis in CREATE TABLE statements surrounding LIKE and AS specifications were placed incorrectly
    • CREATE TABLE ... AS was not parsed

    Previous versions