Specs and architecture · a narrow Prolog for databases
A cut-down Prolog for querying data: the same facts and inference rules, but without the features that let a program run forever. So any Datalog query over finite data is guaranteed to finish and give an exact answer. It is an example of a narrow language: you can’t write any program in it, but you can answer exactly about its programs. Datalog-like languages are used in code analysis and access rules.