Verdediging masterproef
-
Upload
pieter-colpaert -
Category
Education
-
view
1.913 -
download
1
description
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