Verdediging masterproef

20
Een relationele interface voor Promotoren: Leen Brouns Tim De Pauw Bart Van Loon

description

My thesis presentation on The DataTank

Transcript of Verdediging masterproef

Page 1: Verdediging masterproef

Een relationele interface voor

Promotoren: Leen Brouns Tim De Pauw Bart Van Loon

Page 2: Verdediging masterproef

Kader

2009: ex-The DataTank2010: iRail.be vs. NMBS2011: data.gov.be & psi.belgium.be2012: Open Knowledge Foundation vzw

Page 3: Verdediging masterproef

Kader

Page 4: Verdediging masterproef

Waarom beter wel?

Page 5: Verdediging masterproef

PHP5.3 data-adapter RESTfulsmall data: 1 HTTP-request

betekenis toevoegen

Page 6: Verdediging masterproef

RDFResource Description Framework

The Semantic Web

Page 7: Verdediging masterproef

Architectuur

Page 8: Verdediging masterproef

Genoeg?

auto-documentatie

statistieken

semantiek feedback

5 sterren van open data

errorhandling

webformats

REST

Page 9: Verdediging masterproef

Een relationele interfaceVoor data-consumenten:

● Selecteren● Filteren● Sorteren● Limiteren● Aggregeren

Extra: semantiek

Page 10: Verdediging masterproef

SQL● Enkel tabulaire data● Geen semantiek

SPARQL● Enkel semantiek● Drempel te hoog?

HTSQL● Enkel tabulaire data● Interessante syntaxis

SELECT X FROM Y WHERE A<B

SELECT ?lib WHERE { ?lib is_a schema:library}

http://.../library{name,count(department)}

Page 11: Verdediging masterproef

SPECTQL● Geïnspireerd door HTSQL● 5 acties via GET● Extra laag boven REST● Test-omgeving: http://hostname/spectql

Spectql Provides an Easy and Concise The datatank Query Language

Page 12: Verdediging masterproef

data.iRail.be/spectql

Page 13: Verdediging masterproef

Architectuur

Page 14: Verdediging masterproef

Architectuur + SPECTQL

Page 15: Verdediging masterproef

Parser-generator

Bison/Yacc● Leest grammatica en genereert parser● Geen bison-bibliotheek in eindproduct vereist● PHP-support in alpha

Lemon● Vereist bibliotheek in eindproduct● Gelijkaardige syntaxis grammatica● Geen PHP-support

Lime● Lemon-clone voor PHP

Page 16: Verdediging masterproef

Grammatica%class spectql%left '&' %left '|'%left '+' '-'%left '*' '/'%left '>' EQ '<' '~'

stmt = expression| expression ':' format.

expression = resource/$ '?' filterlist { $3-> execute($$); }| resource| calc { $$ = $1->execute(); }.

vertalen naar PHP$ lime spectql.lime > spectql.class.php

Page 17: Verdediging masterproef

SPECTQLTokenizer

VerloopRouter

ParseTree

SPECTQLController

http://.../spectql/query

/query

SPECTQLParser

/query

array(tokens)

Calc Link Select

... ... ... ...

execute()

Page 18: Verdediging masterproef

Toekomst● Semantiek in SPECTQL● Sorteermechanismen: geo, string, int ...● Meegeleverd met The DataTank 2.0

○ maart 2012● The DataTank op semtech - 6 februari● The DataTank gebruikt door

○ iRail: API v2.0 in maart○ Apps For X - evenementen○ FlatTurtle bvba○ IBBT - MultiMediaLab○ TeleTicketService○ Nog veel meer...

Page 19: Verdediging masterproef

BedanktQ&A

Page 20: Verdediging masterproef

Credits

● RDF Graph: CC BY NC SA - Peter Morville