Keywords

1 Introduction

Ontologies are powerful, yet often complex, assets for representing, exchanging, and reasoning over data. Particularly, OWL 2 ontologies [4] have been key for constructing semantic knowledge graphs (e.g., [7, 8]). A knowledge graph describes real world entities and their interrelations [17]. They have been used both in academia, such as Yago [3] and DBpedia [9], and in industry such as Google’s Knowledge Graph, Facebook’s Graph Search, and Microsoft’s Satori. Semantic knowledge graphs are typically stored or exported as RDF datasets, which allow for storing sparse and diverse data in an extensible and adaptable way [16]. Semantics of such datasets are typically encoded in OWL 2 ontologies.

Ability to navigate ontologies is essential for understanding the domain of interest (e.g., visual exploration) [6, 10], its representation, and underlying data; and for supporting various other knowledge engineering tasks such as querying (e.g., query by navigation) [12, 14]. However, it is not straight forward to explore implicit and explicit connections between the classes of an OWL 2 ontology, which is basically a collection of logical axioms. To this end, in this short paper, we describe an approach for projecting the non-hierarchical class topology of an OWL 2 ontology into a graph. This approach has been implemented in two semantic tools, namely OptiqueVQS [11] for visual query formulation and SemFacet [1] for faceted search and evaluated under different use cases.

The rest of the paper is structured as follows. Section 2 presents our graph projection approach from ontologies, while Sect. 3 presents the tools using our approach. Finally, Sect. 4 concludes the paper.

2 Graph Projection

Our goal for graph projection is, given an ontology, to create a directed labelled graph, called navigation graph [1], whose nodes correspond to the named classes and datatypes in the ontology and edges between nodes to the object properties and datatype properties. Let \(C_1, C_2\), and \(C_3\) be classes, \(r_1, r_2\), and \(r_3\) object properties, \(d_1\) a datatype property, \(i_1\) and \(i_2\) individuals, and \(dt_1\) a data type. First, each class and datatype in the ontology is translated to a node in the navigation graph. Then we add edges of the form \(r_1(C_1,C_2)\) and \(d_1(C_1,dt_1)\) derived from the axioms of the ontology. The types of axioms resulting in an edge are presented with examples in the followings using description logic (DL) [2].

Ontologies have a propagative effect on the amount of information to be presented. This case is considered in two forms, namely the top-down and bottom-up propagation of property restrictions [5, 14]. The first form emerges from the fact that, in an ontology, explicit restrictions attached to a class are inherited by its subclasses. The second form is rooted from the fact that the interpretation of an OWL class also includes the interpretations of all its subclasses. Therefore, for a given class, it may also make sense to derive edges from the (potential) object and datatype properties of its subclasses and superclasses.

2.1 Edges Through Object Properties

Domains and Ranges: Domain and range axioms using named classes are translated to an edge. For example, axioms given in Eq. 1 map to edge \(r_1(C_1,C_2)\).

$$\begin{aligned} \exists r_1.\top \sqsubseteq C_1\, \text {and}\, \top \sqsubseteq \forall r_1.C_2 \end{aligned}$$
(1)
$$\begin{aligned} \exists r_1.\top \sqsubseteq C_1\, \text {and}\, \top \sqsubseteq \forall r_1.(C_2 \sqcup C_3) \end{aligned}$$
(2)

If a complex class expression, formed through intersection (\(\sqcap \)) or union (\(\sqcup \)), appears as a domain and/or range, then an edge is created for each pair of domain and range classes. For example, axioms given in Eq. 2 map to edges \(r_1(C_1,C_2)\) and \(r_1(C_1,C_3)\).

Object Property Restrictions: Object property restrictions used in class descriptions, formed through existential quantification (\(\exists \)), universal quantification (\(\forall \)), individual value restriction, max (\( \ge \)), min (\( \le \)), and exactly (\(=\)), are mapped to edges. For example, axioms given in Eqs. 3 to 5 map to \(r_1(C_1,C_2)\). Note that in Eq. 5, there is a complex class expression on the left-hand-side.

$$\begin{aligned} C_1 \sqsubseteq \exists r_1.C_2 \end{aligned}$$
(3)
$$\begin{aligned} C_1 \equiv \, \le _n r_1.C_2 \end{aligned}$$
(4)
$$\begin{aligned} \forall r_1.C_1 \sqsubseteq C_2 \end{aligned}$$
(5)

Axioms given in Eq. 6 include an individual value restriction and an edge is created with the type of individual, that is \(r_1(C_1,C_2)\).

$$\begin{aligned} C_1 \sqsubseteq \exists r_1.\{i_1\} \,,\, \text {and}\, i_1: C_2 \end{aligned}$$
(6)

Axiom given in Eq. 7 includes a complex class expression. In this case, an edge is created for each named class, that is \(r_1(C_1,C_2)\) and \(r_1(C_1,C_3)\).

$$\begin{aligned} C_1 \sqsubseteq \exists r_1.(C_2 \sqcup C_3) \end{aligned}$$
(7)

Given an enumeration of individuals, an edge is created for each individual’s type. For example, axioms given in Eq. 8 map to two edges, that is \(r_1(C_1,C_2)\) and \(r_1(C_1,C_3)\).

$$\begin{aligned} C_1 \sqsubseteq \exists r_1.\{i_1\} \sqcup \{i_2\} \,,\, i_1: C_2 \,,\, \text {and}\, i_2: C_3 \end{aligned}$$
(8)

Inverse Properties: Given an edge in the navigation graph such as \(r_1(C_1,C_2)\) and an inverse property axiom for the corresponding object property such as given in Eq. 9, a new edge is created for the inverse property, that is \(r_1^\_(C_2,C_1)\).

$$\begin{aligned} r_1 \equiv r_1^\_ \end{aligned}$$
(9)

Role Chains: Given two edges \(r_1(C_1,C_2)\) and \(r_2(C_2,C_3)\) in the navigation graph, and a role chain axiom between \(r_1, r_2, r_3\) such as given in Eq. 10, a new edge is created for r3, that is \(r_3(C_1,C_3)\).

$$\begin{aligned} r_1 \circ r_2 \sqsubseteq r_3 \end{aligned}$$
(10)

Top-Down Propagation: Given an edge \(r_1(C_1,C_2)\) in the navigation graph and a subclass axiom such as as given in Eq. 11, a new edge is added to the graph, that is \(r_1(C_3,C_2)\). Similar edges could be created for subproperties.

$$\begin{aligned} C_3 \sqsubseteq C_1 \end{aligned}$$
(11)

Bottom-Up Propagation: Given an edge \(r_1(C_1,C_2)\) in the navigation graph and a subclass class axiom such as given in Eq. 12, a new edge is added to the graph, that is \(r_1(C_3,C_2)\). Similar edges could be created for superproperties.

$$\begin{aligned} C_1 \sqsubseteq C_3 \end{aligned}$$
(12)

2.2 Edges Through Datatype Properties

Domains and Ranges: Domain and range axioms using datatype properties are translated to an edge. For example, axioms given in Eq. 13 map to an edge, that is \(d_1(C_1,dt_1)\).

$$\begin{aligned} \exists d_1.DatatypeLiteral \sqsubseteq C_1\, \text {and}\, \top \sqsubseteq \forall r_1.dt_1 \end{aligned}$$
(13)

Datatype Property Restrictions: Datatype property restrictions, formed through existential quantification (\(\exists \)), universal quantification (\(\forall \)), max (\( \ge \)), min (\( \le \)), exactly (\(=\)), and value are mapped to edges. For example, axiom given in Eq. 14 maps to \(d_1(C_1,dt_1)\).

$$\begin{aligned} C_1 \sqsubseteq \exists d_1.dt_1 \end{aligned}$$
(14)

Top-Down Propagation: Given an edge \(d_1(C_1,dt_1)\) in the navigation graph and a subclass axiom such as as given in Eq. 15, a new edge is added to the graph, that is \(d_1(C_2,dt_1)\). Similar edges could be created for subproperties.

$$\begin{aligned} C_2 \sqsubseteq C_1 \end{aligned}$$
(15)

Bottom-Up Propagation: Given an edge \(d_1(C_1,dt_1)\) in the navigation graph and a subclass class axiom such as given in Eq. 16, a new edge is added to the graph, that is \(d_1(C_3,dt_1)\). Similar edges could be created for superproperties.

$$\begin{aligned} C_1 \sqsubseteq C_3 \end{aligned}$$
(16)

3 Applications

Variants of this approach have been implemented and evaluated in OptiqueVQS [11], a visual query formulation tool, and SemFacet [1], a faceted search tool. Both interfaces support tree-shaped conjunctive queries.

Fig. 1.
figure 1

OptiqueVQS over a use case provided by Siemens.

Fig. 2.
figure 2

SemFacet over Yago database.

OptiqueVQS (see Fig. 1) is a visual query system. It allows users to navigate the conceptual space and each traversal from a class to another adds a typed variable-node and object property connecting it to the query graph. OptiqueVQS was deployed and evaluated in different use cases, including Siemens’ case for sensor data [15], Statoil’s case for oil and gas [11], and on generic datasets [13]. SemFacet (see Fig. 2) is full-fledged general-purpose faceted search interface. In typical faceted search, users are presented with facet-values organised in groups according to facet-names and it is often not allowed to navigate between classes. SemFacet allows end users to navigate between classes and browse data sets at the same time. The interface was deployed and evaluated over a slice of Yago database [1].

4 Conclusions

In this paper, we presented an approach, together with two example applications, for navigating OWL 2 ontologies by projecting them into graphs through harvesting a set of axioms. A future challenge is to enable users to navigate distant classes that are not directly connected but are multiple edges away. We call this non-local navigation, which could be useful for navigating large class networks.