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