- Loading RDF graphs (consisting of data triples and possibly a schema or ontology) into a relational database; the data will be integer-encoded and indexed.
- Querying the loaded data through conjunctive RDF queries. OntoSQL not only evaluates queries, it answer them, that is: its answers include data explicitly present in the database, as well as data that is only implicitly in the database, and which is due to the explicit data and to the ontology.
OntoSQL supports both materialization (aka saturation), and reformulation-based query answering.
Queries are answered by translating them into SQL and evaluating them through the relational database.
In the presence of an ontology, many possible SQL translations exist, which may lead to very different query evaluation performance! In such cases, OntoSQL automatically enumerates alternatives and picks the one likely to lead to the most efficient evaluation (option JUCQ when querying the data).