10
Using the DAWG Test Cases with Relational Databases Matthew Gheen [email protected] October 26, 2007

Using the DAWG Test Cases with Relational Databases Matthew Gheen [email protected] October 26, 2007

Embed Size (px)

Citation preview

Page 1: Using the DAWG Test Cases with Relational Databases Matthew Gheen mgheen@mcdonaldbradley.com October 26, 2007

Using the DAWG Test Cases with Relational Databases

Matthew [email protected]

October 26, 2007

Page 2: Using the DAWG Test Cases with Relational Databases Matthew Gheen mgheen@mcdonaldbradley.com October 26, 2007

Agenda Introduction Running the tests Results Next Steps Discussion

Page 3: Using the DAWG Test Cases with Relational Databases Matthew Gheen mgheen@mcdonaldbradley.com October 26, 2007

Introduction Semantic Bridge for Relational Databases

(SBRD)– Translates SPARQL to SQL– Only uses Jena to build models

Tool validation– Use the DAWG test cases– Creation of tool to adapt the test cases

• rdf2sql

Page 4: Using the DAWG Test Cases with Relational Databases Matthew Gheen mgheen@mcdonaldbradley.com October 26, 2007

DAWG Test Cases – Revision 1– Set of tests used to demonstrate support for

SPARQL– 170 test are relevant to SBRD

• Has data• Asks a semantically correct question• Written using latest SPARQL syntax

– Written by several people, all in different styles

• ttl, n3• Result and data files used for multiple tests

Introduction

Page 5: Using the DAWG Test Cases with Relational Databases Matthew Gheen mgheen@mcdonaldbradley.com October 26, 2007

Running the Tests Data conversion

– Created SQL table creation and insert statements for all data files

• Untyped variables_:c rdf:type foaf:Person ; foaf:mbox <mailto:[email protected]> ; foaf:name "Fred" .

_:e foaf:name "Bob" .

• Multiple values for same column and row_:a foaf:name "Robert"@EN._:a foaf:name "Roberto"@ES.

Page 6: Using the DAWG Test Cases with Relational Databases Matthew Gheen mgheen@mcdonaldbradley.com October 26, 2007

Running the Tests• Columns with more than one type

_:f foaf:name "John" ; ex:empId [ ex:number "29"^^xsd:integer ] .

_:g foaf:name "Dirk" ; ex:empId <http://example.org/dirk01> .

• URI predicate that does not refer to another existing table.

– Creates a foreign key to nowhere

• <mailto:[email protected]> is a URI– Converted to String values to prevent foreign

keys to nowhere

Page 7: Using the DAWG Test Cases with Relational Databases Matthew Gheen mgheen@mcdonaldbradley.com October 26, 2007

Running the Tests The Queries

– Keywords not supported• ASK, UNSAID, DESCRIBE, and ORDER BY

– Variable predicates• ?x ?y ?z

– Tests for Unicode support and bad SPARQL syntax

• Not SBRD functionality tests, only tests Jena.

– No support for untrusted graphs• Querying data loaded from a file specified in the

query

Page 8: Using the DAWG Test Cases with Relational Databases Matthew Gheen mgheen@mcdonaldbradley.com October 26, 2007

Results 24 of 170 DAWG tests can be used for SBRD

Incompatibility Number Failed

Multiple data types for a single predicate 36

Untyped and typed data that should be in one table 1

Multiple Values for a subject predicate pair 23

URIs that refer to non-existent data 8

Unsupported keyword 50

Variable predicate 21

Test out of scope 115

Page 9: Using the DAWG Test Cases with Relational Databases Matthew Gheen mgheen@mcdonaldbradley.com October 26, 2007

Next Steps Create a new set of DAWG test cases

for RDF to SQL adaptors– Subset of the full test suite that is relevant

to relational databases– Reusable for current and upcoming tools– Ensures SPARQL compliance as

specification matures

Page 10: Using the DAWG Test Cases with Relational Databases Matthew Gheen mgheen@mcdonaldbradley.com October 26, 2007

Discussion and Questions