SPARQLT: A Fast, User-Friendly System for Querying the History of RDF Knowledge Bases


There is a growing interest in large scale knowledge bases such as DBpedia and Yago, which play a key role in semantic applications. In reality, large knowledge bases undergo frequent changes. When the information in the real world evolves, the RDF triples stored in the knowledge bases are updated correspondingly by human editors and knowledge management systems. The evolution history of knowledge bases captures and describes the change of real world entities and properties, and thus, it is of great interest to users.

The management of historical information has emerged as a critical problem for RDF knowledge bases, motivating the launching of projects such as DBpedia Live. In this project, we collect the evolution history of RDF knowledge bases and store it in the temporal RDF model. Then we introduce SPARQLT, a temporal extension of SPARQL that can express powerful temporal queries on temporal RDF triples and implement an efficient in-memory query engine for evaluating temporal queries.

Most significantly, our work addresses two main challenges for querying the evolution history of RDF knowledge bases: (i) Usability and (ii) Scalability. For usability, we demonstrate a query interface that allows users who are unfamiliar with knowledge base schema and SPARQLT syntax to query the history of knowledge bases. Casual users can formulate historical queries using existing structured summaries in the web pages. Then our system generates equivalent SPARQLT queries from the interface and executes them in the backend engine. This interface also allows users to browse historical knowledge base by specifying temporal constraints. For scalability, we develop efficient storage and index schemes for temporal RDF triples using multiversion B+ tree (MVBT) and implement a query engine which achieves fast query evaluation by taking advantage of comprehensive indices.

SPARQLT Query Language

Please visit our new demo page for detailed information about query language and examples.

System Architecture

Our system consists of two main components:

(i) the interface that enable users to browse, revise, and search the knowledge and its history.

(ii) the SPARQLT query engine which evaluates SPARQLT queries and delivers the results to the web clients.

Tutorial Video

A tutorial video for SPARQLT interface can be found through this link.


If you are interested in the SPARQLT language and system, feel free to email me or stop by our lab (Boelter Hall 3551).