Ontology-based User Interfaces

Ontology-based User Interfaces – Adaptive Query Filters in OptiqueVQS [PhD Project]


With the increased use of ontology-based data, we need systems that allow users to access the data even if they do not have experience with the relevant query language: SPARQL. One way to do this is by making a visual query interface: an easy-to-use system that allows the users to construct SPARQL queries by combining classes, properties, and filters visually.

OptiqueVQS is such a system. It is not targeted towards a specific domain. Instead, it pulls domain knowledge from the ontology: classes, properties, and the relations between them. This domain-specific information is then used to adapt the user interface in a way that suits the domain: classes from the domain are extracted and listed and property filters are only suggested for classes that have the property.


The user interface of OptiqueVQS. The three-shaped diagram is a representation of the current query with focus on the Company class. The left side lists the possible classes one can connect to Companies, while the right side shows Company-related properties with drop-down lists of possible filters.

In this text, we describe how to detect and disable filters that make the query so restrictive that no data is returned.


After each modification to the constructed query, the system needs to update the list of available filters and disable those that are too restrictive. This task requires that the system executes multiple queries in the background and analyzes the gathered data. This may be time-consuming process, especially if the user is working on a large query that requires many joins.


One way to solve this is by using a pre-constructed index that will help answer these background queries efficiently. A very large index will allow the system to detect every undesirable filter, but it will also require a lot of storage space. Alternatively, one can use a smaller index, but this will not only be able to detect some of the undesirable filters.

The main challenge is then to algorithmically find the optimal index — an index that can detect and remove undesirable filters with relatively high precision without being too costly. This requires deep knowledge about the domain (relationship between classes and properties), the dataset (how much data each included class or property corresponds to), and the users’ information needs, which can be extracted from a representative query log

Our Approach

The search space of possible indices one can select is too large to consider each of them, but we can execute a heuristic-based search to generate a limited collection of high-quality indices, and then we pick the best-performing index from this collection. More specifically, we start with an empty index, and then we expand it iteratively by adding classes and properties to it based on the given heuristic. We use four different heuristics:

  • Random: picking a random expansion.
  • The Greedy Query Weight: picking the expansion that appears most frequently in the query log.
  • Greedy Precision: picking the expansion that leads to the highest immediate raise in precision.
  • Explore: simulating multiple future expansions and picking the one with the highest future expected precision.


The result from our evaluation over Wikidata, presented in Figure on the right, shows that the Exploratory heuristic, which is the most advanced heuristic, beats both greedy methods and the random one. Our method is able to generate multiple indices with both high precision and low cost.

Source Code

The source code of OptiqueVQS is available at https://sws.ifi.uio.no/project/optique-vqs/


This video gives a short introduction to OptiqueVQS: Youtube
Index generation results. The Exploratory heuristic (orange crosses) produces indices with both higher precision and lower cost than both greedy methods (yellow and teal dots) and the random method (red crosses).

Relevant Publications

Ahmet Soylu, Evgeny Kharlamov, Dimitry Zheleznyakov, Ernesto Jimenez Ruiz, Martin Giese, Martin G. Skjaeveland, Dag Hovland, Rudolf Schlatte, Sebastian Brandt, Hallstein Lie, Ian Horrocks. OptiqueVQS: a Visual Query System over Ontologies for Industry. Semantic Web Journal, 2018.

Klungre, Vidar Norstein: Adaptive Query Extension Suggestions for Ontology-Based Visual Query Systems. PhD Thesis (2020).

Klungre, Vidar et al. “Query Extension Suggestions for Visual Query Systems Through Ontology Projection and Indexing”. In: New Generation Computing (Aug. 2019).

Klungre, Vidar et al. “On Enhancing Visual Query Building over KGs Using Query Logs”. In: Semantic Technology (JIST 2018). Ed. by Ichise, Ryutaro et al. 2018, pp. 77–85.

Klungre, Vidar and Giese, Martin. “Evaluating a Faceted Search Index for Graph Data”. In: Proc. On the Move to Meaningful Internet Systems (OTM 2018). Vol. 11230. LNCS. 2018, pp. 573–583.

Klungre, Vidar N. and Giese, Martin. “Approximating Faceted Search for Graph Queries”. In: 12th Intl. Workshop on Scalable Semantic Web Systems (SWSS). Vol. 2179. CEUR-WS, 2018, pp. 61–76.

Klungre, Vidar N. and Giese, Martin. “A Faceted Search Index for OptiqueVQS”. In: Proceedings of the ISWC 2017 Posters & Demonstrations and Industry Tracks. Ed. by Nikitina, Nadeschda et al. Vol. 1963. CEUR Workshop Proceedings. CEUR-WS.org, 2017.



Vidar Klungre, Martin Giese, Ahmet Soylu and Ernesto Jiménez-Ruiz.



This was supported by the SIRIUS Centre for Scalable Data Access (Research Council of Norway, project 237889) and partially by PeTwin project