Ontology Development Process v 0.1

Caveat: 

This is work in progress. The process described below was originally designed to develop ontologies using Protégé, a knowledge editor with an intuitive interface that supports a frame based knowledge model. The process is currently being adopted to address description-logic language like DAML+OIL (or OWL). This process may eventually used to develop a requirements document for a DAML+OIL IDE. change log

Credit: 

The original process is derived from Ontology Development 101: A Guide to Creating Your First Ontology, 2001, by N. Noy & D. L. McGuinness

 

 

Process Name: Develop ontology for knowledge-based application

Process Number: 1.0

 

Input/ Pre-condition:

None //

 

Subprocess:

1.1   Identify the domain and the scope of the ontology

1.2   Develop an initial class list

1.3   For each class identify the slots and their constraints

1.4   Perform external review and adjust ontology

1.5   Conduct postmortem and document lessons learned

 

Output/Post-condition:

  • Scope Document
  • Class Dictionary Document with Slot Description
  • Protégé ontology
  • Review and Postmortem document(s)

 

Postmortem:

Lessons learned and PIP: To be filled up immediately after the completion of the process

 

back 

Process Name: Identify the domain and the scope of the ontology

 

Process Number: 1.1

  

Input/ Pre-condition:

None // This is the first step of the process

 

Steps:

1.       Identify the domain that the ontology will model

2.       Identify domain experts

3.       Develop a domain reference list

4.       Develop a narrative of a reference application that the ontology will support

5.       Use the narrative to develop a spectrum of competency questions that the knowledge based system will be able to answer. The questions should have a mix of both simple queries that recalls some facts to more complex queries that require reasoning

6.       Use the output of 1-5 above to identify a few initial descriptions of possible instances of the classes of the ontology. (This is done early on to provide some guidance on deciding on how abstract an ontology should be)

7.     Conduct postmortem and document lessons learned

 

Output/Post-condition:

Scope Document that contains A narrative of a sample application, a list of competency questions and description of some possible instances of the classes.  

 

Postmortem:

Lessons learned and PIP: To be filled up immediately after the completion of the process 


 

Process Name: Develop an initial class list

 

Process Number: 1.2

  

Input/ Pre-condition:

Scope Document

 

 

Steps:

1.       Enumerate terms that describe the domain of the ontology.

2.       For each term develop a one line working definition in the most common language used in the domain

3.       Verify the term definition with the domain expert

4.       Use the competency questions list found in the Scope Document to validate/refine the list

a.       Are the terms too broad?

b.       Do the answers require a particular level of detail or representation of a particular area?

c.       Are we missing terms? Does the ontology contain enough information to answer these types of questions?

5.       Develop a class hierarchy (sub-class super-class).  

// The above will be replaced by the use of a classifier

·         Note: Ignore other relationships (i.e. aggregation etc.)

·         Note: A term defined in terms of another term in the concept document may be an indicator of a sub-class super-class hierarchy.

6.       Enter the hierarchy in Protégé

7.       Revise the instance description based on the new hierarchy

a.       Add some more instances

b.       Modify description of some earlier instances

8.      Conduct postmortem and document lessons learned

 

Output/Post-condition:

  • Class Dictionary Document
  • Initial Protégé ontology

 

 

Postmortem:

Lessons learned and PIP: To be filled up immediately after the completion of the process 

back 

 


 

Process Name: For each class identify the slots and their constraints

 

Process Number: 1.3

  

Input/ Pre-condition:

  • Class Dictionary Document
  • Initial Protégé ontology

 

Steps:

1.       Identify slots. They can be:

a.       Intrinsic properties // like a color of a wine

b.       Extrinsic properties // like the maker

c.       Parts, can be both physical and abstract parts

d.       Relationships to other individuals (other than sub-class –super class)

2.       Identify constraints // possible values

3.       Incorporate it in Protégé

4.       Conduct postmortem and document lessons learned

 

 

Output/Post-condition:

  • Class Dictionary Document with Slot Description
  • Protégé ontology

 

 

Postmortem:

Lessons learned and PIP: To be filled up immediately after the completion of the process 

 

 

back 

  

Process Name: Perform External review and adjust ontology

 

Process Number: 1.4

  

Input/ Pre-condition:

  • Scope Document
  • Class Dictionary Document with Slot Description
  • Protégé ontology

 

 

Steps:

1         Identify reviewer

2         Develop review checklist

3         Collect review feedback and adjust ontology

4.      Conduct postmortem and document lessons learned

 

Output/Post-condition:

  • Review Document

 

 

Postmortem:

Lessons learned and PIP: To be filled up immediately after the completion of the process 

 

 

back