+ All Categories
Home > Documents > Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools...

Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools...

Date post: 14-Jun-2020
Category:
Upload: others
View: 6 times
Download: 0 times
Share this document with a friend
74
Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer Science, University of Manchester, UK 27 January 2009
Transcript
Page 1: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Working Modularly with OWL

Thomas Schneider

School of Computer Science, University of Manchester, UK

27 January 2009

Page 2: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

About the project

Title

Composing and decomposing ontologies: a logic-based approach

People involved/interested

Uli Sattler, Bijan Parsia, Thomas Schneider (Manchester)

Frank Wolter, Boris Konev, Dirk Walther (Liverpool)

Ian Horrocks, Bernardo Cuenca Grau (Oxford)

Carsten Lutz (Bremen)

Page 3: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

And now . . .

1 Why modularity?

2 A reuse scenario

3 Logical background

4 Tools

5 Comparison of modularisation approaches

6 Understanding ontologies via modules

Page 4: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Crash course: ontologies and description logics

Ontology = collection of statements about a domain (axioms)

Language used: usually logic, often description logic (DL)

Inferences can be drawn from axioms

Domains:

biology, medicine, chemistry, business processes, natural language, . . .

Page 5: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Example axioms + inference

Duck︸ ︷︷ ︸class

v ∃ feedsOn︸ ︷︷ ︸property

. Grass︸ ︷︷ ︸class︸ ︷︷ ︸

class

∀x(Duck(x)→ ∃y

(feedsOn(x , y) ∧ Grass(y)

))

Bird ≡ Duck t Chicken

∀x(Bird(x)↔

(Duck(x) ∨ Chicken(x)

))Tweety︸ ︷︷ ︸individual

: Duck Duck(Tweety)

Tweety : Bird

Tweety : ∃feedsOn.Grass

Page 6: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Example axioms + inference

Duck︸ ︷︷ ︸class

v ∃ feedsOn︸ ︷︷ ︸property

. Grass︸ ︷︷ ︸class︸ ︷︷ ︸

class

∀x(Duck(x)→ ∃y

(feedsOn(x , y) ∧ Grass(y)

))Bird ≡ Duck t Chicken

∀x(Bird(x)↔

(Duck(x) ∨ Chicken(x)

))

Tweety︸ ︷︷ ︸individual

: Duck Duck(Tweety)

Tweety : Bird

Tweety : ∃feedsOn.Grass

Page 7: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Example axioms + inference

Duck︸ ︷︷ ︸class

v ∃ feedsOn︸ ︷︷ ︸property

. Grass︸ ︷︷ ︸class︸ ︷︷ ︸

class

∀x(Duck(x)→ ∃y

(feedsOn(x , y) ∧ Grass(y)

))Bird ≡ Duck t Chicken

∀x(Bird(x)↔

(Duck(x) ∨ Chicken(x)

))Tweety︸ ︷︷ ︸individual

: Duck Duck(Tweety)

Tweety : Bird

Tweety : ∃feedsOn.Grass

Page 8: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Example axioms + inference

Duck︸ ︷︷ ︸class

v ∃ feedsOn︸ ︷︷ ︸property

. Grass︸ ︷︷ ︸class︸ ︷︷ ︸

class

∀x(Duck(x)→ ∃y

(feedsOn(x , y) ∧ Grass(y)

))Bird ≡ Duck t Chicken

∀x(Bird(x)↔

(Duck(x) ∨ Chicken(x)

))Tweety︸ ︷︷ ︸individual

: Duck Duck(Tweety)

Tweety : Bird

Tweety : ∃feedsOn.Grass

Page 9: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Reasoning tasks

Inference: Does axiom α follow from ontology O?

Satisfiability:Is there a model of O that interprets class C as nonempty?

Instance checking:Is individual x an instance of C in every model of O?

Inter-reducible; optimised reasoners available

Page 10: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

A case for modularity

Common practice in software engineering

Modular software development allows for:

Importing/reusing modules

Collaborative development

Understanding the code from the interaction between themodules

Wouldn’t it be nice . . .

. . . to have this for ontology development as well?

Page 11: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Three scenarios

Import/reuse

Collaboration Understanding

Page 12: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Three scenarios

Import/reuse

Collaboration Understanding

Page 13: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Scenario 1: Import/reuse

“Borrow” knowledge about certain terms from external ontologies

Provides access to well-established knowledge

Doesn’t require expertise in external disciplines

This scenario is well-understood and implemented.

Page 14: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Scenario 1: Import/reuse

“Borrow” knowledge about certain terms from external ontologies

Provides access to well-established knowledge

Doesn’t require expertise in external disciplines

This scenario is well-understood and implemented.

Page 15: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Scenario 1: Import/reuse

“Borrow” knowledge about certain terms from external ontologies

Provides access to well-established knowledge

Doesn’t require expertise in external disciplines

This scenario is well-understood and implemented.

Page 16: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Scenario 2: Collaboration

Collective ontology development

Developers work (edit, classify) locally

Extra care at re-combination

This approach is understood, but not implemented yet.

Page 17: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Scenario 2: Collaboration

Collective ontology development

Developers work (edit, classify) locally

Extra care at re-combination

This approach is understood, but not implemented yet.

Page 18: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Scenario 2: Collaboration

Collective ontology development

Developers work (edit, classify) locally

Extra care at re-combination

This approach is understood, but not implemented yet.

Page 19: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Scenario 3: Understanding

Visualise the modular structure of an ontology

1,000,000

We’re still playing with this.

Page 20: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Scenario 3: Understanding

Visualise the modular structure of an ontology

We’re still playing with this.

Page 21: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Scenario 3: Understanding

Visualise the modular structure of an ontology

We’re still playing with this.

Page 22: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Summing up

Import/reuse

Collaboration Understanding

Page 23: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Summing up

Import/reuse

Collaboration Understanding

Page 24: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

And now . . .

1 Why modularity?

2 A reuse scenario

3 Logical background

4 Tools

5 Comparison of modularisation approaches

6 Understanding ontologies via modules

Page 25: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

A reuse scenario

Import/reuse one external ontology

How much of Animals do we need?

How to achieve coverage and economy?

Page 26: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

A reuse scenario

Import/reuse one external ontology

Animals

Farm

knowledge about “Bird”

How much of Animals do we need?

How to achieve coverage and economy?

Page 27: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

A reuse scenario

Import/reuse one external ontology

Animals

Farm

knowledge about “Bird”

How much of Animals do we need?

How to achieve coverage and economy?

Page 28: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

A reuse scenario

Import/reuse a part of an external ontology

Animals

Farm

Bird

How much of Animals do we need?

Coverage: Import everything relevant for the chosen terms.

Economy: Import only what’s relevant for them.

How to achieve coverage and economy?

Page 29: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

A reuse scenario

Import/reuse a part of an external ontology

Animals

Farm

Bird

How much of Animals do we need?

Coverage: Import everything relevant for the chosen terms.

Economy: Import only what’s relevant for them.

How to achieve coverage and economy?

Page 30: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

A reuse scenario

Import/reuse parts of several external ontologies

Animals Buildings

Farm

Bird Barn

How much of Animals and Buildings do we need?

How to achieve coverage and economy?

Page 31: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

The Health-e-Child project

Arthropathy

ArthritisAutoimmune

DiseaseRheumatologic

Disorder

Atrophic Arthritis Polyarthritis Rheumatoid Arthritis

Juvenile Chronic Polyarthritis Juvenile Rheumatoid Arthritis

Page 32: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

The Health-e-Child project

NCI

JRAO Galen

Arthropathy

ArthritisAutoimmune

DiseaseRheumatologic

Disorder

Atrophic Arthritis Polyarthritis Rheumatoid Arthritis

Juvenile Chronic Polyarthritis Juvenile Rheumatoid Arthritis

Arthritis diseases

C1

. . .C7

Joints

Drugs

affects

isTreatedBy

Page 33: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

A working cycle

Edit your ontology O

Import a module

?

Page 34: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

A working cycle

Edit your ontology O

Load an external ontology E

Specify terms from E to be reused

Get module from E

Import this module into O

Page 35: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

A working cycle

Edit your ontology O

Load an external ontology E

Specify terms from E to be reused

Get module from E

Import this module into O

Farm

Animals

Animal, feedsOn

Animals′

Farm ∪ Animals′

Page 36: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

A working cycle

Edit your ontology O

Load an external ontology E

Specify terms from E to be reused

Get module from E

Import this module into O

Farm ∪ Animals′

Buildings

DuckHousing, Silo

Buildings′

Farm∪Animals′ ∪Buildings′

Page 37: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

A working cycle

Edit your ontology O

Load an external ontology E

Specify terms from E to be reused

Get module from E

Import this module into O

Module Coverage

Page 38: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Module coverage

Goal: Import everything the external ontology knowsabout the topic that consists of the specified terms.

Page 39: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Module coverage

Goal: Import everything the external ontology knowsabout the topic that consists of the specified terms.

Example 1:

Topic: Fox, Bird, feedsOn

On-topic:

Fox v ∀ feedsOn.Bird

Fox t Bird v ∃ feedsOn.>Bird v ¬Fox

Bird v Bird t Fox

Off-topic:

Duck v Bird

Goal = preserve all on-topic knowledge

Page 40: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Module coverage

Goal: Import everything the external ontology knowsabout the topic that consists of the specified terms.

Question: Which axioms do we need to import?

Page 41: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Module coverage

Goal: Import everything the external ontology knowsabout the topic that consists of the specified terms.

Question: Which axioms do we need to import?

Example 2:

Animal ≡ Bird t Fox

Bird ≡ Duck t Chicken

Duck v ∃ feedsOn.Grass

Chicken v ∃ feedsOn.Worm

Fox v ∃ feedsOn.Bird

Farm

Farm ∪ Animals

|=Animal v ∃ feedsOn.>

Animals

Page 42: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Module coverage

Goal: Import everything the external ontology knowsabout the topic that consists of the specified terms.

Question: Which axioms do we need to import?

Example 2:

Animal ≡ Bird t Fox

Bird ≡ Duck t Chicken

Duck v ∃ feedsOn.Grass

Chicken v ∃ feedsOn.Worm

Fox v ∃ feedsOn.Bird

Farm

6|=Animal v ∃ feedsOn.>

Farm ∪ Animals1

Animals1

Page 43: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Module coverage

Goal: Import everything the external ontology knowsabout the topic that consists of the specified terms.

Question: Which axioms do we need to import?

Example 2:

Animal ≡ Bird t Fox

Bird ≡ Duck t Chicken

Duck v ∃ feedsOn.Grass

Chicken v ∃ feedsOn.Worm

Fox v ∃ feedsOn.Bird

Farm

6|=Animal v ∃ feedsOn.>

Farm ∪ Animals2

Animals2

Page 44: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Module coverage

Goal: Import everything the external ontology knowsabout the topic that consists of the specified terms.

Question: Which axioms do we need to import?

Example 2:

Animal ≡ Bird t Fox

Bird ≡ Duck t Chicken

Duck v ∃ feedsOn.Grass

Chicken v ∃ feedsOn.Worm

Fox v ∃ feedsOn.Bird

Farm

6|=Animal v ∃ feedsOn.>

Farm ∪ Animals3

Animals3

Page 45: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Module coverage

Goal: Import everything the external ontology knowsabout the topic that consists of the specified terms.

Question: Which axioms do we need to import?

Example 2:

Animal ≡ Bird t Fox

Bird ≡ Duck t Chicken

Duck v ∃ feedsOn.Grass

Chicken v ∃ feedsOn.Worm

Fox v ∃ feedsOn.Bird

Farm

Farm ∪ Animals4

|=Animal v ∃ feedsOn.>

Animals3

Page 46: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Module coverage

The module E ′ covers the ontology E for the specified topic Tif for all classes A, B built from terms in T :

if O ∪ E |= A v B,then O ∪ E ′ |= A v B. E

O

E ′

Coverage = preserving entailments

No coverage ; no encapsulation ; no module

With coverage: trade-off minimality↔ computation time

Page 47: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Module coverage

The module E ′ covers the ontology E for the specified topic Tif for all classes A, B built from terms in T :

if O ∪ E |= A v B,then O ∪ E ′ |= A v B. E

O

E ′

Coverage = preserving entailments

No coverage ; no encapsulation ; no module

With coverage: trade-off minimality↔ computation time

Page 48: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

A working cycle

Edit your ontology O

Load an external ontology E

Specify terms from E to be reused

Get module from E

Import this module into O

Module Coverage

Safety

Page 49: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Safety

Goal: Don’t change the meaning of imported terms.= Don’t add new knowledge about the imported topic.

Question: Which axioms are we allowed to write?

Example:

Tweety : Duck,¬Flies

Duck v Bird

Animals

Bird v Flies

Farm

Page 50: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Safety

Goal: Don’t change the meaning of imported terms.= Don’t add new knowledge about the imported topic.

Question: Which axioms are we allowed to write?

Example:

Tweety : Duck,¬Flies

Duck v Bird

Animals

Bird v Flies

Farm

Page 51: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Safety

Goal: Don’t change the meaning of imported terms.= Don’t add new knowledge about the imported topic.

Question: Which axioms are we allowed to write?

Example:

Tweety : Duck,¬Flies

Duck v Bird

Animals

Bird v Flies

Farm

E

Page 52: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Safety

Goal: Don’t change the meaning of imported terms.= Don’t add new knowledge about the imported topic.

Question: Which axioms are we allowed to write?

Example:

Tweety : Duck,¬Flies

Duck v Bird

Animals

Bird v Flies

Farm

E

Farm ∪ Animals |= Bird v Flies

but Animals 6|= Bird v Flies

Page 53: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Safety

Our ontology O uses the imported terms safelyif for all classes A, B built from the imported terms:

If E ′ 6|= A v B,then O ∪ E ′ 6|= A v B, E

O

E ′

Safety = preserving non-entailments

Page 54: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

And now . . .

1 Why modularity?

2 A reuse scenario

3 Logical background

4 Tools

5 Comparison of modularisation approaches

6 Understanding ontologies via modules

Page 55: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Module coverage

The module E ′ covers the ontology E for the specified topic Tif for all classes A, B built from terms in T :

if O ∪ E |= A v B,then O ∪ E ′ |= A v B. E

O

E ′

Coverage = preserving entailments

O may allow “more” interpretations of imported terms than E .

If so, include more “restricting” axioms into E ′.

Finish when all terms /∈ E ′ can be interpreted as ⊥ or >.

Locality says whether this is possible.

Page 56: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Module coverage

The module E ′ covers the ontology E for the specified topic Tif for all classes A, B built from terms in T :

if O ∪ E |= A v B,then O ∪ E ′ |= A v B. E

O

E ′

Coverage = preserving entailments

O may allow “more” interpretations of imported terms than E .

If so, include more “restricting” axioms into E ′.

Finish when all terms /∈ E ′ can be interpreted as ⊥ or >.

Locality says whether this is possible.

Page 57: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Notions of covering modules

Minimal coverage-providing modules

based on conservative extensionshard to compute (intractable/undecidable)

Locality-based modules

based on the above considerationsnot minimal, hard to compute

Modules based on syntactic locality

not minimal, easy to compute (tractable)

Computation:

T ← topic; M ← ∅While there is non-local axiom α w.r.t. T ∪ sig(M) do:

M ← M ∪ {α}

extended topic

We often extract the >-module of the ⊥-module of E .

Page 58: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Notions of covering modules

Minimal coverage-providing modules

based on conservative extensionshard to compute (intractable/undecidable)

Locality-based modules

based on the above considerationsnot minimal, hard to compute

Modules based on syntactic locality

not minimal, easy to compute (tractable)

Computation:

T ← topic; M ← ∅While there is non-local axiom α w.r.t. T ∪ sig(M) do:

M ← M ∪ {α} extended topic

We often extract the >-module of the ⊥-module of E .

Page 59: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Notions of covering modules

Minimal coverage-providing modules

based on conservative extensionshard to compute (intractable/undecidable)

Locality-based modules

based on the above considerationsnot minimal, hard to compute

Modules based on syntactic locality

not minimal, easy to compute (tractable)

Computation:

T ← topic; M ← ∅While there is non-local axiom α w.r.t. T ∪ sig(M) do:

M ← M ∪ {α} extended topic

We often extract the >-module of the ⊥-module of E .

Page 60: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

And now . . .

1 Why modularity?

2 A reuse scenario

3 Logical background

4 Tools

5 Comparison of modularisation approaches

6 Understanding ontologies via modules

Page 61: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Module extraction in Protege 4

Nightly build:

http://owl.cs.manchester.ac.uk/2008/iswc-modtut/equinox.zip

Realises import scenario

Provides coverage via locality-based modules

Will soon provide safety too . . .

To be released as Protege 4 plugin in the near future

(Thanks to Matthew Horridge.)

Page 62: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Web-based module extraction

http://owl.cs.manchester.ac.uk/modularity

Page 63: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Web-based module extraction

http://owl.cs.manchester.ac.uk/modularity

Try it! ,

Ontology: http://www.co-ode.org/ontologies/pizza/pizza.owl

Signature “Pizza”, “VegetarianPizza”, or “Country”

Select “Show axioms view”

(Thanks to Matthew Horridge.)

This tool currently ignores non-logical axioms (annotations etc.).

Page 64: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

And now . . .

1 Why modularity?

2 A reuse scenario

3 Logical background

4 Tools

5 Comparison of modularisation approaches

6 Understanding ontologies via modules

Page 65: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Comparison of different approaches

Kind of “module” Covrg. Min. Covered DLs Complexity

All ax’s referencing T 8 any easy

Seidenberg/Rector 8 any easy

Prompt 8 ? easy

The whole ontology 3 88 any easy

MEX (Liverpool) 3 3 acyclic EL easyconserv.-based mod. 3 3 few hard

locality-based mod. 3 8 ≈OWL1 DL easy

E-connections 3 8 OWL1 DL easy

interpolants-based 3 33 few hard(no subsets!)

Page 66: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Comparison of different approaches

Kind of “module” Covrg. Min. Covered DLs Complexity

All ax’s referencing T 8 any easy

Seidenberg/Rector 8 any easy

Prompt 8 ? easy

The whole ontology 3 88 any easy

MEX (Liverpool) 3 3 acyclic EL easyconserv.-based mod. 3 3 few hard

locality-based mod. 3 8 ≈OWL1 DL easy

E-connections 3 8 OWL1 DL easy

interpolants-based 3 33 few hard(no subsets!)

Page 67: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Comparison of different approaches

Kind of “module” Covrg. Min. Covered DLs Complexity

All ax’s referencing T 8 any easy

Seidenberg/Rector 8 any easy

Prompt 8 ? easy

The whole ontology 3 88 any easy

MEX (Liverpool) 3 3 acyclic EL easyconserv.-based mod. 3 3 few hard

locality-based mod. 3 8 ≈OWL1 DL easy

E-connections 3 8 OWL1 DL easy

interpolants-based 3 33 few hard(no subsets!)

Page 68: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

And now . . .

1 Why modularity?

2 A reuse scenario

3 Logical background

4 Tools

5 Comparison of modularisation approaches

6 Understanding ontologies via modules

Page 69: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

We bet Robert . . .

Ontology about periodic table of the chemical elements

What is “the meat” of it?

We can find it using locality-based modules.

Page 70: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Impetus for the “Meat” idea

Partition of koala.owl via E-connections in Swoop

Animal

Gender

Degree

Habitat

importing partimported but non-importing partisolated part

“imports vocabulary from”

Page 71: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

Partition for the periodic table ontology

importing partimported but non-importing partisolated part

“imports vocabulary from”

Page 72: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

“Meat” via locality-based modules

Hope: finer-grained analysis

Difficulties: Computation harder, interpretation unclear

Results so far

416 modules for all ≈ 800 singleton topicsSizes 0, . . . , 2800; average 1600 (≈ 4 %)Found small modelling irregularity

Struggle with visualisation

Blowup-free methodology for bigger modules?

What does the collection of all modules tell us?

Modules for topics of axioms?

Page 73: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

“Meat” via locality-based modules

Hope: finer-grained analysis

Difficulties: Computation harder, interpretation unclear

Results so far

416 modules for all ≈ 800 singleton topicsSizes 0, . . . , 2800; average 1600 (≈ 4 %)Found small modelling irregularity

Struggle with visualisation

Blowup-free methodology for bigger modules?

What does the collection of all modules tell us?

Modules for topics of axioms?

Page 74: Working Modularly with OWLschneidt/talks/0901_mod.pdf · Why modularity? Reuse Background Tools Comparison Understanding Working Modularly with OWL Thomas Schneider School of Computer

Why modularity? Reuse Background Tools Comparison Understanding

“Meat” via locality-based modules

Hope: finer-grained analysis

Difficulties: Computation harder, interpretation unclear

Results so far

416 modules for all ≈ 800 singleton topicsSizes 0, . . . , 2800; average 1600 (≈ 4 %)Found small modelling irregularity

Struggle with visualisation

Blowup-free methodology for bigger modules?

What does the collection of all modules tell us?

Modules for topics of axioms?


Recommended