EN FR
EN FR


Section: New Software and Platforms

GRAAL

Keywords: Knowledge database - Ontologies - Querying - Data management

Scientific Description: Graal is a Java toolkit dedicated to querying knowledge bases within the framework of existential rules, aka Datalog+/-.

Functional Description: Graal has been designed in a modular way, in order to facilitate software reuse and extension. It should make it easy to test new scenarios and techniques, in particular by combining algorithms. The main features of Graal are currently the following: (1) a data layer that provides generic interfaces to store various kinds of data and query them with (union of) conjunctive queries, currently: MySQL, PostgreSQL, Sqlite, in memory graph and linked list structures, (2) an ontological layer, where an ontology is a set of existential rules, (3) a knowledge base layer, where a knowledge base is composed of a fact base (abstraction of the data via generic interfaces) and an ontology, (4) algorithms to process ontology-mediated queries, based on query rewriting and/or forward chaining (or chase), (5) a rule analyzer, which performs a syntactic and structural analysis of an existential rule set, (6) several IO formats, including imports from OWL 2.

Release Functional Description: Version 1.3.0 (2017) fixes some bugs, makes the dlgp parser more flexible (dlgp being our serialization format for existential rules) and improves the efficiency of the forward chaining (chase) algorithms.

Version 1.3.1 (2018) provides minor optimizations and small bug fixes.

News Of The Year: 2018: Version 1.3.1, with small bug fixes and minor improvements. Several new functionalities were developed by internships in 2018 but the code is not integrated to Graal yet. 2017: New stable version (1.3.0) realised. Moreover, Graal website has been deeply restructured and enriched with new tools, available online or for download, and documentation including tutorials, examples of use, and technical documentation about all Graal modules.