ConceptBase: Difference between revisions
Content added Content deleted
(Created page with '{{stub}} {{implementation|Datalog}} [http://conceptbase.sourceforge.net/ ConceptBase]') |
No edit summary |
||
Line 1: | Line 1: | ||
{{stub}} |
|||
{{implementation|Datalog}} |
{{implementation|Datalog}} |
||
[http://conceptbase.sourceforge.net/ ConceptBase] |
[http://conceptbase.sourceforge.net/ ConceptBase] |
||
ConceptBase implements Datalog-neg, i.e. Datalog with negation. The computational model mimics Prolog's SLDNF but |
|||
employs so-called tabling for all derived predicates. Tabling is a technique to maintain the extension of finite |
|||
predicates. |
|||
As such Datalog-neg is not a full-fledged programming language. It always terminates, so it cannot compute certain |
|||
functions. ConceptBase extends Datalog in the following ways: |
|||
# Arithmetic on integer and floating point numbers: integer arithmetic is already sufficient to make the resulting language undecidable |
|||
# Recursive function definitions: this allows to define functions like the Ackermann function |
|||
# Active rules: other than Datalog rules, active rules change the state of the database (or memory) |
Revision as of 08:46, 18 September 2013
ConceptBase is an implementation of Datalog.
Other implementations of Datalog.
ConceptBase implements Datalog-neg, i.e. Datalog with negation. The computational model mimics Prolog's SLDNF but employs so-called tabling for all derived predicates. Tabling is a technique to maintain the extension of finite predicates.
As such Datalog-neg is not a full-fledged programming language. It always terminates, so it cannot compute certain functions. ConceptBase extends Datalog in the following ways:
- Arithmetic on integer and floating point numbers: integer arithmetic is already sufficient to make the resulting language undecidable
- Recursive function definitions: this allows to define functions like the Ackermann function
- Active rules: other than Datalog rules, active rules change the state of the database (or memory)