Completeness Reasoning Experiment

This page describes the program and the material for the experimental evaluation of checking query completeness using completeness statements. The main reference of the experiment which contains the formalization, techniques, and discussion of the experimental results has been submitted to a journal.


The queries in the experiments are taken from real query logs of DBpedia (DBP), Semantic Web Dog Food (SWDF), and Linked Geo Data (LGD), provided by Linked SPARQL Queries (LSQ) dataset.
We extract SELECT queries in the conjunctive fragment, which account for about 44% of the total number of SELECT queries, giving us around 467,000 queries in total.

Completeness Statements

For each query we obtained above, we took the query’s BGP body and constructed one completeness statement for each element of the powerset of the BGP.
Via query homomorphism techniques, we removed duplicate completeness statements, that is, completeness statements whose CONSTRUCT query representations are equivalent to another query. In total, there are about 485,000 completeness statements generated. By construction, all queries are guaranteed to be complete w.r.t. the statements.

RDFS Schemas

We took real world schemas of the data sources:

For each ontology, we extracted the RDFS axioms. The extracted schemas have various sizes: 162 for SWDF, 6977 for DBP, and 1511 for LGD, and can be downloaded here.

Experiment Program

We created a program for the experiments in Java using the Apache Jena library, an open source Semantic Web library. To implement completeness reasoning, we particularly rely on the ARQ module of Jena, which provides functionalities for SPARQL query processing. The retrieval of constant-relevant statements is implemented using a standard Java HashMap. We used the inbuilt RDFS reasoner of Jena via the method ReasonerRegistry.getRDFSSimpleReasoner() to compute RDFS closures.
The source code is available as an Eclipse workspace. The main classes are: it.unibz.inf.completeness.experiment.QueryCompletenessExperiment for completeness reasoning (both for plain and RDFS mode) and it.unibz.inf.completeness.experiment.QueryEvalExperiment for query evaluation.

~this manual file is created by Fariz Darari, email: