Description Logics for Conceptual Design, Information Access, and - - PowerPoint PPT Presentation

description logics for conceptual design information
SMART_READER_LITE
LIVE PREVIEW

Description Logics for Conceptual Design, Information Access, and - - PowerPoint PPT Presentation

Description Logics for Conceptual Design, Information Access, and Ontology Integration (ISWC-2002) Enrico Franconi franconi@cs.man.ac.uk http://www.cs.man.ac.uk/franconi Department of Computer Science, University of Manchester (1/56)


slide-1
SLIDE 1

Description Logics for Conceptual Design, Information Access, and Ontology Integration (ISWC-2002)

Enrico Franconi

franconi@cs.man.ac.uk http://www.cs.man.ac.uk/˜franconi

Department of Computer Science, University of Manchester

(1/56)

slide-2
SLIDE 2

Summary

  • Logic and Conceptual Modelling
  • Description Logics for Conceptual Modelling
  • Queries with an Ontology
  • Ontology Integration

(2/56)

slide-3
SLIDE 3

Summary

  • Logic and Conceptual Modelling
  • Description Logics for Conceptual Modelling
  • Queries with an Ontology
  • Ontology Integration

(3/56)

slide-4
SLIDE 4

What is an Ontology

  • An ontology is a formal conceptualisation of the world: a conceptual schema.

(4/56)

slide-5
SLIDE 5

What is an Ontology

  • An ontology is a formal conceptualisation of the world: a conceptual schema.
  • An ontology specifies a set of constraints, which declare what should

necessarily hold in any possible world.

(4/56)

slide-6
SLIDE 6

What is an Ontology

  • An ontology is a formal conceptualisation of the world: a conceptual schema.
  • An ontology specifies a set of constraints, which declare what should

necessarily hold in any possible world.

  • Any possible world should conform to the constraints expressed by the
  • ntology.

(4/56)

slide-7
SLIDE 7

What is an Ontology

  • An ontology is a formal conceptualisation of the world: a conceptual schema.
  • An ontology specifies a set of constraints, which declare what should

necessarily hold in any possible world.

  • Any possible world should conform to the constraints expressed by the
  • ntology.
  • Given an ontology, a legal world description is a possible world satisfying the

constraints.

(4/56)

slide-8
SLIDE 8

The role of a Conceptual Schema

Data Store Logical Schema Conceptual Schema

(5/56)

slide-9
SLIDE 9

The role of a Conceptual Schema

Constraints Data Store Logical Schema Conceptual Schema

(5/56)

slide-10
SLIDE 10

The role of a Conceptual Schema

Constraints Query Result Data Store Logical Schema Conceptual Schema

(5/56)

slide-11
SLIDE 11

The role of a Conceptual Schema

Deduction Constraints Query Result Data Store Logical Schema Conceptual Schema

(5/56)

slide-12
SLIDE 12

The role of a Conceptual Schema

Deduction Constraints Query Result Data Store Logical Schema Conceptual Schema

(5/56)

slide-13
SLIDE 13

Ontology languages and Conceptual Data Models

  • An ontology language usually introduces concepts (aka classes, entities),

properties of concepts (aka slots, attributes, roles), relationships between concepts (aka associations), and additional constraints.

(6/56)

slide-14
SLIDE 14

Ontology languages and Conceptual Data Models

  • An ontology language usually introduces concepts (aka classes, entities),

properties of concepts (aka slots, attributes, roles), relationships between concepts (aka associations), and additional constraints.

  • Ontology languages may be simple (e.g., having only concepts and

taxonomies), frame-based (having only concepts and properties), or logic-based (e.g. Ontolingua and DAML+OIL).

(6/56)

slide-15
SLIDE 15

Ontology languages and Conceptual Data Models

  • An ontology language usually introduces concepts (aka classes, entities),

properties of concepts (aka slots, attributes, roles), relationships between concepts (aka associations), and additional constraints.

  • Ontology languages may be simple (e.g., having only concepts and

taxonomies), frame-based (having only concepts and properties), or logic-based (e.g. Ontolingua and DAML+OIL).

  • Ontology languages are typically expressed by means of diagrams.

(6/56)

slide-16
SLIDE 16

Ontology languages and Conceptual Data Models

  • An ontology language usually introduces concepts (aka classes, entities),

properties of concepts (aka slots, attributes, roles), relationships between concepts (aka associations), and additional constraints.

  • Ontology languages may be simple (e.g., having only concepts and

taxonomies), frame-based (having only concepts and properties), or logic-based (e.g. Ontolingua and DAML+OIL).

  • Ontology languages are typically expressed by means of diagrams.
  • Entity-Relationship schemas and UML class diagrams can be considered

as ontologies.

(6/56)

slide-17
SLIDE 17

UML Class Diagram

AreaManager TopManager Manager Project

ProjectCode:String

Employee

PaySlipNumber:Integer Salary:Integer

{disjoint,complete}

1..⋆

Works-for

1..1 1..1

Manages

(7/56)

slide-18
SLIDE 18

Entity-Relationship Schema

Employee

PaySlipNumber(Integer) Salary(Integer)

Project

ProjectCode(String)

Manager TopManager AreaManager

×

Works-for Manages (1,n) (1,1) (1,1)

(8/56)

slide-19
SLIDE 19

Semantics

In a specific world:

  • A class is a set of instances;
  • a n-ary relationship is a set of n-tuples of instances;
  • an attribute is a set of pairs of an instance and a domain element.

Employee Project String E1 E2 E3 E4 E5 P1 P2 P3 “P12a” “P02b” “P2a/1” “P9”

(9/56)

slide-20
SLIDE 20

Semantics

In a specific world:

  • A class is a set of instances;
  • a n-ary relationship is a set of n-tuples of instances;
  • an attribute is a set of pairs of an instance and a domain element.

Works-for Employee Project String E1 E2 E3 E4 E5 P1 P2 P3 “P12a” “P02b” “P2a/1” “P9”

(9/56)

slide-21
SLIDE 21

Semantics

In a specific world:

  • A class is a set of instances;
  • a n-ary relationship is a set of n-tuples of instances;
  • an attribute is a set of pairs of an instance and a domain element.

Works-for Employee Project String ProjectCode E1 E2 E3 E4 E5 P1 P2 P3 “P12a” “P02b” “P2a/1” “P9”

(9/56)

slide-22
SLIDE 22

A world is described by sets of instances

E1 E2 E3 E4 E5 P1 P2 P3

E1,P1 E2,P1 E2,P2 E2,P3 E3,P1 E4,P2 E4,P3 E5,P3

Employee Project Works-for

(10/56)

slide-23
SLIDE 23

The relational representation of a world

Employee employeeId E1 E2 E3 E4 E5 Project projectId P1 P2 P3 String anystring “P12a” “P02b” “P2a/1” “P9”

· · ·

Works-for employeeId projectId E1 P1 E2 P1 E2 P2 E2 P3 E3 P1 E4 P2 E4 P3 E5 P3 ProjectCode projectId pcode P1 “P12a” P2 “P02b” P3 “P2a/1”

(11/56)

slide-24
SLIDE 24

The graph representation of a world – e.g. RDF triples

Works-for ProjectCode E1:Employee E2:Employee E3:Employee E4:Employee E5:Employee P1:Project P2:Project P3:Project “P12a”:String “P02b”:String “P2a/1”:String “P9”:String

(12/56)

slide-25
SLIDE 25

Constraints introduced by Relationships

Employee Project Works-for

(13/56)

slide-26
SLIDE 26

Constraints introduced by Relationships

Employee Project Works-for Works-for ⊆ Employee × Project

(13/56)

slide-27
SLIDE 27

Constraints introduced by Relationships

Employee Project Works-for

A1 A2

Works-for ⊆ Employee × Project

(13/56)

slide-28
SLIDE 28

Constraints introduced by Attributes

Project

ProjectCode : String

(14/56)

slide-29
SLIDE 29

Constraints introduced by Attributes

Project

ProjectCode : String

Project ⊆ {p | ♯(ProjectCode ∩ ({p} × String)) ≥ 1}

(14/56)

slide-30
SLIDE 30

Constraints introduced by Cardinality Constraints

Employee Project Works-for

(min,max)

(15/56)

slide-31
SLIDE 31

Constraints introduced by Cardinality Constraints

Employee Project Works-for

(min,max)

TopManager ⊆ {m | max ≥ ♯(Manages ∩ ({m} × Ω)) ≥ min} (where Ω is the set of all instances)

(15/56)

slide-32
SLIDE 32

Constraints introduced by Cardinality Constraints

Employee Project Works-for

(min,max) A1 A2

TopManager ⊆ {m | max ≥ ♯(Manages ∩ ({m} × Ω)) ≥ min} (where Ω is the set of all instances)

(15/56)

slide-33
SLIDE 33

Constraints introduced by ISA

Employee Manager

(16/56)

slide-34
SLIDE 34

Constraints introduced by ISA

Employee Manager Manager ⊆ Employee

(16/56)

slide-35
SLIDE 35

Disjoint and Total constraints

AreaManager TopManager Manager {disjoint,complete}

(17/56)

slide-36
SLIDE 36

Disjoint and Total constraints

AreaManager TopManager Manager {disjoint,complete}

  • ISA: AreaManager ⊆ Manager
  • ISA: TopManager ⊆ Manager
  • disjoint: AreaManager ∩ TopManager = ∅
  • total: Manager ⊆ AreaManager ∪ TopManager

(17/56)

slide-37
SLIDE 37

Constraints introduced by the initial diagram

Works-for ⊆ Employee × Project Manages ⊆ TopManager × Project Employee ⊆ {e | ♯(PaySlipNumber ∩ ({e} × Integer)) ≥ 1} Employee ⊆ {e | ♯(Salary ∩ ({e} × Integer)) ≥ 1} Project ⊆ {p | ♯(ProjectCode ∩ ({p} × String)) ≥ 1} TopManager ⊆ {m | 1 ≥ ♯(Manages ∩ ({m} × Ω)) ≥ 1} Project ⊆ {p | 1 ≥ ♯(Manages ∩ (Ω × {p})) ≥ 1} Project ⊆ {p | ♯(Works-for ∩ (Ω × {p})) ≥ 1} Manager ⊆ Employee AreaManager ⊆ Manager TopManager ⊆ Manager AreaManager ∩ TopManager = ∅ Manager ⊆ AreaManager ∪ TopManager

(18/56)

slide-38
SLIDE 38

Reasoning

Given an ontology – seen as a collection of constraints – it is possible that additional constraints can be inferred.

  • A class is inconsistent if it denotes the empty set in any legal world

description.

  • A class is a subclass of another class if the former denotes a subset of the set

denoted by the latter in any legal world description.

  • Two classes are equivalent if they denote the same set in any legal world

description.

  • A stricter contraint is inferred – e.g., a cardinality contraint – if it holds in in

any legal world description.

  • . . .

(19/56)

slide-39
SLIDE 39

Simple reasoning example

Italian English Person Lazy LatinLover {disjoint,covering} Gentleman Hooligan {disjoint}

(20/56)

slide-40
SLIDE 40

Simple reasoning example

Italian English Person Lazy LatinLover {disjoint,covering} Gentleman Hooligan {disjoint}

implies LatinLover = ∅ Italian ⊆ Lazy Italian ≡ Lazy

(20/56)

slide-41
SLIDE 41

Reasoning by cases

LatinLover Lazy Mafioso ItalianProf Italian {disjoint,complete} {disjoint}

(21/56)

slide-42
SLIDE 42

Reasoning by cases

LatinLover Lazy Mafioso ItalianProf Italian {disjoint,complete} {disjoint}

implies ItalianProf ⊆ LatinLover

(21/56)

slide-43
SLIDE 43

ISA and Inheritance

Employee

Salary:Integer

Manager

(22/56)

slide-44
SLIDE 44

ISA and Inheritance

Employee

Salary:Integer

Manager

Salary:Integer

implies Manager ⊆ {m | ♯(Salary ∩ ({m} × Integer)) ≥ 1}

(22/56)

slide-45
SLIDE 45

Bijection bewteen Classes

Natural Number Even Number rel

1..1 1..1

(23/56)

slide-46
SLIDE 46

Bijection bewteen Classes

Natural Number Even Number rel

1..1 1..1

implies “the classes ’Natural Number’ and ’Even Number’ contain the same number of instances”.

(23/56)

slide-47
SLIDE 47

Bijection bewteen Classes

Natural Number Even Number rel

1..1 1..1

implies “the classes ’Natural Number’ and ’Even Number’ contain the same number of instances”. If the domain is finite: Natural Number ≡ Even Number

(23/56)

slide-48
SLIDE 48

Infinite worlds

Root Node link

0..1 2..2

(24/56)

slide-49
SLIDE 49

Infinite worlds

Root Node link

0..1 2..2

implies “the classes Root and Node contain an infinite number of instances”.

(24/56)

slide-50
SLIDE 50

Ontologies in First Order Logic

  • We have introduced ontology languages that specify a set of constraints that

should be satisfied by the world of interest.

  • The interpretation of an ontology is therefore defined as the collection of all

the legal world descriptions – i.e., all the (finite) relational structures which conform to the constraints imposed by the ontology.

  • An alternative way to define the interpretation: an ontology is mapped into a

set of First Order Logic (FOL) formulas.

  • The legal world descriptions (i.e., the interpretation) of an ontology are all the

models of the FOL theory associated to it.

(25/56)

slide-51
SLIDE 51

FOL encoding

AreaManager TopManager Manager Project

ProjectCode:String

Employee

PaySlipNumber:Integer Salary:Integer

{disjoint,complete}

1..⋆

Works-for

1..1 1..1

Manages

∀x, y. Works-for(x, y) → Employee(x) ∧ Project(y) ∀x, y. Manages(x, y) → Top-Manager(x) ∧ Project(y) ∀y. Project(y) → ∃x. Works-for(x, y) ∀y. Project(y) → ∃=1x. Manages(x, y) ∀x. Top-Manager(x) → ∃=1y. Manages(x, y) ∀x. Manager(x) → Employee(x) ∀x. Manager(x) → Area-Manager(x) ∨ Top-Manager(x) ∀x. Area-Manager(x) → Manager(x) ∧ ¬Top-Manager(x) ∀x. Top-Manager(x) → Manager(x)

(26/56)

slide-52
SLIDE 52

Additional constraints

AreaManager TopManager Manager Project

ProjectCode:String

Employee

PaySlipNumber:Integer Salary:Integer

{disjoint,complete}

1..⋆

Works-for

1..1 1..1

Manages

  • Managers do not work for a project (she/he just manages it):

∀x. Manager(x) → ∀y. ¬WORKS-FOR(x, y)

(27/56)

slide-53
SLIDE 53

Additional constraints

AreaManager TopManager Manager Project

ProjectCode:String

Employee

PaySlipNumber:Integer Salary:Integer

{disjoint,complete}

1..⋆ 1..⋆

Works-for

1..1 1..1

Manages

  • Managers do not work for a project (she/he just manages it):

∀x. Manager(x) → ∀y. ¬WORKS-FOR(x, y)

  • If the minimum cardinality for the participation of employees to the works-for

relationship is increased, then . . .

(27/56)

slide-54
SLIDE 54

Key constraints

A key is a set of attributes of a class whose value uniquely identify elements of the class itself.

AreaManager TopManager Manager Project

ProjectCode:String

Employee

PaySlipNumber:Integer Salary:Integer

{disjoint,complete}

1..⋆

Works-for

1..1 1..1

Manages

∀x. Project(x) → ∃=1y. ProjectCode(x, y) ∧ String(y) ∀y. ∃x. ProjectCode(x, y) → ∃=1x. ProjectCode(x, y) ∧ Project(x)

(28/56)

slide-55
SLIDE 55

Summary

  • Logic and Conceptual Modelling
  • Description Logics for Conceptual Modelling
  • Queries with an Ontology
  • Ontology Integration

(29/56)

slide-56
SLIDE 56

The DLR Description Logic – a fragment of FOL

  • relationships: interpreted as sets of tuples of a given arity

R → ⊤n | R N | ¬R | R1 ⊓ R2 | R1 ⊔ R2 | i/n : C

  • classes: interpreted as sets of objects

C → ⊤ | CN | ¬C | C1 ⊓ C2 | C1 ⊔ C2 | ∃

≶k[i]R

  • conceptual schema:

R ⊑ R′ | C ⊑ C′ | R ⊑ R′ | C ⊑ C′ Works-for ⊑ subj/2 : Employee ⊓ obj/2 : Project TopManager ⊑ Manager ⊓ ∃=1[man]Manages

(30/56)

slide-57
SLIDE 57

Encoding conceptual data models in DLR

  • Object-oriented data models (e.g., UML and ODMG)
  • Semantic data models (e.g., EER and ORM)
  • Frame-based ontology languages (e.g., DAML+OIL)

(31/56)

slide-58
SLIDE 58

Encoding conceptual data models in DLR

  • Object-oriented data models (e.g., UML and ODMG)
  • Semantic data models (e.g., EER and ORM)
  • Frame-based ontology languages (e.g., DAML+OIL)
  • Theorems prove that an ontology and its encoding as DLR knowledge

bases constrain every world description in the same way – i.e., the models of the DLR theory correspond to the legal world descriptions of the ontology, and vice-versa.

(31/56)

slide-59
SLIDE 59

AreaManager TopManager Manager Project

ProjectCode:String

Employee

PaySlipNumber:Integer Salary:Integer

{disjoint,complete}

1..⋆

Works-for

1..1 1..1

Manages

Works-for ⊑ emp/2 : Employee ⊓ act/2 : Project Manages ⊑ man/2 : TopManager ⊓ prj/2 : Project Employee ⊑ ∃=1[worker](PaySlipNumber ⊓ num/2 : Integer)⊓ ∃=1[payee](Salary ⊓ amount/2 : Integer) ⊤ ⊑ ∃≤1[num](PaySlipNumber ⊓ worker/2 : Employee) Manager ⊑ Employee ⊓ (AreaManager ⊔ TopManager) AreaManager ⊑ Manager ⊓ ¬TopManager TopManager ⊑ Manager ⊓ ∃=1[man]Manages Project ⊑ ∃≥1[act]Works-for ⊓ ∃=1[prj]Manages · · ·

(32/56)

slide-60
SLIDE 60

Reasoning with constraints

AreaManager TopManager Manager Project

ProjectCode:String

Employee

PaySlipNumber:Integer Salary:Integer

{disjoint,complete}

1..⋆

Works-for

1..1 1..1

Manages

Managers are employees who do not work for a project (she/he just manages it):

Employee ⊓ ¬(∃≥1[emp]Works-for) ⊑ Manager Manager ⊑ ¬(∃≥1[emp]Works-for)

(33/56)

slide-61
SLIDE 61

Reasoning with constraints

AreaManager TopManager Manager Project

ProjectCode:String

Employee

PaySlipNumber:Integer Salary:Integer

{disjoint,complete}

1..⋆

Works-for

1..1 1..1

Manages

Managers are employees who do not work for a project (she/he just manages it):

Employee ⊓ ¬(∃≥1[emp]Works-for) ⊑ Manager Manager ⊑ ¬(∃≥1[emp]Works-for) = ⇒

For every project, there is at least one employee who is not a manager:

Project ⊑ ∃≥1[act](Works-for ⊓ emp : ¬Manager)

(33/56)

slide-62
SLIDE 62

Extensions of DLR

  • DLRreg: regular expressions and recursive views (beyond FOL)
  • DLRUS: temporal constructs to model temporal databases (temporal logic)
  • DLRkey: general key constraints

(34/56)

slide-63
SLIDE 63

Reasoning with Ontologies

  • Exploit the DLR reasoning procedures for solving reasoning problems in the
  • ntology enriched with constraints.
  • Logical implication and consistency for DLR knowledge bases is decidable

and EXPTIME-complete, and practical, proved correct and complete algorithms exist in implemented systems.

(35/56)

slide-64
SLIDE 64

Reasoning with Ontologies

  • Exploit the DLR reasoning procedures for solving reasoning problems in the
  • ntology enriched with constraints.
  • Logical implication and consistency for DLR knowledge bases is decidable

and EXPTIME-complete, and practical, proved correct and complete algorithms exist in implemented systems.

Ontology consistency checking with constraints and logical implication of constraints in ontologies are all decidable EXPTIME-complete problems.

(35/56)

slide-65
SLIDE 65

Reasoning with Ontologies

  • Exploit the DLR reasoning procedures for solving reasoning problems in the
  • ntology enriched with constraints.
  • Logical implication and consistency for DLR knowledge bases is decidable

and EXPTIME-complete, and practical, proved correct and complete algorithms exist in implemented systems.

Ontology consistency checking with constraints and logical implication of constraints in ontologies are all decidable EXPTIME-complete problems.

  • i•com is an implemented conceptual modelling tool using in the background a

DLR ontology server supporting the ontology design.

(35/56)

slide-66
SLIDE 66

Summary

  • Logic and Conceptual Modelling
  • Description Logics for Conceptual Modelling
  • Queries with an Ontology
  • Ontology Integration

(36/56)

slide-67
SLIDE 67

The role of a Conceptual Schema – revisited

Data Store Logical Schema Conceptual Schema

(37/56)

slide-68
SLIDE 68

The role of a Conceptual Schema – revisited

Constraints Data Store Logical Schema Conceptual Schema

(37/56)

slide-69
SLIDE 69

The role of a Conceptual Schema – revisited

Constraints Query Result Data Store Logical Schema Conceptual Schema

(37/56)

slide-70
SLIDE 70

The role of a Conceptual Schema – revisited

Deduction Constraints Query Result Data Store Logical Schema Conceptual Schema

(37/56)

slide-71
SLIDE 71

The role of a Conceptual Schema – revisited

Deduction Constraints Query Result Data Store Logical Schema Conceptual Schema

(37/56)

slide-72
SLIDE 72

The role of a Conceptual Schema – revisited

Deduction Constraints Query Result Data Store Logical Schema Conceptual Schema

(37/56)

slide-73
SLIDE 73

The role of a Conceptual Schema – revisited

Query Result Deduction Constraints Query Result Data Store Logical Schema Conceptual Schema

(37/56)

slide-74
SLIDE 74

The role of a Conceptual Schema – revisited

Deduction Query Result Deduction Constraints Query Result Data Store Logical Schema Conceptual Schema

(37/56)

slide-75
SLIDE 75

The role of a Conceptual Schema – revisited

Deduction Query Result Deduction Constraints Query Result Data Store Logical Schema Conceptual Schema

(37/56)

slide-76
SLIDE 76

The role of a Conceptual Schema – revisited

Agent Deduction Query Result Deduction Constraints Query Result Data Store Logical Schema Conceptual Schema

(37/56)

slide-77
SLIDE 77

Adapting standard DB query technology

  • Assumption 1: complete information about each term appearing in the
  • ntology
  • Assumption 2: consistent information with respect to the constraints

introduced by the ontology

  • Problem: answer a query over the ontology vocabulary

(38/56)

slide-78
SLIDE 78

Adapting standard DB query technology

  • Assumption 1: complete information about each term appearing in the
  • ntology
  • Assumption 2: consistent information with respect to the constraints

introduced by the ontology

  • Problem: answer a query over the ontology vocabulary
  • Solution: use a standard DB technology (e.g., SQL, datalog, etc)

(38/56)

slide-79
SLIDE 79

Adapting standard DB query technology

  • Assumption 1: complete information about each term appearing in the
  • ntology
  • Assumption 2: consistent information with respect to the constraints

introduced by the ontology

  • Problem: answer a query over the ontology vocabulary
  • Solution: use a standard DB technology (e.g., SQL, datalog, etc)
  • Assumption 1 is against the principle that an ontology presents a richer

vocabulary than the data stores.

(38/56)

slide-80
SLIDE 80

Weakening the assumptions

  • Assumption 1weak: complete information about some term appearing in the
  • ntology
  • Standard DB technologies do not apply
  • The query answering problem in this context is inherently complex

(39/56)

slide-81
SLIDE 81

Example

AreaManagerp TopManagerp AreaManager TopManager Manager Employee

{disjoint,complete}

Supervises OfficeMate

(40/56)

slide-82
SLIDE 82

Example

AreaManagerp TopManagerp AreaManager TopManager Manager Employee

{disjoint,complete}

Supervises OfficeMate

Employee = { John, Andrea, Mary, Paul } Manager = { John, Andrea } AreaManagerp = { Paul } TopManagerp = { Mary } Supervises = { (John,Andrea), (John,Mary) } OfficeMate = { (Mary,Andrea), (Andrea,Paul) }

(40/56)

slide-83
SLIDE 83

Example

AreaManagerp TopManagerp AreaManager TopManager Manager Employee

{disjoint,complete}

Supervises OfficeMate

Employee = { John, Andrea, Mary, Paul } Manager = { John, Andrea } AreaManagerp = { Paul } TopManagerp = { Mary } Supervises = { (John,Andrea), (John,Mary) } OfficeMate = { (Mary,Andrea), (Andrea,Paul) } Paul: AreaManagerp Andrea: Manager Mary: TopManagerp John: Manager

❄ ✛

❅ ❅ ❅ ❅ ❅ ❘

Supervises Supervises OfficeMate OfficeMate

(40/56)

slide-84
SLIDE 84

Example (cont.)

AreaManagerp TopManagerp AreaManager TopManager Manager Employee

{disjoint,complete}

Supervises OfficeMate

(41/56)

slide-85
SLIDE 85

Example (cont.)

AreaManagerp TopManagerp AreaManager TopManager Manager Employee

{disjoint,complete}

Supervises OfficeMate

Paul: AreaManagerp Andrea: Manager Mary: TopManagerp John: Manager

❄ ✛

❅ ❅ ❅ ❅ ❅ ❘

Supervises Supervises OfficeMate OfficeMate

(41/56)

slide-86
SLIDE 86

Example (cont.)

AreaManagerp TopManagerp AreaManager TopManager Manager Employee

{disjoint,complete}

Supervises OfficeMate

Paul: AreaManagerp Andrea: Manager Mary: TopManagerp John: Manager

❄ ✛

❅ ❅ ❅ ❅ ❅ ❘

Supervises Supervises OfficeMate OfficeMate Q :- Supervises(John, X), TopManager(X), Officemate(X, Y), AreaManager(Y)

(41/56)

slide-87
SLIDE 87

Example (cont.)

AreaManagerp TopManagerp AreaManager TopManager Manager Employee

{disjoint,complete}

Supervises OfficeMate

Paul: AreaManagerp Andrea: Manager Mary: TopManagerp John: Manager

❄ ✛

❅ ❅ ❅ ❅ ❅ ❘

Supervises Supervises OfficeMate OfficeMate Q :- Supervises(John, X), TopManager(X), Officemate(X, Y), AreaManager(Y)

YES!

(41/56)

slide-88
SLIDE 88

Weakening the assumptions, II

In general, the link of the ontology with the information source (called mapping) can be given in terms of a set of views:

  • GAV (global-as-view): for each ontology term one view over the information

source is given;

  • LAV (local-as-view): for each information source term one view over the
  • ntology terms is given;

(42/56)

slide-89
SLIDE 89

An Information Source Example

CompanyEmployee/2; CompanyProject/3

CompanyEmployee name project

john esprit-dwq

· · · · · · CompanyProject project manager department

esprit-dwq enrico cs-uman

· · · · · · · · ·

(43/56)

slide-90
SLIDE 90

An Information Source Example

CompanyEmployee/2; CompanyProject/3

CompanyEmployee name project

john esprit-dwq

· · · · · · CompanyProject project manager department

esprit-dwq enrico cs-uman

· · · · · · · · · Q = “Tell me the projects in which John works, and their managers and departments.”

(43/56)

slide-91
SLIDE 91

An Information Source Example

CompanyEmployee/2; CompanyProject/3

CompanyEmployee name project

john esprit-dwq

· · · · · · CompanyProject project manager department

esprit-dwq enrico cs-uman

· · · · · · · · · Q = “Tell me the projects in which John works, and their managers and departments.”

SELECT project, manager, department FROM CompanyEmployee, CompanyProject WHERE CompanyEmployee.name = “john” AND CompanyEmployee.project = CompanyProject.project

(43/56)

slide-92
SLIDE 92

An Information Source Example

CompanyEmployee/2; CompanyProject/3

CompanyEmployee name project

john esprit-dwq

· · · · · · CompanyProject project manager department

esprit-dwq enrico cs-uman

· · · · · · · · · Q = “Tell me the projects in which John works, and their managers and departments.”

SELECT project, manager, department FROM CompanyEmployee, CompanyProject WHERE CompanyEmployee.name = “john” AND CompanyEmployee.project = CompanyProject.project Q ≡ πproj.,manager,dept.σname=john (CompanyEmployee ⊲

⊳project CompanyProject)

(43/56)

slide-93
SLIDE 93

An Information Source Example

CompanyEmployee/2; CompanyProject/3

CompanyEmployee name project

john esprit-dwq

· · · · · · CompanyProject project manager department

esprit-dwq enrico cs-uman

· · · · · · · · · Q = “Tell me the projects in which John works, and their managers and departments.”

SELECT project, manager, department FROM CompanyEmployee, CompanyProject WHERE CompanyEmployee.name = “john” AND CompanyEmployee.project = CompanyProject.project Q ≡ πproj.,manager,dept.σname=john (CompanyEmployee ⊲

⊳project CompanyProject)

Q(x, y, z) ⇐ CompanyEmployee(john, x) ∧ CompanyProject(x, y, z)

(43/56)

slide-94
SLIDE 94

LAV: local-as-view

AreaManager TopManager Manager Project

ProjectCode:String

Employee

PaySlipNumber:Integer Salary:Integer

{disjoint,complete}

1..⋆

Works-for

1..1 1..1

Manages

(44/56)

slide-95
SLIDE 95

LAV: local-as-view

AreaManager TopManager Manager Project

ProjectCode:String

Employee

PaySlipNumber:Integer Salary:Integer

{disjoint,complete}

1..⋆

Works-for

1..1 1..1

Manages

CompanyEmployee(x, y) ⇐ Employee(x) ∧ Project(y) ∧ Works-for(x, y). CompanyProject(x, y, z) ⇐ Project(x) ∧ Manager(y) ∧ Department(z) ∧ Manages(y, x) ∧ Resp-for(z, x).

(44/56)

slide-96
SLIDE 96

GAV: global-as-view

AreaManager TopManager Manager Project

ProjectCode:String

Employee

PaySlipNumber:Integer Salary:Integer

{disjoint,complete}

1..⋆

Works-for

1..1 1..1

Manages

(45/56)

slide-97
SLIDE 97

GAV: global-as-view

AreaManager TopManager Manager Project

ProjectCode:String

Employee

PaySlipNumber:Integer Salary:Integer

{disjoint,complete}

1..⋆

Works-for

1..1 1..1

Manages

Project(x) ⇐ CompanyEmployee(y, x) ∪ CompanyProject(x, y, z) Works-for(x, y) ⇐ CompanyEmployee(x, y) TopManager(x) ⇐ CompanyProject(y, x, z) Manages(x, y) ⇐ CompanyProject(y, x, z) . . .

(45/56)

slide-98
SLIDE 98

Querying via the Ontology (local-as-view)

Q(x, y, z) ⇐ Project(x) ∧ Works-for(john, x) ∧ TopManager(y) ∧ Manages(y, x) ∧ ¬InterestGroup(z) ∧ Resp-for(z, x).

AreaManager TopManager Manager Project

ProjectCode:String

Employee

PaySlipNumber:Integer Salary:Integer

{disjoint,complete}

1..⋆

Works-for

1..1 1..1

Manages

CompanyEmployee(x, y) ⇐ Employee(x) ∧ Project(y) ∧ Works-for(x, y). CompanyProject(x, y, z) ⇐ Project(x) ∧ Manager(y) ∧ Department(z)∧ Manages(y, x) ∧ Resp-for(z, x).

(46/56)

slide-99
SLIDE 99

Querying via the Ontology (local-as-view)

Q(x, y, z) ⇐ Project(x) ∧ Works-for(john, x) ∧ TopManager(y) ∧ Manages(y, x) ∧ ¬InterestGroup(z) ∧ Resp-for(z, x).

AreaManager TopManager Manager Project

ProjectCode:String

Employee

PaySlipNumber:Integer Salary:Integer

{disjoint,complete}

1..⋆

Works-for

1..1 1..1

Manages

CompanyEmployee(x, y) ⇐ Employee(x) ∧ Project(y) ∧ Works-for(x, y). CompanyProject(x, y, z) ⇐ Project(x) ∧ Manager(y) ∧ Department(z)∧ Manages(y, x) ∧ Resp-for(z, x).

Q(x, y, z) ⇐ CompanyEmployee(john, x) ∧ CompanyProject(x, y, z)

(46/56)

slide-100
SLIDE 100

Querying via the Ontology (global-as-view)

Q(x, y, z) ⇐ Project(x) ∧ Works-for(john, x) ∧ TopManager(y) ∧ Manages(y, x) ∧ ¬InterestGroup(z) ∧ Resp-for(z, x).

AreaManager TopManager Manager Project

ProjectCode:String

Employee

PaySlipNumber:Integer Salary:Integer

{disjoint,complete}

1..⋆

Works-for

1..1 1..1

Manages

Project(x) ⇐ CompanyEmployee(y, x)∪ CompanyProject(x, y, z) Works-for(x, y) ⇐ CompanyEmployee(x, y) TopManager(x) ⇐ CompanyProject(y, x, z) Manages(x, y) ⇐ CompanyProject(y, x, z) . . .

(47/56)

slide-101
SLIDE 101

Querying via the Ontology (global-as-view)

Q(x, y, z) ⇐ Project(x) ∧ Works-for(john, x) ∧ TopManager(y) ∧ Manages(y, x) ∧ ¬InterestGroup(z) ∧ Resp-for(z, x).

AreaManager TopManager Manager Project

ProjectCode:String

Employee

PaySlipNumber:Integer Salary:Integer

{disjoint,complete}

1..⋆

Works-for

1..1 1..1

Manages

Project(x) ⇐ CompanyEmployee(y, x)∪ CompanyProject(x, y, z) Works-for(x, y) ⇐ CompanyEmployee(x, y) TopManager(x) ⇐ CompanyProject(y, x, z) Manages(x, y) ⇐ CompanyProject(y, x, z) . . .

Q(x, y, z) ⇐ CompanyEmployee(john, x) ∧ CompanyProject(x, y, z)

(47/56)

slide-102
SLIDE 102

Reasoning over queries

Q(x, y) ⇐ Employee(x) ∧ Works-for(x, y) ∧ Manages(x, y)

AreaManager TopManager Manager Project

ProjectCode:String

Employee

PaySlipNumber:Integer Salary:Integer

{disjoint,complete}

1..⋆

Works-for

1..1 1..1

Manages

Manager ⊑ ¬(∃≥1[emp]Works-for)

(48/56)

slide-103
SLIDE 103

Reasoning over queries

Q(x, y) ⇐ Employee(x) ∧ Works-for(x, y) ∧ Manages(x, y)

AreaManager TopManager Manager Project

ProjectCode:String

Employee

PaySlipNumber:Integer Salary:Integer

{disjoint,complete}

1..⋆

Works-for

1..1 1..1

Manages

Manager ⊑ ¬(∃≥1[emp]Works-for)

  • INCONSISTENT QUERY!

(48/56)

slide-104
SLIDE 104

Summary

  • Logic and Conceptual Modelling
  • Description Logics for Conceptual Modelling
  • Queries with an Ontology
  • Ontology Integration

(49/56)

slide-105
SLIDE 105

Mediator Architecture for Ontology Integration

Mediator Result Inter-schema Constraints Query Query Conceptual Global Schema Database1 Logical Schema1 Conceptual Schema1 Databasen Logical Scheman Conceptual Scheman

· · ·

(50/56)

slide-106
SLIDE 106

DWQ Ontology Integration Architecture

Sources

... ...

Query Query Enterprise Data Schema Model Conceptual Data Warehouse Model Model 1 Model m Source Model 1 Source Model n Mediators conceptual/logical mapping physical/logical mapping conceptual link data flow logical link Source Source Wrappers

physical level

Query Query

meta level conceptual level logical level

Meta Model

Interface Integration System

Data Warehouse Schema Data Warehouse Store Schema 1 Schema m Schema 1 Schema n Source Source Data Store 1 Data Store n (51/56)

slide-107
SLIDE 107

Local-as-view vs. Global-as-view

Local-as-view (Information Manifold, DWQ, Picsel):

  • High modularity and reusability (when a source changes, only its view definition is changed).
  • Relationships betwen sources can be inferred.
  • Computationally more difficult (query reformulation).

Global-as-view (Carnot, SIMS, TSIMMIS, Tambis, Observer, . . .):

  • Whenever the source changes or a new one is added, the view needs to be reconsidered.
  • Needs to understand the relationships between the sources.
  • Query processing sometimes easy (unfolding), when the ontology is very simple. Otherwise it

requires sophisticated query evaluation procedures.

(52/56)

slide-108
SLIDE 108

Possible scenarios

  • Empty ontology / very simple Ontology
  • Global-as-view
  • Local-as-view
  • Full Ontology / Integrity Constraints
  • Global-as-view
  • Local-as-view

(53/56)

slide-109
SLIDE 109

Possible scenarios

  • Empty ontology / very simple Ontology
  • Global-as-view
  • The problem reduces to standard DB technology.
  • Can not express Ontology Integration needs.
  • Not modular.
  • Local-as-view
  • Full Ontology / Integrity Constraints
  • Global-as-view
  • Local-as-view

(53/56)

slide-110
SLIDE 110

Possible scenarios

  • Empty ontology / very simple Ontology
  • Global-as-view
  • The problem reduces to standard DB technology.
  • Can not express Ontology Integration needs.
  • Not modular.
  • Local-as-view
  • “Standard” view-based query processing.
  • Can express only few Ontology Integration needs.
  • Modular.
  • Full Ontology / Integrity Constraints
  • Global-as-view
  • Local-as-view

(53/56)

slide-111
SLIDE 111

Possible scenarios

  • Empty ontology / very simple Ontology
  • Global-as-view
  • The problem reduces to standard DB technology.
  • Can not express Ontology Integration needs.
  • Not modular.
  • Local-as-view
  • “Standard” view-based query processing.
  • Can express only few Ontology Integration needs.
  • Modular.
  • Full Ontology / Integrity Constraints
  • Global-as-view
  • Requires sophisticated query evaluation procedures (involving deduction).
  • Can express Ontology Integration needs.
  • Not modular.
  • Local-as-view

(53/56)

slide-112
SLIDE 112

Possible scenarios

  • Empty ontology / very simple Ontology
  • Global-as-view
  • The problem reduces to standard DB technology.
  • Can not express Ontology Integration needs.
  • Not modular.
  • Local-as-view
  • “Standard” view-based query processing.
  • Can express only few Ontology Integration needs.
  • Modular.
  • Full Ontology / Integrity Constraints
  • Global-as-view
  • Requires sophisticated query evaluation procedures (involving deduction).
  • Can express Ontology Integration needs.
  • Not modular.
  • Local-as-view
  • View-based query processing under constraints.
  • Can express Ontology Integration needs.
  • Modular.

(53/56)

slide-113
SLIDE 113

Current (sad) Practice

  • Most implemented Ontology Integration systems:

(54/56)

slide-114
SLIDE 114

Current (sad) Practice

  • Most implemented Ontology Integration systems:
  • either assume no Ontology or a very simple Ontology with a

global-as-view approach,

(54/56)

slide-115
SLIDE 115

Current (sad) Practice

  • Most implemented Ontology Integration systems:
  • either assume no Ontology or a very simple Ontology with a

global-as-view approach,

  • or include an Ontology or Integrity Constraints in their framework, but

adopt a naive query evaluation procedure, based on query unfolding: no correctness of the query answering can be proved.

(54/56)

slide-116
SLIDE 116

Conclusions

  • All the things presented in this tutorial require heavy logical and technical

machineries.

  • Nonetheless, we believe that
  • it is feasible in practice,
  • it will lead to more usable information systems,
  • it is a lot of fun from the point of view of research.

(55/56)

slide-117
SLIDE 117

i•com: Intelligent Conceptual Modelling tool

  • i•com allows for the specification of multiple EER (or UML) diagrams and

inter- and intra-schema constraints;

  • Complete logical reasoning is employed by the tool using a hidden underlying

DLR inference engine;

  • i•com verifies the specification, infers implicit facts and stricter constraints,

and manifests any inconsistencies during the conceptual modelling phase.

  • www.cs.man.ac.uk/˜franconi/icom/

(56/56)