Verdediging masterproef

Post on 30-Nov-2014

1.902 views 1 download

description

My thesis presentation on The DataTank

Transcript of Verdediging masterproef

Een relationele interface voor

Promotoren: Leen Brouns Tim De Pauw Bart Van Loon

Kader

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

Kader

Waarom beter wel?

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

betekenis toevoegen

RDFResource Description Framework

The Semantic Web

Architectuur

Genoeg?

auto-documentatie

statistieken

semantiek feedback

5 sterren van open data

errorhandling

webformats

REST

Een relationele interfaceVoor data-consumenten:

● Selecteren● Filteren● Sorteren● Limiteren● Aggregeren

Extra: semantiek

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)}

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

data.iRail.be/spectql

Architectuur

Architectuur + SPECTQL

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

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

SPECTQLTokenizer

VerloopRouter

ParseTree

SPECTQLController

http://.../spectql/query

/query

SPECTQLParser

/query

array(tokens)

Calc Link Select

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

execute()

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...

BedanktQ&A

Credits

● RDF Graph: CC BY NC SA - Peter Morville