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

Verdediging masterproef

Nov 30, 2014

Download

Education

Pieter Colpaert

My thesis presentation on The DataTank
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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