Title: Ontology Development
1Ontology Development
- Kenneth Baclawski
- Northeastern University
- Harvard Medical School
2Outline
- Background on ontologies
- Ontology development phases
- Requirements and Analysis
- Design and Implementation
- Testing and Validation
- Maintenance
- Comparison of ontologies and software
- Classes
- Relationships
- Logic
- Conclusion
3Ontologies
- Ontology What exists in a domain and how they
relate with each other. - Formal ontology Formal treatment of the concepts
and relationships in a domain. - Simple Example
- Employees work for Companies
- Employees report to Employees
4Statements
An object is an instance of the Employee class.
George is an employee.
An object in the Employee class is linked with
an object in the Company class via the works_for
relationship.
George works for Sony.
An object in the Employee class is linked with
another object in the same class via the
reports_to relationship.
George reports to Adam.
Fred works for a company.
George says that Fred works for Toyota.
Fred reports to two other employees.
Fred must report to a another employee.
5Purposes of Ontologies
- Basis for communication
- Between people (may be informal)
- Between agents (formal ontologies)
- Applications
- Representing and storing data (e.g., DB schema)
- Knowledge sharing within and between domains
- Search and retrieval
- Software development
- Classification and organization of data resources
- Establishing contracts
- Policy enforcement
6Criteria for Introducing Ontologies
- Large amounts of data
- Data available on the Web
- Data acquired or generated by new techniques
- Complex data structures
- Inheritance, containment and other hierarchies
- Many relationships
- Diverse sources
- Many legacy systems
- Sources on the Web using different formats
- Requirement for formal proofs
- Contracts and policy enforcement
7Ontology Development Today
- The ideal is for the tools to be based on
methodologies and processes. - The reality is the reverse methodologies are
based on the tools. - Opportunity The lack of good ontology
development processes and methodologies - Thesis Given that formal ontologies are a form
of software, software development methodologies
can be adapted to serve ontology development.
8Classification of Ontology Languages
- Logical languages
- First order predicate logic
- Rule based logic
- Description logic
- Frame based languages
- Similar to relational databases
- Graph based languages
- Semantic networks
- Analogy with the Web is rationale for the
Semantic Web
9Some Ontology Languages
- Established languages
- Knowledge Interchange Format (KIF)
- XML Schema (XSD)
- Resource Description Framework (RDF)
- XML Topic Maps (XTM)
- Emerging languages
- Common Logic
- Web Ontology Languages (OWL)
- Ontology Definition Metamodel (ODM)
10Ontology Development Phases
- Requirements and Analysis
- Design and Implementation
- Testing and Validation
- Maintenance
11Requirements and Analysis
- Least understood of all phases
- Direct involvement by stakeholders is essential,
but how? - Specifying the scope is important, but not all
languages support it. - Point of view is also relevant.
- These phases offer significant opportunities for
new methodologies and processes.
12Design and Implementation Patterns and Reuse
- Design pattern Use known patterns
- Metaphor Transform another ontology
- Composition Transform and combine many smaller
ontologies
13Example of ontology composition
Fuzzy Geographic Ontology
Geographic Ontology
Fuzzy Logic
Boolean Logic
- The arrows are theory morphisms in the category
of theories. - The composition is the colimit the theories are
combined such that the common features are
equivalent. - The composition not only allows one to express
fuzzy geographic statements but also to propagate
uncertainty from base facts (observations) to
derived facts via rules.
14Design and Implementation Refactoring
- Move methods from one class to another (for
example, from subclasses to superclasses). - Reification and unreification changing
relationships into classes or vice versa. - Metalevel shifting (for example, reflection)
- Refactoring adjusts ontological commitment.
- Refactoring is useful at the design,
implementation and maintenance phases.
15Example of Refactoring
16Example of Reification
17Testing and Validation
- Validation of requirements
18Comparison of ontologies and software
- Classes
- Sets versus templates
- Behavior versus set-theory
- Properties
- Aspects
- Logic
- Open versus closed
19Class Set or Template
- Object-oriented classes are templates. They
allow one to construct objects with specified
features. - Formal ontological classes are sets which can be
defined in terms of other classes, attributes and
associations.
20Derived class example
- When the age of a person is updated, membership
in the Teenager class may also be changed. - When testing for membership in a class, one
should use isCompatibleWith or isConsistentWith
rather than instanceof.
21Class Set-theory or Behavior
22Properties
- Property is a general term for attributes and
associations. - Are properties first class or second class?
- First class properties are an example of an
aspect a feature that cuts across class
boundaries. - First class properties are part of UML2.0.
23Logic Open versus Closed
- Open (monotonic) logic gives different answers to
queries than a closed logic.
- Suppose that Fred is just an employee
- Closed world violates constraint
- Open world Fred works for a company, but the
company is not known.
24Logic Open versus Closed
- Suppose that Fred works for both Sony and IBM
- Closed world violates constraint
- Open world Sony and IBM are the same company!
25Statements
- Fred works for a company.
- The Fred object is an instance of the class of
employees who work for at least one company. - Fred reports to two other employees.
- The Fred object is an instance of the class of
employees who report to exactly two employees. - The Fred object is an instance of the class of
employees who do not report to themselves.
26Statements
- Fred must report to a another employee.
- The Fred object is an instance of the class of
employees who report to at least one employee. - The Fred object is an instance of the class of
employees who do not report to themselves. - George says that Fred works for Toyota.
- Homework assignment.
- Hint Use reification.
27Conclusion
- There is a noteworthy lack of methodologies and
process models for ontology development. - Software development methodologies and processes
could be adapted for ontologies. - However, many challenges remain to be solved.
28Some of my efforts toward adapting software
development for ontologies
- Extend UML to support ontologies
- The UML has approved some of my suggestions
- Direct support for ontology development by CASE
tools - The OMG has issued an RFP
- Four initial submissions have been presented.
- Use cases are being developed
- Transformations between formal languages
- The OMG has issued an RFP
- Six submissions are at the revised submission
stage. - Several products already exist