Skip to content
stuckyb edited this page Oct 30, 2017 · 13 revisions

OntoPilot: Software for Ontology Development and Deployment

  1. Introduction
    1. Developing ontologies with OntoPilot
    2. Data reasoning with OntoPilot
  2. OntoPilot documentation

Introduction

Developing ontologies with OntoPilot

OntoPilot is first and foremost a system for managing the development of ontologies. OntoPilot can help automate and simplify many of the complex (and sometimes tedious) tasks that are part of ontology development, from building import modules, to defining new entities, to writing documentation.

A key idea behind OntoPilot is the use of simple, familiar, tabular data formats, such as spreadsheet files or CSV files, to manage the specification and development of an ontology. Ontology components are described as rows in tabular data files, and these files then become the "source code" for "compiling" the ontology. This has multiple benefits, including:

  1. Familiar spreadsheet software, such as Microsoft Excel and LibreOffice Calc, become tools for writing ontologies.
  2. Ontology development is easily modularized by organizing components into separate source files.
  3. Anyone with basic spreadsheet skills can contribute to ontology development without investing a great deal of time in learning specialized ontology editing tools or ontology implementation languages. This makes it much easier for domain experts to directly participate in the process of creating, reviewing, and refining an ontology.

OntoPilot is intended to manage four major tasks in ontology development: 1) importing existing terms from other ontologies; 2) defining new terms in a new ontology; 3) generating release versions of an ontology; and 4) creating documentation for an ontology. An important feature of OntoPilot is its flexibility: you can, to a large extent, pick and choose the pieces of ontology development that you want OntoPilot to manage and the pieces that you'd like to manage in other ways. For more about this, read OntoPilot workflows.

Data reasoning with OntoPilot

OntoPilot can also be used in data ingest pipelines to "pre-reason" raw source data prior to inserting it in a triple store. Why is this useful? The basic problem is that even though the ontologies we use often support sophisticated reasoning, triple store databases typically either do not support complex reasoning tasks or reasoning over large data sets in real time is too slow to be practical. One solution is to reason data before adding it to a triple store. Then, the triple store can be optimized to perform very fast SPARQL queries without inferencing overhead. OntoPilot provides a highly customizable pre-reasoning solution that is easy to integrate with other data processing software.

OntoPilot documentation

For those who are new to OntoPilot and are curious about how it might help them with an ontology development project, I recommend first reading through the "Guide to developing ontologies with OntoPilot". Ideally, you would install OntoPilot on your own machine and follow along with the tutorial, but if you are in a hurry, simply browsing the guide should still give you a good sense for what OntoPilot can do and how it works.

If you are unsure about using OntoPilot for all aspects of ontology development but still interested in using some of its features (e.g., perhaps you'd like to use OntoPilot for managing imports and releases but not for defining new ontology entities), take a look at OntoPilot workflows.

Finally, note that this documentation is a work in progress and still incomplete. Most notably, documentation for using OntoPilot in data ingest pipelines is currently missing.

  1. Guide to developing ontologies with OntoPilot
    1. Install OntoPilot
    2. Create a new ontology project
    3. Define new terms for the ontology
    4. Define the ontology's import modules
    5. Build the ontology
    6. Make a release version of the ontology
    7. Create documentation for the ontology
  2. OntoPilot workflows
  3. Using OntoPilot with version control software
  4. Command-line reference