Aggregation is an important feature in query languages such as SQL or SPARQL. It allows one to compute numeric values (such as minimums, maximums, sums, counts or averages) on groups of solutions satisfying certain conditions (e.g., compute an average salary over the group of people working in the accounting department).

Artificial intelligence

A scientific field aiming to understand and build intelligent entities by automating human intellectual tasks.


Fundamental rule language for knowledge representation. A Datalog rule is a logical implication, where both the ""if"" part of the implication (the rule body) and the ""then"" part of the implication (the rule head) consist of a conjunction of conditions. In the context of RDF, a Datalog rule conveys the idea that, from certain combinations of triples in the input RDF graph, we can logically deduce that some other triples must also be part of the graph.

Existential rules

An extension of Datalog rules, where variables in the consequent part of the rule (the rule head) can be quantified using an existential quantifier.

Faceted Search

A prominent approach for querying collections of data items, where users can narrow down the search results by progressively applying filters, called facets. It is the de-facto standard for exploratory search in e-commerce websites.


In a rule or a query, a filter is a construct that restricts satisfying assignments of variables to those for which a given expression evaluates to true.

Graph data

Data strcutured in a graph form. In Computer Science, a graph is a data structure consisting of a set of nodes (also called vertices) together with a set of edges connecting such vertices. For instance, an example of a graph could be a network where nodes represent cities and edges major roads connecting them. In the context of data management, graph data refers to a representation of information where data items are represented as nodes (vertices) in a graph, whereas the edges represent relationships between data items.

Graph database

Database especially designed and optimised for storing and queryng graph data. Graph databases are a type of NoSQL databases, conceived to address some of the limitations of relational databases.


term referring to a process or a system where all the relevant data is stored in main memory (RAM).

Incremental Reasoning

Reasoning performed in response to updates by minimising the amount of recomputations needed.

Knowledge graph

Graph representing data and knowledge about an application domain.

Lock-free parallel inserts

Guarantee provided during data insertion where it is ensured that at least one thread will make progress regardless of the remaining threads; however, threads do occasionally resort to localised locking. Lock-free data structures are resilient to adverse thread scheduling and thus often parallelise better than lock-based ones.


Reasoning technique, which precomputes all triples that logically follow from the input graph and rules in a query-independent way. Both the process of extending the input graph with such newly derived triples and its final output are commonly called materialization. After such preprocessing, queries can be answered directly over the materialization, which is usually very efficient since the rules do not need to be considered any further. Materializations can be large, but they can usually be stored and handled on modern hardware as the available memory is continually increasing.

Memory constrained devices

Devices which have very limited memory available for use.

Multi-core architecture

A multicore architecture places multiple processor cores and bundles them as a single physical processor. The objective is to create a system that can complete more tasks at the same time, thereby gaining better overall system performance.

Negation as failure

Negation-as-failure is a construct in Logic that allows us to make deductions based on information that is not explicitly given. Datalog rules can be extended with Negation-as-failure.

OWL 2 ontologies

An OWL 2 ontology is a formal description of a domain of interest. An OWL 2 ontology consists of a set of axioms, which are true statements about the world involving classes (sets of objects), properties (binary relations between objects) and individuals (concrete objects in the world).


OWL 2 RL is a syntactic subset of the standard ontology language OWL 2 which is amenable to implementation using rule-based technologies.

Parallel reasoning

Reasoning where the workload is distributed between different cores acting in parallel.


Software system capable of storing and querying RDF graphs. Some triple stores are also able to store rules and perform reasoning.


RDFox is a main-memory, scalable, centralized data store that allows users to efficiently manage graph-structured data represented according to the RDF data model and query that data using the SPARQL 1.1 query language. RDFox also enables intelligent information processing by providing means for representing and reasoning with domain knowledge in the form of rules and ontological axioms.


Representational state transfer (REST) is a software architectural style that defines a set of constraints to be used for creating Web services. By using a stateless protocol and standard operations, RESTful systems aim for fast performance, reliability, and the ability to grow by reusing components that can be managed and updated without affecting the system as a whole, even while it is running.


Ability to make logical deductions from the information that is explicitly available.


See "Datalog".


SPARQL is the W3C standard language for querying RDF. SPARQL originally stood for ‘Simple Protocol and RDF Query Language’. However, SPARQL turned out not to be so simple... so the acyronym was changed and the new recursive definition is ‘SPARQL Protocol and RDF Query Language’.


Rule language for the Semantic Web. It provides a standard for representing Datalog rules and using them in conjunction with RDF and OWL ontologies.

Semantic reasoning engine

software system that is able to logically derive new data that follows from the data that is explicitly given and an ontology (given, e.g. as a set of rules or OWL 2 axioms).


In RDF, a triple is a ternary tuple (s,p,o) expressing a directional relationship between two RDF resources: the subject (s) and the object (o) The predicate (p) represents the nature of their relationship.

High performance knowledge graph and semantic reasoning engine.