OXFORD 2013, Presentation on the query rewriting approach taken in ontop/Quest. Separating reasoning with respect to hierarchies and existential constants using mapping transformation techniques and a specialised query rewriting algorithm
This slide is used to do an introduction for the matplotlib library and this will be a very basic introduction. As matplotlib is a very used and famous library for machine learning this will be very helpful to teach a student with no coding background and they can start the plotting of maps from the ending of the slide by there own.
This slide is used to do an introduction for the matplotlib library and this will be a very basic introduction. As matplotlib is a very used and famous library for machine learning this will be very helpful to teach a student with no coding background and they can start the plotting of maps from the ending of the slide by there own.
This presentation takes you on a functional programming journey, it starts from basic Scala programming language design concepts and leads to a concept of Monads, how some of them designed in Scala and what is the purpose of them
Approximate Bayesian computation for the Ising/Potts modelMatt Moores
Bayes’ formula involves the likelihood function, p(y|theta), which is a problem when the likelihood is unavailable in closed form. ABC is a method for approximating the posterior p(theta|y) without evaluating the likelihood. Instead, pseudo-data is simulated from a generative model and compared with the observations. This talk will give an introduction to ABC algorithms: rejection sampling, ABC-MCMC and ABC-SMC. Application of these algorithms to image analysis will be presented as an illustrative example. These methods have been implemented in the R package bayesImageS.
This is joint work with Christian Robert (Warwick/Dauphine), Kerrie Mengersen and Christopher Drovandi (QUT).
I am Elijah L. I am an Algorithm Assignment Expert at programminghomeworkhelp.com. I hold a Bachelor’s Degree in Programming, Leeds University, UK. I have been helping students with their homework for the past 6 years. I solve assignments related to Algorithms.
Visit programminghomeworkhelp.com or email support@programminghomeworkhelp.com.You can also call on +1 678 648 4277 for any assistance with Algorithm assignments.
Computing the volume of a convex body is a fundamental problem in computational geometry and optimization. In this talk we discuss the computational complexity of this problem from a theoretical as well as practical point of view. We show examples of how volume computation appear in applications ranging from combinatorics to algebraic geometry.
Next, we design the first practical algorithm for polytope volume approximation in high dimensions (few hundreds).
The algorithm utilizes uniform sampling from a convex region and efficient boundary polytope oracles.
Interestingly, our software provides a framework for exploring theoretical advances since it is believed, and our experiments provide evidence for this belief, that the current asymptotic bounds are unrealistically high.
Finding root of equation (numarical method)Rajan Thakkar
▪ The numerical methods provide a real solution to problems where f (x) = 0.
▪ Here we are not only programing these methods but also to analyze which method converges who faster than the other method.
▪ We measure the average time to solve each method (how much time conduct for solving by each method) and the iteration (In how many iterations the method converges.)
▪ Use dynamic input so that user can input its own choice of function
▪ We use the graph for new point so that if f(x)=0 than what is the value x we can easily find out by viewing the graph
▪ In That we also compare two different language which is faster c++ or python.
▪ We conclude that among all the Newton Raphson is efficient method.
▪ Note: calculation time is low in bisection method and give answer in too many iterations but depending upon system newton Raphson is take little bit more time but find the root in few iterations.
Planning for Rapid Growth and Economic UncertaintyCharles Crouch
Online Retail Logistics Conference, 18-19 November, Sydney, Australia
As James Burke observed in his TV show "Connections," when information spread gradually, change occurred slowly. Today the online world spreads information explosively, and change is a constant. Two business techniques are discussed to address today's rapid change:
• Strategy as Simple Rules. Complex businesses need to simplify to be able to quickly adapt to changes in their marketplace. Using simple rules to describe and operate business processes lets people easily understand how to act when confronted with a new situation.
• Thinking Lean. The lean startup movement focuses on helping small startup businesses use their limited resources efficiently. Small, incremental steps, accompanied by adaptive changes, to a goal are preferred over a massive project which requires immense resources. Even large businesses can apply lean principles when deciding whether to enter a new market.
This presentation takes you on a functional programming journey, it starts from basic Scala programming language design concepts and leads to a concept of Monads, how some of them designed in Scala and what is the purpose of them
Approximate Bayesian computation for the Ising/Potts modelMatt Moores
Bayes’ formula involves the likelihood function, p(y|theta), which is a problem when the likelihood is unavailable in closed form. ABC is a method for approximating the posterior p(theta|y) without evaluating the likelihood. Instead, pseudo-data is simulated from a generative model and compared with the observations. This talk will give an introduction to ABC algorithms: rejection sampling, ABC-MCMC and ABC-SMC. Application of these algorithms to image analysis will be presented as an illustrative example. These methods have been implemented in the R package bayesImageS.
This is joint work with Christian Robert (Warwick/Dauphine), Kerrie Mengersen and Christopher Drovandi (QUT).
I am Elijah L. I am an Algorithm Assignment Expert at programminghomeworkhelp.com. I hold a Bachelor’s Degree in Programming, Leeds University, UK. I have been helping students with their homework for the past 6 years. I solve assignments related to Algorithms.
Visit programminghomeworkhelp.com or email support@programminghomeworkhelp.com.You can also call on +1 678 648 4277 for any assistance with Algorithm assignments.
Computing the volume of a convex body is a fundamental problem in computational geometry and optimization. In this talk we discuss the computational complexity of this problem from a theoretical as well as practical point of view. We show examples of how volume computation appear in applications ranging from combinatorics to algebraic geometry.
Next, we design the first practical algorithm for polytope volume approximation in high dimensions (few hundreds).
The algorithm utilizes uniform sampling from a convex region and efficient boundary polytope oracles.
Interestingly, our software provides a framework for exploring theoretical advances since it is believed, and our experiments provide evidence for this belief, that the current asymptotic bounds are unrealistically high.
Finding root of equation (numarical method)Rajan Thakkar
▪ The numerical methods provide a real solution to problems where f (x) = 0.
▪ Here we are not only programing these methods but also to analyze which method converges who faster than the other method.
▪ We measure the average time to solve each method (how much time conduct for solving by each method) and the iteration (In how many iterations the method converges.)
▪ Use dynamic input so that user can input its own choice of function
▪ We use the graph for new point so that if f(x)=0 than what is the value x we can easily find out by viewing the graph
▪ In That we also compare two different language which is faster c++ or python.
▪ We conclude that among all the Newton Raphson is efficient method.
▪ Note: calculation time is low in bisection method and give answer in too many iterations but depending upon system newton Raphson is take little bit more time but find the root in few iterations.
Planning for Rapid Growth and Economic UncertaintyCharles Crouch
Online Retail Logistics Conference, 18-19 November, Sydney, Australia
As James Burke observed in his TV show "Connections," when information spread gradually, change occurred slowly. Today the online world spreads information explosively, and change is a constant. Two business techniques are discussed to address today's rapid change:
• Strategy as Simple Rules. Complex businesses need to simplify to be able to quickly adapt to changes in their marketplace. Using simple rules to describe and operate business processes lets people easily understand how to act when confronted with a new situation.
• Thinking Lean. The lean startup movement focuses on helping small startup businesses use their limited resources efficiently. Small, incremental steps, accompanied by adaptive changes, to a goal are preferred over a massive project which requires immense resources. Even large businesses can apply lean principles when deciding whether to enter a new market.
Is your website ready? Five Things You MUST CheckCharles Crouch
Website designs may include unseen barriers which keep people from visiting the site and easily taking the actions you wish them to complete. This presentation discusses five things every website owner should check to ensure their site is easy to use and encourages visitors to complete your goals for them.
• Home pages that attract visitors
• Interesting content for your target audience
• Encourage clicks by your search engine listing
• Show a clear path to your goal
• Use a call to action that converts
Topics in the presentation include simple navigation, encouraging users to act, interesting content, clear search engine listings, good content structure, descriptive meta tags, customer decision process and clear call to action.
CORCON2014: Does programming really need data structures?Marco Benini
This talk tries to suggest how computer programming can be conceptually simplified by using abstract mathematics, in particular categorical semantics, so to achieve the 'correctness by construction' paradigm paying no price in term of efficiency.
Also, it introduces an alternative point of view on what is a program and how to conceive data structures, namely as computable morphisms between models of a logical theory.
Introduction to complexity theory that solves your assignment problem it contains about complexity class,deterministic class,big- O notation ,proof by mathematical induction, L-Space ,N-Space and characteristics functions of set and so on
Cuckoo Search Algorithm: An IntroductionXin-She Yang
This presentation explains the fundamental ideas of the standard Cuckoo Search (CS) algorithm, which also contains the links to the free Matlab codes at Mathswork file exchanges and the animations of numerical simulations (video at Youtube). An example of multi-objective cuckoo search (MOCS) is also given with link to the Matlab code.
How Spotify uses large scale Machine Learning running on top of Hadoop to power music discovery. From the NYC Predictive Analytics meetup: http://www.meetup.com/NYC-Predictive-Analytics/events/129778152/
A Quest for Subexponential Time Parameterized Algorithms for Planar-k-Path: F...cseiitgn
The field of designing subexponential time parameterized algorithms has gained a lot of momentum lately. While the subexponential time algorithm for Planar-k-Path (finding a path of length at least k on planar graphs) has been known for last 15 years. There was no such algorithms known on directed planar graphs. In this talk, I will survey this journey of designing subexponential time parameterized algorithms for finding a path of length at least k in planar undirected graphs to planar directed graphs; highlighting the new tools and techniques that got developed on the way.
This talk aims at introducing, through a very simple example, a way to represent data types in the λ-calculus, and thus, in functional programming languages, so that the structure of the data types itself becomes a parameter.
This very simple technical trick allows to reconsider programming as a way to express morphisms between models of a logical theory. As an application, it allows to realise a way to perform anonymous computations.
From a philosophical point of view, the presented approach shows how it is possible to conceive a real programming system where properties like correctness of programs can be proved, but data cannot be inspected, not even in principle.
Workload-aware materialization for efficient variable elimination on Bayesian...Cigdem Aslay
Bayesian networks are general, well-studied probabilistic models that capture dependencies among a set of variables. Variable Elimination is a fundamental algorithm for probabilistic inference over Bayesian networks. In this paper, we propose a novel materialization method, which can lead to significant efficiency gains when processing inference queries using the Variable Elimination algorithm. In particular, we address the problem of choosing a set of intermediate results to precompute and materialize, so as to maximize the expected efficiency gain over a given query workload. For the problem we consider, we provide an optimal polynomial-time algorithm and discuss alternative methods. We validate our technique using real-world Bayesian networks. Our experimental results confirm that a modest amount of materialization can lead to significant improvements in the running time of queries, with an average gain of 70%, and reaching up to a gain of 99%, for a uniform workload of queries. Moreover, in comparison with existing junction tree methods that also rely on materialization, our approach achieves competitive efficiency during inference using significantly lighter materialization.
Fosdem 2013 petra selmer flexible querying of graph dataPetra Selmer
These are the slides from a talk I presented at the Graph Processing room at FOSDEM 2013, in which I discussed my PhD topic: a query language allowing for the flexible querying of complex paths within graph structured data
A tutorial on how to create mappings using ontop, how inference (OWL 2 QL and RDFS) plays a role answering SPARQL queries in ontop, and how ontop's support for on-the-fly SQL query translation enables scenarios of semantic data access and data integration.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
OXFORD'13 Optimising OWL 2 QL query rewriring
1. .
.
.
.
Ontop at Work
Mariano Rodríguez-Muro1,
Roman Kontchakov2
Michael Zakharyaschev2
1 Faculty of Computer Science, Free
University of Bozen-Bolzano, Italy
2 Department of Computer Science
and Information Systems,
Birkbeck, University of London, U.K.
May 22th, 2013
2. .
.
.
OBDA: What is it?
.
Loosely speaking...
.
.
.
Using ontologies to access of data.
Ontop at Work 2 / 29
3. .
.
.
OBDA: What is it?
.
Loosely speaking...
.
.
.
Using ontologies to access of data.
(Virtual) ABox
User
Query
Ontology
(TBox)
Mappings
OBDA System
RBMS
Data source
Ontop at Work 2 / 29
4. .
.
.
OBDA: What is it?
.
Loosely speaking...
.
.
.
Using ontologies to access of data.
(Virtual) ABox
User
Query
Ontology
(TBox)
Mappings
OBDA System
RBMS
Data source
Our focus are OWL 2 QL ontologies, since they are tailored to
handle very large amounts of data by means of query rewriting
techniques.
Ontop at Work 2 / 29
5. .
.
.
Query Answering by Query rewriting
.
Objective
.
.
.
Given a query Q over the ontology T derive a query Q′
over the database D that preserves the semantics of T.
Ontop at Work 3 / 29
6. .
.
.
Query Answering by Query rewriting
.
Objective
.
.
.
Given a query Q over the ontology T derive a query Q′
over the database D that preserves the semantics of T.
.
.
Consider a TBox T
Movie ≡ ∃title, Movie ⊑ ∃year,
Movie ≡ ∃cast, ∃cast−
⊑ Person
Actor ⊑ Person Actress ⊑ Person,
Producer ⊑ Person, Director ⊑ Person,
Writer ⊑ Person, Editor ⊑ Person.
Ontop at Work 3 / 29
8. .
.
.
Example
.
.
The Database D: Two DB relations title[m, t, y] and
castinfo[p, m, r].
The mapping M (logical form, think R2RML):
Movie(m) ← title(m, t, y), title(m, t) ← title(m, t, y),
year(m, y) ← title(m, t, y), cast(m, p) ← castinfo(p, m, r),
Person(p) ← castinfo(p, m, r),
Actor(p) ← castinfo(p, m, ”c1”) · · ·
Editor(p) ← castinfo(p, m, ”c6”).
Ontop at Work 4 / 29
9. .
.
.
The classic OBDA architecture
.
.
CQ q .
ontology T
. FO q′
.
mapping
. SQL
.
data D
.
ABox A
.
+
.
rewriting
. +
.
unfolding
.
+
.
ABox virtualisation
Stages in the classic OBDA approach:
. Rewriting w.r.t. T,
. Unfolding w.r.t. M,
. Execution over D.
Ontop at Work 5 / 29
10. .
.
.
The classic OBDA architecture
.
.
CQ q .
ontology T
. FO q′
.
mapping
. SQL
.
data D
.
ABox A
.
+
.
rewriting
. +
.
unfolding
.
+
.
ABox virtualisation
Stages in the classic OBDA approach:
. Rewriting w.r.t. T,
. Unfolding w.r.t. M,
. Execution over D.
.
.
Unfolding and Mappings are ignored in most OBDA literature
Ontop at Work 5 / 29
11. .
.
.
Example: Rewriting
Given the query Q
q(x) ← Person(x)
Gives the rewriting
q(x) ← Person(x)
q(x) ← cast(z, x)
q(x) ← Actor(x)
. . .
q(x) ← Editor(x)
Ontop at Work 6 / 29
12. .
.
.
Example: Unfolding
Given the query Q
q(x) ← Person(x)
Gives the rewriting
q(x1) ← castinfo(x1, m, r)
q(x2) ← castinfo(x2, m, r)
q(x3) ← castinfo(x3, m, ”c1”)
. . .
q(x8) ← castinfo(x8, m, ”c6”)
Ontop at Work 7 / 29
13. .
.
.
Issues
The issues with these rewritings are:
. Large size (n1 ∗ . . . ∗ n2)
. Largely redundant (w.r.t. query containment)
Ontop at Work 8 / 29
14. .
.
.
Issues
The issues with these rewritings are:
. Large size (n1 ∗ . . . ∗ n2)
. Largely redundant (w.r.t. query containment)
In the literature we find two solutions:
. Encoding the rewriting as a Datalog program. For example,
given the query:
q(x, y) ← Person(x), Person(y), cast(m, x), cast(m, z)
Ontop at Work 8 / 29
15. .
.
.
Issues
The issues with these rewritings are:
. Large size (n1 ∗ . . . ∗ n2)
. Largely redundant (w.r.t. query containment)
In the literature we find two solutions:
. Encoding the rewriting as a Datalog program. For example,
given the query:
q(x, y) ← Person(x), Person(y), cast(m, x), cast(m, z)
we generate the rewriting:
q(x, y) ← Person(x), Person(y), cast(m, x), cast(m, z)
Person(x) ← cast(m, x)
Person(x) ← Actor(x)
. . .
Person(x) ← Edtior(x)
Ontop at Work 8 / 29
16. .
.
.
Issues
The issues with these rewritings are:
. Large size (n1 ∗ . . . ∗ n2)
. Largely redundant (w.r.t. query containment)
In the literature we find two solutions:
. Encoding the rewriting as a Datalog program.
.
But...
.
.
.
The query still needs to be unfolded into an SQL query. There are
two choices here:
. Generate SQL queries with nested UNIONs. Very bad for
performance.
. Expand into a UCQ. Back to square 1.
Ontop at Work 9 / 29
17. .
.
.
Issues (cont.)
The issues with these rewritings are:
. Large size (n1 ∗ . . . ∗ n2)
. Largely redundant (w.r.t. query containment)
Ontop at Work 10 / 29
18. .
.
.
Issues (cont.)
The issues with these rewritings are:
. Large size (n1 ∗ . . . ∗ n2)
. Largely redundant (w.r.t. query containment)
. Using Query Containment to clean the output.
Ontop at Work 10 / 29
19. .
.
.
Issues (cont.)
The issues with these rewritings are:
. Large size (n1 ∗ . . . ∗ n2)
. Largely redundant (w.r.t. query containment)
. Using Query Containment to clean the output. For example,
to detect that this:
q(x1) ← castinfo(x1, m, r)
q(x2) ← castinfo(x2, m, r)
q(x3) ← castinfo(x3, m, ”c1”)
. . .
q(x8) ← castinfo(x8, m, ”c6”)
Ontop at Work 10 / 29
20. .
.
.
Issues (cont.)
The issues with these rewritings are:
. Large size (n1 ∗ . . . ∗ n2)
. Largely redundant (w.r.t. query containment)
. Using Query Containment to clean the output. For example,
to detect that this:
q(x1) ← castinfo(x1, m, r)
q(x2) ← castinfo(x2, m, r)
q(x3) ← castinfo(x3, m, ”c1”)
. . .
q(x8) ← castinfo(x8, m, ”c6”)
can be simplified to
q(x1) ← castinfo(x1, m, r)
Ontop at Work 10 / 29
21. .
.
.
Issues (cont.)
The issues with these rewritings are:
. Large size (n1 ∗ . . . ∗ n2)
. Largely redundant (w.r.t. query containment)
. Using Query Containment to clean the output.
.
But...
.
.
.
. Query containment is an extremely expensive operation.
. We are working with large sets of queries.
Ontop at Work 11 / 29
22. .
.
.
Roots of the problem
There are 3 main reasons for large CQ rewritings and unfoldings:
Ontop at Work 12 / 29
23. .
.
.
Roots of the problem
There are 3 main reasons for large CQ rewritings and unfoldings:
(E) Sub-queries of q with existentially quantified variables
can be folded in many different ways to match the
canonical model (existential trees), e.g.,
Person ⊑ ∃hasFather.Person
and the query
q(x) ← hasFather(x, y), hasFather(y, z)
Ontop at Work 12 / 29
24. .
.
.
Roots of the problem
There are 3 main reasons for large CQ rewritings and unfoldings:
(E) Sub-queries of q with existentially quantified variables
can be folded in many different ways to match the
canonical model (existential trees), e.g.,
Person ⊑ ∃hasFather.Person
and the query
q(x) ← hasFather(x, y), hasFather(y, z)
(H) The concepts and roles for atoms in q can have many
sub-concepts and sub-roles according to T,
Ontop at Work 12 / 29
25. .
.
.
Roots of the problem
There are 3 main reasons for large CQ rewritings and unfoldings:
(E) Sub-queries of q with existentially quantified variables
can be folded in many different ways to match the
canonical model (existential trees), e.g.,
Person ⊑ ∃hasFather.Person
and the query
q(x) ← hasFather(x, y), hasFather(y, z)
(H) The concepts and roles for atoms in q can have many
sub-concepts and sub-roles according to T,
(M) The mapping M can have multiple definitions of the
ontology terms,
Most of the proposed rewriting techniques try to tame (E).
Ontop at Work 12 / 29
26. .
.
.
More about (E)
More about (E)
. it is in theory incurable
. it is independent of (H) and (M)
Ontop at Work 13 / 29
27. .
.
.
More about (E)
More about (E)
. it is in theory incurable
. it is independent of (H) and (M)
However
. Rewriting algorithms deal with (E) and (H) at the same time
. Real-world Qs and T’s generate few queries when dealing with
(E) in isolation.
. Even artificially constructed Qs and T’s become simple.
Ontop at Work 13 / 29
28. .
.
.
More about (E)
More about (E)
. it is in theory incurable
. it is independent of (H) and (M)
However
. Rewriting algorithms deal with (E) and (H) at the same time
. Real-world Qs and T’s generate few queries when dealing with
(E) in isolation.
. Even artificially constructed Qs and T’s become simple.
.
.
The strongest issues in query rewriting are (H) and (M)
Ontop at Work 13 / 29
29. .
.
.
More about (E)
More about (E)
. it is in theory incurable
. it is independent of (H) and (M)
However
. Rewriting algorithms deal with (E) and (H) at the same time
. Real-world Qs and T’s generate few queries when dealing with
(E) in isolation.
. Even artificially constructed Qs and T’s become simple.
.
.
The strongest issues in query rewriting are (H) and (M)
In Ontop we deal with (H) and (M) separately from (E). We do it
through T-mappings and TreeWitness rewritings.
Ontop at Work 13 / 29
30. .
.
.
Dealing with (H) and (M): T-Mappings
A T-mapping MT is a transformation of M that enforces all (H)
entailments (H-completeness), formally,
M |= A(c) and T |= A ⊑ B → MT |= B(c)
Ontop at Work 14 / 29
31. .
.
.
Dealing with (H) and (M): T-Mappings
A T-mapping MT is a transformation of M that enforces all (H)
entailments (H-completeness), formally,
M |= A(c) and T |= A ⊑ B → MT |= B(c)
.
T-mapping example 1
.
.
.
Consider two DB relations title[m, t, y] and castinfo[p, m, r] and an
ontology MO describing the film domain as follows:
Movie ≡ ∃cast
Let M be the following mappings:
Movie(m) ← title(m, t, y),
cast(m, p) ← castinfo(p, m, r).
Ontop at Work 14 / 29
32. .
.
.
Dealing with (H) and (M): T-Mappings
A T-mapping MT is a transformation of M that enforces all (H)
entailments (H-completeness), formally,
M |= A(c) and T |= A ⊑ B → MT |= B(c)
.
T-mapping example 1 (domain/range)
.
.
.
Consider two DB relations title[m, t, y] and castinfo[p, m, r] and an
ontology MO describing the film domain as follows:
Movie ≡ ∃cast
Let M be the following mappings:
Movie(m) ← title(m, t, y),
cast(m, p) ← castinfo(p, m, r).
Movie(m) ← castinfo(p, m, r).
Ontop at Work 15 / 29
33. .
.
.
T-Mappings: Example 2
.
T-mappings example 2 (hierarchies)
.
.
.
Consider a TBox T
Actor ⊑ Person Actress ⊑ Person,
Producer ⊑ Person, Director ⊑ Person,
Writer ⊑ Person, Editor ⊑ Person.
The mapping M:
Actor(p) ← castinfo(p, m, ”c1”) · · ·
Editor(p) ← castinfo(p, m, ”c6”).
Ontop at Work 16 / 29
34. .
.
.
T-Mappings: Example 2
.
T-mappings example 2 (hierarchies)
.
.
.
Consider a TBox T
Actor ⊑ Person Actress ⊑ Person,
Producer ⊑ Person, Director ⊑ Person,
Writer ⊑ Person, Editor ⊑ Person.
The mapping M:
Person(p) ← castinfo(p, m, ”c1”) · · ·
Person(p) ← castinfo(p, m, ”c6”).
Ontop at Work 17 / 29
35. .
.
.
Optimising T-mappings
.
.
The objective of T-mapping allow to deal with hierarchical reasoning
(H) at the level of the unfolding. At this point, we can exploit
. DB dependencies and
. SQL expressivity to reduce and often the exponential growth
coming form (H) and (M).
Ontop at Work 18 / 29
37. .
.
.
Optimising with Dependencies
A first optimisation is Query Containment (w.r.t. dependencies)
.
Example
.
.
.
Consider the previous example, since T |= ∃cast ⊑ Movie, the
T-mapping contains:
Movie(m) ← title(m, t, y),
Movie(m) ← castinfo(p, m, r).
Ontop at Work 19 / 29
38. .
.
.
Optimising with Dependencies
A first optimisation is Query Containment (w.r.t. dependencies)
.
Example
.
.
.
Consider the previous example, since T |= ∃cast ⊑ Movie, the
T-mapping contains:
Movie(m) ← title(m, t, y),
Movie(m) ← castinfo(p, m, r).
The latter rule is redundant since IMDb contains the foreign key
title(m, t, y) ⇝ title(p, m, r)
This step is crucial to reduce the growth due to inferences related to
domain and range.
Ontop at Work 19 / 29
40. .
.
.
Optimising with SQL expressivity
Observation. The only means for perfect reformulations to deal
with (H) is through disjunction (UNION). DBMS are not good
planning UNIONs.
Ontop at Work 20 / 29
41. .
.
.
Optimising with SQL expressivity
Observation. The only means for perfect reformulations to deal
with (H) is through disjunction (UNION). DBMS are not good
planning UNIONs.
However, At the level of the unfolding and mappings, we have full
SQL expressivity (e.g., Disjunction (OR), inequalities, etc.).
Ontop at Work 20 / 29
42. .
.
.
Optimising with SQL expressivity
Observation. The only means for perfect reformulations to deal
with (H) is through disjunction (UNION). DBMS are not good
planning UNIONs.
However, At the level of the unfolding and mappings, we have full
SQL expressivity (e.g., Disjunction (OR), inequalities, etc.).
.
Objective
.
.
.
Given a T-mapping, define mapping transformations that
entail the same ABox using less mappings while ensuring
that the encoding used is efficient during execution.
Ontop at Work 20 / 29
43. .
.
.
Optimising with SQL expressivity
Use OR and inequalities to re-express mappings for hierarchies and
discriminant columns.
Ontop at Work 21 / 29
44. .
.
.
Optimising with SQL expressivity
Use OR and inequalities to re-express mappings for hierarchies and
discriminant columns.
.
Dealing with discriminant columns
.
.
.
For example, the mapping M for IMDb and MO contains six rules
for sub-concepts of Person:
Person(p) ← castinfo(p, m, ”c1”)
· · ·
Person(p) ← castinfo(p, m, ”c6”)
Ontop at Work 21 / 29
45. .
.
.
Optimising with SQL expressivity
Use OR and inequalities to re-express mappings for hierarchies and
discriminant columns.
.
Dealing with discriminant columns
.
.
.
For example, the mapping M for IMDb and MO contains six rules
for sub-concepts of Person:
Person(p) ← castinfo(p, m, ”c1”)
· · ·
Person(p) ← castinfo(p, m, ”c6”)
These can be reduced to a single rule:
Person(p) ← castinfo(c, p, m, r), (r = c1) ∨ · · · ∨ (r = c6).
Ontop at Work 21 / 29
46. .
.
.
The architecture of Ontop
.
.
CQ q .
ontology T
. UCQ qtw
.
T-mapping
.
mapping M
.
dependencies Σ
. SQL
.
data D
.
ABox A
.
H-complete ABox A
.
+ .
tw-rewriting
. +
.
unfolding
.
+
.
ABox virtualisation
.
+
.
ABox virtualisation
.
+
.
ABox completion
.
+
.
completion
.
SQO
.
SQO
.
Highlights: (H) and (M) dealt with T-mappings, rewriting for
(H)-complete ABoxes, extensive use of SQO over the unfolding.
Ontop at Work 22 / 29
47. .
.
.
Other Optimisations in Ontop
We also apply other important optimisations during system setup
and at query time, the most important:
Equivalence Simplification Simplify the ontology vocabulary w.r.t.
equivalence (keep one representative of each
equivalence class).
Semantic Query Optimisation Optimise each query generated
individually... see next slides.
Emptiness indexes Keeping track of empty predicates
Ontop at Work 23 / 29
48. .
.
.
Results
A summary of the results we have observed using this architecture:
. Mappings per class/property are few
. Query rewritings are small
. SQL queries generated like this often correspond to what a
human expert would have generated.
. Query execution of SPARQL with entailments is fast, often
much faster than in triple stores.
.
.
Query rewriting can be done efficiently
Ontop at Work 24 / 29
50. .
.
.
Summary
Results so far
. Efficiently dealt with exponential growth from (H) and (M)
. Use of dependencies and CQC/SQO to minimise and optimise
mapping rules
. We exploit SQL expressivity to transform mappings to minimize
the number of mappings.
Ontop at Work 26 / 29
51. .
.
.
Summary
Results so far
. Efficiently dealt with exponential growth from (H) and (M)
. Use of dependencies and CQC/SQO to minimise and optimise
mapping rules
. We exploit SQL expressivity to transform mappings to minimize
the number of mappings.
.
.
OWL 2 QL query answering with query rewriting is efficient and
materialisation is not required.
Ontop at Work 26 / 29
52. .
.
.
Summary
Results so far
. Efficiently dealt with exponential growth from (H) and (M)
. Use of dependencies and CQC/SQO to minimise and optimise
mapping rules
. We exploit SQL expressivity to transform mappings to minimize
the number of mappings.
.
.
OWL 2 QL query answering with query rewriting is efficient and
materialisation is not required.
Ontop is available as an SPARQL end-point, OWLAPI and
Sesame library, and Protege 4 plugin. Many more features
(SPARQL, R2RML). Permanently under-development, however,
stable enough to be used seriously in many projects, incl. Optique.
Ontop at Work 26 / 29
53. .
.
.
Summary
Results so far
. Efficiently dealt with exponential growth from (H) and (M)
. Use of dependencies and CQC/SQO to minimise and optimise
mapping rules
. We exploit SQL expressivity to transform mappings to minimize
the number of mappings.
.
.
OWL 2 QL query answering with query rewriting is efficient and
materialisation is not required.
Ontop is available as an SPARQL end-point, OWLAPI and
Sesame library, and Protege 4 plugin. Many more features
(SPARQL, R2RML). Permanently under-development, however,
stable enough to be used seriously in many projects, incl. Optique.
Current work is applying these techniques to more expressive
settings, e.g., OWL + Rules, OWL 2 EL, OWL 2 RL, through an
hybrid approach.
Ontop at Work 26 / 29
54. .
.
.
Semantic Query Optimisation
Consider the query
q(t, y) ← Movie(m), title(m, t), year(m, y), (y > 2010)
By straightforwardly applying the unfolding to qtw and the
T-mapping M above, we obtain the query
q′
tw(t, y) ← title(m, t0, y0), title(m, t, y1), title(m, t2, y), (y > 2010),
which requires two (potentially) expensive Join operations.
However, by using the primary key m of title we obtain:
q′′
tw(t, y) ← title(m, t, y), (y > 2010).
55. .
.
.
Semantic Query Optmization
Semantic Query Optimisation (SQO) is a field from DB theory
focused on optimisation of queries w.r.t. dependencies.
Semantic Query Optimisations in DB and OBDA
. While some of SQO techniques reached industrial RDBMSs,
it never had a strong impact on the database community.
. In OBDA, in contrast, SQL queries are generated
automatically, and so SQO is the only tools to reach optimal
queries.
.
.
In practice, an OBDA system must implement at least SQO
w.r.t. primary keys and foreign keys to deal with the disparities
between RDF and relational.
56. .
.
.
Why does it work?
DBs are created through standard practices that generate features
that are the focus of the previous optimisations.
Starting from a rich conceptual schema, we encode it in a relational
schema by:
– amalgamating N-to-1 and 1-to-1 attributes of an entity to a
single n-ary relation with a primary key identifying the entity
(e.g., title with title and year),
– using foreign keys over attribute columns when a column refers
to the entity (e.g., name and castinfo),
– using type-discriminant columns to encode hierarchical
information (e.g., castinfo).
As this process is universal, the T-mappings created for the resulting
databases are dramatically simplified by the Ontop optimisations