TriggerGraphs Documentation

TriggerGraphs provides Python bindings to the GLog, a high-performance Datalog engine with support for provenance tracking.

Papers

The trigger graphs architecture is described in:

Quick Example

import triggergraphs as tg

# Create an extensional database
edb = tg.EDBLayer()

# Add facts
edb.add_csv_source("parent", [
    ["alice", "bob"],
    ["bob", "charlie"]
])

# Create a program with rules
program = tg.Program(edb)
program.add_rule("ancestor(X,Y) :- parent(X,Y)")
program.add_rule("ancestor(X,Z) :- parent(X,Y), ancestor(Y,Z)")

# Run reasoning
reasoner = tg.Reasoner("tgchase", edb, program)
stats = reasoner.create_model()

# Query results
tg_graph = reasoner.get_TG()
querier = tg.Querier(tg_graph)
facts = querier.get_all_facts()

Contents