Abstract
The full paper is published at the Resource Track of ISWC 2020 [14] VKG. The Virtual Knowledge Graph (VKG) approach, also known in the literature as Ontology-Based Data Access (OBDA) [8,12], has become a popular paradigm for accessing and integrating data sources [13]. In such approach, the data sources, which are normally relational databases, are virtualized through a mapping and an ontology, and presented as a unified knowledge graph, which can be queried by end-users through a vocabulary they are familiar with. At query time, a VKG system translates user queries over the ontology to SQL queries over the database. This approach frees end-users from the low-level details of data organization, so that they can concentrate on their high-level tasks. As it is gaining more importance, the VKG paradigm has been implemented in several systems [1,2,9,11] and adopted in a wide range of use cases. Here, we present the latest major release, Ontop v4, of a popular VKG system. Ontop v1. The development of Ontop has spanned the past decade. Developing such a system is highly non-trivial and requires both a theoretical investigation of the semantics and strong engineering efforts to implement all the required features. Ontop started in 2009, only one year after the first version of SPARQL had been standardized, while OWL 2 QL [6] and R2RML [4] appeared 3 years later, in 2012. At that time, the VKG research focused on union of conjunctive queries (UCQs) as a query language. With this target, Ontop v1 relied on non-recursive Datalog as its core data structure [10] because it perfectly fit the UCQ-based setting. The development of Ontop was boosted by the EU FP7 project Optique (2013–2016), during which the compliance with the relevant W3C recommendations became a priority, and significant progress was made in this direction. The last release of Ontop v1 was v1.18 in 2016 [1]. New challenges. A natural requirement that emerged during the Optique project were aggregates introduced in SPARQL 1.1 [5]. The Ontop development team spent a major effort, internally called Ontop v2, on implementing this