You might want to check out Grakn (https://github.com/graknlabs/grakn/) - its query language is an implementation of recursive datalog with negation and comes with lazy execution. I am one of its developers.
33 karma · joined September 13, 2016
$x has name 'Bob'; ($x, $y) isa lives; $y has name 'tx';
Disclaimer: I am one of the maintainers.
match $x isa person, has firstname 'Titus';