Twinkle: A SPARQL Query Tool

20
a division of Publishing Technology Twinkle: A SPARQL Query Tool Leigh Dodds, Oxford SWIG, March 2008 Photo Credit: Glen Bowman

Transcript of Twinkle: A SPARQL Query Tool

Page 1: Twinkle: A SPARQL Query Tool

a division of Publishing Technology

Twinkle: A SPARQL Query Tool

Leigh Dodds, Oxford SWIG, March 2008

Photo Credit: Glen Bowman

Page 2: Twinkle: A SPARQL Query Tool

a division of Publishing Technology

What Is It?

A GUI for writing and running SPARQL queries

Page 3: Twinkle: A SPARQL Query Tool

a division of Publishing Technology

Page 4: Twinkle: A SPARQL Query Tool

a division of Publishing Technology

Data Sources

Local FilesRemote Files

Jena DatabasesAny combination of these

Page 5: Twinkle: A SPARQL Query Tool

a division of Publishing Technology

SPARQL Endpoints

Complete SPARQL ClientUseful pre-configured sources, e.g. DBPedia

Page 6: Twinkle: A SPARQL Query Tool

a division of Publishing Technology

But Wait, There’s More

RDFS and OWL InferencingJena Rules Engine

And any combination

Page 7: Twinkle: A SPARQL Query Tool

a division of Publishing Technology

Page 8: Twinkle: A SPARQL Query Tool

a division of Publishing Technology

Demonstration

(Where It All Goes Wrong)

Page 9: Twinkle: A SPARQL Query Tool

a division of Publishing Technology

The Secret Sauce

ARQ SPARQL query engineThe Jena Assembler API

Page 10: Twinkle: A SPARQL Query Tool

a division of Publishing Technology

Jena Assembler API

Declaratively describe how to build a Jena ModelURIs, Databases

Add default contentApply schemas, reasoning

Page 11: Twinkle: A SPARQL Query Tool

a division of Publishing Technology

:periodicTable a ja:MemoryModel

; ja:content [

ja:externalContent

<http://www.daml.org/2003/01/periodictable/PeriodicTable.owl>

]

; rdfs:label "Periodic Table"

.

Config Example

Page 12: Twinkle: A SPARQL Query Tool

a division of Publishing Technology

:nlm ja:modelName "nlm-data"

; ja:connection :nlm-connection

; rdfs:label "NLM Data"

.

:nlm-connection

ja:dbURL <jdbc:mysql://127.0.0.1:3306/facet>

; ja:dbClass "com.mysql.jdbc.Driver"

; ja:dbType "MySQL"

; ja:dbUser "facet"

; ja:dbPassword “*********"

Config Example (2)

Page 13: Twinkle: A SPARQL Query Tool

a division of Publishing Technology

<http://dbpedia.org/sparql> a sources:Endpoint

; sources:defaultGraph "http://dbpedia.org"

; rdfs:label "DBpedia.org".

<http://www.rdfabout.com/sparql> a sources:Endpoint

; rdfs:label "GovTrack.us".

Config Example (3)

Page 14: Twinkle: A SPARQL Query Tool

a division of Publishing Technology

Where It All Goes

etc\config.n3

Describe (and label) modelsPrefix Mappings

Page 15: Twinkle: A SPARQL Query Tool

a division of Publishing Technology

Prefix Mappings

Quickly add PREFIX statement to queryPre configured vocabularies

Add your own…

Page 16: Twinkle: A SPARQL Query Tool

a division of Publishing Technology

Prefix Mappings

:foaf a ja:PrefixMapping

; rdfs:label "FOAF"

; ja:prefix "foaf"

; ja:namespace "http://xmlns.com/foaf/0.1/"

.

Page 17: Twinkle: A SPARQL Query Tool

a division of Publishing Technology

Demonstration (2)

Page 18: Twinkle: A SPARQL Query Tool

a division of Publishing Technology

…And Yet More

ARQ Function & Property LibraryARQ Extensions (e.g. COUNT, GROUP BY)

Page 19: Twinkle: A SPARQL Query Tool

a division of Publishing Technology

Future Plans

Documentation!SPARQL Endpoint Access Control

Model CachingSyntax Highlighting

More Eye CandyMove to Google Code(Your Feature Here)

Page 20: Twinkle: A SPARQL Query Tool

a division of Publishing Technology

Questions?

Twinkle HomepageAnnotated Screenshots

http://www.slideshare.net/ldodds/twinkle-a-sparql-query-tool/