3025 shaares
Datalog is a declarative logic programming language that is a syntactic subset of Prolog. While SQL is designed for querying and manipulating tabular databases, Datalog excels at querying graphs, performing deductive inference, and executing complex recursive algorithms.
A Datalog program consists of two main parts:
- EDB (Extensional Database): The raw data or "facts". Similar to rows in a SQL table.
- IDB (Intensional Database): The logical "rules". Similar to SQL Views, but they can be highly recursive and call each other dynamically.