Efficient Handling of SPARQL OPTIONAL for OBDA

author: Benjamin Cogrel, Free University of Bozen-Bolzano
published: Nov. 22, 2018,   recorded: October 2018,   views: 2820


Related Open Educational Resources

Related content

Report a problem or upload files

If you have found a problem with this lecture or would like to send us extra material, articles, exercises, etc., please use our ticket system to describe your request and upload the data.
Enter your e-mail into the 'Cc' field, and we will keep you updated with your request's status.
Lecture popularity: You need to login to cast your vote.


OPTIONAL is a key feature in SPARQL for dealing with missing information. While this operator is being used extensively, it is also known for its complexity, which can make it challenge to evaluate queries with OPTIONAL efficiently. In this paper, we tackle this challenge in the standard Ontology-Based Data Access (OBDA) setting, where the data is stored in a SQL relational database and is exposed as a virtual RDF graph by the means of an R2RML mapping. We start with a succinct translation of a fragment of SPARQL into Relational Algebra (RA) that fully respects bag semantics and three-valued logic. This translation relies on extensive use of the LEFT JOIN operator and coalesce function. We then propose a number of optimisation techniques for reducing the size and improving the structure of generated SQL queries. Our optimisations capture interactions between JOIN, LEFT JOIN, coalesce and database integrity constraints such as attribute nullability and uniqueness, and foreign key constraints. Finally, we empirically verify effectiveness of our techniques over several OBDA benchmarks.

See Also:

Download slides icon Download slides: iswc2018_cogrel_efficient_sparql_obda_01.pdf (368.9┬áKB)

Help icon Streaming Video Help

Link this page

Would you like to put a link to this lecture on your homepage?
Go ahead! Copy the HTML snippet !

Write your own review or comment:

make sure you have javascript enabled or clear this field: