description logics for conceptual design information
play

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)


  1. Simple reasoning example Person { disjoint } Italian English { disjoint,covering } Lazy LatinLover Gentleman Hooligan implies LatinLover = ∅ Italian ⊆ Lazy Italian ≡ Lazy (20/56)

  2. Reasoning by cases Italian { disjoint,complete } Lazy Mafioso LatinLover ItalianProf { disjoint } (21/56)

  3. Reasoning by cases Italian { disjoint,complete } Lazy Mafioso LatinLover ItalianProf { disjoint } implies ItalianProf ⊆ LatinLover (21/56)

  4. ISA and Inheritance Employee Salary:Integer Manager (22/56)

  5. ISA and Inheritance Employee Salary:Integer Manager Salary:Integer implies Manager ⊆ { m | ♯ ( Salary ∩ ( { m } × Integer )) ≥ 1 } (22/56)

  6. Bijection bewteen Classes Natural Number 1..1 rel Even Number 1..1 (23/56)

  7. Bijection bewteen Classes Natural Number 1..1 rel Even Number 1..1 implies “the classes ’Natural Number’ and ’Even Number’ contain the same number of instances”. (23/56)

  8. Bijection bewteen Classes Natural Number 1..1 rel Even Number 1..1 implies “the classes ’Natural Number’ and ’Even Number’ contain the same number of instances”. Natural Number ≡ Even Number If the domain is finite: (23/56)

  9. Infinite worlds Root 2..2 link Node 0..1 (24/56)

  10. Infinite worlds Root 2..2 link Node 0..1 implies “the classes Root and Node contain an infinite number of instances”. (24/56)

  11. 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)

  12. FOL encoding Employee Works-for PaySlipNumber:Integer Salary:Integer 1.. ⋆ Project Manager ProjectCode:String 1..1 { disjoint,complete } Manages AreaManager TopManager 1..1 ∀ 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 ) ∃ =1 x . Manages ( x, y ) ∀ y . Project ( y ) → ∃ =1 y . Manages ( x, y ) ∀ x . Top - Manager ( x ) → ∀ 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)

  13. Additional constraints Employee Works-for PaySlipNumber:Integer Salary:Integer 1.. ⋆ Project Manager ProjectCode:String 1..1 { disjoint,complete } Manages AreaManager TopManager 1..1 • Managers do not work for a project (she/he just manages it): ∀ x . Manager ( x ) → ∀ y . ¬ WORKS - FOR ( x, y ) (27/56)

  14. Additional constraints Employee Works-for PaySlipNumber:Integer 1.. ⋆ Salary:Integer 1.. ⋆ Project Manager ProjectCode:String 1..1 { disjoint,complete } Manages AreaManager TopManager 1..1 • 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)

  15. Key constraints A key is a set of attributes of a class whose value uniquely identify elements of the class itself. Employee Works-for PaySlipNumber:Integer Salary:Integer 1.. ⋆ Project Manager ProjectCode:String 1..1 { disjoint,complete } Manages AreaManager TopManager 1..1 ∀ x . Project ( x ) → ∃ = 1 y . ProjectCode ( x , y ) ∧ String ( y ) ∀ y . ∃ x . ProjectCode ( x , y ) → ∃ = 1 x . ProjectCode ( x , y ) ∧ Project ( x ) (28/56)

  16. Summary • Logic and Conceptual Modelling • Description Logics for Conceptual Modelling • Queries with an Ontology • Ontology Integration (29/56)

  17. The DLR Description Logic – a fragment of FOL • relationships: interpreted as sets of tuples of a given arity R → ⊤ n | R N | ¬ R | R 1 ⊓ R 2 | R 1 ⊔ R 2 | i/n : C • classes: interpreted as sets of objects ≶ k [ i ] R C → ⊤ | CN | ¬ C | C 1 ⊓ C 2 | C 1 ⊔ C 2 | ∃ R ⊑ R ′ | C ⊑ C ′ | R �⊑ R ′ | C �⊑ C ′ • conceptual schema : Works - for ⊑ subj / 2 : Employee ⊓ obj / 2 : Project TopManager ⊑ Manager ⊓ ∃ = 1 [ man ] Manages (30/56)

  18. 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)

  19. 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)

  20. Employee Works-for PaySlipNumber:Integer Salary:Integer 1.. ⋆ Project Manager ProjectCode:String 1..1 { disjoint,complete } Manages AreaManager TopManager 1..1 ⊑ emp / 2 : Employee ⊓ act / 2 : Project Works - for ⊑ man / 2 : TopManager ⊓ prj / 2 : Project Manages ∃ = 1 [ worker ]( PaySlipNumber ⊓ num / 2 : Integer ) ⊓ ⊑ Employee ∃ = 1 [ payee ]( Salary ⊓ amount / 2 : Integer ) ∃ ≤ 1 [ num ]( PaySlipNumber ⊓ worker / 2 : Employee ) ⊤ ⊑ ⊑ Employee ⊓ ( AreaManager ⊔ TopManager ) Manager ⊑ Manager ⊓ ¬ TopManager AreaManager Manager ⊓ ∃ = 1 [ man ] Manages ⊑ TopManager ∃ ≥ 1 [ act ] Works - for ⊓ ∃ = 1 [ prj ] Manages ⊑ Project · · · (32/56)

  21. Reasoning with constraints Employee Works-for PaySlipNumber:Integer Salary:Integer 1.. ⋆ Project Manager ProjectCode:String 1..1 { disjoint,complete } Manages AreaManager TopManager 1..1 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)

  22. Reasoning with constraints Employee Works-for PaySlipNumber:Integer Salary:Integer 1.. ⋆ Project Manager ProjectCode:String 1..1 { disjoint,complete } Manages AreaManager TopManager 1..1 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)

  23. Extensions of DLR • DLR reg : regular expressions and recursive views (beyond FOL) • DLR US : temporal constructs to model temporal databases (temporal logic) • DLR key : general key constraints (34/56)

  24. Reasoning with Ontologies • Exploit the DLR reasoning procedures for solving reasoning problems in the ontology 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)

  25. Reasoning with Ontologies • Exploit the DLR reasoning procedures for solving reasoning problems in the ontology 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)

  26. Reasoning with Ontologies • Exploit the DLR reasoning procedures for solving reasoning problems in the ontology 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)

  27. Summary • Logic and Conceptual Modelling • Description Logics for Conceptual Modelling • Queries with an Ontology • Ontology Integration (36/56)

  28. The role of a Conceptual Schema – revisited Conceptual Schema Logical Schema Data Store (37/56)

  29. The role of a Conceptual Schema – revisited Constraints Conceptual Schema Logical Schema Data Store (37/56)

  30. The role of a Conceptual Schema – revisited Constraints Conceptual Schema Logical Query Schema Result Data Store (37/56)

  31. The role of a Conceptual Schema – revisited Deduction Constraints Conceptual Schema Logical Query Schema Result Data Store (37/56)

  32. The role of a Conceptual Schema – revisited Deduction Constraints Conceptual Schema Logical Query Schema Result Data Store (37/56)

  33. The role of a Conceptual Schema – revisited Deduction Constraints Conceptual Schema Logical Query Schema Result Data Store (37/56)

  34. The role of a Conceptual Schema – revisited Deduction Constraints Conceptual Query Schema Result Logical Query Schema Result Data Store (37/56)

  35. The role of a Conceptual Schema – revisited Deduction Deduction Constraints Conceptual Query Schema Result Logical Query Schema Result Data Store (37/56)

  36. The role of a Conceptual Schema – revisited Deduction Deduction Constraints Conceptual Query Schema Result Logical Query Schema Result Data Store (37/56)

  37. The role of a Conceptual Schema – revisited Agent Deduction Deduction Constraints Conceptual Query Schema Result Logical Query Schema Result Data Store (37/56)

  38. Adapting standard DB query technology • Assumption 1: complete information about each term appearing in the ontology • Assumption 2: consistent information with respect to the constraints introduced by the ontology • Problem: answer a query over the ontology vocabulary (38/56)

  39. Adapting standard DB query technology • Assumption 1: complete information about each term appearing in the ontology • 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)

  40. Adapting standard DB query technology • Assumption 1: complete information about each term appearing in the ontology • 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)

  41. Weakening the assumptions • Assumption 1 weak: complete information about some term appearing in the ontology • Standard DB technologies do not apply • The query answering problem in this context is inherently complex (39/56)

  42. Example OfficeMate Employee Supervises Manager { disjoint,complete } AreaManager TopManager AreaManager p TopManager p (40/56)

  43. Example Employee = { John , Andrea , Mary , Paul } OfficeMate Manager = { John , Andrea } AreaManager p = { Paul } Employee TopManager p = { Mary } Supervises = { ( John , Andrea ), ( John , Mary ) } OfficeMate = { ( Mary , Andrea ), ( Andrea , Paul ) } Supervises Manager { disjoint,complete } AreaManager TopManager AreaManager p TopManager p (40/56)

  44. Example Employee = { John , Andrea , Mary , Paul } OfficeMate Manager = { John , Andrea } AreaManager p = { Paul } Employee TopManager p = { Mary } Supervises = { ( John , Andrea ), ( John , Mary ) } OfficeMate = { ( Mary , Andrea ), ( Andrea , Paul ) } Supervises John : Manager Manager � ❅ � ❅ Supervises Supervises � ❅ { disjoint,complete } � ❅ � ✠ ❅ ❘ ✛ OfficeMate Andrea : Manager Mary : TopManager p AreaManager TopManager OfficeMate ❄ Paul : AreaManager p AreaManager p TopManager p (40/56)

  45. Example (cont.) OfficeMate Employee Supervises Manager { disjoint,complete } AreaManager TopManager AreaManager p TopManager p (41/56)

  46. Example (cont.) OfficeMate John : Manager � ❅ Employee � ❅ Supervises Supervises � ❅ � ❅ ✠ � ❅ ❘ ✛ Supervises OfficeMate Andrea : Manager Mary : TopManager p Manager OfficeMate ❄ { disjoint,complete } Paul : AreaManager p AreaManager TopManager AreaManager p TopManager p (41/56)

  47. Example (cont.) OfficeMate John : Manager � ❅ Employee � ❅ Supervises Supervises � ❅ � ❅ ✠ � ❅ ❘ ✛ Supervises OfficeMate Andrea : Manager Mary : TopManager p Manager OfficeMate ❄ { disjoint,complete } Paul : AreaManager p AreaManager TopManager Q :- Supervises( John , X ), TopManager( X ), Officemate( X , Y ), AreaManager( Y ) AreaManager p TopManager p (41/56)

  48. Example (cont.) OfficeMate John : Manager � ❅ Employee � ❅ Supervises Supervises � ❅ � ❅ � ✠ ❅ ❘ ✛ Supervises OfficeMate Andrea : Manager Mary : TopManager p Manager OfficeMate ❄ { disjoint,complete } Paul : AreaManager p AreaManager TopManager Q :- Supervises( John , X ), TopManager( X ), Officemate( X , Y ), AreaManager( Y ) YES! AreaManager p TopManager p (41/56)

  49. 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 ontology terms is given; (42/56)

  50. An Information Source Example CompanyEmployee / 2 ; CompanyProject / 3 CompanyEmployee CompanyProject name project project manager department john esprit-dwq esprit-dwq enrico cs-uman · · · · · · · · · · · · · · · (43/56)

  51. An Information Source Example CompanyEmployee / 2 ; CompanyProject / 3 CompanyEmployee CompanyProject name project project manager department john esprit-dwq esprit-dwq enrico cs-uman · · · · · · · · · · · · · · · Q = “Tell me the projects in which John works, and their managers and departments.” (43/56)

  52. An Information Source Example CompanyEmployee / 2 ; CompanyProject / 3 CompanyEmployee CompanyProject name project project manager department john esprit-dwq 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)

  53. An Information Source Example CompanyEmployee / 2 ; CompanyProject / 3 CompanyEmployee CompanyProject name project project manager department john esprit-dwq 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)

  54. An Information Source Example CompanyEmployee / 2 ; CompanyProject / 3 CompanyEmployee CompanyProject name project project manager department john esprit-dwq 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)

  55. LAV: local-as-view Employee Works-for PaySlipNumber:Integer Salary:Integer 1.. ⋆ Project Manager ProjectCode:String 1..1 { disjoint,complete } Manages AreaManager TopManager 1..1 (44/56)

  56. LAV: local-as-view Employee Works-for PaySlipNumber:Integer Salary:Integer 1.. ⋆ Project Manager ProjectCode:String 1..1 { disjoint,complete } Manages AreaManager TopManager 1..1 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)

  57. GAV: global-as-view Employee Works-for PaySlipNumber:Integer Salary:Integer 1.. ⋆ Project Manager ProjectCode:String 1..1 { disjoint,complete } Manages AreaManager TopManager 1..1 (45/56)

  58. GAV: global-as-view Employee Works-for PaySlipNumber:Integer Salary:Integer 1.. ⋆ Project Manager ProjectCode:String 1..1 { disjoint,complete } Manages AreaManager TopManager 1..1 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)

  59. 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 ) . Employee Works-for PaySlipNumber:Integer Salary:Integer CompanyEmployee ( x , y ) ⇐ Employee ( x ) ∧ Project ( y ) ∧ Works - for ( x , y ) . 1.. ⋆ Project CompanyProject ( x , y , z ) ⇐ Manager ProjectCode:String Project ( x ) ∧ Manager ( y ) ∧ Department ( z ) ∧ Manages ( y , x ) ∧ Resp - for ( z , x ) . 1..1 { disjoint,complete } Manages AreaManager TopManager 1..1 (46/56)

  60. 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 ) . Employee Works-for PaySlipNumber:Integer Salary:Integer CompanyEmployee ( x , y ) ⇐ Employee ( x ) ∧ Project ( y ) ∧ Works - for ( x , y ) . 1.. ⋆ Project CompanyProject ( x , y , z ) ⇐ Manager ProjectCode:String Project ( x ) ∧ Manager ( y ) ∧ Department ( z ) ∧ Manages ( y , x ) ∧ Resp - for ( z , x ) . 1..1 { disjoint,complete } Manages AreaManager TopManager 1..1 � Q ( x , y , z ) ⇐ CompanyEmployee ( john , x ) ∧ CompanyProject ( x , y , z ) (46/56)

  61. 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 ) . Employee Works-for PaySlipNumber:Integer Salary:Integer Project ( x ) ⇐ CompanyEmployee ( y , x ) ∪ CompanyProject ( x , y , z ) 1.. ⋆ Works - for ( x , y ) ⇐ CompanyEmployee ( x , y ) Project Manager TopManager ( x ) ⇐ CompanyProject ( y , x , z ) ProjectCode:String Manages ( x , y ) ⇐ CompanyProject ( y , x , z ) 1..1 . . . { disjoint,complete } Manages AreaManager TopManager 1..1 (47/56)

Recommend


More recommend