1. OAK Code Days: RDF query reformulation algorithm
OAK Code Days: RDF query reformulation
algorithm
owner: Damian Bursztyn
presenter: Raphaël Bonaque
September 16th 2014
1 / 9
2. OAK Code Days: RDF query reformulation algorithm
What does it do ?
What
Rewrite a certain class of queries into a list of queries equivalent in
different settings:
Input:
a conjunctive RDF query
an RDF Schema
Output: a union of conjunctive queries such that
Q0(D) = Q(Dinf ) i.e. it is equivalent, on a set of data triples,
with the original query on the saturation of this triples with
the RDF Schema
2 / 9
3. OAK Code Days: RDF query reformulation algorithm
What does it do ?
The code
All in JAVA
Code history:
First monolithic version by Konstantinos and Julian
Modular rewriting by Damian
Performance improvements by Damian
Location: on GForge at https://scm.gforge.inria.fr/
svn/distriples/trunk/Reformulator/
source code unitary tests total
number of lines 2722 1272 3994
number of classes 30 15 45
3 / 9
4. OAK Code Days: RDF query reformulation algorithm
Who is dealing with the code ?
Who
Wrote it:
Damian
Julian
Konstantinos
Is using it:
Damian
(Alexandra, with an old version, in Sat. versus Ref.)
4 / 9
5. OAK Code Days: RDF query reformulation algorithm
How does it work ?
General overview
How: overview
6 packages:
reasoning: the general entry point of the code, contains:
schema: models RDF Schemas
a reasoner
a much faster concurrent version of reasoner (up to 12.5 times
faster)
rules: contains the rewriting rules
rulesets: basically a collection of rules (maintained for
compatibility)
conjunctive query signature: some queries are equivalent we
want to avoid duplicates
Equivalence hard to compute (NP), signature easier, less
powerfull (all queries with same signature are equivalent, some
equivalent queries have different signatures)
exceptions
utilities: some minor utilities
5 / 9
6. OAK Code Days: RDF query reformulation algorithm
How does it work ?
Libraries
How: libraries
Jena: used for instance for constants like
http://www.w3.org/1999/02/22-rdf-syntax-ns#type and to
model the schema
Xerces: for parsing RDF schema (Requieres icu and iri)
2 logging libraries:
log4j the classical logger used by the team
slf4j to log Xerces
6 / 9
7. OAK Code Days: RDF query reformulation algorithm
Litterature
Which papers
View Selection in Semantic Web Databases by François
Goasdoué, Konstantinos Karanasos, Julien Leblay and Ioana
Manolescu
Efficient Query Answering against Dynamic RDF Databases
by François Goasdoué, Ioana Manolescu, Alexandra Roatis
7 / 9
8. OAK Code Days: RDF query reformulation algorithm
Next things to do
TODOs & bugs
No known bug
Create a test that checks the content of a reformulation, not
only its size
8 / 9
9. OAK Code Days: RDF query reformulation algorithm
Conclusion
Questions ?
Thank you for listening !
9 / 9