Ontology Development

    [Home | Browse | Download | Publications | Tools | What‘s New | About]

    An outline for an ontology development process

    • Use a set of instructions or documents as a source, or write down text in natural language that describes the domain of interest.
    • Use the text as a basis for creating a glossary of natural language terms and definitions
    • Examine the SUMO hierarchy for each term in the glossary. Eliminate terms that are already covered by SUMO definitions. For new definitions add subclass or instance statements to the appropriate leaf term in SUMO
    • Look at the common pitfalls in ontology development. Refer to these examples periodically throughout the development process.
    • Once a preliminary SUO-KIF file has been created, load it into Sigma, along with Merge.kif and all the other ontologies it extends. Run the Sigma Diagnostics to find any errors (which would be at this URL if you are running Sigma locally).
    • Use the information definitions you created in the glossary to guide creation of SUO-KIF axioms. Each class should have at least a subclass statement and a documentation statement. Each relation should have domain statements defining the class membership of its arguments, and be defined as an appropriate type of relation, such as TransitiveRelation. Each term should have at least one rule, that helps to make the term usable for inference. If there are very few things that can be stated about the term, reconsider whether it should be created.
    • Create format and termFormat statements in the language of your choice to support natural language paraphrases in Sigma for the axioms you have written
    • Map the terms in your ontology to WordNet. Use the existing SUMO-WordNet mapping files (if you are mapping to English) and just update the links where needed to point to the more specific terms you have created
    • Load the revised mapping file into Sigma and use the Sigma WordNet Diagnostics to see where the WordNet hierarchy may differ from the formal relationships you have created. The existence of differences is not necessarily bad, but they should be examined and understood.
    • Run the Sigma Consistency Check to find any logical contradictions in your new theory. In future we may develop a capability in the SystemOnTPTP page to use a formal model finder to prove the consistency of a theory or portions of a theory.
    • Publicize your theory and get others to try using and extending it. Peer review is one of the best ways to improve a theory.

    Webmaster