What is Datalog?

Datalog is a programming language for logical inference. It is declarative, which means that it states the required result without describing the steps needed in order to achieve it (the engine executing the program is responsible for deciding what these steps should be).

A Datalog program can consist of any number of individual rules representing first-order logic statements. Each rule is like an “IF… THEN…" sentence.


“If X is a person and X is a parent of Y, then Y is a person”

[?Y, rdf:type, :Person] :- [?X, rdf:type, :Person], [?X, :isParentOf, ?Y].

RDFox implements Datalog with extensions such as negation, aggregation and many useful SPARQL functions. It also adds syntax for named graphs and tabular data sources.

What is a knowledge graph?

Why use a graph database?

What is RDF?

What is negation as failure?

Learn more about RDFox

Get yourself a free trial!

Contact us for more detail

Looking for more answers?

From the blog

High performance knowledge graph and semantic reasoning engine.