Overview
Graal is dedicated to ontology-mediated query
answering. This task consists of computing the answers to a (conjunctive) query over a knowledge base composed of facts (data) and an ontology, given as a set of existential rules.
Graal is composed of eight modules:
- Core: implements the fundamental
classes such as Atom, AtomSet, Rule, ConjunctiveQuery …;
- IO: provides readers from or
writers to textual formats;
- Store: allows access to different kinds of
storage systems;
- Homomorphism: implements
algorithms to query data;
- Forward Chaining:
implements forward chaining (aka chase) algorithms;
- Backward Chaining:
implements query rewriting algorithms;
- Rule Set Analyser:
provides tools to analyse structural properties of a
rule set;
- KB: provides a Knowledge Base
layer using previous modules to answer queries.