Gottlob ICDE 2011

926 views
846 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
926
On SlideShare
0
From Embeds
0
Number of Embeds
377
Actions
Shares
0
Downloads
16
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Gottlob ICDE 2011

  1. 1. Georg Gottlob Computing LaboratoryDepartment of Computer Science University of Oxford Joint work with G. Orsi and A. Pieris
  2. 2.  
  3. 3. D  reports(X,Y)  employee(X) reports(john,ann) reports(X,Y)  employee(Y) reports(ann,tom) reports(X,Y)  manager(Y,X) manager(X,Y),manager(Y,Z)  manager(X,Z) Intensional DB reports(john,ann) reports(ann,tom) employee(john) employee(ann) employee(tom) manager(ann,john) manager(tom,ann) manager(tom,john)Q = XYZ employee(X),manager(X,Y),manager(Y,Z)
  4. 4. D  reports(X,Y)  employee(X) reports(john,ann) reports(X,Y)  employee(Y) reports(ann,tom) reports(X,Y)  manager(Y,X) manager(X,Y),manager(Y,Z)  manager(X,Z) Intensional DB reports(john,ann) reports(ann,tom) Unique employee(john) employee(ann) Least Herbrand Model employee(tom) manager(ann,john) for manager(tom,ann) manager(tom,john) DυQ = XYZ employee(X),manager(X,Y),manager(Y,Z)
  5. 5.  employee v supervisedBysupervisedBy v employee employee supervisedBy
  6. 6. employee v supervises-supervises v employee
  7. 7. employee v supervises-supervises v employee
  8. 8. employee v supervises- supervises v employee?:- supervises(X,John), employee(X)
  9. 9. employee v supervises- supervises v employee?:- supervises(X,John), employee(X)
  10. 10. employee v supervises- supervises v employee?:- supervises(John,X)
  11. 11. employee v supervises- supervises v employee ?:- supervises(John,X)Usually done with tableaux algorithms
  12. 12.     
  13. 13.
  14. 14. DL axiom Datalog ruleConcept Inclusion employee v person employee(X)  person(X)(Inverse) Role Inclusion reports¡ v manager reports(X,Y)  manager(Y,X)Role Transitivity trans(manager) manager(X,Y),manager(Y,Z)  manager(X,Z)
  15. 15. DL axiom Datalog(?) ruleParticipationemployee v report employee(X)  Y report(X,Y)Disjointnessemployee v :customer employee(X),customer(X)  Functionalityfunct(reports) reports(X,Y),reports(X,Z)  Y = Z
  16. 16. D
  17. 17. Q = X (X)  D D [  ² Q , B ( (B D [ )  B ² Q) B¶DÆB²
  18. 18. Q = X (X)    D D [  ² Q , B ( (B ² D[)  B ² Q) B¶DÆB²
  19. 19. DB technology DLs(DL-Lite, EL, Flogic Lite) + constraints Datalog
  20. 20.          
  21. 21.   υ
  22. 22.   υ 
  23. 23. D dom(D) = {a,b,c,d}   chase(D, ) = ?
  24. 24. D dom(D) = {a,b,c,d}   chase(D, ) = D υ { r(b,z0)
  25. 25. D dom(D) = {a,b,c,d}   chase(D, ) = D υ { r(b,z0), r(d,z1)
  26. 26. D dom(D) = {a,b,c,d}    z0 = z1chase(D, ) = D υ { r(b,z0), r(d,z1)
  27. 27. D dom(D) = {a,b,c,d}   chase(D, ) = D υ { r(b,z1), r(d,z1) }
  28. 28. see, e.g., Deutsch, Nash & Remmel chase(D,) PODS 08 D h1 h2 . . .M1 M2
  29. 29. Q h chase(D,) D h1 h2 . . .M1 M2 Dυ²Q , chase(D,) ² Q
  30. 30. Σ Σ Σ Σ Σ
  31. 31.  
  32. 32.  Linear DL-Lite Sticky-join Guarded EL
  33. 33.  Linear DL-Lite Sticky-join FO-rewritable Guarded EL PTIME
  34. 34.  Linear DL-Lite Sticky-join FO-rewritable Guarded EL PTIME We focus on the linear fragment: • first-order rewriting • semantic query optimizations
  35. 35.  
  36. 36. Q  Q
  37. 37. Q Q* Q
  38. 38. Q  Q* QD
  39. 39. DL-Lite: Popular family of DLs with highly tractable data complexity DL-Lite TBox Datalog Representation DL-Litecore promoter v dealsWith professor(X)  Y teachesTo(X,Y) promoter v customer professor(X),student(X)   DL-LiteR promotes¡ v isAdvertised promotes(X,Y)  isAdvertised(Y,X) DL-LiteF funct( supervises- ) supervises(Y,X),supervises Y,X  Y = Z
  40. 40.   Q D 
  41. 41.   Q D 
  42. 42.    Q  
  43. 43.  Q  Q 
  44. 44.    Q Q 
  45. 45.    Q Q  
  46. 46.    Q Q   
  47. 47.    Q Q    
  48. 48.    Q Q   
  49. 49. Schema SELECT promoter FROM promotesTo PT, customer C WHERE PT.promoted = C.name UNION SELECT promoter FROM promotesTo PT1, promotesTo PT2 WHERE PT1.promoted = PT2.promoted UNION SELECT name FROM promoter
  50. 50. Schema Execute Q over D: SELECT promoter FROM promotesTo PT, customer C D WHERE PT.promoted = C.name UNION SELECT promoter FROM promotesTo PT1, promotesTo PT2 WHERE PT1.promoted = PT2.promoted UNION SELECT name FROM promoter
  51. 51. :      
  52. 52.  
  53. 53. :   
  54. 54. :   
  55. 55. :    
  56. 56. :       
  57. 57. :       
  58. 58.  :   Q:  
  59. 59. :      
  60. 60. :      
  61. 61.   
  62. 62.
  63. 63.
  64. 64.
  65. 65.    
  66. 66.     
  67. 67. 8-  
  68. 68. EL: Popular DL for complex systems modelling (e.g., biology) EL TBox Datalog Representation  v  u v 
  69. 69. 
  70. 70. 
  71. 71.   
  72. 72.
  73. 73.  9 
  74. 74. elephant(E),mouse(M)  biggerThan(E,M)
  75. 75. 
  76. 76. person v 9father¡ 9father v person?:- 9father.{John} u person
  77. 77. person v 9father¡ 9father v person?:- 9father.{John} u person ?:- 9father¡ u 9father.{John} u person
  78. 78. person v 9father¡ 9father v person?:- 9father.{John} u person ?:- 9father¡ u 9father.{John} u person 9father¡, 9father.{John}, person
  79. 79. person v 9father¡ 9father v person ?:- 9father.{John} u person ?:- 9father¡ u 9father.{John} u person 9father¡, 9father.{John}, personfather
  80. 80. person v 9father¡ 9father v person ?:- 9father.{John} u person ?:- 9father¡ u 9father.{John} u personfather 9father¡, 9father.{John}, personfather
  81. 81. person v 9father¡ 9father v person ?:- 9father.{John} u person Model true:- 9father¡ u 9father.{John} u personfather 9father¡, 9father.{John}, personfather
  82. 82. 
  83. 83. 
  84. 84. 
  85. 85. T E  T , E
  86. 86. T E  T , E
  87. 87. T E  T , E

×