Ontology Development - Northeastern University

snufflevoicelessInternet and Web Development

Oct 22, 2013 (4 years and 18 days ago)

61 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


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

George is an employee.

An object is an instance of


the Employee class.

George works for Sony.

George reports to Adam.

Fred works for a company.

Fred must report to a another employee.

Fred reports to two other employees.

George says that

Fred works for Toyota.

An object in the Employee class is linked


with an object in the Company class

via the works_for relationship.

An object in the Employee class is linked


with another object in the same class

via the reports_to relationship.

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.

Design and Implementation:
Patterns and Reuse


Design pattern: Use known patterns


Metaphor: Transform another ontology


Composition: Transform and combine many
smaller ontologies


Common Features

Ontology1

Ontology2

Combined Ontology

Boolean Logic

Geographic Ontology

Fuzzy Logic

Fuzzy Geographic Ontology

Example of ontology composition


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.

Example of Refactoring

Example of Reification

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
.

Class: Set
-
theory or Behavior

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