290 likes | 474 Views
Ontology Development. Kenneth Baclawski Northeastern University Harvard Medical School. Outline. Background on ontologies Ontology development phases Requirements and Analysis Design and Implementation Testing and Validation Maintenance Comparison of ontologies and software Classes
E N D
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School
Outline • 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
Ontologies • 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
Statements 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.
Purposes 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
Criteria 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
Ontology 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.
Classification 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
Some 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)
Ontology Development Phases • Requirements and Analysis • Design and Implementation • Testing and Validation • Maintenance
Requirements 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.
Combined Ontology Ontology1 Ontology2 Common Features Design and Implementation: Patterns and Reuse • Design pattern: Use known patterns • Metaphor: Transform another ontology • Composition: Transform and combine many smaller ontologies
Example 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.
Design 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.
Testing and Validation • Validation of requirements • Consistency checking
Comparison of ontologies and software • Classes • Sets versus templates • Behavior versus set-theory • Properties • Aspects • Logic • Open versus closed
Class: 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.
Derived 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.
Properties • 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.
Logic: 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.
Logic: 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!
Statements • 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.
Statements • 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.
Conclusion • 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.
Some 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