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