Martin Kavalar / Jul 16 2019

Soufflé

This is a simple example of Soufflé.

.decl edge(x:number, y:number)
.input edge

.decl path(x:number, y:number)
.output path

path(x, y) :- edge(x, y).
path(x, y) :- path(x, z), edge(z, y).
example.dl
(Custom)
1	2
2	3
edge.facts
(Custom)
1	2
2	3
1	3
paths.csv
(Custom)
souffle -F. -D. example.dl