OnToology, a tool for collaborative development of ontologies Ahmad Alobaid 1 , Daniel Garijo 1∗, Marı́a Poveda-Villalón 1 , Idafen Santana-Perez 1 and Oscar Corcho 1 1 Ontology Engineering Group, Universidad Politécnica de Madrid, Spain ABSTRACT In this demo we present OnToology, a tool for developing onto- logies collaboratively using Github. OnToology addresses several steps of the ontology development lifecycle, including documentation, representation, evaluation and publication in a non-intrusive way. 1 INTRODUCTION The rise of collaborative technologies has sped up the development of software on the last decade. When working as a team, it is com- mon to use repositories for software development, open discussions and having a ticketing system that warns and keeps track of the main issues to be solved. Fig. 1: Ontology development life cycle This paradigm is slowly moving towards other domains, like ontology development. Ontologies, like software, require a set of requirements to be stablished and are usually discussed in a group (i.e., CQs) are answered properly and by checking whether the before agreeing on a design decision. Therefore, they benefit hea- ontology follows design patterns and well stablished practices vily from the ticketing system, versioning and decision tracking that for its implementation or not. collaborative environments offer. However, this is often not enough, • Ontology documentation: an ontology is unlikely to be reused as ontologies need to be further documented and published online. unless it is documented properly with examples. This phase Although some tools cover part of these activities e.g. documenta- focuses in producing a human-readable documentation that tion and evaluation, there are no tools that integrate them with a allows users understand the OWL or RDFs file produced during collaborative environment. the implementation phase. In this demo we present OnToology1 a tool for documenting, evaluating, presenting and publishing ontologies developed col- • Ontology publication: in this phase the ontology has been laboratively. Section 2 describes the requirements for developing agreed on and its ready for release. As the aim of the voca- ontologies collaboratively, while Section 3 describes our approach. bularies and ontologies is normally to share the model for its Finally Section 4 describes related work and Section 5 introduces reuse, the ontology is released with its documentation. our efforts for improving the tool. Figure 1 presents an overview of the different phases of the onto- logy development lifecycle. As shown in the figure, this cycle benefits from a collaborative versioning environment that tracks the 2 ONTOLOGY DEVELOPMENT LIFE CYCLE changes made to the ontology, requirements, documentation and Typically, the ontology development process can be divided in diagrams; and keeps a log of the group discussions and decisions several independent activities: made. • Ontology requirements: before committing to implement an ontology, it is advised to write a set of competency questi- ons (CQs) in an ontology requirements specification document 3 COLLABORATIVE CREATION OF ONTOLOGIES as mentioned in NeOn methodology (Suárez-Figueroa et al., WITH ONTOOLOGY 2012), which will be used to test the ontology. OnToology4 is a web-based tool designed to automate part of the • Ontology Implementation: once agreed on the ontology requi- ontology development process in collaborative environments. In rements, one can use an ontology editor such as NeOn-toolkit2 particular, OnToology is designed to work with Github5 , one of or Protégé3 to design the properties and classes of the proposed the most common environments for software development. After ontology. registering a repository to OnToology, developers just push their changes to Github and the tool will produce the documentation (with • Ontology evaluation: the resultant ontology can be evaluated several proposals for diagram representation), evaluation and publi- in two different ways: by checking whether the requirements cation of the ontology in the user’s repository. The phases covered by OnToology are further described below: ∗ To whom correspondence should be addressed: dgarijo@fi.upm.es 1 http://purl.org/net/OnToology 2 http://neon-toolkit.org/ 4 https://github.com/OnToology/OnToology 3 http://protege.stanford.edu/ 5 http://www.github.com/ Copyright c 2015 for this paper by its authors. Copying permitted for private and academic purposes 1 Alobaid et al OnToology of a registered ontology repository and to serve the webpage where repo/login/ontology conf users register their repositories after giving the tool access to the repository. There is another webpage served by the web interface web interface User stored repo/ontology conf where users can log into and configure their ontology. The configu- ontology conf/login ration file of an ontology is used by OnToology to enable/disable the repo/login generation of each of the tools. push notification Github The integrator talks to four systems: AR2DTool, Widoco, OOPS! database and Github. The first three systems are used by OnToology to Documentation produce the diagrams, the HTML documentation and an evalua- request to run the tools tion report respectively. The integration with Github consists on repo state Diagram Doc clone/pull... (AR2DTool) cloning the repository, adding OnToology user as a collaborator, creating webhooks (that are responsible for notifying OnToology Integrator generate diagrams of the changes on repository), aggregating the produced files from HTML Doc the integrated systems and submitting them in a pull request to the generate HTML documentation (Widoco) repository, where the maintainer can review the changes and merge them later on. The integrator also opens an issue in Github inclu- ding the summary of the pitfalls generated by OOPS! with a link to generate evaluation Evaluation a full extended explanation. (OOPS!) Fig. 2: OnToology Architecture 4 RELATED WORK Neologism (Cosmin Basca et al., 2008) is a web-based editor for vocabulary editing and publishing. Unlike OnToology, it lacks revi- • Ontology documentation and depiction: OnToology integra- sion tracking and ontology best practice evaluation. VoCol (Niklas tes AR2DTool6 for creating taxonomy and entity relationship Petersen et al.) is another tool integrated with Github for a collabo- diagrams of the ontology and Widoco7 , which helps you to rative approach. The tool suffers from strictness and lack of freedom create a complete HTML documentation by following a series on the generated output, while OnToology provides full control over of steps in a wizard. Widoco is based on LODE (Peroni, S. the generated output. Finally, WebProtégé is a web-based ontology et al., 2012) and guides the user along the documentation pro- editor for the collaborative development of ontologies. WebProtégé cess. It also extracts some of the metadata properties from the is focused on the implementation of the ontologies, which can only ontology, annotates the documentation in RDF-a and creates be edited online. In OnToology, the creation can be done offline as provenance summary that is W3C PROV-O8 compliant. well. WebProtégé also lacks the evaluation of ontologies like the • Ontology Evaluation: OnToology integrates OOPS! (OntO- one provided by OOPS!, which is also used by OnToology. logy Pitfall Scanner!) (Poveda-Villalón et al., 2014), a web based system9 that helps in the evaluation of OWL ontologies 5 CONCLUSIONS AND FUTURE WORK relying mainly on structural and lexical patterns that identify In this demo we have introduced OnToology, a tool for improving pitfalls in ontologies. OOPS! has been designed to detect up the ontology development lifecycle in collaborative environments. to 33 pitfalls among those defined in the catalogue, and has OnToology helps documenting, depicting, evaluating and publi- been used worldwide in different domains. For each ontology, shing. As future work, we are currently working on addressing OnToology will create a single issue in Github with a summary automatic deployment and archival of the ontology releases under of the pitfalls detected by OOPS!, pushing as well an extended demand. explanation to the repository for more information. • Ontology Publication: by using Widoco, OnToology produces ACKNOWLEDGEMENTS a bundle with the documentation that is ready to be deployed on a server. This research has been funded by the project “4V: Volumen, Velo- cidad, Variedad y Validez en la Gestin Innovadora de Datos” OnToology allows developers to customize which of the integrated (TIN2013-46238-C4-2-R). tools are enabled or disabled through a configuration file. 3.1 OnToology Architecture REFERENCES OnToology is composed of two main parts and is integrated with Poveda-Villalón, M., Gómez-Pérez, A., and Suárez-Figueroa, M. C. (2014). Oops!(ontology pitfall scanner!): An on-line tool for ontology evaluation. Inter- four external systems as can be seen in Figure 2. The two main parts national Journal on Semantic Web and Information Systems (IJSWIS), 10(2), of the tool are the web interface and the integrator. The purpose of 7–34. the web interface is to handle Github notifications of the changes Suárez-Figueroa, M.C.; Gómez-Pérez, A; Motta, E.; Gangemi, A. (2012). The NeOn Methodology for Ontology Engineering. 6 Peroni, S., Shotton, D., Vitali, F. (2012). Easy Vocabulary Publishing. Proceedings of https://github.com/idafensp/AR2DTool/ the I-SEMANTICS 2012 Posters & Demonstrations Track, pp. 63-67, 2012 7 https://github.com/dgarijo/Widoco/ Cosmin Basca, Stéphane Corlosquet, Richard Cyganiak, Sergio Fernández and Thomas 8 http://www.w3.org/TR/2013/REC-prov-o-20130430/ Schandl(2008). Neologism: Easy Vocabulary Publishing. 9 http://oops.linkeddata.es/ Niklas Petersen, Lavdim Halilaj, Christoph Lange, and Sören Auer. Neologism: Easy Vocabulary Publishing. 2 Copyright c 2015 for this paper by its authors. Copying permitted for private and academic purposes