Keywords

1 Introduction

So far, Linked Data principles and practices are being adopted by an increasing number of data providers, getting as result a global data space on the Web containing hundreds of LOD datasets [4]. There are already several guidelines for generating, publishing, interlinking, and consuming Linked Data [4]. An important task, within the generation process, is to build the vocabulary to be used for modelling the domain of the data sources, and the common recommendation is to reuse as much as possible available vocabularies [4, 5]. This reuse approach speeds up the vocabulary development, and therefore, publishers will save time, efforts, and resources.

There are research efforts, like the NeOn Methodology [7], the Best Practices for Publishing Linked Data - W3C Working Group Note [5], and the work proposed by Lonsdale et al. [6]. However, at the time of writing we have not found specific and detailed guidelines that describe how to reuse available vocabularies at fine granularity level, i.e., reusing specific classes and properties. Our claim is that this difficulty in how to reuse vocabularies at low fine grained level is one of major barriers to the vocabulary development and in consequence to deployment of Linked Data.

Moreover, the recent success of Linked Open Vocabularies (LOVFootnote 1) as a central point for curated catalog of ontologies is helping to convey on best practices to publish vocabularies on the Web, as well as to help in the Data publication activity on the Web. LOV comes with many features, such as an API, a search function and a SPARQL endpoint.

In this paper we propose an initial set of guidelines for this task, and provide technological support by means of a plugin for Protégé, which is one of the popular frameworks for developing ontologies in a variety of formats including OWL, RDF(S), and XML Schema. It is backed by a strong community of developers and users in many domains. One success on Protégéalso depends on the availability to extend the core framework adding new functionalities by means of plug-ins. In addition, we propose to explore, design and implement a plug-in of LOV in Protégéfor easing the development of ontologies by reusing existing vocabularies at low fine grained level. The tool helps to improve the modeling and reuse of ontologies used in the LOD cloud.

2 Reusing Vocabulary Elements When Building Ontologies

In this section we describe the procedure of reusing available vocabulary terms when building ontologies. In a nutshell, the task of building vocabularies by reusing available vocabulary terms consists of

  • Search for suitable vocabulary terms to reuse from the LOV repository. The search should be conducted by using the terms of the application domain.

  • Assess the set of candidate terms from LOV repository. In this particular case the results coming from LOV repository include a score for each term retrieved.

  • Select the most appropriate term taking into the account its score.

  • Include the selected term in the ontology that has being developed. The selected term will be the external term. There are three alternatives in this case:

    • Include the external term and use it directly in the local ontology by defining local axioms to/from that term in the local ontology.

    • Include the external term, create a local term, and define the rdfs:sub ClassOf or rdfs:subPropertyOf axiom to relate both terms.

    • Include the external term, create a local term, and define the owl:equivalentClass or owl:equivalentProperty axiom to relate both terms.

3 Related Work

The BioPortal Reference PluginFootnote 2 allows the user to insert into the ontology references to external ontologies and terminologies stored in BioPortalFootnote 3. The plugin allows to generate external reference of a selected term. Additionally, the BioPortal Import PluginFootnote 4 allows users to import classes from external ontologies stored in the BioPortal ontology repository. The user can import entire trees of classes with a desired depth and choose which properties to import for each class. However, those plugins work only with Protégé3.x releases and are not ported yet to recent versions.

Most closely related to the ProtégéLOV plugin are approaches that use semantic search engine to support the process of editing an ontology and make large scale knowledge reuse automatically integrated in the tool. An example is the Watson Plugin [2] for the NeOn Toolkit [3], a plugin supporting the NeOn life-cycle management using the Watson [1] APIsFootnote 5. However the similar plugin for ProtegeFootnote 6 is just a proof of concept rather than a real plugin.

4 Linked Open Vocabulaires (LOV)

The intended purpose of the LOV [8] is to help users to find and reuse terms of vocabularies in Linked Open Data. For achieving that purpose, the LOV gives access to vocabularies metadata and terms using programmatic access with APIs. LOVFootnote 7 catalogue is a hub of curated vocabularies used in the Linked Open Data Cloud, as well as other vocabularies suggested by users for their reuse. Some of the three main features of the LOV are for: (1) searching ontologies according to their scope, (2) assessing ontologies by providing a score for each term retrieved by a keyword search and (3) interconnecting ontologies using VOAF vocabularyFootnote 8. The search function uses an algorithm based on the term popularity in LOD and in the LOV ecosystem. The matched resource set for each term should be the value of the (a) rdfs:label (b) rdfs:comment, or (c) rdfs:description property.

Futhermore, the LOV APIs give a remote access to the many functions of LOV through a set of RESTful servicesFootnote 9. The APIs give access through three different type of services related to: (1) vocabulary terms (classes, properties, datatypes and instances), (2) vocabulary browsing and (3) ontology’s creators.

5 ProtégéLOV

ProtégéLOV is an open source tool that provides support to the methodological guidelines described in Sect. 2. It is written in Java programming language as a plugin for the Protégéontology editor. It can be easily installed by just copying the jar file provided at the ProtégéLOV websiteFootnote 10 into the plugins directory of an existing Protégéinstallation. Then upon a new start, the user should select Linked Open Vocabularies item, within the Ontology views menu item.

Currently, ProtégéLOVFootnote 11 provides the following five functionalities:

Fig. 1.
figure 1

Three actions currently available in the plugin after looking up a term in LOV catalogue: (a) reuse it directly, (b) add equivalent axiom and (c) add subEntity axiom

  1. 1.

    Search for a particular term (class or property) in LOV repository. The user selects a particular term from the Class, Object property or Data property navigator. Next, the user switches to the Linked Open Vocabularies View and performs a search on the LOV repository. The system takes as input the selected term, and calls the LOV REST API to get the LOV terms that match the criteria. The plugin provides the following information (if it is available) for each term (1) URI, (2) score, (3) label, (4) local name, and (5) usage note.

  2. 2.

    Reuse directly a particular term from LOV repository. The user selects the reuse directly option. Next, the system replaces the selected term from the Class, Object property or Data property navigator, and replaces by the selected term from LOV.

  3. 3.

    Add the particular term and define the owl:equivalentClass or owl:equivalentProperty axiom. The user selects the add entity and equivalent axiom option. Next, the system includes the new term on the local ontology, and defines owl:equivalentClass or owl:equivalentProperty axiom to relate both terms.

  4. 4.

    Add the particular term and define the rdfs:subClassOf or rdfs:sub- PropertyOf axiom. The user selects the add entity and sub-entity axiom option. Next, the system includes the new term on the local ontology, and defines rdfs:subClassOf or rdfs:subPropertyOf axiom to related both terms.

Figure 1 depicts the three main actions the user can perform.

6 Evaluation

We have conducted an initial user driven evaluation of the tool. For this preliminary evaluation we keep the number of evaluators low; seven ontology engineers used our plugin and gave us an insight on their experience by filling in a questionnaireFootnote 12. The results indicate that while the tool needs some minor improvements, the majority of the evaluators still consider the tool to be useful.

7 Conclusions and Future Work

In this paper we have presented (1) initial guidelines that describe how to reuse available vocabularies at low granularity level, i.e., by reusing specific classes and properties, and (2) a tool that provides technological support by means of a plugin for Protégéthat access LOV API. As future work we plan to fully evaluate the tool and guidelines.

During the demonstration we will show to potential users how to install the plugin and how to quickly build ontologies by reusing terms from LOV repository in Protégé.