Abstract
Ontology search is becoming increasingly important as the number of available ontologies on the Web steadily increases. Ontology recommendation is done by analyzing various properties of ontologies, such as syntax, structure, and usage, to find and recommend high-quality matches for a user defined query. Only a few ontology libraries and search engines facilitate this task for a user who wants to find an ontology that models all or some of the concepts she is looking for. In this paper, we introduce
Introduction
Ontologies are a shared conceptualization of knowledge in a particular domain of discourse. However, only if an ontology is reused and thus its conceptualization validated by others it becomes truly a shared conceptualization. The process of reusing existing ontologies is also cost-effective and produces high-quality conceptualization because referring to an established ontological term in another domain of discourse builds an interlinked model of conceptualizations with strong formal semantics. It also facilitates data interoperability on both the syntactic and the semantic level. The growth of available ontologies in vertical domains such as bioinformatics, e-commerce, and the internet-of-things highlights an increasing need for ontology search, which is the process of finding ontologies for users’ defined queries from an ontology collection. To find the relevant ontologies various terms within an ontology, such as classes and properties, are searched and matched to the queries. However, it is often difficult to find the right ontology for a given use case. A user may not know the exact classes or properties and their positions in an ontology (ontological structure) she wants, but requires that the ontology contains a set of resources as its constituents. To mitigate the problem, a schema-less and structure-less keyword-based query is commonly used for ontology search. The problem here is that it is still hard to choose between ontologies that match to such a keyword query. Further, if there is no exact match for a given query string, a subset of the query may be used to find ontologies of interest. However, considering ontology matches for all subsets of the query terms results in a significant number of matches. Consequently, it is often too time-consuming for a user to explore the matched ontologies to find the most suitable one.
Some previous work has tackled the problem of finding and recommending ontologies (Alani et al., 2006; Noy et al., 2009; Noy and d’Aquin, 2012). More recently, a dedicated ontology search engine has emerged (Vandenbussche and Vatant, 2014). Some of the search engines (e.g., Swoogle (Ding et al., 2004)) adopt document ranking algorithms to introduce ranking to their search results; most consider the popularity of terms in the ontology corpus. For this they often use the PageRank algorithm as the ranking factor, which although useful in some cases, as Butt et al. (2014a) showed hinders the visibility of newly emerging, but well-defined ontologies. Moreover, most of the ontology search systems retrieve ontological terms (concepts and relations), and only a few provide ontology search based on a keyword query. Only a few ontology libraries and search engines facilitate the task of ontology retrieval for a user who is looking for an ontology that models all or some of required concepts. Jonquet et al. (2010) proposed a biomedical ontology recommender web service (NCBO) that is one of the most prominent approaches to find an ontology based on the text description. It is also a domain dependent ontology library and does not deal with all types of ontologies. A general solution is required for ontology search based on text descriptions or at least a multi-term query string.
The remainder of the paper is structured as follows. Section 2 discusses related work. Section 3 gives some preliminaries and outlines the
Related work
The Linked open Vocabularies (LOV)1
Several other ranking methods are proposed in the literature and tested on an ontology collection, but are not available online. One such technique, AKTiveRank (Alani et al., 2006) is used in our evaluation as the baseline. The approach uses keyword/s to find the relevant set of ontologies from a semantic Web search engine (i.e. Swoogle (Ding et al., 2004)) and then applies four ranking models (Freeman, 1977; Rada et al., 1989; Spanoudakis and Constantopoulos, 1993) that were originally proposed for graph retrieval or document retrieval, to the task of ranking ontologies. The final rank of an ontology is calculated using fixed weights for each of the four measures. For each query, the weights of all four measures are required to be computed individually to get the maximum performance. However, that is practically impossible to do without applying some other techniques. Alani et al. (2007) present a context-based ontology search approach which finds the most relevant terms, in a given domain, using Wikipedia and outputs results based on the coverage of these terms in an ontology. The approach addresses the problem of ontology search, but not ontology ranking, and thus considers all returned ontologies equally relevant to a query. Tartir and Arpinar (2007) evaluate ontologies related to a particular set of terms and rank them according to a set of metrics. The evaluation of an ontology is made on two dimensions: Schema and Instances. The final relevance score of a candidate ontology is the weighted average of the schema and instance metrics; weights are set based on empirical testing. However, most ontologies in the wild do not have instances which would result in a lower relevance score for those ontologies. Sabou et al. (2006) present an approach that considers a query text, retrieves triples out of the query text, expands query terms by considering their synonyms and hyponyms, identifies the matching ontologies and ranks them for the given query text. The ranking model relies on the generality deviation of a matching ontology from the query triples. The ranking quality heavily depends on the query expansion and triple extraction processes. Wu et al. (2008) proposed an approach for ranking terms within an ontology (i.e. class and properties), but not ontologies themselves. They find the important classes and properties within an ontology.
Some ontology recommendation approaches are specifically designed for biomedical ontologies. For instance, BiOSS (Martínez-Romero et al., 2014), a system for the selection of biomedical ontologies, outputs single or combined matching ontologies for a user specified keywords. BiOSS proposes three evaluation metrics to rank matching ontologies: ‘domain coverage’, ‘semantic richness’, and ‘popularity’. The output matching ontologies are ordered according to the aggregated scores combined from these metrics. Similarly, Jonquet et al. (2010) from the National Center for Biomedical Ontology (NCBO) proposed a biomedical ontology recommender web service to suggest the most appropriate ontologies required to annotate a given biomedical text data. The recommender service recognizes relevant concepts from an ontology repository to annotate the given text data, and then expands the first set of annotations using the UMLS meta-thesaurus and the NCBO ontologies. The relevance of an ontology is computed based on the context and matching terms in that ontology; that mainly depends on the accuracy of the NCBO annotator. The methods proposed by such techniques use some common schema or meta-data to evaluate the ontologies. For example, the former uses the UMLS meta-thesaurus, PubMed, and BioPortal to compute semantic richness and popularity, and the latter uses UMLS meta-thesaurus and NCBO Ontology. However, our approach works without the use of a standard schema or meta-data.
In RecOn, three evaluation metrics are considered i.e.,
Informativeness is considered by entity ranking approaches (Cheng et al., 2011; Meymandpour and Davis, 2013). They adopt Shannon entropy as an informative measure; according to which the least common property, or concept with fewer instances, is more informative. RecOn considers connectivity of a concept as the measure of informativeness as discussed in Section 4.2.2. The relation frequency is taken into consideration for this purpose. Alani et al. (2006) has considered relation frequency as a density measure where four different types of relationships of a concept are identified, and each type is assigned a fixed weight. The final density measure for an ontology is an average density of all its matching concepts. However, in contrast to RecOn, the informativeness is not query-dependent.
Popularity is mostly calculated using PageRank (Patel et al., 2003; Ding et al., 2004), with the difference to RecOn being mostly around what type of relationships are used for the calculation of the PageRank score. OntoKhoj (Patel et al., 2003) assigns fixed weights to three different types of links (owl:imports, rdfs:subClassOf and rdfs:domain/rdfs:range) from one ontology to another ontology and considers the edge (i.e. link) weights in the PageRank execution. Swoogle (Ding et al., 2004) identifies five different types of link categories and assigns different weights to each category to model their probability of being explored. In RecOn we consider all types of links from one ontology to another as a positive vote for the referred ontology.
Coverage is mostly measured concerning the presence of query keywords in an ontology. Some approaches prefer exact matches (Vandenbussche and Vatant, 2014; d’Aquin and Motta, 2011) and others partial matches (Butt et al., 2015a; Sabou et al., 2006; Cantador et al., 2007). Such techniques either enhance query terms using a thesaurus (e.g. Wordnet) by considering synonyms and antonyms (Sabou et al., 2006; Cantador et al., 2007) or assign a fixed weight to each partial match, e.g., Alani et al. (2006) consider a 0.5 weight for each partially matched concept. RecOn, considers Jaccard distance as a label matching cost. It also recognizes a structural matching cost to prefer the ontologies that contain matched concepts in close vicinity.
Also, we consider a combination of the metrics mentioned above for ontology evaluation in a novel way. Most of the existing approaches use either one of the three measures or assign fixed weights to combine more than one evaluation metrics. Butt et al. (2014a) show that none of the commonly used evaluation metrics performs adequately. Moreover, Alani et al. (2006) show that for the optimal performance of an algorithm, the metrics’ weights need to be reset for each user query, which is not a practical solution.
In the following, we first define the terms used throughout the paper and then give a brief overview of the ontology recommendation workflow.
Preliminaries
Figure 1, Fig. 2, and Fig. 3 introduce a motivating example ontology and query that are used throughout this paper.
An ontology here refers to a labelled directed graph based formalisation

An example ontology.

Match patterns for ‘Q’.

Query ‘Q’ and query graph ‘
Based on the description above we define the following functions:
Functions with outputs
Table 1 presents the results of the execution of these functions on the example ontology as shown in Fig. 1. Moreover, we define some terms on graph ‘g’, applicable to all graph based formalizations (e.g., ontology and query graph) used throughout this paper, while Table 2 summarizes the notations used for these terms.
Notations used throughout the paper
A concept set
In Fig. 1, if
(Relation subsumption (
)).
A relation set
Considering Fig. 1, if
(Ontology pattern (
)).
An ontology pattern
The example ontology in Fig. 1 comprises of a set of concepts
(Query graph (
)).
Given a query string
An example three-term query string
(Query match (
)).
A query match
According to the definition, a query match is a partial match for a query graph. Consider an example query
Due to a partial match strategy in RecOn, a query match
(Concept match set (
)).
If a concept
For instance, for a query ‘q’ and query graph ‘

RecOn workflow.
RecOn is implemented as a Java web application that uses Virtuoso as an ontology repository. Figure 4 shows the overall execution flow of RecOn; therefore, four components participate in the ontology recommendation task. Here, a step-by-step explanation of how different RecOn components participate in the recommendation task is given.
This component takes a query string as an input and extracts keywords from the string by stemming and removing stop words. A query graph is generated from the extracted keywords, where each keyword is matched to a node and each node is connected to each other node in a query graph. If a keyword appears several times in the query string, only one corresponding node is created for that keyword in the query graph. A query graph considers each keyword as a single word; however, we look for them as compound words in their matches in the ontologies (cf. Section 4.2.1). The query graph is then used to find the appropriate ontology matches for the query. This component considers a query graph and determines candidate ontologies for the query graph as discussed in Section 4.1. RecOn dynamically maps a query graph to an SPARQL query and retrieves the query matches. RecOn is implemented and tested for the English language only, therefore the SPARQL query is defined to lookup English labels of concepts only (i.e. labels that are defined with an This component preprocesses query matches before evaluating the ontology match set. The labels from each query match are considered, and for each label, the language tag (i.e., ‘ This component orders the matching ontologies in order of their relevance score to the user query and outputs a ranked list of matched ontologies and their concepts.
Ontology recommendation
Based on the functions and definitions above, we now explain our ontology recommendation model.
Given a query string Q and an ontology collection O, the purpose is to find
Ontology retrieval
Given an ontology collection O and a query string Q, to characterise the match of an ontology ‘o’ to Q, we define the candidacy of ‘o’ w.r.t. Q as
For instance, Fig. 3 shows a query graph for a three keyword query string i.e., ‘paper author conference’. The example ontology shown in Fig. 1 contains a query match
A set of all match ontologies in an ontology corpus O for a query Q is referred to as the
Among all the ontologies in the ontology match sets
Matching cost
We consider the matching cost for each ontology For a match ‘ In Eq. (5), Let us consider two query concepts ‘author’ as In In In To combine the structural cost and the label costs of the query fold match, we take the harmonic mean of The cost of an ontology o for Q is the cost of
Informativeness is defined as a measure of knowledge an ontology provides concerning a user query. The informativeness measure is characterized by a feature that an ontology ‘o’ is more informative for a query Q, if a query match
Our algorithm prefers to recommend more informative ontologies, i.e. ontologies that have stronger connections between its concepts. More precisely, the informativeness of an ontology ‘o’ is a measure in terms of the informativeness of the query match
The informativeness of a concept of
Let us suppose that Based on the informativeness of the concepts of a query match, we compute the informativeness of the query match For the example query match The informativeness of an ontology is then measured as the informativeness of a query match it contains for a query Q as shown in Fig. 7.
The popularity of an ontology is measured based on the level of reuse of the ontology in an ontology corpus or based on the size of RDF data populated according to the ontology. In this paper, the popularity of an ontology is measured in terms of its reuse within the ontology corpus. Therefore, we define
In Eq. (11),
In Eq. (12),
Relevance score
Finally, we define the relevance score of an ontology ‘o’ to the query Q, as a function of the matching cost, the informativeness and the popularity of ‘o’ for Q.
According to Eq. (13), ontologies with high informativeness and popularity, and low matching costs are preferred among all matching ontologies
In Eq. (14), the optimization algorithm maximizes the informativeness and popularity of the ontology in the result set, where α and β are the variable sets to combine the two, considering the constraint of the result set size, i.e. k and its matching costs.
We implemented the 2-dimensional knapsack problem as a less optimum greedy algorithm solution. We traded speed for effectiveness since it is important in real-time query execution and as shown in the evaluation, it is still very accurate and easily outperforming existing state of the art. An optimal solution using dynamic programming takes a lot of time but results in an optimal solution, whereas a less optimum greedy solution is efficient, but the results are not optimal. The greedy algorithm first sorts the ontologies in increasing order of their matching cost and then selects the one with high popularity and informativeness. If two of the ontologies have the same matching cost, it prefers the one that is first evaluated for its popularity and informativeness.
Evaluation
In this section, we report on a set of experiments and a user study that we performed to demonstrate the effectiveness and efficiency of
Experimental setup
For our experiments, we use our previously established CBRBench.2
See
For our ontology corpus we use CBRBench ontology collection. This ontology collection is composed of 1011 OWL & RDF(S) ontologies that we use as our ontology corpus. We stored each ontology as a named graph in a Virtuoso database.
Query selection
CBRBench contains ten single-term queries and a gold standard composed of a relevance score for matching concepts to the queries on the task of ontology concept retrieval. CBRBench queries are selected using the query log3
See
Single-term queries proposed in the CBRBench are used as is to evaluate the performance of the ranking algorithms on ontology ranking. For each single-term benchmark query, the relevance score of the matched concepts to the query terms in the gold standard is considered as the relevance of the corresponding ontologies to the query term. The ten single keyword queries used for the evaluation of
Multi-term queries are created to evaluate the effect of the query size on the performance of the algorithm as follows.
First, for each of the ten query terms of CBRBench the top three matching ontologies are considered. This results in a collection of 28 ontologies (some ontologies appear in the top three for more than one query) while for two queries we considered four ontologies because there was a tie for the third-ranked ontology. Each concept in these ontologies is assigned a single-term label by finding the intended type of class using the method proposed by Butt et al. (2014b), e.g., the label “An Organization – a base class for instances of organizations” for a class4
Once each concept has a single-term label, all possible combinations of length 2, 3 and 4 terms are generated for each ontology from the labels of the concepts of the ontology. E.g., a string ‘person & university & student’ is generated by combining the labels of the ‘person’, ‘university’ and ‘student’ classes for the query term ‘
For each combination of concept labels the number of times they occur collectively in the ontology corpus is computed. The most frequently occurring 2, 3 and 4 length concept label combinations are then selected from each ontology. The intuition behind this process is that the more frequently concepts occur together in the ontology corpus, the more related they are (they belong to the same domain of discourse). We could not find a meaningful combination for some multi-term queries because they do not occur together in any other ontology and ended up with 30 additional multi-term queries to evaluate
Query strings derived from benchmark query terms
To evaluate the quality of results produced by
To evaluate the effectiveness, we compare the result set of
To the best of our knowledge,
User study
We conducted a user study to evaluate the effectiveness of the proposed approach as presented in the following sections.
Comparison statistics of
with baselines
Comparison statistics of
We implemented
For the user study, an evaluation tool6

Effectiveness of

Effectiveness of
To derive our results, we considered a positive vote for
Figure 7a shows the effect of the query size on the effectiveness of

In another analysis, we examined the effect of the number of evaluations for a query on the performance of
MAP and NDCG for single term queries
Other than the user study, we also compared our approach to the gold standard available as part of the CBRBench benchmark.
As mentioned in Section 5.1 we consider the rank of a resource in CBRBench, for a given query, as the rank for the ontology this resource belongs to. If more than one matched resources for a query term belong to the same ontology, the highest rank of a matched resource that belongs to the same ontology is assigned as the rank of the ontology for a given query term.
We then measure the Mean Average Precision @ 10 (MAP@10) and Normalized Discounted Cumulative Gain @ 10 (NDCG@10) for all ten single term queries based on the gold standard derived from the CBRBench gold standard.
Table 5 shows the MAP@10 and NDCG@10 of
Scalability analysis
In the final experiment, we demonstrate the scalability of our approach and runtime improvements of
The following experiments are based on varying sized corpora that are randomly sampled from the CBRBench. Since CBRBench contains 1011 ontologies, to generate 10000N corpus we randomly picked an ontology removed one or more of it concepts or relations and added it into 10000N corpus with a different ontology’s URI. The process is repeated until ontology count reaches to 10000N. The ontologies in CBRBench varies in terms of the number of triples they contain. Therefore, a random selection of ontologies for all four corpora has high chances of measurement bias. To minimize the bias, we randomly generated ten samples of each corpus size and recorded the query runtime for all 40 queries on each sample. An average of 40 queries on ten samples is recorded as query execution time for one ontology corpus.
Comparison statistics of
with baselines
Comparison statistics of
Table 6 shows the maximum, minimum and average number of triples for the samples of all 10N, 100N, 1000N and 100000N corpora. The statistics show that samples for each size of ontology corpus vary in the number of triples. A measurement on a single sample may not be the accurate reflection of the performance. Therefore, for all experiments reported in this section, we consider an average of ten samples for an ontology corpus.
We recorded the query execution time for all single-term and multi-terms queries. The experiments are divided into those that measure the query match time i.e., the time it takes to find matched ontologies (as discusses in Section 4.1), and those that measure the top-k recommendation time i.e. time it takes to recommend up to ‘k’ high quality matches for a query. The former are referred to as ‘Query match time’ experiments and the latter as ‘Recommendation time’ experiments. The reasons for this is twofold: 1) query match time is dependent on the underlying RDF store (Virtuoso repository in our implementation), while for 2) for both
The query match time here also contains the connection time with a local Virtuoso repository, which is the same for each query on all different sized ontology corpora. Figure 8a shows the query match time in seconds with varying query size and varying corpus size. The figure shows an increase in the query match time with an increase in the number of ontologies (resp. triples) and query size (i.e., the number of terms in a keyword query). The increase in the query match time is logarithmic with the growth in the number of ontologies/triples in

Query match and recommendation time for different length queries.
Similarly, Fig. 8b show the ontology recommendation time in seconds with varying query size, and varying corpus size, for
From the statistics presented in Section 5.2 and Section 5.3, it is evident that
Similarly, for a single term query strings
Conclusion and future work
In this paper we have presented
