Ontology-Based Data Access

Size: px
Start display at page:

Download "Ontology-Based Data Access"

Transcription

1 Ontology-Based Data Access Roman Kontchakov Dept. of Computer Science and Inf. Systems, Birkbeck, University of London acknowledgements: Alessandro Artale, Diego Calvanese, Carsten Lutz, Mariano Rodríguez-Muro, David Toman, Frank Wolter and Michael Zakharyaschev

2 Data Management: New Challenges Statoil (Norway) many databases, e.g., EPDS (Exploration and Production Data Store over 1500 tables historical exploration data (e.g., layers of rocks, porosity), production logs, maps, etc. business information such as license areas and companies direct data access by engineers (and geologists in particular) is often challenging SIGMOD 2015, Moscow,

3 Data Management: New Challenges Statoil (Norway) many databases, e.g., EPDS (Exploration and Production Data Store over 1500 tables historical exploration data (e.g., layers of rocks, porosity), production logs, maps, etc. business information such as license areas and companies direct data access by engineers (and geologists in particular) is often challenging Siemens Energy (Germany) power generation facilities (gas and steam turbines) 50 service centres linked to a common database each turbine 2000 sensors 150 tables 30 GB of data is generated daily (hundreds of terabytes in total) SIGMOD 2015, Moscow,

4 Ontology-Based Data Access Aim: to achieve logical transparency in accessing data hide from the user where and how data is stored present only a conceptual view of the data query the data sources through the conceptual model using RDBMSs subclass Director domain directed range ontology TBox EuropeanDirector Movie mappings r 2 (Director, Bio) r 1 (Title, Year, Director) data sources ABox since 1960, european directors since 1990 SIGMOD 2015, Moscow,

5 Issues in OBDA what is the right ontology language? there is a wide spectrum of languages that differ in expressive power and complexity of inference scalability to very large amounts of data is key SIGMOD 2015, Moscow,

6 Issues in OBDA what is the right ontology language? there is a wide spectrum of languages that differ in expressive power and complexity of inference scalability to very large amounts of data is key what is the query language? SIGMOD 2015, Moscow,

7 Issues in OBDA what is the right ontology language? there is a wide spectrum of languages that differ in expressive power and complexity of inference scalability to very large amounts of data is key what is the query language? how do we connect ontologies to data sources? multiple data sources and ontologies SIGMOD 2015, Moscow,

8 Issues in OBDA what is the right ontology language? there is a wide spectrum of languages that differ in expressive power and complexity of inference scalability to very large amounts of data is key what is the query language? how do we connect ontologies to data sources? multiple data sources and ontologies available tools? sound and complete reasoning practical scalability SIGMOD 2015, Moscow,

9 Part 1 Databases and Logic SIGMOD 2015, Moscow,

10 ID Databases: Specifying Schema an Entity-Relationship diagram ID Director directed Movie name ISA year title EuropeanDirector SIGMOD 2015, Moscow,

11 Databases: Specifying Schema ID an Entity-Relationship diagram ID Director directed Movie name ISA year title EuropeanDirector integrity constraints or dependencies (in the language of FO): d ( m directed(d, m) n Director(d, n)) m ( d directed(d, m) ty Movie(m, t, y)) dn (EuropeanDirector(d, n) Director(d, n)) (foreign keys, inclusion or tuple-generating dependencies, TGDs) SIGMOD 2015, Moscow,

12 Databases: Specifying Schema ID an Entity-Relationship diagram ID Director directed Movie name ISA year title EuropeanDirector integrity constraints or dependencies (in the language of FO): d ( m directed(d, m) n Director(d, n)) m ( d directed(d, m) ty Movie(m, t, y)) dn (EuropeanDirector(d, n) Director(d, n)) (foreign keys, inclusion or tuple-generating dependencies, TGDs) dn 1 n 2 (Director(d, n 1 ) Director(d, n 2 ) (n 1 = n 2 )) (keys, functional mt 1 t 2 y 1 y 2 (Movie(m, t 1, y 1 ) Movie(m, t 2, y 2 ) (t 1 = t 2 )) or equality-generating dependencies, EGDs) SIGMOD 2015, Moscow,

13 Databases: Data and the Closed World Assumption data is completely specified (closed world assumption) and is typically large what is specified is true, everything else is false SIGMOD 2015, Moscow,

14 Databases: Data and the Closed World Assumption data is completely specified (closed world assumption) and is typically large what is specified is true, everything else is false data: Director = { (0, peter ), (1, quentin ), (2, danny ) } EuropeanDirector = { (0, peter ), (2, danny ) } Movie = { (10, DC ), (11, TS ) } directed = { (0, 10), (2, 11) } query: q(n) = d Director(d, n) SIGMOD 2015, Moscow,

15 Databases: Data and the Closed World Assumption data is completely specified (closed world assumption) and is typically large what is specified is true, everything else is false data: Director = { (0, peter ), (1, quentin ), (2, danny ) } EuropeanDirector = { (0, peter ), (2, danny ) } Movie = { (10, DC ), (11, TS ) } directed = { (0, 10), (2, 11) } query: q(n) = d Director(d, n) answer: { peter, quentin, danny } NB: not having (2, danny ) in Director would violate the integrity constraint dn (EuropeanDirector(d, n) Director(d, n)) SIGMOD 2015, Moscow,

16 Databases: Query Languages SQL domain-independent FO queries: database predicates + logical connectives,, + quantifiers, SIGMOD 2015, Moscow,

17 Databases: Query Languages SQL domain-independent FO queries: database predicates + logical connectives,, + quantifiers, data D = FO interpretation I D (CWA) a is an answer to q( x) iff I D = q( a) SIGMOD 2015, Moscow,

18 Databases: Query Languages SQL domain-independent FO queries: database predicates + logical connectives,, + quantifiers, data D = FO interpretation I D (CWA) a is an answer to q( x) iff I D = q( a) Select-Project-Join (SPJ) = conjunctive queries (CQs): database predicates + + database engines are optimised for CQs Example: SELECT M.title, D.name FROM Movie M, Directed MD, Director D WHERE M.id = MD.movieId AND MD.directorId = D.id AND M.Year = 1982 SIGMOD 2015, Moscow,

19 Databases: Query Languages SQL domain-independent FO queries: database predicates + logical connectives,, + quantifiers, data D = FO interpretation I D (CWA) a is an answer to q( x) iff I D = q( a) Select-Project-Join (SPJ) = conjunctive queries (CQs): database predicates + + database engines are optimised for CQs Example: SELECT M.title, D.name FROM Movie M, Directed MD, Director D WHERE M.id = MD.movieId AND MD.directorId = D.id AND M.Year = 1982 Datalog notation: q( x) }{{} head P 1 ( z 1 ),..., P k ( z k ) }{{} body where each z i is a vector, which may contain answer variables x and existentially quantified variables y (implicit) Example: q(t, n) Movie(m, t, 1982), directed(m, d), director(d, n) SIGMOD 2015, Moscow,

20 Why do Databases Work? query answering problem (as a recognition problem): given a finite data D, a query q( x) and a tuple a, decide whether I D = q( a) I D makes the facts in D true (and only them) what is the complexity of CQ answering? SIGMOD 2015, Moscow,

21 Why do Databases Work? query answering problem (as a recognition problem): given a finite data D, a query q( x) and a tuple a, decide whether I D = q( a) I D makes the facts in D true (and only them) what is the complexity of CQ answering? naive algorithm: guess values for all existential variables and then evaluate the query in polynomial time in NP can it be done better? SIGMOD 2015, Moscow,

22 Why Do Databases Work? (2) no, by reduction of the graph 3-colourability problem, which is NP-complete: given an undirected graph G = (V, E), decide whether it possible to colour it (using r, g, b) so that no edge has the same colour at both ends? SIGMOD 2015, Moscow,

23 Why Do Databases Work? (2) no, by reduction of the graph 3-colourability problem, which is NP-complete: given an undirected graph G = (V, E), decide whether it possible to colour it (using r, g, b) so that no edge has the same colour at both ends? SIGMOD 2015, Moscow,

24 Why Do Databases Work? (2) no, by reduction of the graph 3-colourability problem, which is NP-complete: given an undirected graph G = (V, E), decide whether it possible to colour it (using r, g, b) so that no edge has the same colour at both ends? SIGMOD 2015, Moscow,

25 Why Do Databases Work? (2) no, by reduction of the graph 3-colourability problem, which is NP-complete: given an undirected graph G = (V, E), decide whether it possible to colour it (using r, g, b) so that no edge has the same colour at both ends? D = {A(r, g), A(g, b), A(b, r), A(g, r), A(r, b), A(b, g)} q G = v 1,..., v n A(v i, v j ) (v i,v j ) E g A b A A r D = q G iff G is 3-colourable SIGMOD 2015, Moscow,

26 Why Do Databases Work? (2) no, by reduction of the graph 3-colourability problem, which is NP-complete: given an undirected graph G = (V, E), decide whether it possible to colour it (using r, g, b) so that no edge has the same colour at both ends? D = {A(r, g), A(g, b), A(b, r), A(g, r), A(r, b), A(b, g)} q G = v 1,..., v n A(v i, v j ) (v i,v j ) E g A b A A r D = q G iff G is 3-colourable in fact, the query answering algorithm runs in O( D q ) data is large, query is short data complexity: only data D are counted as input (q is constant) (Vardi, 1982): query answering is in AC 0 for data complexity SIGMOD 2015, Moscow,

27 Circuits and AC 0 a circuit is an acyclic graph of AND-, OR- and NOT-gates (with n inputs and a single output, sink) g 3 p 1 p 2 SIGMOD 2015, Moscow,

28 Circuits and AC 0 a circuit is an acyclic graph of AND-, OR- and NOT-gates (with n inputs and a single output, sink) g 3 p 1 p 2 database instances D can be encoded on inputs (one input for each possible ground atom) FO-query is a circuit:, and are AND-, OR- and NOT-gates, respectively SIGMOD 2015, Moscow,

29 Circuits and AC 0 a circuit is an acyclic graph of AND-, OR- and NOT-gates (with n inputs and a single output, sink) g 3 p 1 p 2 database instances D can be encoded on inputs (one input for each possible ground atom) FO-query is a circuit:, and are AND-, OR- and NOT-gates, respectively and are AND- and OR-gates with unbounded fan-in SIGMOD 2015, Moscow,

30 Circuits and AC 0 a circuit is an acyclic graph of AND-, OR- and NOT-gates (with n inputs and a single output, sink) g 3 p 1 p 2 database instances D can be encoded on inputs (one input for each possible ground atom) FO-query is a circuit:, and are AND-, OR- and NOT-gates, respectively and are AND- and OR-gates with unbounded fan-in AC 0 = circuits of constant depth with AND- and OR-nodes of unbounded fan-in constant time by a polynomial number of processors (high degree of parallelism) SIGMOD 2015, Moscow,

31 Circuits and AC 0 a circuit is an acyclic graph of AND-, OR- and NOT-gates (with n inputs and a single output, sink) g 3 p 1 p 2 database instances D can be encoded on inputs (one input for each possible ground atom) FO-query is a circuit:, and are AND-, OR- and NOT-gates, respectively and are AND- and OR-gates with unbounded fan-in AC 0 = circuits of constant depth with AND- and OR-nodes of unbounded fan-in constant time by a polynomial number of processors (high degree of parallelism) the depth of this circuit does not depend on D Vardi s theorem SIGMOD 2015, Moscow,

32 Circuits and AC 0 a circuit is an acyclic graph of AND-, OR- and NOT-gates (with n inputs and a single output, sink) g 3 p 1 p 2 database instances D can be encoded on inputs (one input for each possible ground atom) FO-query is a circuit:, and are AND-, OR- and NOT-gates, respectively and are AND- and OR-gates with unbounded fan-in AC 0 = circuits of constant depth with AND- and OR-nodes of unbounded fan-in constant time by a polynomial number of processors (high degree of parallelism) the depth of this circuit does not depend on D Vardi s theorem NB: AC 0 is a proper subclass of LOGSPACE P (PARITY does not belong to AC 0 ) given a word w, decide whether its length is even SIGMOD 2015, Moscow,

33 Part 2 Basics of Ontology Languages SIGMOD 2015, Moscow,

34 DLs and OWL: Syntax concepts (classes, sets of elements) C ::= A }{{} i concept name C }{{} ObjectComplementOf(C) }{{} owl:thing R.C }{{} ObjectSomeValuesFrom(R,C) }{{} owl:nothing C 1 C 2 }{{} ObjectIntersectionOf(C 1,C 2 ) R.C }{{} ObjectAllValuesFrom(R,C) C 1 C 2 }{{} ObjectUnionOf(C 1,C 2 ) SIGMOD 2015, Moscow,

35 DLs and OWL: Syntax concepts (classes, sets of elements) C ::= A }{{} i concept name C }{{} ObjectComplementOf(C) }{{} owl:thing R.C }{{} ObjectSomeValuesFrom(R,C) }{{} owl:nothing C 1 C 2 }{{} ObjectIntersectionOf(C 1,C 2 ) R.C }{{} ObjectAllValuesFrom(R,C) C 1 C 2 }{{} ObjectUnionOf(C 1,C 2 ) roles (object properties, binary relations) R ::= P }{{} i P i role name SIGMOD 2015, Moscow,

36 DLs and OWL: Syntax concepts (classes, sets of elements) C ::= A }{{} i concept name C }{{} ObjectComplementOf(C) }{{} owl:thing R.C }{{} ObjectSomeValuesFrom(R,C) }{{} owl:nothing C 1 C 2 }{{} ObjectIntersectionOf(C 1,C 2 ) R.C }{{} ObjectAllValuesFrom(R,C) C 1 C 2 }{{} ObjectUnionOf(C 1,C 2 ) roles (object properties, binary relations) R ::= P }{{} i P i role name TBox T C 1 C 2 }{{} SubClassOf(C 1,C 2 ) and R 1 R 2 }{{} SubObjectPropertyOf(R 1,R 2 ) ABox A C(a) and R(a, b) SIGMOD 2015, Moscow,

37 DLs and OWL: Syntax concepts (classes, sets of elements) C ::= A }{{} i concept name C }{{} ObjectComplementOf(C) }{{} owl:thing R.C }{{} ObjectSomeValuesFrom(R,C) }{{} owl:nothing C 1 C 2 }{{} ObjectIntersectionOf(C 1,C 2 ) R.C }{{} ObjectAllValuesFrom(R,C) C 1 C 2 }{{} ObjectUnionOf(C 1,C 2 ) roles (object properties, binary relations) R ::= P }{{} i P i role name TBox T C 1 C 2 }{{} SubClassOf(C 1,C 2 ) and R 1 R 2 }{{} SubObjectPropertyOf(R 1,R 2 ) ABox A C(a) and R(a, b) knowledge base K = (T, A) (ontology) SIGMOD 2015, Moscow,

38 interpretation I = ( }{{} I, I) domain DL Semantics I sw GraduateCourse FirstYearStudent john takescourse takescourse sp1 takescourse Student kate I (interpretation function) individuals a i elements a I i I concept names A i subsets A I i I role names P i binary relations P I i I I SIGMOD 2015, Moscow,

39 DL Semantics (2) (P ) I = {(v, u) (u, v) P I } j takescourse takescourse s SIGMOD 2015, Moscow,

40 DL Semantics (2) (P ) I = {(v, u) (u, v) P I } j takescourse takescourse s I = I and I = SIGMOD 2015, Moscow,

41 DL Semantics (2) (P ) I = {(v, u) (u, v) P I } j takescourse takescourse s I = I and I = ( C) I = I \ C I j s l SIGMOD 2015, Moscow,

42 DL Semantics (2) (P ) I = {(v, u) (u, v) P I } j takescourse takescourse s I = I and I = ( C) I = I \ C I j s l (C 1 C 2 ) I = C I 1 CI 2 j k b (C 1 C 2 ) I = C I 1 CI 2 SIGMOD 2015, Moscow,

43 DL Semantics (3) ( R.C) I = { u there is v C I such that (u, v) R I } takescourse.undergraduatecourse takescourse.graduatecourse john takescourse sw GraduateCourse takescourse takescourse sp1 UndergraduateCourse Student kate R C or y (R(x, y) C(y)) SIGMOD 2015, Moscow,

44 DL Semantics (3) ( R.C) I = { u there is v C I such that (u, v) R I } takescourse.undergraduatecourse takescourse.graduatecourse john takescourse sw GraduateCourse takescourse takescourse sp1 UndergraduateCourse Student kate R C or y (R(x, y) C(y)) ( R.C) I = { u v C I, for all v with (u, v) R I } R.C = R. C SIGMOD 2015, Moscow,

45 DL Semantics (3) ( R.C) I = { u there is v C I such that (u, v) R I } takescourse.undergraduatecourse takescourse.graduatecourse john takescourse sw GraduateCourse takescourse takescourse sp1 UndergraduateCourse Student kate R C or y (R(x, y) C(y)) ( R.C) I = { u v C I, for all v with (u, v) R } I R.C = R. C NB. for all is true when there are no v with (u, v) R I e.g., sp1 ( takescourse.undergraduatecourse) I sp1 ( takescourse. ) I R C or y (R(x, y) C(y)) SIGMOD 2015, Moscow,

46 DL Semantics (4) I = C 1 C 2 C I 1 CI 2 j k b C 1 C 2 SIGMOD 2015, Moscow,

47 DL Semantics (4) I = C 1 C 2 C I 1 CI 2 j k b C 1 C 2 I = R 1 R 2 R I 1 RI 2 SIGMOD 2015, Moscow,

48 DL Semantics (4) I = C 1 C 2 C I 1 CI 2 j k b C 1 C 2 I = R 1 R 2 R I 1 RI 2 I = C(a) a I C I I = R(a, b) (a I, b I ) R I SIGMOD 2015, Moscow,

49 DL Semantics (4) I = C 1 C 2 C I 1 CI 2 j k b C 1 C 2 I = R 1 R 2 R I 1 RI 2 I = C(a) a I C I I = R(a, b) (a I, b I ) R I I is a model of (T, A) if I = α, for all inclusions α in T and assertions α in A SIGMOD 2015, Moscow,

50 Open World Assumption T = { GraduateStudent Student GraduateStudent takescourse.graduatecourse } A = { GraduateStudent(john) } SIGMOD 2015, Moscow,

51 Open World Assumption T = { GraduateStudent Student GraduateStudent takescourse.graduatecourse } A = { GraduateStudent(john) } I 1 GraduateStudent Student GraduateCourse j s takescourse john john I1 = j GraduateStudent I1 = {j} Student I1 = {j} GraduateCourse I1 = {s} takescourse I1 = {(j, s)} is a model of (T, A) SIGMOD 2015, Moscow,

52 Open World Assumption T = { GraduateStudent Student GraduateStudent takescourse.graduatecourse } A = { GraduateStudent(john) } I 1 GraduateStudent Student GraduateCourse j s takescourse john GraduateStudent Student GraduateCourse a john takescourse I 2 john I1 = j GraduateStudent I1 = {j} Student I1 = {j} GraduateCourse I1 = {s} takescourse I1 = {(j, s)} is a model of (T, A) john I2 = a GraduateStudent I2 = {a} Student I2 = {a} GraduateCourse I2 = {a} takescourse I2 = {(a, a)} is a model of (T, A) SIGMOD 2015, Moscow,

53 Open World Assumption T = { GraduateStudent Student GraduateStudent takescourse.graduatecourse } A = { GraduateStudent(john) } I 1 GraduateStudent Student GraduateCourse j s takescourse john GraduateStudent Student GraduateCourse a john GraduateStudent Student j john takescourse I 2 I 3 john I1 = j GraduateStudent I1 = {j} Student I1 = {j} GraduateCourse I1 = {s} takescourse I1 = {(j, s)} is a model of (T, A) john I2 = a GraduateStudent I2 = {a} Student I2 = {a} GraduateCourse I2 = {a} takescourse I2 = {(a, a)} is a model of (T, A) john I3 = j GraduateStudent I3 = {j} Student I3 = {j} GraduateCourse I3 = takescourse I3 = is not a model of (T, A) SIGMOD 2015, Moscow,

54 Reasoning: Consistency a knowledge base K is satisfiable (or consistent) (in other words, K implies no contradictions) if there exists at least one model of K SIGMOD 2015, Moscow,

55 Reasoning: Consistency a knowledge base K is satisfiable (or consistent) (in other words, K implies no contradictions) if there exists at least one model of K Example T : A: UndergraduateStudent takescourse.undergraduatecourse UndergraduateCourse GraduateCourse UndergraduateStudent(john) takescourse(john, sw) GraduateCourse(sw) SIGMOD 2015, Moscow,

56 Reasoning: Consistency a knowledge base K is satisfiable (or consistent) (in other words, K implies no contradictions) if there exists at least one model of K Example T : A: UndergraduateStudent takescourse.undergraduatecourse UndergraduateCourse GraduateCourse UndergraduateStudent(john) takescourse(john, sw) GraduateCourse(sw) (T, A) is inconsistent: John (as an undergraduate student) can take only undergraduate courses. We know, however, that he takes a graduate course, which cannot be an undergraduate one. SIGMOD 2015, Moscow,

57 Reasoning: Entailment C 1 C 2 is entailed by K K = C 1 C 2 if I = C 1 C 2 for all models I of K (entailment for role inclusions and concept and role assertions is defined similarly) SIGMOD 2015, Moscow,

58 Reasoning: Entailment C 1 C 2 is entailed by K K = C 1 C 2 if I = C 1 C 2 for all models I of K (entailment for role inclusions and concept and role assertions is defined similarly) T : takescourse.undergraduatecourse UndergraduateStudent FirstYearStudent takescourse.undergraduatecourse. SIGMOD 2015, Moscow,

59 Reasoning: Entailment C 1 C 2 is entailed by K K = C 1 C 2 if I = C 1 C 2 for all models I of K (entailment for role inclusions and concept and role assertions is defined similarly) T : takescourse.undergraduatecourse UndergraduateStudent FirstYearStudent takescourse.undergraduatecourse. I 1 FirstYearStudent UndergraduateStudent j takescourse s UndergraduateCourse I 1 = T I 1 = FirstYearStudent UndergraduateStudent SIGMOD 2015, Moscow,

60 Reasoning: Entailment C 1 C 2 is entailed by K K = C 1 C 2 if I = C 1 C 2 for all models I of K (entailment for role inclusions and concept and role assertions is defined similarly) T : takescourse.undergraduatecourse UndergraduateStudent FirstYearStudent takescourse.undergraduatecourse. I 1 FirstYearStudent UndergraduateStudent j takescourse s UndergraduateCourse I 2 FirstYearStudent j takescourse s UndergraduateCourse takescourse l I 1 = T I 1 = FirstYearStudent UndergraduateStudent I 2 = T I 2 = FirstYearStudent UndergraduateStudent SIGMOD 2015, Moscow,

61 Certain Answers to CQs q( x) = y ϕ( x, y) is a CQ with x = (x 1,..., x n ) a = (a 1,..., a n ) is a tuple of individual names from A q( a) is the result of replacing each x i in y ϕ( x, y) with a i SIGMOD 2015, Moscow,

62 Certain Answers to CQs q( x) = y ϕ( x, y) is a CQ with x = (x 1,..., x n ) a = (a 1,..., a n ) is a tuple of individual names from A q( a) is the result of replacing each x i in y ϕ( x, y) with a i a is a certain answer to q( x) over T, A (T, A) = q( a) if, for any model I of (T, A), the sentence q( a) is true in I I = q( a) SIGMOD 2015, Moscow,

63 Andrea s Example (Schaerf, 1993) T : Male Female, Male Female A: friend(john, susan), friend(john, andrea), Female(susan) loves(susan, andrea), loves(andrea, bill), Male(bill) q = y, z ( friend(john, y) Female(y) loves(y, z) Male(z) ) SIGMOD 2015, Moscow,

64 Andrea s Example (Schaerf, 1993) T : Male Female, Male Female A: friend(john, susan), friend(john, andrea), Female(susan) loves(susan, andrea), loves(andrea, bill), Male(bill) q = y, z ( friend(john, y) Female(y) loves(y, z) Male(z) ) john loves andrea susan Female Female loves friend bill Male friend A SIGMOD 2015, Moscow,

65 Andrea s Example (Schaerf, 1993) T : Male Female, Male Female A: friend(john, susan), friend(john, andrea), Female(susan) loves(susan, andrea), loves(andrea, bill), Male(bill) q = y, z ( friend(john, y) Female(y) loves(y, z) Male(z) ) friend john loves andrea susan Female Female loves bill Male friend A john loves andrea susan Male Female loves friend bill Male friend A SIGMOD 2015, Moscow,

66 Andrea s Example (Schaerf, 1993) T : Male Female, Male Female A: friend(john, susan), friend(john, andrea), Female(susan) loves(susan, andrea), loves(andrea, bill), Male(bill) q = y, z ( friend(john, y) Female(y) loves(y, z) Male(z) ) friend john loves andrea susan Female Female loves bill Male friend A john loves andrea susan Male Female loves friend bill Male friend A NB: the same as checking whether john is an instance of friend.(female loves.male) SIGMOD 2015, Moscow,

67 DL Zoo ALCHI AL attributive language C complement C (ALC is multi-modal K m ) I role inverses P H role inclusions R 1 R 2 SIGMOD 2015, Moscow,

68 DL Zoo ALCHI AL attributive language C complement C (ALC is multi-modal K m ) I role inverses P H role inclusions R 1 R 2 S ALC + transitive roles N unqualified number restrictions q R. O nominals {a} Q qualified number restrictions q R.C SHOIN OWL 1.0 SIGMOD 2015, Moscow,

69 DL Zoo ALCHI AL attributive language C complement C (ALC is multi-modal K m ) I role inverses P H role inclusions R 1 R 2 S ALC + transitive roles N unqualified number restrictions q R. O nominals {a} Q qualified number restrictions q R.C F functionality constraints 2 R. SHOIN OWL 1.0 SHIF OWL Lite SIGMOD 2015, Moscow,

70 DL Zoo ALCHI AL attributive language C complement C (ALC is multi-modal K m ) I role inverses P H role inclusions R 1 R 2 S ALC + transitive roles N unqualified number restrictions q R. O nominals {a} Q qualified number restrictions q R.C F functionality constraints 2 R. R role chains and R.Self SHOIN OWL 1.0 SHIF OWL Lite SROIQ OWL 2 SIGMOD 2015, Moscow,

71 Complexity of Reasoning The satisfiability problem is ExpTime-complete for ALCHI KBs and N2ExpTime-complete for SROIQ KBs SIGMOD 2015, Moscow,

72 Complexity of Reasoning The satisfiability problem is ExpTime-complete for ALCHI KBs and N2ExpTime-complete for SROIQ KBs Concept and role subsumption and instance checking are ExpTime- and con2exptime-complete for, respectively, ALCHI and SROIQ KBs SIGMOD 2015, Moscow,

73 Complexity of Reasoning The satisfiability problem is ExpTime-complete for ALCHI KBs and N2ExpTime-complete for SROIQ KBs Concept and role subsumption and instance checking are ExpTime- and con2exptime-complete for, respectively, ALCHI and SROIQ KBs CQ entailment over ALCHI KBs is 2ExpTime-complete CQ entailment over SROIQ is not even known to be decidable SIGMOD 2015, Moscow,

74 Complexity of Reasoning The satisfiability problem is ExpTime-complete for ALCHI KBs and N2ExpTime-complete for SROIQ KBs Concept and role subsumption and instance checking are ExpTime- and con2exptime-complete for, respectively, ALCHI and SROIQ KBs CQ entailment over ALCHI KBs is 2ExpTime-complete CQ entailment over SROIQ is not even known to be decidable DL Complexity Navigator: SIGMOD 2015, Moscow,

75 Complexity of Reasoning The satisfiability problem is ExpTime-complete for ALCHI KBs and N2ExpTime-complete for SROIQ KBs Concept and role subsumption and instance checking are ExpTime- and con2exptime-complete for, respectively, ALCHI and SROIQ KBs CQ entailment over ALCHI KBs is 2ExpTime-complete CQ entailment over SROIQ is not even known to be decidable DL Complexity Navigator: practical reasoners for OWL 2 DL: FaCT++, HermiT, Pellet SIGMOD 2015, Moscow,

76 Part 3 Conjunctive Query Rewriting SIGMOD 2015, Moscow,

77 Query Rewriting Approach (Calvanese et al. 2008): use off-the-shelf RDBMS conjunctive query q TBox T ABox A + union of conjunctive queries q ABox A AC 0 SIGMOD 2015, Moscow,

78 Query Rewriting Approach (Calvanese et al. 2008): use off-the-shelf RDBMS conjunctive query q TBox T ABox A + union of conjunctive queries q ABox A AC 0 given a CQ q( x) over T, rewrite q( x) into an FO query q ( x) such that for all A and a, T, A = q( a) iff A = q ( a) SIGMOD 2015, Moscow,

79 Query Rewriting Approach (Calvanese et al. 2008): use off-the-shelf RDBMS conjunctive query q TBox T ABox A + union of conjunctive queries q ABox A AC 0 given a CQ q( x) over T, rewrite q( x) into an FO query q ( x) such that for all A and a, T, A = q( a) iff A = q ( a) FO-rewritability: only possible in DL with query answering in FO (=AC 0 ) for data complexity: OWL 2 QL SIGMOD 2015, Moscow,

80 W3C Standard OWL 2 QL OWL 2 QL is a profile of OWL 2 designed with the aim of OBDA (and based on the DL-Lite family of DLs) roles R ::= P i P i basic concepts B ::= A i R concepts C ::= B R.B a TBox T is a finite set of axioms of the form ( R is an abbreviation for R. ) B C, R 1 R 2, B 1 B 2, R 1 R 2 (plus reflexivity/irreflexivity assertions for roles) an ABox A s a finite set of atoms the form A k (a i ) and P k (a i, a j ) (plus inequality constraints a i a j for i j) SIGMOD 2015, Moscow,

81 W3C Standard OWL 2 QL OWL 2 QL is a profile of OWL 2 designed with the aim of OBDA (and based on the DL-Lite family of DLs) roles R ::= P i P i basic concepts B ::= A i R concepts C ::= B R.B a TBox T is a finite set of axioms of the form ( R is an abbreviation for R. ) B C, R 1 R 2, B 1 B 2, R 1 R 2 (plus reflexivity/irreflexivity assertions for roles) an ABox A s a finite set of atoms the form A k (a i ) and P k (a i, a j ) (plus inequality constraints a i a j for i j) NB. axioms B R.B are syntactic sugar SIGMOD 2015, Moscow,

82 W3C Standard OWL 2 QL OWL 2 QL is a profile of OWL 2 designed with the aim of OBDA (and based on the DL-Lite family of DLs) roles R ::= P i P i basic concepts B ::= A i R concepts C ::= B R.B a TBox T is a finite set of axioms of the form ( R is an abbreviation for R. ) B C, R 1 R 2, B 1 B 2, R 1 R 2 (plus reflexivity/irreflexivity assertions for roles) an ABox A s a finite set of atoms the form A k (a i ) and P k (a i, a j ) (plus inequality constraints a i a j for i j) NB. axioms B R.B are syntactic sugar B R R.B, R B B, R B R SIGMOD 2015, Moscow,

83 Can We Use R.A B in QL? reachability problem for directed graphs is NLogSpace-complete: given a directed graph G = (V, E) and s, t V, decide whether there is a directed path from s to t in G ABox: A G,t = { edge(v 1, v 2 ) (v 1, v 2 ) E } {ReachableFromTarget(t)} TBox: T = { edge.reachablefromtarget ReachableFromTarget } SIGMOD 2015, Moscow,

84 Can We Use R.A B in QL? reachability problem for directed graphs is NLogSpace-complete: given a directed graph G = (V, E) and s, t V, decide whether there is a directed path from s to t in G ABox: A G,t = { edge(v 1, v 2 ) (v 1, v 2 ) E } {ReachableFromTarget(t)} TBox: T = { edge.reachablefromtarget ReachableFromTarget } t SIGMOD 2015, Moscow,

85 Can We Use R.A B in QL? reachability problem for directed graphs is NLogSpace-complete: given a directed graph G = (V, E) and s, t V, decide whether there is a directed path from s to t in G ABox: A G,t = { edge(v 1, v 2 ) (v 1, v 2 ) E } {ReachableFromTarget(t)} TBox: T = { edge.reachablefromtarget ReachableFromTarget } t SIGMOD 2015, Moscow,

86 Can We Use R.A B in QL? reachability problem for directed graphs is NLogSpace-complete: given a directed graph G = (V, E) and s, t V, decide whether there is a directed path from s to t in G ABox: A G,t = { edge(v 1, v 2 ) (v 1, v 2 ) E } {ReachableFromTarget(t)} TBox: T = { edge.reachablefromtarget ReachableFromTarget } t SIGMOD 2015, Moscow,

87 Can We Use R.A B in QL? reachability problem for directed graphs is NLogSpace-complete: given a directed graph G = (V, E) and s, t V, decide whether there is a directed path from s to t in G ABox: A G,t = { edge(v 1, v 2 ) (v 1, v 2 ) E } {ReachableFromTarget(t)} TBox: T = { edge.reachablefromtarget ReachableFromTarget } t SIGMOD 2015, Moscow,

88 Can We Use R.A B in QL? reachability problem for directed graphs is NLogSpace-complete: given a directed graph G = (V, E) and s, t V, decide whether there is a directed path from s to t in G ABox: A G,t = { edge(v 1, v 2 ) (v 1, v 2 ) E } {ReachableFromTarget(t)} TBox: T = { edge.reachablefromtarget ReachableFromTarget } t SIGMOD 2015, Moscow,

89 Can We Use R.A B in QL? reachability problem for directed graphs is NLogSpace-complete: given a directed graph G = (V, E) and s, t V, decide whether there is a directed path from s to t in G ABox: A G,t = { edge(v 1, v 2 ) (v 1, v 2 ) E } {ReachableFromTarget(t)} TBox: T = { edge.reachablefromtarget ReachableFromTarget } t CQ: q ReachableFromTarget(s) (T, A G,t ) = q iff there is a path from s to t in G SIGMOD 2015, Moscow,

90 Can We Use R.A B in QL? reachability problem for directed graphs is NLogSpace-complete: given a directed graph G = (V, E) and s, t V, decide whether there is a directed path from s to t in G ABox: A G,t = { edge(v 1, v 2 ) (v 1, v 2 ) E } {ReachableFromTarget(t)} TBox: T = { edge.reachablefromtarget ReachableFromTarget } t CQ: q ReachableFromTarget(s) (T, A G,t ) = q iff there is a path from s to t in G T and q do not depend on G, s, t (T, A G,t ) = q? is NLogSpace-hard for data complexity q and T are not FO-rewritable SIGMOD 2015, Moscow,

91 Can We Use A B C in QL? graph 3-colouring problem is NP-complete: given a graph G = (V, E), decide whether its vertices can be painted in one of three colours so that no adjacent vertices have the same colour represent G as the ABox A G = { R(v 1, v 2 ) {v 1, v 2 } E } 3-colouring is encoded by the TBox T with the axioms C 1 C 2 C 3, C i C j, C i R.C i B, 1 i 3 SIGMOD 2015, Moscow,

92 Can We Use A B C in QL? graph 3-colouring problem is NP-complete: given a graph G = (V, E), decide whether its vertices can be painted in one of three colours so that no adjacent vertices have the same colour represent G as the ABox A G = { R(v 1, v 2 ) {v 1, v 2 } E } 3-colouring is encoded by the TBox T with the axioms C 1 C 2 C 3, C i C j, C i R.C i B, 1 i 3 consider CQ q B(y) (T, A G ) = q iff G is 3-colourable T and q do not depend on G (T, A G ) = q? is conp-hard for data complexity q and T are not FO-rewritable SIGMOD 2015, Moscow,

93 OWL 2 QL as TGDs (aka Datalog ± aka existential rules) concept inclusion tuple-generating dependency PhDStudent Student x ( PhDStudent(x) Student(x) ) Student HasTutor x ( Student(x) y HasTutor(x, y) ) SIGMOD 2015, Moscow,

94 OWL 2 QL as TGDs (aka Datalog ± aka existential rules) concept inclusion tuple-generating dependency PhDStudent Student x ( PhDStudent(x) Student(x) ) Student HasTutor x ( Student(x) y HasTutor(x, y) ) TGDs: x y ( ϕ( x, y) z ψ( x, z) ) ϕ and ψ are conjunctions of predicate atoms SIGMOD 2015, Moscow,

95 OWL 2 QL as TGDs (aka Datalog ± aka existential rules) concept inclusion tuple-generating dependency PhDStudent Student x ( PhDStudent(x) Student(x) ) Student HasTutor x ( Student(x) y HasTutor(x, y) ) TGDs: x y ( ϕ( x, y) z ψ( x, z) ) ϕ and ψ are conjunctions of predicate atoms linear TGDs: ϕ and ψ are atoms (all OWL 2 QL axioms are linear) Calì, Gottlob & Pieris, 2010: sets of sticky TGDs are FO-rewritable in particular, linear TGDs SIGMOD 2015, Moscow,

96 OWL 2 QL as TGDs (aka Datalog ± aka existential rules) concept inclusion tuple-generating dependency PhDStudent Student x ( PhDStudent(x) Student(x) ) Student HasTutor x ( Student(x) y HasTutor(x, y) ) TGDs: x y ( ϕ( x, y) z ψ( x, z) ) ϕ and ψ are conjunctions of predicate atoms linear TGDs: ϕ and ψ are atoms (all OWL 2 QL axioms are linear) Calì, Gottlob & Pieris, 2010: sets of sticky TGDs are FO-rewritable in particular, linear TGDs NB: these TGDs are used with the open world assumption (for enriching data) TGDs in DBs are used with the closed world assumption (integrity constraints) SIGMOD 2015, Moscow,

97 Practical Query Answering in OWL 2 QL systems QuOnto (Rome, 2005) REQUIEM (Oxford, 2009) / Stardog (Washington, DC, 2011) Presto (Rome, 2010) IQAROS (Athens, 2011) Rapid (Athens-Oxford, 2011) Nyaya (Milan-Oxford, 2010) for TGDs Clipper (Vienna, 2012) for Horn-SHIQ kyrie (Madrid, 2013) Pure (Montpellier, 2013) for TGDs Quest/ontop (Bolzano, 2011) SIGMOD 2015, Moscow,

98 Practical Query Answering in OWL 2 QL systems QuOnto (Rome, 2005) REQUIEM (Oxford, 2009) / Stardog (Washington, DC, 2011) Presto (Rome, 2010) IQAROS (Athens, 2011) Rapid (Athens-Oxford, 2011) Nyaya (Milan-Oxford, 2010) for TGDs Clipper (Vienna, 2012) for Horn-SHIQ kyrie (Madrid, 2013) Pure (Montpellier, 2013) for TGDs Quest/ontop (Bolzano, 2011) not so smoothly: the size of implemented rewritings q is O ( ( q T ) q ) (can t say query is small or fixed any longer) SIGMOD 2015, Moscow,

99 Does a Rewriting Have to be Exponential? TBox mother parent and father parent query grandparent(x, z) parent(x, y) parent(y, z) SIGMOD 2015, Moscow,

100 Does a Rewriting Have to be Exponential? TBox mother parent and father parent query grandparent(x, z) parent(x, y) parent(y, z) UCQ-rewritings (unions of CQs) are exponential in the worst case grandparent(x, z) parent(x, y) parent(y, z) grandparent(x, z) father(x, y) father(y, z) grandparent(x, z) mother(x, y) father(y, z)... SIGMOD 2015, Moscow,

101 Does a Rewriting Have to be Exponential? TBox mother parent and father parent query grandparent(x, z) parent(x, y) parent(y, z) UCQ-rewritings (unions of CQs) are exponential in the worst case grandparent(x, z) parent(x, y) parent(y, z) grandparent(x, z) father(x, y) father(y, z) grandparent(x, z) mother(x, y) father(y, z)... PE-rewritings (positive existential queries select-project-join-union) grandparent(x, z) (parent(x, y) father(x, y) mother(x, y)) (parent(y, z) father(y, z) mother(y, z)) SIGMOD 2015, Moscow,

102 Does a Rewriting Have to be Exponential? TBox mother parent and father parent query grandparent(x, z) parent(x, y) parent(y, z) UCQ-rewritings (unions of CQs) are exponential in the worst case grandparent(x, z) parent(x, y) parent(y, z) grandparent(x, z) father(x, y) father(y, z) grandparent(x, z) mother(x, y) father(y, z)... PE-rewritings (positive existential queries select-project-join-union) grandparent(x, z) (parent(x, y) father(x, y) mother(x, y)) (parent(y, z) father(y, z) mother(y, z)) NDL-rewriting (non-recursive Datalog SQL with views) grandparent(x, z) ext-parent(x, y) ext-parent(y, z) ext-parent(x, y) parent(x, y) ext-parent(x, y) father(x, y) ext-parent(x, y) mother(x, y) + structure sharing SIGMOD 2015, Moscow,

103 Does a Rewriting Have to be Exponential? TBox mother parent and father parent query grandparent(x, z) parent(x, y) parent(y, z) UCQ-rewritings (unions of CQs) are exponential in the worst case grandparent(x, z) parent(x, y) parent(y, z) grandparent(x, z) father(x, y) father(y, z) grandparent(x, z) mother(x, y) father(y, z)... PE-rewritings (positive existential queries select-project-join-union) grandparent(x, z) (parent(x, y) father(x, y) mother(x, y)) (parent(y, z) father(y, z) mother(y, z)) NDL-rewriting (non-recursive Datalog SQL with views) grandparent(x, z) ext-parent(x, y) ext-parent(y, z) ext-parent(x, y) parent(x, y) ext-parent(x, y) father(x, y) ext-parent(x, y) mother(x, y) + structure sharing FO-rewriting (first-order queries SQL) SIGMOD 2015, Moscow,

104 Case 1: Flat QL TBoxes a TBox T is flat if it does not contain generating axioms B R.B RDF Schema SIGMOD 2015, Moscow,

105 Case 1: Flat QL TBoxes a TBox T is flat if it does not contain generating axioms B R.B RDF Schema q( x) and a flat T q ext ( x) by replacing A(u) P (u, v) A (u) v R(u, v) T =A A T = R A R(u, v) T =R P for any CQ q( x) and any flat OWL 2 QL TBox T, q ext ( x) is a PE-rewriting of q and T of size O( q T ) SIGMOD 2015, Moscow,

106 Case 1: Flat QL TBoxes a TBox T is flat if it does not contain generating axioms B R.B RDF Schema q( x) and a flat T q ext ( x) by replacing A(u) P (u, v) A (u) v R(u, v) T =A A T = R A R(u, v) T =R P for any CQ q( x) and any flat OWL 2 QL TBox T, q ext ( x) is a PE-rewriting of q and T of size O( q T ) easy in theory, not so in practice SIGMOD 2015, Moscow,

107 Who Works with Professors? TBox: workson involves ismanagedby involves in English: find those who work with professors query: q(x) workson(x, y) involves(y, z) Professor(z) SIGMOD 2015, Moscow,

108 Who Works with Professors? TBox: workson involves ismanagedby involves in English: find those who work with professors query: q(x) workson(x, y) involves(y, z) Professor(z) workson(z, y) ismanagedby(y, z) involves(y, z) SIGMOD 2015, Moscow,

109 Rewriting over H-complete ABoxes an ABox A is H-complete with respect to T if A(a) A whenever A (a) A and T = A A A(a) A whenever R(a, b) A and T = R A P (a, b) A whenever R(a, b) A and T = R P SIGMOD 2015, Moscow,

110 Rewriting over H-complete ABoxes an ABox A is H-complete with respect to T if A(a) A whenever A (a) A and T = A A A(a) A whenever R(a, b) A and T = R A P (a, b) A whenever R(a, b) A and T = R P an FO-query q ( x) is an FO-rewriting of q( x) and T over H-complete ABoxes if, for any H-complete (w.r.t. T ) ABox A and any a, (T, A) = q( a) iff A = q ( a) (thus we ignore the axioms considered in the flat rewriting) SIGMOD 2015, Moscow,

111 Case 2: Who Works with Professors (2)? T : RA workson.project Project ismanagedby.prof workson involves ismanagedby involves A: RA(chris), workson(chris, dyn), Project(dyn), Lecturer(dave), workson(dave, dyn) ismanagedby Prof chris w1 w 2 involves w 1 = w workson.project w 2 = w ismanagedby.prof Prof dyn w2 A Project chris w 1 workson involves chris involves RA workson ismanagedby involves dyn Project involves workson dave Lecturer SIGMOD 2015, Moscow,

112 Case 2: Rewriting the Labelled Nulls RA(x) Professor h 1 Professor z Project ismanagedby involves h 1 involves y workson RA involves h 1 workson x q(x) SIGMOD 2015, Moscow,

113 Case 2: Rewriting the Labelled Nulls Project RA(x) Professor ismanagedby involves h 1 Professor ismanagedby involves Project h 1 h 2 h 2 workson(x, y) Project(y) Professor z involves y workson RA involves h 1 workson x q(x) SIGMOD 2015, Moscow,

114 Case 2: Rewriting the Labelled Nulls Project RA(x) Professor ismanagedby involves h 1 Professor ismanagedby involves Project h 1 h 2 h 2 workson(x, y) Project(y) Professor Professor z involves RA(x) Professor(z) (x = z) h 3 y h 3 ismanagedby involves Project workson RA involves h 1 workson x q(x) h 3 workson involves RA Professor (x and z are the roots of the tree witness) SIGMOD 2015, Moscow,

115 Case 2: Rewriting the Labelled Nulls Project RA(x) Professor ismanagedby involves h 1 Professor ismanagedby involves Project h 1 h 2 h 2 workson(x, y) Project(y) Professor Professor z involves RA(x) Professor(z) (x = z) h 3 y h 3 ismanagedby involves Project workson RA involves h 1 workson x q(x) h 3 workson involves RA Professor PE-rewriting (over H-complete ABoxes): (x and z are the roots of the tree witness) q (x) RA(x) ( workson(x, y) Project(y) ) ( RA(x) Professor(z) (x = z) ) ( workson(x, y) involves(y, z) Professor(z) ) SIGMOD 2015, Moscow,

116 Tree-Witness Rewriting TBox T : A R, R T, B R, R S R T BR A P SIGMOD 2015, Moscow,

117 Tree-Witness Rewriting TBox T : A R, R T, B R, R S BR T R R T T y y R P R y A x x x P P SIGMOD 2015, Moscow,

118 Tree-Witness Rewriting TBox T : A R, R T, B R, R S z R(z, y) (y = y ) T z R(z, x) R T R T T y y R y A x R P x x z R(x, z) P BR P P x R(x, z) (x = x ) SIGMOD 2015, Moscow,

119 Tree-Witness Rewriting TBox T : A R, R T, B R, R S z R(z, y) (y = y ) T z R(z, x) R T R T T y y R B(y ) (y = y ) y A x x x z R(x, z) R P BR BR A(x) (x = x ) P P P P x R(x, z) (x = x ) SIGMOD 2015, Moscow,

120 Tree-Witness Rewriting TBox T : A R, R T, B R, R S z R(z, y) (y = y ) T z R(z, x) R T R T T y y R B(y ) (y = y ) y A x x x z R(x, z) R P BR BR A(x) (x = x ) P P P P q tw ( x) = Θ independent set of tree witnesses x R(x, z) (x = x ) ( y S( z) S( z) q\q Θ t Θ tw t ) (Kikot, K & Zakharyaschev, 2012) SIGMOD 2015, Moscow,

121 Rewritings as Boolean Functions hypergraph H: vertices = atoms of the query hyperedges = tree witnesses T (y, z) T (y, z) R(x, y) R(x, y ) R(x, y ) S(x, z ) S(x, z ) SIGMOD 2015, Moscow,

122 Rewritings as Boolean Functions hypergraph H: vertices = atoms of the query hyperedges = tree witnesses T (y, z) T (y, z) R(x, y) R(x, y ) R(x, y ) S(x, z ) S(x, z ) hypergraph function of H = (V, E): f H = X E X independent ( v V \V X p v e X p e ) SIGMOD 2015, Moscow,

123 Rewritings as Boolean Functions hypergraph H: vertices = atoms of the query hyperedges = tree witnesses T (y, z) T (y, z) R(x, y) R(x, y ) R(x, y ) S(x, z ) S(x, z ) hypergraph function of H = (V, E): f H = X E X independent ( v V \V X p v e X p e ) (Kikot, K, Podolskii & Zakharyaschev, 2012) lower bounds from circuit complexity exponential non-recursive datalog (and positive existential) rewritings superpolynomial first-order rewritings (unless NP P/poly) SIGMOD 2015, Moscow,

124 Short Rewritings in Theory if q t1 q t2 = or q t1 q t2 or q t2 q t1, for each pair t 1 and t }{{ 2, then } q tw ( x) = (S( z) t : S( z) q t tw t compatible S( z) q is a rewriting (over H-complete ABoxes) ) SIGMOD 2015, Moscow,

125 Short Rewritings in Theory if q t1 q t2 = or q t1 q t2 or q t2 q t1, for each pair t 1 and t }{{ 2, then } q tw ( x) = (S( z) t : S( z) q t tw t ) compatible S( z) q is a rewriting (over H-complete ABoxes) QL: replace S( z) with S ( z) T =S S = polynomial positive existential rewriting provided that the number of tree witnesses is polynomial and they are compatible not the case in general! SIGMOD 2015, Moscow,

126 Part 4 Practical OBDA with Ontop SIGMOD 2015, Moscow,

127 OBDA system Ontop implemented at the Free University of Bozen-Bolzano (Mariano Rodríguez-Muro, Martin Rezk, Guohui Xiao) open-source available as a plugin for Protégé 4 & 5, SPARQL end-point, OWL API and Sesame libraries SIGMOD 2015, Moscow,

128 OBDA with Databases rewriting unfolding SPARQL query q + FO-query q + SQL TBox T R2RML mappings M virtual ABox A + data D ABox virtualisation SIGMOD 2015, Moscow,

129 OBDA with Databases rewriting unfolding SPARQL query q + FO-query q + SQL TBox T R2RML mappings M virtual ABox A + data D ABox virtualisation Why SQL rewritings are large: (1) a large number of tree witnesses (2) large concept/role hierarchies in OWL 2 QL ontology T (3) multiple definitions of the ontology terms in R2RML mappings M SIGMOD 2015, Moscow,

130 OBDA with Databases rewriting unfolding SPARQL query q + FO-query q + SQL TBox T R2RML mappings M virtual ABox A + data D ABox virtualisation Why SQL rewritings are large: (1) a large number of tree witnesses (2) large concept/role hierarchies in OWL 2 QL ontology T very few for real-world CQs/ontologies (3) multiple definitions of the ontology terms in R2RML mappings M SIGMOD 2015, Moscow,

131 OBDA with Databases rewriting unfolding SPARQL query q + FO-query q + SQL TBox T R2RML mappings M virtual ABox A + data D ABox virtualisation Why SQL rewritings are large: (1) a large number of tree witnesses (2) large concept/role hierarchies in OWL 2 QL ontology T very few for real-world CQs/ontologies (3) multiple definitions of the ontology terms in R2RML mappings M many inclusions in T follow from Σ and M SIGMOD 2015, Moscow,

132 Ontop Example IMDb (simplified): database title movie ID title production year 728 Django Unchained dependencies castinfo person ID movie ID person role n n m ( p, r castinfo(p, m, r) t, y title(m, t, y) ) (FK) ( m t 1 t 2 y title(m, t1, y) y title(m, t 2, y) (t 1 = t 2 ) ) (PK 1 ) ( m y 1 y 2 t title(m, t, y1 ) t title(m, t, y 2 ) (y 1 = y 2 ) ) (PK 2 ) SIGMOD 2015, Moscow,

133 Ontop Example IMDb (simplified): database title movie ID title production year 728 Django Unchained dependencies castinfo person ID movie ID person role n n m ( p, r castinfo(p, m, r) t, y title(m, t, y) ) (FK) ( m t 1 t 2 y title(m, t1, y) y title(m, t 2, y) (t 1 = t 2 ) ) (PK 1 ) ( m y 1 y 2 t title(m, t, y1 ) t title(m, t, y 2 ) (y 1 = y 2 ) ) (PK 2 ) Movie Ontology MO mo:movie mo:title, mo:movie mo:year, mo:movie mo:cast, mo:cast mo:person,... SIGMOD 2015, Moscow,

134 Ontop Example IMDb (simplified): database title movie ID title production year 728 Django Unchained dependencies castinfo person ID movie ID person role n n m ( p, r castinfo(p, m, r) t, y title(m, t, y) ) (FK) ( m t 1 t 2 y title(m, t1, y) y title(m, t 2, y) (t 1 = t 2 ) ) (PK 1 ) ( m y 1 y 2 t title(m, t, y1 ) t title(m, t, y 2 ) (y 1 = y 2 ) ) (PK 2 ) Movie Ontology MO mo:movie mo:title, mo:movie mo:year, mo:movie mo:cast, mo:cast mo:person,... Mappings (created by the Ontop development team) mo:movie(m), mo:title(m, t), mo:year(m, y) title(m, t, y) (M 1 ) mo:cast(m, p), mo:person(p) castinfo(p, m, r) (M 2 ) SIGMOD 2015, Moscow,

135 ABox A Ontop: T-mappings forward chaining + H-complete ABox A virtualisation + flat TBox T mapping M + T -mapping M T + virtualisation composition data D SIGMOD 2015, Moscow,

136 ABox A Ontop: T-mappings forward chaining + H-complete ABox A virtualisation + flat TBox T mapping M + T -mapping M T + virtualisation composition data D T mo:movie mo:title, mo:movie mo:cast, mo:movie mo:year, mo:cast mo:person SIGMOD 2015, Moscow,

137 ABox A Ontop: T-mappings forward chaining + H-complete ABox A virtualisation + flat TBox T mapping M + T -mapping M T + virtualisation composition data D T mo:movie mo:title, mo:movie mo:cast, mo:movie mo:year, mo:cast mo:person M mo:movie(m), mo:title(m, t), mo:year(m, y) title(m, t, y) (M 1) mo:cast(m, p), mo:person(p) castinfo(p, m, r) (M 2 ) SIGMOD 2015, Moscow,

138 ABox A Ontop: T-mappings forward chaining + H-complete ABox A virtualisation + flat TBox T mapping M + T -mapping M T + virtualisation composition data D T mo:movie mo:title, mo:movie mo:cast, mo:movie mo:year, mo:cast mo:person M mo:movie(m), mo:title(m, t), mo:year(m, y) title(m, t, y) (M 1) mo:cast(m, p), mo:person(p) castinfo(p, m, r) (M 2 ) mo:movie(m) title(m, t, y) M T by (M 1 ) mo:movie(m) castinfo(p, m, r) by (M 2 ) + mo:cast mo:movie SIGMOD 2015, Moscow,

139 ABox A Ontop: T-mappings forward chaining + H-complete ABox A virtualisation + flat TBox T mapping M + T -mapping M T + virtualisation composition data D T mo:movie mo:title, mo:movie mo:cast, mo:movie mo:year, mo:cast mo:person M mo:movie(m), mo:title(m, t), mo:year(m, y) title(m, t, y) (M 1) mo:cast(m, p), mo:person(p) castinfo(p, m, r) (M 2 ) mo:movie(m) title(m, t, y) M T by (M 1 ) mo:movie(m) castinfo(p, m, r) by (M 2 ) + mo:cast mo:movie redundant by (FK) m ( p, r castinfo(p, m, r) t, y title(m, t, y) ) SIGMOD 2015, Moscow,

140 Optimising T-mappings using foreign keys (inclusion dependencies) SIGMOD 2015, Moscow,

Ontop at Work. Birkbeck, University of London, U.K.

Ontop at Work. Birkbeck, University of London, U.K. Ontop at Work Mariano Rodríguez-Muro 1, Roman Kontchakov 2 and Michael Zakharyaschev 2 1 Faculty of Computer Science, Free University of Bozen-Bolzano, Italy 2 Department of Computer Science and Information

More information

Ontology-Based Data Access: Ontop of Databases

Ontology-Based Data Access: Ontop of Databases Ontology-Based Data Access: Ontop of Databases Mariano Rodríguez-Muro 1, Roman Kontchakov 2 and Michael Zakharyaschev 2 1 Faculty of Computer Science, Free University of Bozen-Bolzano, Italy 2 Department

More information

Maurizio Lenzerini. Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti

Maurizio Lenzerini. Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti Query rewriting for ontology-based (big) data access Maurizio Lenzerini Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti Global scientific data infrastructures: The findability

More information

Description Logic. Eva Mráková,

Description Logic. Eva Mráková, Description Logic Eva Mráková, glum@fi.muni.cz Motivation: ontology individuals/objects/instances ElizabethII Philip Philip, Anne constants in FOPL concepts/classes/types Charles Anne Andrew Edward Male,

More information

COMP718: Ontologies and Knowledge Bases

COMP718: Ontologies and Knowledge Bases 1/35 COMP718: Ontologies and Knowledge Bases Lecture 9: Ontology/Conceptual Model based Data Access Maria Keet email: keet@ukzn.ac.za home: http://www.meteck.org School of Mathematics, Statistics, and

More information

Scalable Ontology-Based Information Systems

Scalable Ontology-Based Information Systems Scalable Ontology-Based Information Systems Ian Horrocks Information Systems Group Oxford University Computing Laboratory What is an Ontology? What is an Ontology? A model

More information

Practical Aspects of Query Rewriting for OWL 2

Practical Aspects of Query Rewriting for OWL 2 Practical Aspects of Query Rewriting for OWL 2 Héctor Pérez-Urbina, Ian Horrocks, and Boris Motik Oxford University Computing Laboratory, Oxford, England {hector.perez-urbina,ian.horrocks,boris.motik}@comlab.ox.ac.uk

More information

OWL 2 The Next Generation. Ian Horrocks Information Systems Group Oxford University Computing Laboratory

OWL 2 The Next Generation. Ian Horrocks Information Systems Group Oxford University Computing Laboratory OWL 2 The Next Generation Ian Horrocks Information Systems Group Oxford University Computing Laboratory What is an Ontology? What is an Ontology? A model of (some aspect

More information

Rewriting Ontology-Mediated Queries. Carsten Lutz University of Bremen

Rewriting Ontology-Mediated Queries. Carsten Lutz University of Bremen Rewriting Ontology-Mediated Queries Carsten Lutz University of Bremen Data Access and Ontologies Today, data is often highly incomplete and very heterogeneous Examples include web data and large-scale

More information

OWL 2 Profiles. An Introduction to Lightweight Ontology Languages. Markus Krötzsch University of Oxford. Reasoning Web 2012

OWL 2 Profiles. An Introduction to Lightweight Ontology Languages. Markus Krötzsch University of Oxford. Reasoning Web 2012 University of Oxford Department of Computer Science OWL 2 Profiles An Introduction to Lightweight Ontology Languages Markus Krötzsch University of Oxford Reasoning Web 2012 Remark for the Online Version

More information

Efficiently Managing Data Intensive Ontologies

Efficiently Managing Data Intensive Ontologies Efficiently Managing Data Intensive Ontologies Diego Calvanese 1, Giuseppe De Giacomo 2, Domenico Lembo 2, Maurizio Lenzerini 2, Riccardo Rosati 2 1 Faculty of Computer Science Free University of Bozen-Bolzano

More information

Ontologies and Databases

Ontologies and Databases Ontologies and Databases Diego Calvanese KRDB Research Centre Free University of Bozen-Bolzano Reasoning Web Summer School 2009 September 3 4, 2009 Bressanone, Italy Overview of the Tutorial 1 Introduction

More information

Rewrite and Conquer: Dealing with Integrity Constraints in Data Integration

Rewrite and Conquer: Dealing with Integrity Constraints in Data Integration Rewrite and Conquer: Dealing with Integrity Constraints in Data Integration Andrea Calì, Diego Calvanese, Giuseppe De Giacomo, and Maurizio Lenzerini Abstract The work Data Integration under Integrity

More information

DATABASE THEORY. Lecture 11: Introduction to Datalog. TU Dresden, 12th June Markus Krötzsch Knowledge-Based Systems

DATABASE THEORY. Lecture 11: Introduction to Datalog. TU Dresden, 12th June Markus Krötzsch Knowledge-Based Systems DATABASE THEORY Lecture 11: Introduction to Datalog Markus Krötzsch Knowledge-Based Systems TU Dresden, 12th June 2018 Announcement All lectures and the exercise on 19 June 2018 will be in room APB 1004

More information

Description Logics. Description Logics and Databases

Description Logics. Description Logics and Databases 1 + Description Logics Description Logics and Databases Enrico Franconi Department of Computer Science University of Manchester http://www.cs.man.ac.uk/~franconi 2 + Description Logics and Databases Queries

More information

Database Optimization Techniques for Semantic Queries

Database Optimization Techniques for Semantic Queries Database Optimization Techniques for Semantic Queries Ioana Manolescu INRIA, France ioana.manolescu@inria.fr, http://pages.saclay.inria.fr/ioana.manolescu https://team.inria.fr/oak SEBD 2015, Gaeta I.

More information

Evaluation of Query Rewriting Approaches for OWL 2

Evaluation of Query Rewriting Approaches for OWL 2 Evaluation of Query Rewriting Approaches for OWL 2 Héctor Pérez-Urbina, Edgar Rodríguez-Díaz, Michael Grove, George Konstantinidis, and Evren Sirin Clark & Parsia, LLC United States {hector,edgar,mike,george,evren}@clarkparsia.com

More information

Querying Data through Ontologies

Querying Data through Ontologies Querying Data through Ontologies Instructor: Sebastian Link Thanks to Serge Abiteboul, Ioana Manolescu, Philippe Rigaux, Marie-Christine Rousset and Pierre Senellart Web Data Management and Distribution

More information

Ontologies and OWL. Riccardo Rosati. Knowledge Representation and Semantic Technologies

Ontologies and OWL. Riccardo Rosati. Knowledge Representation and Semantic Technologies Knowledge Representation and Semantic Technologies Ontologies and OWL Riccardo Rosati Corso di Laurea Magistrale in Ingegneria Informatica Sapienza Università di Roma 2016/2017 The Semantic Web Tower Ontologies

More information

Ontology-Based Data Access with Ontop

Ontology-Based Data Access with Ontop Ontology-Based Data Access with Ontop Benjamin Cogrel benjamin.cogrel@unibz.it KRDB Research Centre for Knowledge and Data Free University of Bozen-Bolzano, Italy Free University of Bozen-Bolzano ESSLLI,

More information

Query Answering and Rewriting in Ontology-based Data Access. Riccardo Rosati DIAG, Sapienza Università di Roma

Query Answering and Rewriting in Ontology-based Data Access. Riccardo Rosati DIAG, Sapienza Università di Roma Query Answering and Rewriting in Ontology-based Data Access Riccardo Rosati DIAG, Sapienza Università di Roma KR 2014, Vienna, July 20, 2014 Riccardo Rosati Query answering and rewriting in OBDA 2/118

More information

Appendix 1. Description Logic Terminology

Appendix 1. Description Logic Terminology Appendix 1 Description Logic Terminology Franz Baader Abstract The purpose of this appendix is to introduce (in a compact manner) the syntax and semantics of the most prominent DLs occurring in this handbook.

More information

Appendix 1. Description Logic Terminology

Appendix 1. Description Logic Terminology Appendix 1 Description Logic Terminology Franz Baader Abstract The purpose of this appendix is to introduce (in a compact manner) the syntax and semantics of the most prominent DLs occurring in this handbook.

More information

Data integration lecture 2

Data integration lecture 2 PhD course on View-based query processing Data integration lecture 2 Riccardo Rosati Dipartimento di Informatica e Sistemistica Università di Roma La Sapienza {rosati}@dis.uniroma1.it Corso di Dottorato

More information

Logik für Informatiker Logic for computer scientists. Ontologies: Description Logics

Logik für Informatiker Logic for computer scientists. Ontologies: Description Logics Logik für Informatiker for computer scientists Ontologies: Description s WiSe 2009/10 Ontology languages description logics (efficiently decidable fragments of first-order logic) used for domain ontologies

More information

Lecture 1: Conjunctive Queries

Lecture 1: Conjunctive Queries CS 784: Foundations of Data Management Spring 2017 Instructor: Paris Koutris Lecture 1: Conjunctive Queries A database schema R is a set of relations: we will typically use the symbols R, S, T,... to denote

More information

MASTRO-I: Efficient integration of relational data through DL ontologies

MASTRO-I: Efficient integration of relational data through DL ontologies MASTRO-I: Efficient integration of relational data through DL ontologies Diego Calvanese 1, Giuseppe De Giacomo 2, Domenico Lembo 2, Maurizio Lenzerini 2, Antonella Poggi 2, Riccardo Rosati 2 1 Faculty

More information

l A family of logic based KR formalisms l Distinguished by: l Decidable fragments of FOL l Closely related to Propositional Modal & Dynamic Logics

l A family of logic based KR formalisms l Distinguished by: l Decidable fragments of FOL l Closely related to Propositional Modal & Dynamic Logics What Are Description Logics? Description Logics l A family of logic based KR formalisms Descendants of semantic networks and KL-ONE Describe domain in terms of concepts (classes), roles (relationships)

More information

OWL 2 Syntax and Semantics Sebastian Rudolph

OWL 2 Syntax and Semantics Sebastian Rudolph FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES OWL 2 Syntax and Semantics Sebastian Rudolph OWL OWL Agenda Recap OWL & Overview OWL 2 The Description Logic SROIQ Inferencing with SROIQ OWL 2 DL OWL 2 Profiles

More information

A Unified Logical Framework for Rules (and Queries) with Ontologies - position paper -

A Unified Logical Framework for Rules (and Queries) with Ontologies - position paper - A Unified Logical Framework for Rules (and Queries) with Ontologies - position paper - Enrico Franconi Sergio Tessaris Faculty of Computer Science, Free University of Bozen-Bolzano, Italy lastname@inf.unibz.it

More information

Mastro Studio: a system for Ontology-Based Data Management

Mastro Studio: a system for Ontology-Based Data Management Mastro Studio: a system for Ontology-Based Data Management Cristina Civili, Marco Console, Domenico Lembo, Lorenzo Lepore, Riccardo Mancini, Antonella Poggi, Marco Ruzzi, Valerio Santarelli, and Domenico

More information

Week 4. COMP62342 Sean Bechhofer, Uli Sattler

Week 4. COMP62342 Sean Bechhofer, Uli Sattler Week 4 COMP62342 Sean Bechhofer, Uli Sattler sean.bechhofer@manchester.ac.uk, uli.sattler@manchester.ac.uk Today Some clarifications from last week s coursework More on reasoning: extension of the tableau

More information

Efficient Duplicate Elimination in SPARQL to SQL Translation

Efficient Duplicate Elimination in SPARQL to SQL Translation Efficient Duplicate Elimination in SPARQL to SQL Translation Dimitris Bilidas and Manolis Koubarakis National and Kapodistrian University of Athens, Greece {d.bilidas,koubarak}@di.uoa.gr Abstract. Redundant

More information

Managing Datatypes in Ontology-Based Data Access

Managing Datatypes in Ontology-Based Data Access Fakultät für Informatik Technische Universität Wien Faculty of Computer Science Free University of Bozen-Bolzano European Master Program in Computational Logic Master Thesis Managing Datatypes in Ontology-Based

More information

Reasoning and Query Answering in Description Logics

Reasoning and Query Answering in Description Logics Reasoning and Query Answering in Description Logics Magdalena Ortiz Vienna University of Technology AMW School, 20 May 2013 1/117 Reasoning and Querying in DLs 1. Motivation Ontologies An ontology is a

More information

Description Logics and OWL

Description Logics and OWL Description Logics and OWL Based on slides from Ian Horrocks University of Manchester (now in Oxford) Where are we? OWL Reasoning DL Extensions Scalability OWL OWL in practice PL/FOL XML RDF(S)/SPARQL

More information

Description Logic: A Formal Foundation for Ontology Languages and Tools

Description Logic: A Formal Foundation for Ontology Languages and Tools Description Logic: A Formal Foundation for Ontology Languages and Tools Part 2: Tools Ian Horrocks Information Systems Group Oxford University Computing Laboratory Contents

More information

RELATIONAL REPRESENTATION OF ALN KNOWLEDGE BASES

RELATIONAL REPRESENTATION OF ALN KNOWLEDGE BASES RELATIONAL REPRESENTATION OF ALN KNOWLEDGE BASES Thomas Studer ABSTRACT The retrieval problem for a knowledge base O and a concept C is to find all individuals a such that O entails C(a). We describe a

More information

jcel: A Modular Rule-based Reasoner

jcel: A Modular Rule-based Reasoner jcel: A Modular Rule-based Reasoner Julian Mendez Theoretical Computer Science, TU Dresden, Germany mendez@tcs.inf.tu-dresden.de Abstract. jcel is a reasoner for the description logic EL + that uses a

More information

DL-Lite: Tractable Description Logics for Ontologies

DL-Lite: Tractable Description Logics for Ontologies DL-Lite: Tractable Description Logics for Ontologies Diego Calvanese 1, Giuseppe De Giacomo 2, Domenico Lembo 2, Maurizio Lenzerini 2, Riccardo Rosati 2 1 Faculty of Computer Science Free University of

More information

Modularity in Ontologies: Introduction (Part A)

Modularity in Ontologies: Introduction (Part A) Modularity in Ontologies: Introduction (Part A) Thomas Schneider 1 Dirk Walther 2 1 Department of Computer Science, University of Bremen, Germany 2 Faculty of Informatics, Technical University of Madrid,

More information

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES OWL 2 Syntax and Semantics Markus Krötzsch Dresden, 16 May 2014 Content Overview & XML Introduction into RDF RDFS Syntax & Intuition Tutorial 1 RDFS Semantics RDFS

More information

Local Closed World Reasoning with OWL 2

Local Closed World Reasoning with OWL 2 Local Closed World Reasoning with OWL 2 JIST 2011 Tutorial Jeff Z. Pan Department of Computing Science University of Aberdeen, UK Agenda 1. Brief introduction to Ontology and OWL 2 (10m) 2. Open vs. Closed

More information

Logical reconstruction of RDF and ontology languages

Logical reconstruction of RDF and ontology languages Logical reconstruction of RDF and ontology languages Jos de Bruijn 1, Enrico Franconi 2, and Sergio Tessaris 2 1 Digital Enterprise Research Institute, University of Innsbruck, Austria jos.debruijn@deri.org

More information

DATABASE THEORY. Lecture 18: Dependencies. TU Dresden, 3rd July Markus Krötzsch Knowledge-Based Systems

DATABASE THEORY. Lecture 18: Dependencies. TU Dresden, 3rd July Markus Krötzsch Knowledge-Based Systems DATABASE THEORY Lecture 18: Dependencies Markus Krötzsch Knowledge-Based Systems TU Dresden, 3rd July 2018 Review: Databases and their schemas Lines: Line Type 85 bus 3 tram F1 ferry...... Stops: SID Stop

More information

Nonstandard Inferences in Description Logics

Nonstandard Inferences in Description Logics Nonstandard Inferences in Description Logics Franz Baader Theoretical Computer Science Germany Short introduction to Description Logics Application in chemical process engineering Non-standard inferences

More information

Description Logics Reasoning Algorithms Concluding Remarks References. DL Reasoning. Stasinos Konstantopoulos. IIT, NCSR Demokritos

Description Logics Reasoning Algorithms Concluding Remarks References. DL Reasoning. Stasinos Konstantopoulos. IIT, NCSR Demokritos Stasinos Konstantopoulos 10-3-2006 Overview Description Logics Definitions Some Family Members Reasoning Algorithms Introduction Resolution Calculus Tableau Calculus Concluding Remarks Definitions The

More information

Parallel and Distributed Reasoning for RDF and OWL 2

Parallel and Distributed Reasoning for RDF and OWL 2 Parallel and Distributed Reasoning for RDF and OWL 2 Nanjing University, 6 th July, 2013 Department of Computing Science University of Aberdeen, UK Ontology Landscape Related DL-based standards (OWL, OWL2)

More information

Bibliographic citation

Bibliographic citation Bibliographic citation Andrea Calì, Georg Gottlob, Andreas Pieris: Tractable Query Answering over Conceptual Schemata. In Alberto H. F. Laender, Silvana Castano, Umeshwar Dayal, Fabio Casati, Jos Palazzo

More information

Schema.org as a Description Logic

Schema.org as a Description Logic Proceedings of the Twenty-Fourth International Joint Conference on Artificial Intelligence (IJCAI 2015) Schema.org as a Description Logic Andre Hernich 1, Carsten Lutz 2, Ana Ozaki 1 and Frank Wolter 1

More information

Description Logics as Ontology Languages for Semantic Webs

Description Logics as Ontology Languages for Semantic Webs Description Logics as Ontology Languages for Semantic Webs Franz Baader, Ian Horrocks, and Ulrike Sattler Presented by:- Somya Gupta(10305011) Akshat Malu (10305012) Swapnil Ghuge (10305907) Presentation

More information

Ontology-Based Data Access via Ontop

Ontology-Based Data Access via Ontop Ontology-Based Data Access via Ontop Asad Ali and MelikeSah Department of Computer Engineering, Near East University, North Cyprus via Mersin 10 Turkey Abstract:Ontology Based Data Access (OBDA) is an

More information

OWL and tractability. Based on slides from Ian Horrocks and Franz Baader. Combining the strengths of UMIST and The Victoria University of Manchester

OWL and tractability. Based on slides from Ian Horrocks and Franz Baader. Combining the strengths of UMIST and The Victoria University of Manchester OWL and tractability Based on slides from Ian Horrocks and Franz Baader Where are we? OWL Reasoning DL Extensions Scalability OWL OWL in practice PL/FOL XML RDF(S)/SPARQL Practical Topics Repetition: DL

More information

The Ontop Framework for Ontology Based Data Access

The Ontop Framework for Ontology Based Data Access The Ontop Framework for Ontology Based Data Access Timea Bagosi 1, Diego Calvanese 1, Josef Hardi 2, Sarah Komla-Ebri 1, Davide Lanti 1, Martin Rezk 1, Mariano Rodríguez-Muro 3, Mindaugas Slusnys 1, and

More information

Ontologies and the Web Ontology Language OWL

Ontologies and the Web Ontology Language OWL Chapter 7 Ontologies and the Web Ontology Language OWL vocabularies can be defined by RDFS not so much stronger than the ER Model or UML (even weaker: no cardinalities) not only a conceptual model, but

More information

Semantic reasoning for dynamic knowledge bases. Lionel Médini M2IA Knowledge Dynamics 2018

Semantic reasoning for dynamic knowledge bases. Lionel Médini M2IA Knowledge Dynamics 2018 Semantic reasoning for dynamic knowledge bases Lionel Médini M2IA Knowledge Dynamics 2018 1 Outline Summary Logics Semantic Web Languages Reasoning Web-based reasoning techniques Reasoning using SemWeb

More information

Ontologies - Querying Data through Ontologies

Ontologies - Querying Data through Ontologies Ontologies - Querying Data through Ontologies Serge Abiteboul Ioana Manolescu Philippe Rigaux Marie-Christine Rousset Pierre Senellart Web Data Management and Distribution http://webdam.inria.fr/textbook

More information

Linking Data to Ontologies: The Description Logic DL-Lite A

Linking Data to Ontologies: The Description Logic DL-Lite A Linking Data to Ontologies: The Description Logic DL-Lite A Diego Calvanese 1, Giuseppe De Giacomo 2, Domenico Lembo 2, Maurizio Lenzerini 2, Antonella Poggi 2, Riccardo Rosati 2 1 Faculty of Computer

More information

Stream Reasoning For Linked Data

Stream Reasoning For Linked Data 5/30/11 Stream Reasoning For Linked Data and Emanuele Della Valle Agenda Introduction to Linked Data and OWL 2 (90m) C-SPARQL: A Continuous Extension of SPARQL (90m) Stream Reasoning techniques for RDFS

More information

Processing Regular Path Queries Using Views or What Do We Need for Integrating Semistructured Data?

Processing Regular Path Queries Using Views or What Do We Need for Integrating Semistructured Data? Processing Regular Path Queries Using Views or What Do We Need for Integrating Semistructured Data? Diego Calvanese University of Rome La Sapienza joint work with G. De Giacomo, M. Lenzerini, M.Y. Vardi

More information

LTCS Report. Concept Descriptions with Set Constraints and Cardinality Constraints. Franz Baader. LTCS-Report 17-02

LTCS Report. Concept Descriptions with Set Constraints and Cardinality Constraints. Franz Baader. LTCS-Report 17-02 Technische Universität Dresden Institute for Theoretical Computer Science Chair for Automata Theory LTCS Report Concept Descriptions with Set Constraints and Cardinality Constraints Franz Baader LTCS-Report

More information

The Logic of the Semantic Web. Enrico Franconi Free University of Bozen-Bolzano, Italy

The Logic of the Semantic Web. Enrico Franconi Free University of Bozen-Bolzano, Italy The Logic of the Semantic Web Enrico Franconi Free University of Bozen-Bolzano, Italy What is this talk about 2 What is this talk about A sort of tutorial of RDF, the core semantic web knowledge representation

More information

CS 151 Complexity Theory Spring Final Solutions. L i NL i NC 2i P.

CS 151 Complexity Theory Spring Final Solutions. L i NL i NC 2i P. CS 151 Complexity Theory Spring 2017 Posted: June 9 Final Solutions Chris Umans 1. (a) The procedure that traverses a fan-in 2 depth O(log i n) circuit and outputs a formula runs in L i this can be done

More information

A Tool for Storing OWL Using Database Technology

A Tool for Storing OWL Using Database Technology A Tool for Storing OWL Using Database Technology Maria del Mar Roldan-Garcia and Jose F. Aldana-Montes University of Malaga, Computer Languages and Computing Science Department Malaga 29071, Spain, (mmar,jfam)@lcc.uma.es,

More information

Updating data and knowledge bases

Updating data and knowledge bases Updating data and knowledge bases Inconsistency management in data and knowledge bases (2013) Antonella Poggi Sapienza Università di Roma Inconsistency management in data and knowledge bases (2013) Rome,

More information

Complexity boundaries for full satisfiability of restricted UML class diagrams

Complexity boundaries for full satisfiability of restricted UML class diagrams Complexity boundaries for full satisfiability of restricted UML class diagrams A dissertation submitted to Faculty of Computer Science, Free University of Bozen - Bolzano in partial fulfillment of the

More information

Knowledge Engineering with Semantic Web Technologies

Knowledge Engineering with Semantic Web Technologies This file is licensed under the Creative Commons Attribution-NonCommercial 3.0 (CC BY-NC 3.0) Knowledge Engineering with Semantic Web Technologies Lecture 3 Ontologies and Logic 3.7 Description Logics

More information

The Inverse of a Schema Mapping

The Inverse of a Schema Mapping The Inverse of a Schema Mapping Jorge Pérez Department of Computer Science, Universidad de Chile Blanco Encalada 2120, Santiago, Chile jperez@dcc.uchile.cl Abstract The inversion of schema mappings has

More information

Principles of Knowledge Representation and Reasoning

Principles of Knowledge Representation and Reasoning Principles of Knowledge Representation and Semantic Networks and Description Logics II: Description Logics Terminology and Notation Albert-Ludwigs-Universität Freiburg Bernhard Nebel, Stefan Wölfl, and

More information

OWL 2 Profiles. An Introduction to Lightweight Ontology Languages. Маркус Крёч (Markus Krötzsch) University of Oxford. KESW Summer School 2012

OWL 2 Profiles. An Introduction to Lightweight Ontology Languages. Маркус Крёч (Markus Krötzsch) University of Oxford. KESW Summer School 2012 University of Oxford Department of Computer Science OWL 2 Profiles An Introduction to Lightweight Ontology Languages Маркус Крёч (Markus Krötzsch) University of Oxford KESW Summer School 2012 Remark for

More information

XXXII Conference on Very Large Data Bases VLDB 2006 Seoul, Korea, 15 th September 2006

XXXII Conference on Very Large Data Bases VLDB 2006 Seoul, Korea, 15 th September 2006 Andrea Calì Faculty of Computer Science Free University of Bolzano State University of New York at Stony Brook XXXII Conference on Very Large Data Bases VLDB 2006 Seoul, Korea, 15 th September 2006 F-Logic

More information

Mastro: A Reasoner for Effective Ontology-Based Data Access

Mastro: A Reasoner for Effective Ontology-Based Data Access Mastro: A Reasoner for Effective Ontology-Based Data Access Giuseppe De Giacomo, Domenico Lembo, Maurizio Lenzerini, Antonella Poggi, Riccardo Rosati, Marco Ruzzi, Domenico Fabio Savo Dip. di Ing. Informatica,

More information

Conjunctive Query Containment in Description Logics with n-ary Relations

Conjunctive Query Containment in Description Logics with n-ary Relations Conjunctive Query Containment in Description Logics with n-ary Relations Diego Calvanese and Giuseppe De Giacomo and Maurizio Lenzerini Dipartimento di Informatica e Sistemistica Università di Roma La

More information

Datalog : A Unifying Framework for Ontological Reasoning and Query Answering

Datalog : A Unifying Framework for Ontological Reasoning and Query Answering Datalog : A Unifying Framework for Ontological Reasoning and Query Answering Georg Gottlob and Andreas Pieris Department of Computer Science University of Oxford Ontology, Rules, and Logic Programming

More information

Query Evaluation of Tractable Answering using Query Rewriting

Query Evaluation of Tractable Answering using Query Rewriting Faculty of Computer Science, Free University of Bozen-Bolzano Universidade Nova de Lisboa Master of Science Thesis Query Evaluation of Tractable Answering using Query Rewriting by Zakka Fauzan Muhammad

More information

INF3580/4580 Semantic Technologies Spring 2017

INF3580/4580 Semantic Technologies Spring 2017 INF3580/4580 Semantic Technologies Spring 2017 Lecture 9: Model Semantics & Reasoning Martin Giese 13th March 2017 Department of Informatics University of Oslo Today s Plan 1 Repetition: RDF semantics

More information

Ontology-based database access

Ontology-based database access Ontology-based database access Diego Calvanese 1, Giuseppe De Giacomo 2, Domenico Lembo 2, Maurizio Lenzerini 2, Antonella Poggi 2, Riccardo Rosati 2 1 Faculty of Computer Science Free University of Bozen-Bolzano

More information

Data integration lecture 3

Data integration lecture 3 PhD course on View-based query processing Data integration lecture 3 Riccardo Rosati Dipartimento di Informatica e Sistemistica Università di Roma La Sapienza {rosati}@dis.uniroma1.it Corso di Dottorato

More information

Standardization of Ontologies

Standardization of Ontologies Standardization of Ontologies Kore Nordmann TU Dortmund March 17, 2009 Outline History Related technologies Ontology development General history HTML UNTANGLE HTML 2.0 XML rec. XHTML RDF(S)

More information

A Retrospective on Datalog 1.0

A Retrospective on Datalog 1.0 A Retrospective on Datalog 1.0 Phokion G. Kolaitis UC Santa Cruz and IBM Research - Almaden Datalog 2.0 Vienna, September 2012 2 / 79 A Brief History of Datalog In the beginning of time, there was E.F.

More information

Description Logics and Disjunctive Datalog The Story so Far

Description Logics and Disjunctive Datalog The Story so Far Description Logics and Disjunctive Datalog The Story so Far Ullrich Hustadt University of Liverpool Liverpool, UK U.Hustadt@csc.liv.ac.uk Boris Motik Forschungszentrum Informatik Karlsruhe, Germany motik@fzi.de

More information

Foundations of SPARQL Query Optimization

Foundations of SPARQL Query Optimization Foundations of SPARQL Query Optimization Michael Schmidt, Michael Meier, Georg Lausen Albert-Ludwigs-Universität Freiburg Database and Information Systems Group 13 th International Conference on Database

More information

Query Rewriting Under Ontology Evolution

Query Rewriting Under Ontology Evolution Query Rewriting Under Ontology Evolution Eleni Tsalapati, Giorgos Stoilos, Giorgos Stamou, and George Koletsos School of Electrical and Computer Engineering, National Technical University of Athens, Zographou

More information

Knowledge Representation for the Semantic Web

Knowledge Representation for the Semantic Web Knowledge Representation for the Semantic Web Winter Quarter 2010 Pascal Hitzler Slides 6 02/04/2010 Kno.e.sis Center Wright State University, Dayton, OH http://www.knoesis.org/pascal/ KR4SW Winter 2010

More information

AI Fundamentals: Knowledge Representation and Reasoning. Maria Simi

AI Fundamentals: Knowledge Representation and Reasoning. Maria Simi AI Fundamentals: Knowledge Representation and Reasoning Maria Simi Description logics LESSON 6: SYNTAX AND SEMANTICS, DECISION PROBLEMS, INFERENCE Categories and objects [AIMA, Cap 12] Most of the reasoning

More information

Ontologies, OWL, OWL profiles

Ontologies, OWL, OWL profiles Knowledge Representation and Semantic Technologies Ontologies, OWL, OWL profiles Riccardo Rosati Corso di Laurea Magistrale in Ingegneria Informatica Sapienza Università di Roma 2013/2014 The Semantic

More information

Data Exchange in the Relational and RDF Worlds

Data Exchange in the Relational and RDF Worlds Data Exchange in the Relational and RDF Worlds Marcelo Arenas Department of Computer Science Pontificia Universidad Católica de Chile This is joint work with Jorge Pérez, Juan Reutter, Cristian Riveros

More information

COMP718: Ontologies and Knowledge Bases

COMP718: Ontologies and Knowledge Bases 1/38 COMP718: Ontologies and Knowledge Bases Lecture 4: OWL 2 and Reasoning Maria Keet email: keet@ukzn.ac.za home: http://www.meteck.org School of Mathematics, Statistics, and Computer Science University

More information

Converting Instance Checking to Subsumption: A Rethink for Object Queries over Practical Ontologies

Converting Instance Checking to Subsumption: A Rethink for Object Queries over Practical Ontologies International Journal of Intelligence Science, 2015, 5, 44-62 Published Online January 2015 in SciRes. http://www.scirp.org/journal/ijis http://dx.id.org/10.4236/ijis.2015.51005 Converting Instance Checking

More information

Extracting Finite Sets of Entailments from OWL Ontologies

Extracting Finite Sets of Entailments from OWL Ontologies Extracting Finite Sets of Entailments from OWL Ontologies Samantha Bail, Bijan Parsia, Ulrike Sattler The University of Manchester Oxford Road, Manchester, M13 9PL {bails,bparsia,sattler@cs.man.ac.uk}

More information

Data Complexity of Query Answering in Description Logics

Data Complexity of Query Answering in Description Logics Data Complexity of Query Answering in Description Logics Diego Calvanese 1, Giuseppe De Giacomo 2, Domenico Lembo 2, Maurizio Lenzerini 2, Riccardo Rosati 2 1 Faculty of Computer Science Free University

More information

The VADALOG System: Swift Logic for Big Data and Enterprise Knowledge Graphs

The VADALOG System: Swift Logic for Big Data and Enterprise Knowledge Graphs The VADALOG System: Swift Logic for Big Data and Enterprise Knowledge Graphs Luigi Bellomarini 12, Georg Gottlob 13, Andreas Pieris 4, Emanuel Sallinger 1 1 Introduction 1 University of Oxford, UK 2 Banca

More information

Mandatory exercises. INF3580/4580 Semantic Technologies Spring 2017 Lecture 12: OWL: Loose Ends. Outline. Make it simple!

Mandatory exercises. INF3580/4580 Semantic Technologies Spring 2017 Lecture 12: OWL: Loose Ends. Outline. Make it simple! Mandatory exercises INF3580/4580 Semantic Technologies Spring 2017 Lecture 12: OWL: Loose Ends Ernesto Jiménez-Ruiz 3rd April 2017 Oblig 6 published after lecture. First attempt by April 25th. Second attempt

More information

Ontology-Based Data Access

Ontology-Based Data Access Ontology-Based Data Access ISWC 2007 Tutorial Diego Calvanese 1, Domenico Lembo 2 1 Free University of Bozen-Bolzano, 2 Sapienza Università di Roma 6th Int. Semantic Web Conference Busan, South Korea Nov.

More information

The Relational Model

The Relational Model The Relational Model David Toman School of Computer Science University of Waterloo Introduction to Databases CS348 David Toman (University of Waterloo) The Relational Model 1 / 28 The Relational Model

More information

SQL, DLs, Datalog, and ASP: comparison

SQL, DLs, Datalog, and ASP: comparison SQL, DLs, Datalog, and ASP: comparison Riccardo Rosati Knowledge Representation and Semantic Technologies Corso di Laurea in Ingegneria informatica Sapienza Università di Roma 2014/2015 CWA vs. OWA DLs

More information

The onprom Toolchain for Extracting Business Process Logs using Ontology-based Data Access

The onprom Toolchain for Extracting Business Process Logs using Ontology-based Data Access The onprom Toolchain for Extracting Business Process Logs using Ontology-based Data Access Diego Calvanese, Tahir Emre Kalayci, Marco Montali, and Ario Santoso KRDB Research Centre for Knowledge and Data

More information

Logic and Databases. Phokion G. Kolaitis. UC Santa Cruz & IBM Research - Almaden

Logic and Databases. Phokion G. Kolaitis. UC Santa Cruz & IBM Research - Almaden Logic and Databases Phokion G. Kolaitis UC Santa Cruz & IBM Research - Almaden 1 Logic and Databases are inextricably intertwined. C.J. Date -- 2007 2 Logic and Databases Extensive interaction between

More information

Query Rewriting under EL-TBoxes: Efficient Algorithms

Query Rewriting under EL-TBoxes: Efficient Algorithms Query Rewriting under EL-Boxes: Efficient Algorithms Peter Hansen 1, Carsten Lutz 1, İnanç Seylan1, and Frank Wolter 2 1 University of Bremen, Germany, {hansen,clu,seylan}@informatik.uni-bremen.de 2 University

More information

Uncertainty in Databases. Lecture 2: Essential Database Foundations

Uncertainty in Databases. Lecture 2: Essential Database Foundations Uncertainty in Databases Lecture 2: Essential Database Foundations Table of Contents 1 2 3 4 5 6 Table of Contents Codd s Vision Codd Catches On Top Academic Recognition Selected Publication Venues 1 2

More information