Een relationele interface voor
Promotoren:
Leen Brouns
Tim De Pauw
Bart Van Loon
Kader
2009: ex-The DataTank
2010: iRail.be vs. NMBS
2011: data.gov.be & psi.belgium.be
2012: Open Knowledge Foundation vzw
Kader
Waarom beter wel?
PHP5.3 data-adapter RESTful
small data: 1 HTTP-request
betekenis toevoegen
RDF
Resource Description Framework
The Semantic Web
Architectuur
Genoeg?
auto-documentatie
statistieken
semantiek
feedback
5 sterren van open data
errorhandling
webformats
REST
Een relationele interface
Voor data-consumenten:
● Selecteren
● Filteren
● Sorteren
● Limiteren
● Aggregeren
Extra: semant...
SQL
● Enkel tabulaire data
● Geen semantiek
SPARQL
● Enkel semantiek
● Drempel te hoog?
HTSQL
● Enkel tabulaire data
● Int...
SPECTQL
● Geïnspireerd door HTSQL
● 5 acties via GET
● Extra laag boven REST
● Test-omgeving: http://hostname/spectql
Spec...
data.iRail.be/spectql
Architectuur
Architectuur + SPECTQL
Parser-generator
Bison/Yacc
● Leest grammatica en genereert parser
● Geen bison-bibliotheek in eindproduct vereist
● PHP-s...
Grammatica
%class spectql
%left '&'
%left '|'
%left '+' '-'
%left '*' '/'
%left '>' EQ '<' '~'
stmt = expression
| express...
SPECTQLTokenizer
Verloop
Router
ParseTree
SPECTQLController
http://.../spectql/query
/query
SPECTQLParser
/query
array(tok...
Toekomst
● Semantiek in SPECTQL
● Sorteermechanismen: geo, string, int ...
● Meegeleverd met The DataTank 2.0
○ maart 2012...
Bedankt
Q&A
Credits
● RDF Graph: CC BY NC SA - Peter Morville
Prochain SlideShare
Chargement dans…5
×

Verdediging masterproef

1 971 vues

Publié le

My thesis presentation on The DataTank

Publié dans : Formation, Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Verdediging masterproef

  1. 1. Een relationele interface voor Promotoren: Leen Brouns Tim De Pauw Bart Van Loon
  2. 2. Kader 2009: ex-The DataTank 2010: iRail.be vs. NMBS 2011: data.gov.be & psi.belgium.be 2012: Open Knowledge Foundation vzw
  3. 3. Kader
  4. 4. Waarom beter wel?
  5. 5. PHP5.3 data-adapter RESTful small data: 1 HTTP-request betekenis toevoegen
  6. 6. RDF Resource Description Framework The Semantic Web
  7. 7. Architectuur
  8. 8. Genoeg? auto-documentatie statistieken semantiek feedback 5 sterren van open data errorhandling webformats REST
  9. 9. Een relationele interface Voor data-consumenten: ● Selecteren ● Filteren ● Sorteren ● Limiteren ● Aggregeren Extra: semantiek
  10. 10. 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)}
  11. 11. 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
  12. 12. data.iRail.be/spectql
  13. 13. Architectuur
  14. 14. Architectuur + SPECTQL
  15. 15. 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
  16. 16. 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
  17. 17. SPECTQLTokenizer Verloop Router ParseTree SPECTQLController http://.../spectql/query /query SPECTQLParser /query array(tokens) Calc Link Select ... ... ... ... execute()
  18. 18. 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...
  19. 19. Bedankt Q&A
  20. 20. Credits ● RDF Graph: CC BY NC SA - Peter Morville

×