VLog

From International Center for Computational Logic

VLog

A fast, highly scalable rule engine for existential rules and Datalog.


People

Projects

Research Groups

VLog (Vertical Datalog) is a rule engine that supports reasoning over Horn existential rules and, implicitly, Datalog. It uses a novel strategy based on a vertical storage architecture [1], which exhibits a state-of-the-art performance, distinguishing itself by excellent memory footprint and scalability [2].

The engine applies a bottom-up strategy for existential rules, supporting the two most studied materialisation algorithms: the Skolem and the Restricted (Standard) Chase. The latter is recommended for use, as it leads to termination in more cases.

VLog can be used for query answering, federated reasoning and data integration. It allows the use of multiple datasources at the same time, of various types (RDF stores, CSV files, OWL ontologies and remote SPARQL endpoints).

VLog is open-source, and it provides two main tools for such reasoning tasks:

  • the core C++ reasoner VLog (https://github.com/karmaresearch/vlog), which is a command-line client with an interactive web interface that provides graphical representations of each rule executions, useful for tracing and debugging rule programs. The pre-compiled binaries can be obtained via Docker (karmaresearch/vlog), which facilitates a platfom-independent use.
  • the Java API VLog4j (https://github.com/knowsys/vlog4j), which integrates the core reasoner for all major OSs, allowing an easy embedding into other applications, and providing additional functionality. It comprises of multiple Maven modules (org.semanticweb.vlog4j): vlog4j-core provides essential data models for rules and facts, and essential reasoner functionality; vlog4j-owlapi supports converting rules from OWL ontology using the OWL API; vlog4j-rdf supports loading data from RDF files; and vlog4j-examples demonstrates the use of above functionality.


[1] Urbani, J., Jacobs, C., Krötzsch, M.: Column-oriented Datalog materialization for large knowledge graphs. In: Proc. 30th AAAI Conf. on Artificial Intelligence (AAAI’16). pp. 258–264. AAAI Press (2016)

[2] Urbani, J., Krötzsch, M., Jacobs, C., Dragoste, I., Carral, D.: Efficient model construction for Horn logic with VLog: System description. In: Proc. 9th Int. Joint Conf. on Automated Reasoning (IJCAR’18). LNAI, Springer (2018)