Free, Multiplatform, Portable, Open-source:
- It can be used in any OS platform (Windows, Mac, Linux, ...), running on one of the supported Prolog interpreters.
- Moreover, portable executable applications are provided for Windows, Mac, and Linux.
Interactive:
Based on a command line interpreter, you can play with DES submitting queries, modifying the database, and applying commands.
GUI:
- You can use the Java-based ACIDE 0.8 graphical environment (screenshot) as released in Download.
- It has been configured for Datalog syntax highlighting, command buttons and interactive console, therefore easing its use by decreasing the number of keystrokes (It applies to executable distributions).
Emacs-enabled:
Query languages:
- Enjoy the power of deductive databases using Datalog, Extended Relational Algebra and SQL, all of them recursive.
- Share a common database of relations which can be defined with any of these languages, and query it with any of them too!
Live project:
Stable system:
Popular system:
Database updates:
Null values:
Outer joins:
If nulls are allowed, why not use outer joins: left, right and full outer joins for both SQL and Datalog?
Aggregates:
- Summarize with count, sum, min, max, avg, and times for SQL, RA and Datalog.
- Find both predicate and functions versions of Datalog aggregates.
- Group data sets and filter with aggregates.
- Quickly build groups on-the-fly with Datalog auto-grouping.
Multisets:
Enable or disable duplicates in both Datalog and SQL processing. Discard duplicates with distinct/1 and distinct/2
Relational database access via ODBC:
ODBC sources of data can be seamlessly accessed. Connect DES to any DBMS supporting such connections (MySQL, MS Access, Oracle, ...).
Negation:
Novel hypothetical SQL queries:
Integrity constraints:
- Domain
- Types
- Primary keys
- Referential integrity
- Functional dependency
- User-defined strong constraints
- Enable or disable constraint checking
Declarative debugging of Datalog programs:
Did you ever looked for a working declarative debugger? Debug towards intended semantics rather than procedural semantics!
Test case generation for SQL views:
Try this prototype for working with views over large tables and test them with the test cases, not with the actual tables!
Full-fledged arithmetic:
Write arithmetical expressions with a wide set of arithmetical functions, operators and constants.
Type system for Datalog rules and SQL tables and views:
Source-to-source program transformations:
- Safety. Enable safe transformations to execute safe rules. Experiment with unsafe rules.
- Performance. Enable simplifications to speed-up computations.
- Built-ins. Programs with outer join calls are transformed in order to be computed by the underlying tabled, fixpoint method.
Tabling-based implementation:
Development mode:
Pretty-printers:
For SQL, RA and Datalog programs. Feel free to enable or disable pretty-print.
Batch execution:
Connect DES to the outside world:
- Plug DES to a host system via standard streams.
- Try the new TAPI as released since version 2.5