SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
A reasoner for Ontology Based Data Access
Mariano Rodríguez-Muro and Diego Calvanese
KRDB Research Group
Free University of Bozen-BolzanoOWLED’12
May, 2012
Quest
OBDA and -Quest-
OWL Ontologies
• Uses
• Documentation
• Knowledge Exchange
• Discovering new knowledge
• Ontologies + Data…
OBDA and -Quest-
Instance reasoning
• Instance reasoning
• Infer new information about the data
• Detect inconsistent data
• Use inferred information for complex queries (e.g., SPARQL)
• Aim: Large ontologies + Large data
• Traditional approach...
OBDA and -Quest-
The usual workflow (ETL)
Reasoner
Source
Application
Communication
Ontology
Inputs
Triples Application Code (e.g., D2RQ, R2RML processors, etc)
OBDA and -Quest-
Problem with approach
• Software Complexity
• Duplication
• Data refreshing
• Performance (implementation,
even light languages)
• Data structure is lost (PKEYS,
FOREIGN KEYS, etc)
Reasoner
Source
Application
Communication
Ontology
Inputs
Triples Application Code
OBDA and -Quest-
OBDA Models: Sources and Mappings
“A formal specification of the relationship
between data in a data source and the
vocabulary of the ontology”
OBDA
Model
Source Declaration
Source M
A set of mappings
Mapping: “A tuple of an source query (e.g., SQL) and a
template of the ABox assertions to defined by the answers to
the query.”
OBDA and -Quest-
OBDA as an Architecture
Reasoner
Source
Application
Direct
Communication
Ontology
OBDA
Model
Inputs
OBDA and -Quest-
The Pay-off
OBDA and -Quest-
The Pay-off
• At least
• The source is documented
• Data handling can be done automatically (by the reasoner)
• Reduced cost of application development and maintenance
• The reasoner can analyze source and mappings to minimize the cost of
inference
OBDA and -Quest-
The Pay-off
• At least
• The source is documented
• Data handling can be done automatically (by the reasoner)
• Reduced cost of application development and maintenance
• The reasoner can analyze source and mappings to minimize the cost of
inference
• The sweet spot (with OWL 2 QL/RDFS)
• On-the-fly ontology based data access
• Exploitation of efficient sources (e.g., SQL engines)
• Reasoning by pure query rewriting
OBDA and -Quest-
An OBDA reasoner focused on fast and efficient query answering
over very large ontologies and very large volumes of data.
Features:
• Support for RDFS and OWL 2 QL semantics
• SPARQL* (> UCQs)
• Powerful mapping language (often compensates for OWL 2
QL)
• OWLAPI 3 and Protégé 4.1 support
• Reasoning by query rewriting.
• Relies on SQL engines for query execution.
• ABox modes...
Quest
OBDA and -Quest-
Quest in “classic ABox mode” (R/W)
Ontology
Quest
ABox/
OBDA
Model
Source
Application
JDBC
Storage is is based on the
Semantic Index technique
(ISWC11, KR12)
Internal DB
OBDA and -Quest-
Quest in “virtual ABox mode” (read-only)
Ontology
Quest
OBDA
Model
Source
ApplicationInputs
PostgreSQL, MySQL,
SQL Server, DB2 and
Oracle
JDBC
OBDA and -Quest-
Data integration with virtual ABox mode
Ontology
Quest
OBDA
Model
Database
Federation
Application
JDBC
Inputs
E.g., Teiid, Oracle, DB2
OBDA and -Quest-
What’s special about Quest?
• We realized that SQL determines performance, not TBox query
rewriting.
• Query rewritings in Quest are “natural” SQL queries
• Effective query rewriting:
• Highly efficient rewriting algorithm
• Highly efficient SQL generation:
• Detection of redundant SQL (w.r.t. constraints and mappings)
• Optimized individual SQL queries (w.r.t. constraints and mappings)
• Generates optimal SQL for modern engines
• Beyond academic prototype, focused on features for SW
application development.
• Going beyond OWL 2 QL. Rules (SWRL, RIF), exploiting
recursivity of SQL and Datalog engines for OWL 2 EL, hybrid
approaches for OWL 2 RL.
OBDA and -Quest-
OBDA and -Quest-
THANK YOU
Questions, Examples, Hands-on or Demos?
OBDA and -Quest-
Query Rewriting in a Nutshell
“Given a query Q, a TBox T, an OBDA model <D, M>
to compute a query Q’ over D that returns the desired
answers”
OBDA and -Quest-
Example OBDA
model
id [PKEY] name age ssn
12 John 37 xxx-999
Table: patient
patient_id [FKEY] c_id [FKEY]
12 33
Table: condition
OBDA and -Quest-
Example OBDA
model
SELECT id,name,age,ssn FROM patient
:person/{$id} a Patient; name $name;
age $age^^xsd:int; ssn $ssn
id [PKEY] name age ssn
12 John 37 xxx-999
Table: patient
patient_id [FKEY] c_id [FKEY]
12 33
Table: condition
OBDA and -Quest-
Example OBDA
model
SELECT id,name,age,ssn FROM patient
:person/{$id} a Patient; name $name;
age $age^^xsd:int; ssn $ssn
id [PKEY] name age ssn
12 John 37 xxx-999
Table: patient
patient_id [FKEY] c_id [FKEY]
12 33
Table: condition
SELECT id, c_id FROM condition
:person/{$id} affectedBy :cond/{$id}/{$c_id}
OBDA and -Quest-
Example OBDA
model
SELECT id,name,age,ssn FROM patient
:person/{$id} a Patient; name $name;
age $age^^xsd:int; ssn $ssn
id [PKEY] name age ssn
12 John 37 xxx-999
Table: patient
patient_id [FKEY] c_id [FKEY]
12 33
Table: condition
SELECT id, c_id FROM condition
:person/{$id} affectedBy :cond/{$id}/{$c_id}
SELECT id,c_id FROM condition WHERE c_id = 33
:cond/{$id}/{$c_id} a CardiacArrest
SELECT id,c_id FROM condition WHERE c_id = 27
:cond/{$id}/{$c_id} a Clog
OBDA and -Quest-
Query Rewriting:
An example
Ontology (Tbox)
SubClassOf(:CardiacArrest :HearthCondition)
SubClassOf(:Clog :HearthCondition)
Query (SPARQL)
SELECT ?p ?n ?ssn WHERE {
?p a :Patient; :name ?n; :ssn ?s; :age ?a;
:affectedBy [ a :HeartCondition ].
FILTER (?a >= 21 && ?a <= 50)
}
OBDA and -Quest-
Query Rewriting
An Example
Rewriting w.r.t. the OBDA model (mappings)
Efficient n-ary to binary!!
OBDA and -Quest-
Query Rewriting
An Example
Rewriting w.r.t. the OBDA model (mappings)
SELECT
(‘http://quest.org/owled#’ || tp.id) as p,
tp.name as n,
tp.ssn as s
FROM
patient tp JOIN condition tc
ON tp.id = tc.patient_id
WHERE
(c.c_id = 33 || c.c_id = 27)
AND tp.age >= 21
AND tp.age <= 50
Efficient n-ary to binary!!
OBDA and -Quest-
Query Rewriting
An Example
Rewriting w.r.t. the OBDA model (mappings)
SELECT
(‘http://quest.org/owled#’ || tp.id) as p,
tp.name as n,
tp.ssn as s
FROM
patient tp JOIN condition tc
ON tp.id = tc.patient_id
WHERE
(c.c_id = 33 || c.c_id = 27)
AND tp.age >= 21
AND tp.age <= 50
p n s
:person/12 John xxx-999
Answer
Efficient n-ary to binary!!

Más contenido relacionado

La actualidad más candente

La actualidad más candente (7)

SWT Lecture Session 10 R2RML Part 1
SWT Lecture Session 10 R2RML Part 1SWT Lecture Session 10 R2RML Part 1
SWT Lecture Session 10 R2RML Part 1
 
4 sw architectures and sparql
4 sw architectures and sparql4 sw architectures and sparql
4 sw architectures and sparql
 
SWT Lecture Session 11 - R2RML part 2
SWT Lecture Session 11 - R2RML part 2SWT Lecture Session 11 - R2RML part 2
SWT Lecture Session 11 - R2RML part 2
 
OODB
OODBOODB
OODB
 
Oodb
OodbOodb
Oodb
 
Mapping Relational Databases to Linked Data
Mapping Relational Databases to Linked DataMapping Relational Databases to Linked Data
Mapping Relational Databases to Linked Data
 
PO WER - Piotr Mariat - Sql
PO WER - Piotr Mariat - SqlPO WER - Piotr Mariat - Sql
PO WER - Piotr Mariat - Sql
 

Similar a An OBDA reasoner for efficient query answering over large ontologies and data

Stanford'12 Intro to Ontology Based Data Access for RDBMS through query rewri...
Stanford'12 Intro to Ontology Based Data Access for RDBMS through query rewri...Stanford'12 Intro to Ontology Based Data Access for RDBMS through query rewri...
Stanford'12 Intro to Ontology Based Data Access for RDBMS through query rewri...Mariano Rodriguez-Muro
 
KR12 Semantic Index and TBox optimisation with respect to dependencies
KR12 Semantic Index and TBox optimisation with respect to dependenciesKR12 Semantic Index and TBox optimisation with respect to dependencies
KR12 Semantic Index and TBox optimisation with respect to dependenciesMariano Rodriguez-Muro
 
Enabling ontology based streaming data access final
Enabling ontology based streaming data access finalEnabling ontology based streaming data access final
Enabling ontology based streaming data access finalJean-Paul Calbimonte
 
Expose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridExpose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridVinay Kumar
 
JSON and the Oracle Database
JSON and the Oracle DatabaseJSON and the Oracle Database
JSON and the Oracle DatabaseMaria Colgan
 
Application development with Oracle NoSQL Database 3.0
Application development with Oracle NoSQL Database 3.0Application development with Oracle NoSQL Database 3.0
Application development with Oracle NoSQL Database 3.0Anuj Sahni
 
NoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQLNoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQLEDB
 
Overview of running R in the Oracle Database
Overview of running R in the Oracle DatabaseOverview of running R in the Oracle Database
Overview of running R in the Oracle DatabaseBrendan Tierney
 
dot15926 Software Presentation
dot15926 Software Presentationdot15926 Software Presentation
dot15926 Software PresentationVictor Agroskin
 
Couchbase N1QL: Language & Architecture Overview.
Couchbase N1QL: Language & Architecture Overview.Couchbase N1QL: Language & Architecture Overview.
Couchbase N1QL: Language & Architecture Overview.Keshav Murthy
 
Bringing OpenClinica Data into SAS
Bringing OpenClinica Data into SASBringing OpenClinica Data into SAS
Bringing OpenClinica Data into SASRick Watts
 
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphs
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge GraphsOBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphs
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphsdgarijo
 
Database@Home - Data Driven : Loading, Indexing, and Searching with Text and ...
Database@Home - Data Driven : Loading, Indexing, and Searching with Text and ...Database@Home - Data Driven : Loading, Indexing, and Searching with Text and ...
Database@Home - Data Driven : Loading, Indexing, and Searching with Text and ...Tammy Bednar
 
JSON in der Oracle Datenbank
JSON in der Oracle DatenbankJSON in der Oracle Datenbank
JSON in der Oracle DatenbankUlrike Schwinn
 
Using Document Databases with TYPO3 Flow
Using Document Databases with TYPO3 FlowUsing Document Databases with TYPO3 Flow
Using Document Databases with TYPO3 FlowKarsten Dambekalns
 
Expressive Querying of Semantic Databases with Incremental Query Rewriting
Expressive Querying of Semantic Databases with Incremental Query RewritingExpressive Querying of Semantic Databases with Incremental Query Rewriting
Expressive Querying of Semantic Databases with Incremental Query RewritingAlexandre Riazanov
 

Similar a An OBDA reasoner for efficient query answering over large ontologies and data (20)

Stanford'12 Intro to Ontology Based Data Access for RDBMS through query rewri...
Stanford'12 Intro to Ontology Based Data Access for RDBMS through query rewri...Stanford'12 Intro to Ontology Based Data Access for RDBMS through query rewri...
Stanford'12 Intro to Ontology Based Data Access for RDBMS through query rewri...
 
KR12 Semantic Index and TBox optimisation with respect to dependencies
KR12 Semantic Index and TBox optimisation with respect to dependenciesKR12 Semantic Index and TBox optimisation with respect to dependencies
KR12 Semantic Index and TBox optimisation with respect to dependencies
 
Enabling ontology based streaming data access final
Enabling ontology based streaming data access finalEnabling ontology based streaming data access final
Enabling ontology based streaming data access final
 
Dagstuhl 2013 - Montali - On the Relationship between OBDA and Relational Map...
Dagstuhl 2013 - Montali - On the Relationship between OBDA and Relational Map...Dagstuhl 2013 - Montali - On the Relationship between OBDA and Relational Map...
Dagstuhl 2013 - Montali - On the Relationship between OBDA and Relational Map...
 
Expose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridExpose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug Madrid
 
JSON and the Oracle Database
JSON and the Oracle DatabaseJSON and the Oracle Database
JSON and the Oracle Database
 
Application development with Oracle NoSQL Database 3.0
Application development with Oracle NoSQL Database 3.0Application development with Oracle NoSQL Database 3.0
Application development with Oracle NoSQL Database 3.0
 
NoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQLNoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQL
 
Overview of running R in the Oracle Database
Overview of running R in the Oracle DatabaseOverview of running R in the Oracle Database
Overview of running R in the Oracle Database
 
ontop: A tutorial
ontop: A tutorialontop: A tutorial
ontop: A tutorial
 
dot15926 Software Presentation
dot15926 Software Presentationdot15926 Software Presentation
dot15926 Software Presentation
 
Couchbase N1QL: Language & Architecture Overview.
Couchbase N1QL: Language & Architecture Overview.Couchbase N1QL: Language & Architecture Overview.
Couchbase N1QL: Language & Architecture Overview.
 
Bringing OpenClinica Data into SAS
Bringing OpenClinica Data into SASBringing OpenClinica Data into SAS
Bringing OpenClinica Data into SAS
 
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphs
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge GraphsOBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphs
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphs
 
Oodb
OodbOodb
Oodb
 
Database@Home - Data Driven : Loading, Indexing, and Searching with Text and ...
Database@Home - Data Driven : Loading, Indexing, and Searching with Text and ...Database@Home - Data Driven : Loading, Indexing, and Searching with Text and ...
Database@Home - Data Driven : Loading, Indexing, and Searching with Text and ...
 
JSON in der Oracle Datenbank
JSON in der Oracle DatenbankJSON in der Oracle Datenbank
JSON in der Oracle Datenbank
 
Using Document Databases with TYPO3 Flow
Using Document Databases with TYPO3 FlowUsing Document Databases with TYPO3 Flow
Using Document Databases with TYPO3 Flow
 
Expressive Querying of Semantic Databases with Incremental Query Rewriting
Expressive Querying of Semantic Databases with Incremental Query RewritingExpressive Querying of Semantic Databases with Incremental Query Rewriting
Expressive Querying of Semantic Databases with Incremental Query Rewriting
 
Object oriented databases
Object oriented databasesObject oriented databases
Object oriented databases
 

Más de Mariano Rodriguez-Muro

SWT Lecture Session 8 - Inference in jena
SWT Lecture Session 8 - Inference in jenaSWT Lecture Session 8 - Inference in jena
SWT Lecture Session 8 - Inference in jenaMariano Rodriguez-Muro
 
SWT Lecture Session 7 - Advanced uses of RDFS
SWT Lecture Session 7 - Advanced uses of RDFSSWT Lecture Session 7 - Advanced uses of RDFS
SWT Lecture Session 7 - Advanced uses of RDFSMariano Rodriguez-Muro
 
SWT Lecture Session 6 - RDFS semantics, inference techniques, sesame rdfs
SWT Lecture Session 6 - RDFS semantics, inference techniques, sesame rdfsSWT Lecture Session 6 - RDFS semantics, inference techniques, sesame rdfs
SWT Lecture Session 6 - RDFS semantics, inference techniques, sesame rdfsMariano Rodriguez-Muro
 
SWT Lecture Session 4 - SW architectures and SPARQL
SWT Lecture Session 4 - SW architectures and SPARQLSWT Lecture Session 4 - SW architectures and SPARQL
SWT Lecture Session 4 - SW architectures and SPARQLMariano Rodriguez-Muro
 
Introduction to query rewriting optimisation with dependencies
Introduction to query rewriting optimisation with dependenciesIntroduction to query rewriting optimisation with dependencies
Introduction to query rewriting optimisation with dependenciesMariano Rodriguez-Muro
 
OXFORD'13 Optimising OWL 2 QL query rewriring
OXFORD'13 Optimising OWL 2 QL query rewriringOXFORD'13 Optimising OWL 2 QL query rewriring
OXFORD'13 Optimising OWL 2 QL query rewriringMariano Rodriguez-Muro
 

Más de Mariano Rodriguez-Muro (20)

SWT Lecture Session 2 - RDF
SWT Lecture Session 2 - RDFSWT Lecture Session 2 - RDF
SWT Lecture Session 2 - RDF
 
SWT Lab 3
SWT Lab 3SWT Lab 3
SWT Lab 3
 
SWT Lab 5
SWT Lab 5SWT Lab 5
SWT Lab 5
 
SWT Lab 2
SWT Lab 2SWT Lab 2
SWT Lab 2
 
SWT Lab 1
SWT Lab 1SWT Lab 1
SWT Lab 1
 
SWT Lecture Session 8 - Rules
SWT Lecture Session 8 - RulesSWT Lecture Session 8 - Rules
SWT Lecture Session 8 - Rules
 
SWT Lecture Session 8 - Inference in jena
SWT Lecture Session 8 - Inference in jenaSWT Lecture Session 8 - Inference in jena
SWT Lecture Session 8 - Inference in jena
 
SWT Lecture Session 7 - Advanced uses of RDFS
SWT Lecture Session 7 - Advanced uses of RDFSSWT Lecture Session 7 - Advanced uses of RDFS
SWT Lecture Session 7 - Advanced uses of RDFS
 
SWT Lecture Session 6 - RDFS semantics, inference techniques, sesame rdfs
SWT Lecture Session 6 - RDFS semantics, inference techniques, sesame rdfsSWT Lecture Session 6 - RDFS semantics, inference techniques, sesame rdfs
SWT Lecture Session 6 - RDFS semantics, inference techniques, sesame rdfs
 
SWT Lecture Session 5 - RDFS
SWT Lecture Session 5 - RDFSSWT Lecture Session 5 - RDFS
SWT Lecture Session 5 - RDFS
 
SWT Lecture Session 4 - SW architectures and SPARQL
SWT Lecture Session 4 - SW architectures and SPARQLSWT Lecture Session 4 - SW architectures and SPARQL
SWT Lecture Session 4 - SW architectures and SPARQL
 
SWT Lecture Session 4 - Sesame
SWT Lecture Session 4 - SesameSWT Lecture Session 4 - Sesame
SWT Lecture Session 4 - Sesame
 
SWT Lecture Session 3 - SPARQL
SWT Lecture Session 3 - SPARQLSWT Lecture Session 3 - SPARQL
SWT Lecture Session 3 - SPARQL
 
7 advanced uses of rdfs
7 advanced uses of rdfs7 advanced uses of rdfs
7 advanced uses of rdfs
 
5 rdfs
5 rdfs5 rdfs
5 rdfs
 
4 sesame
4 sesame4 sesame
4 sesame
 
SWT Lecture Session 1 - Introduction
SWT Lecture Session 1 - IntroductionSWT Lecture Session 1 - Introduction
SWT Lecture Session 1 - Introduction
 
Introduction to query rewriting optimisation with dependencies
Introduction to query rewriting optimisation with dependenciesIntroduction to query rewriting optimisation with dependencies
Introduction to query rewriting optimisation with dependencies
 
OXFORD'13 Optimising OWL 2 QL query rewriring
OXFORD'13 Optimising OWL 2 QL query rewriringOXFORD'13 Optimising OWL 2 QL query rewriring
OXFORD'13 Optimising OWL 2 QL query rewriring
 
ODBASE'08 dl-lite explanations
ODBASE'08 dl-lite explanationsODBASE'08 dl-lite explanations
ODBASE'08 dl-lite explanations
 

Último

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Último (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

An OBDA reasoner for efficient query answering over large ontologies and data

  • 1. A reasoner for Ontology Based Data Access Mariano Rodríguez-Muro and Diego Calvanese KRDB Research Group Free University of Bozen-BolzanoOWLED’12 May, 2012 Quest
  • 2. OBDA and -Quest- OWL Ontologies • Uses • Documentation • Knowledge Exchange • Discovering new knowledge • Ontologies + Data…
  • 3. OBDA and -Quest- Instance reasoning • Instance reasoning • Infer new information about the data • Detect inconsistent data • Use inferred information for complex queries (e.g., SPARQL) • Aim: Large ontologies + Large data • Traditional approach...
  • 4. OBDA and -Quest- The usual workflow (ETL) Reasoner Source Application Communication Ontology Inputs Triples Application Code (e.g., D2RQ, R2RML processors, etc)
  • 5. OBDA and -Quest- Problem with approach • Software Complexity • Duplication • Data refreshing • Performance (implementation, even light languages) • Data structure is lost (PKEYS, FOREIGN KEYS, etc) Reasoner Source Application Communication Ontology Inputs Triples Application Code
  • 6. OBDA and -Quest- OBDA Models: Sources and Mappings “A formal specification of the relationship between data in a data source and the vocabulary of the ontology” OBDA Model Source Declaration Source M A set of mappings Mapping: “A tuple of an source query (e.g., SQL) and a template of the ABox assertions to defined by the answers to the query.”
  • 7. OBDA and -Quest- OBDA as an Architecture Reasoner Source Application Direct Communication Ontology OBDA Model Inputs
  • 9. OBDA and -Quest- The Pay-off • At least • The source is documented • Data handling can be done automatically (by the reasoner) • Reduced cost of application development and maintenance • The reasoner can analyze source and mappings to minimize the cost of inference
  • 10. OBDA and -Quest- The Pay-off • At least • The source is documented • Data handling can be done automatically (by the reasoner) • Reduced cost of application development and maintenance • The reasoner can analyze source and mappings to minimize the cost of inference • The sweet spot (with OWL 2 QL/RDFS) • On-the-fly ontology based data access • Exploitation of efficient sources (e.g., SQL engines) • Reasoning by pure query rewriting
  • 11. OBDA and -Quest- An OBDA reasoner focused on fast and efficient query answering over very large ontologies and very large volumes of data. Features: • Support for RDFS and OWL 2 QL semantics • SPARQL* (> UCQs) • Powerful mapping language (often compensates for OWL 2 QL) • OWLAPI 3 and Protégé 4.1 support • Reasoning by query rewriting. • Relies on SQL engines for query execution. • ABox modes... Quest
  • 12. OBDA and -Quest- Quest in “classic ABox mode” (R/W) Ontology Quest ABox/ OBDA Model Source Application JDBC Storage is is based on the Semantic Index technique (ISWC11, KR12) Internal DB
  • 13. OBDA and -Quest- Quest in “virtual ABox mode” (read-only) Ontology Quest OBDA Model Source ApplicationInputs PostgreSQL, MySQL, SQL Server, DB2 and Oracle JDBC
  • 14. OBDA and -Quest- Data integration with virtual ABox mode Ontology Quest OBDA Model Database Federation Application JDBC Inputs E.g., Teiid, Oracle, DB2
  • 15. OBDA and -Quest- What’s special about Quest? • We realized that SQL determines performance, not TBox query rewriting. • Query rewritings in Quest are “natural” SQL queries • Effective query rewriting: • Highly efficient rewriting algorithm • Highly efficient SQL generation: • Detection of redundant SQL (w.r.t. constraints and mappings) • Optimized individual SQL queries (w.r.t. constraints and mappings) • Generates optimal SQL for modern engines • Beyond academic prototype, focused on features for SW application development. • Going beyond OWL 2 QL. Rules (SWRL, RIF), exploiting recursivity of SQL and Datalog engines for OWL 2 EL, hybrid approaches for OWL 2 RL.
  • 17. OBDA and -Quest- THANK YOU Questions, Examples, Hands-on or Demos?
  • 18. OBDA and -Quest- Query Rewriting in a Nutshell “Given a query Q, a TBox T, an OBDA model <D, M> to compute a query Q’ over D that returns the desired answers”
  • 19. OBDA and -Quest- Example OBDA model id [PKEY] name age ssn 12 John 37 xxx-999 Table: patient patient_id [FKEY] c_id [FKEY] 12 33 Table: condition
  • 20. OBDA and -Quest- Example OBDA model SELECT id,name,age,ssn FROM patient :person/{$id} a Patient; name $name; age $age^^xsd:int; ssn $ssn id [PKEY] name age ssn 12 John 37 xxx-999 Table: patient patient_id [FKEY] c_id [FKEY] 12 33 Table: condition
  • 21. OBDA and -Quest- Example OBDA model SELECT id,name,age,ssn FROM patient :person/{$id} a Patient; name $name; age $age^^xsd:int; ssn $ssn id [PKEY] name age ssn 12 John 37 xxx-999 Table: patient patient_id [FKEY] c_id [FKEY] 12 33 Table: condition SELECT id, c_id FROM condition :person/{$id} affectedBy :cond/{$id}/{$c_id}
  • 22. OBDA and -Quest- Example OBDA model SELECT id,name,age,ssn FROM patient :person/{$id} a Patient; name $name; age $age^^xsd:int; ssn $ssn id [PKEY] name age ssn 12 John 37 xxx-999 Table: patient patient_id [FKEY] c_id [FKEY] 12 33 Table: condition SELECT id, c_id FROM condition :person/{$id} affectedBy :cond/{$id}/{$c_id} SELECT id,c_id FROM condition WHERE c_id = 33 :cond/{$id}/{$c_id} a CardiacArrest SELECT id,c_id FROM condition WHERE c_id = 27 :cond/{$id}/{$c_id} a Clog
  • 23. OBDA and -Quest- Query Rewriting: An example Ontology (Tbox) SubClassOf(:CardiacArrest :HearthCondition) SubClassOf(:Clog :HearthCondition) Query (SPARQL) SELECT ?p ?n ?ssn WHERE { ?p a :Patient; :name ?n; :ssn ?s; :age ?a; :affectedBy [ a :HeartCondition ]. FILTER (?a >= 21 && ?a <= 50) }
  • 24. OBDA and -Quest- Query Rewriting An Example Rewriting w.r.t. the OBDA model (mappings) Efficient n-ary to binary!!
  • 25. OBDA and -Quest- Query Rewriting An Example Rewriting w.r.t. the OBDA model (mappings) SELECT (‘http://quest.org/owled#’ || tp.id) as p, tp.name as n, tp.ssn as s FROM patient tp JOIN condition tc ON tp.id = tc.patient_id WHERE (c.c_id = 33 || c.c_id = 27) AND tp.age >= 21 AND tp.age <= 50 Efficient n-ary to binary!!
  • 26. OBDA and -Quest- Query Rewriting An Example Rewriting w.r.t. the OBDA model (mappings) SELECT (‘http://quest.org/owled#’ || tp.id) as p, tp.name as n, tp.ssn as s FROM patient tp JOIN condition tc ON tp.id = tc.patient_id WHERE (c.c_id = 33 || c.c_id = 27) AND tp.age >= 21 AND tp.age <= 50 p n s :person/12 John xxx-999 Answer Efficient n-ary to binary!!