Search code examples
dataloglogiqllogicblox

What is the difference between Datalog and LogiQL?


The LogicBlox database is programmed using the LogiQL language, which is according to their site some sort of variant of Datalog:

Applications are written using the LogiQL language, an extended version of Datalog

What exactly are the differences between Datalog and LogiQL?


Solution

  • LogiQL is indeed a superset of Datalog, adding various features, including:

    • Transaction support
    • An extensional database where facts can be dynamically inserted and removed (i.e. the set of facts is not "static")
    • Entities
    • Aggregations
    • Delta logic to update the extensional database
    • Pulse predicates whose facts are only kept during the lifetime of a transaction
    • Modules, for large-scale application development
    • Support for machine learning and optimization

    There's probably more that I'm forgetting.