working modularly with owlschneidt/talks/0901_mod.pdf · why modularity? reuse background tools...
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/29.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/30.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/31.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/32.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/33.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/34.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/35.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/36.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/37.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/38.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/39.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/40.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/41.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/42.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/43.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/44.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/45.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/46.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/47.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/48.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/49.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/50.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/51.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/52.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/53.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/54.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/55.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/56.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/57.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/58.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/59.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/60.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/61.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/62.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/63.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/64.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/65.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/66.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/67.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/68.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/69.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/70.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/71.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/72.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/73.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042317/5f06b94d7e708231d4196a53/html5/thumbnails/74.jpg)
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?