Reverse engineering SPARQL queries

Semantic Web systems provide open interfaces for end-users to access data via a powerful high-level query language, SPARQL. But users unfamiliar with either the details of SPARQL or properties of the target dataset may find it easier to query by example — give examples of the information they want (...

תיאור מלא

מידע ביבליוגרפי
Main Authors: Arenas, M, Diaz, G, Kostylev, E
פורמט: Conference item
יצא לאור: Association for Computing Machinery 2016
_version_ 1826290524185690112
author Arenas, M
Diaz, G
Kostylev, E
author_facet Arenas, M
Diaz, G
Kostylev, E
author_sort Arenas, M
collection OXFORD
description Semantic Web systems provide open interfaces for end-users to access data via a powerful high-level query language, SPARQL. But users unfamiliar with either the details of SPARQL or properties of the target dataset may find it easier to query by example — give examples of the information they want (or examples of both what they want and what they do not want) and let the system reverse engineer the desired query from the examples. This approach has been heavily used in the setting of relational databases. We provide here an investigation of the reverse engineering problem in the context of SPARQL. We first provide a theoretical study, formalising variants of the reverse engineering problem and giving tight bounds on its complexity. We next explain an implementation of a reverse engineering tool for positive examples. An experimental analysis of the tool shows that it scales well in the data size, number of examples, and in the size of the smallest query that fits the data. We also give evidence that reverse engineering tools can provide benefits on real-life datasets.
first_indexed 2024-03-07T02:45:30Z
format Conference item
id oxford-uuid:abedac86-2933-45fa-a635-ea45e2822d3c
institution University of Oxford
last_indexed 2024-03-07T02:45:30Z
publishDate 2016
publisher Association for Computing Machinery
record_format dspace
spelling oxford-uuid:abedac86-2933-45fa-a635-ea45e2822d3c2022-03-27T03:25:13ZReverse engineering SPARQL queriesConference itemhttp://purl.org/coar/resource_type/c_5794uuid:abedac86-2933-45fa-a635-ea45e2822d3cSymplectic Elements at OxfordAssociation for Computing Machinery2016Arenas, MDiaz, GKostylev, ESemantic Web systems provide open interfaces for end-users to access data via a powerful high-level query language, SPARQL. But users unfamiliar with either the details of SPARQL or properties of the target dataset may find it easier to query by example — give examples of the information they want (or examples of both what they want and what they do not want) and let the system reverse engineer the desired query from the examples. This approach has been heavily used in the setting of relational databases. We provide here an investigation of the reverse engineering problem in the context of SPARQL. We first provide a theoretical study, formalising variants of the reverse engineering problem and giving tight bounds on its complexity. We next explain an implementation of a reverse engineering tool for positive examples. An experimental analysis of the tool shows that it scales well in the data size, number of examples, and in the size of the smallest query that fits the data. We also give evidence that reverse engineering tools can provide benefits on real-life datasets.
spellingShingle Arenas, M
Diaz, G
Kostylev, E
Reverse engineering SPARQL queries
title Reverse engineering SPARQL queries
title_full Reverse engineering SPARQL queries
title_fullStr Reverse engineering SPARQL queries
title_full_unstemmed Reverse engineering SPARQL queries
title_short Reverse engineering SPARQL queries
title_sort reverse engineering sparql queries
work_keys_str_mv AT arenasm reverseengineeringsparqlqueries
AT diazg reverseengineeringsparqlqueries
AT kostyleve reverseengineeringsparqlqueries