8. 1
Waarom Open Data
een bestuurlijke en commerciële kijk op het belang
Strategisch openen van data
random alles openen of slim aanpakken
Snelkookcursus Techniek
de techniek achter open data
Ethische en juridische aspecten
van openheid van data
Business case en ontwikkelingen
van open data
2
3
4
5
CURSUSINHOUD
drie dagen
47. Databaseontwerp
hoe ontwerp je een goede database
entiteit
1
iets wat wezenlijk bestaat
2
(informatica) een mens , dier of ding waaraan
men eigenschappen kan toekennen
(attributen) en waarvan deze informatie kan
worden opgeslagen b.v. in tabellen
Onderdelen van een database
TABEL RECORD VELD
48. Databaseontwerp
hoe ontwerp je een goede database
Onderdelen van een database
TABEL RECORD VELD
STUDENTNUMMER NAAM WOONPLAATS OPLEIDING
20100001 Kees Koeleveld Den Haag IDM
20100002 Jan Jansma Rijswijk TI
20100003 Harry Hartman Nootdorp CMD
20100004 Kenny Kentuki Appelscha IDM
49. Databaseontwerp
hoe ontwerp je een goede database
Onderdelen van een database
TABEL RECORD VELD
STUDENTNUMMER NAAM WOONPLAATS OPLEIDING
20100001 Kees Koeleveld Den Haag IDM
20100002 Jan Jansma Rijswijk TI
20100003 Harry Hartman Nootdorp CMD
20100004 Kenny Kentuki Appelscha IDM
50. Databaseontwerp
hoe ontwerp je een goede database
Onderdelen van een database
TABEL RECORD VELD
STUDENTNUMMER NAAM WOONPLAATS OPLEIDING
20100001 Kees Koeleveld Den Haag IDM
20100002 Jan Jansma Rijswijk TI
20100003 Harry Hartman Nootdorp CMD
20100004 Kenny Kentuki Appelscha IDM
51. Databaseontwerp
hoe ontwerp je een goede database
Onderdelen van een database
primaire sleutel
STUDENTNUMMER NAAM WOONPLAATS OPLEIDING
20100001 Kees Koeleveld Den Haag IDM
20100002 Jan Jansma Rijswijk TI
20100003 Harry Hartman Nootdorp CMD
20100004 Kenny Kentuki Appelscha IDM
52. Databaseontwerp
hoe ontwerp je een goede database
Databases in de praktijk
STUDENTNUMMER NAAM WOONPLAATS OPLEIDING
20100001 Kees Koeleveld Den Haag IDM
20100002 Jan Jansma Rijswijk TI
20100003 Harry Hartman Nootdorp CMD
20100004 Kenny Kentuki Appelscha IDM
naam
studentid
woonpl
opleiding
HTML FORMULIER
53. STUDENTENDATABASE
Databaseontwerp
hoe ontwerp je een goede database
Databases in de praktijk
STUDENTNUMMER NAAM WOONPLAATS OPLEIDING
20100001 Kees Koeleveld Den Haag IDM
20100002 Jan Jansma Rijswijk TI
20100003 Harry Hartman Nootdorp CMD
20100004 Kenny Kentuki Appelscha IDM
naam
studentid
woonpl
opleiding
HTML WEBPAGE
62. Snelkookcursus Techniek
de techniek achter open data
3Standaardenb
<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML>
<HEAD>
<TITLE>
A Small Hello
</TITLE>
</HEAD>
<BODY>
<H1>Hi</H1>
<P>This is very minimal "hello world" HTML document.</P>
</BODY>
</HTML>
64. OPDRACHT
- maak een simpele webpagina en sla deze op als index.html
- zie http://www.handleidinghtml.nl voor uitleg en voorbeeldcode
<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML>
<HEAD>
<TITLE>
A Small Hello
</TITLE>
</HEAD>
<BODY>
<H1>Hi</H1>
<P>This is very minimal "hello world" HTML document.</P>
</BODY>
</HTML>
welke HTML versie gebruik je? ---
start html ---
de header van je browserscherm ---
de titel van de webpagina ---
einde header ---
de eigenlijke site ---
kop1 ---
paragraaf ---
einde eigenlijke site ---
einde html document ---
66. eXtensible Markup Language
10 punten
structureren van data
XML is een stel regels om tekstformaten te ontwerpen
waarmee je data kunt structureren
1
maandag 3 mei 2010
XML
67. eXtensible Markup Language
10 punten
XML lijkt op HTML
elementen
attributen
<ELEMENT attribuut=”waarde”>
2
maandag 3 mei 2010
XML
68. eXtensible Markup Language
10 punten
XML is tekst, maar niet om te lezen
Machineleesbaar & leesbaar door mensen
XML is strenger dan HTML
3
maandag 3 mei 2010
XML
69. eXtensible Markup Language
10 punten
XML is verbose van ontwerp
XML bestanden zijn vaak groter dan ‘binaire bestanden’
dat is een bewuste keuze
4
maandag 3 mei 2010
je krijgt meer informatie over je heen dan je feitelijk nodig hebt
XML
70. eXtensible Markup Language
10 punten
XML is een familie van technologieën
diverse standaarden vormen samen de XML familie
5
maandag 3 mei 2010
XML
71. eXtensible Markup Language
10 punten
XML is nieuw, maar ook weer niet zo nieuw.
ontstaan uit SGML.
1996 start. 1998 aanbevolen door W3C
SGML meer voor technische documentatie. XML voor de rest
6
maandag 3 mei 2010
XML
72. eXtensible Markup Language
10 punten
XML leidt HTML naar XHTML
W3C werkt aan de opvolger van HTML: XHTML
XHTML bevat kenmerken en elementen van XML
7
maandag 3 mei 2010
XML
73. eXtensible Markup Language
10 punten
XML is modulair
Met XML kun je je eigen bestandsformaat definiteren door
gebruik te maken van andere standaarden
namespace
8
maandag 3 mei 2010
XML
74. eXtensible Markup Language
10 punten
XML is de basis voor RDF en het Semantisch Web
Hypertext is plat
RDF bevat relaties tussen data
9
maandag 3 mei 2010
XML
76. HTML vs XML
de praktijk
HTML
is heel erg geschikt voor het representeren van hypertext
<P>, <H1>, <TITLE>, <A>, <EM>, <B>
maandag 3 mei 2010
XML
77. HTML vs XML
de praktijk
HTML
is heel erg geschikt voor het representeren van hypertext
<P>, <H1>, <TITLE>, <A>, <EM>, <B>
HTML
is helemaal niet geschikt voor het representeren van data
Price: <EM>19.95</EM>, Quantity: <EM>5</EM>,
Color: <EM>Red</EM>, Height: <EM>15 cm</EM>
maandag 3 mei 2010
XML
78. HTML vs XML
de praktijk
<?xml version="1.0" encoding="utf-8"?>
<playlist name="mylist" xml:lang="en">
<song>
<title>Als jij maar naar me lacht</title>
<artist>Marco Borsato</artist>
</song>
<song>
<title>Resistance</title>
<artist>Muse</artist>
</song>
</playlist>
XML
wel
maandag 3 mei 2010
XML
80. eXtensible Markup Language
syntax
eigen tags (elementen) bedenken!
creëer je eigen ML
bijvoorbeeld MML: muziek markup language
<?xml version="1.0" encoding="utf-8"?>
<playlist name="mylist" xml:lang="en">
<song>
<title>Als jij maar naar me lacht</title>
<artist>Marco Borsato</artist>
</song>
<song>
<title>Resistance</title>
<artist>Muse</artist>
</song>
</playlist>
maandag 3 mei 2010
XML
81. eXtensible Markup Language
syntax
eigen tags (elementen) bedenken!
creëer je eigen ML
bijvoorbeeld MML: muziek markup language
<?xml version="1.0" encoding="utf-8"?>
<playlist name="mylist" xml:lang="en">
<song>
<title>Als jij maar naar me lacht</title>
<artist>Marco Borsato</artist>
</song>
<song>
<title>Resistance</title>
<artist>Muse</artist>
</song>
</playlist>
maandag 3 mei 2010
of KML
XML taal voor geolocaties in Google Maps
XML
82. eXtensible Markup Language
syntax
het boeit XML niet hoe het document wordt gebruikt
HTML kán alleen als hypertext gebruikt worden
XML specificeert geen betekenis van data
XML specificeert alleen de structuur
<superhero>Klaas Jan</superhero>
geeft niet aan wat het betekent om superhero te zijn
alleen dat het item ‘Klaas Jan’ van het type ‘superhero’ is.
maandag 3 mei 2010
XML
85. eXtensible Markup Language
syntax
well formed
- het bestand is in unicode
- < > en & komen alleen voor als het met een tag te maken heeft
- elk element moet een openings en afsluit tag hebben
- er moet correct genest worden
- tags zijn hoofdlettergevoelig. Begin en eindtag moeten overeen komen
- er moet een ‘root’ element zijn wat de rest van de elementen bevat
maandag 3 mei 2010
XML
86. eXtensible Markup Language
gebruik
gebruik XML als
- je data kan worden gezien als boomstructuur?
- je nu of in de toekomst wil communiceren met andere data?
maandag 3 mei 2010
XML
89. eXtensible Markup Language
syntax
DTD document type definition
- definieert een specifieke structuur
- specificeert welke tags wanneer gebruikt mogen worden
vgl. de grammatica van een taal
Klaas Jan geeft vanavond les
Geeft les Klaas Jan vanavond
- Zinnen kunnen niet taal-conform zijn
zo kan XML dit ook niet zijn aan een DTD
maandag 3 mei 2010
XML
91. eXtensible Markup Language
syntax
XML schema
- een alternatief voor DTD definieert een specifieke structuur
- specificeert welke tags wanneer gebruikt mogen worden
- definieert ook welk type data beschreven is.
maandag 3 mei 2010
XML
92. eXtensible Markup Language
syntax
DTD of XML schema
- maken een XML document ‘zelf beschrijvend’
- specificeert welke tags wanneer gebruikt mogen worden
- definieert welk type data beschreven is
- Een XML document wat conform schema is geschreven is ‘valid’
- ‘well formed’ en ‘valid’ zijn verschillende dingen
maandag 3 mei 2010
XML
93. eXtensible Markup Language
syntax
een XML parser controleert of een XML document ‘valid’ is
programma dat XML dataverzameling gebruikt
moet XML kunnen parsen en valideren aan schema (DTD of XML schema)
maandag 3 mei 2010
XML
97. XML op het scherm
XML specificeert hoe data is gecommuniceert
De betekenis en de manier van verwerking is niet gespecificeerd
De vormgeving is dús ook niet gespecificeerd
maandag 3 mei 2010
XML
98. XML op het scherm
XSL stylesheet
vgl. HTML met CSS
definieert de presentatievorm van het XML document
- hoe data wordt gepresenteerd aan de gebruiker
- welke velden getoond worden, waar welk veld staat en hoe
voorbeelden:
- XML document -> HTML
- XML document -> RTF
- XML document -> PDF
- XML document -> ...
maandag 3 mei 2010
XML
100. XML naar ander XML
XSLT transformations
- subtaal van XSL
- beschrijft hoe de structuur van een XML document moet worden
verandert naar de structuur van een ander XML document
maandag 3 mei 2010
XML
102. XML als data hub
voordelen
- onafhankelijke standaard
- leesbaar voor mensen
- makkelijk transformeren tussen verschillende soorten XML documenten
- standaard interfaces beschikbaar voor programmeren
nadelen
- het probleem van data integratie blijft:
- betekenis van gegevens is nog steeds niet ‘im frage’
- het blijft belangrijk hoe het genoteerd staat
(al zijn er gelukkig standaard XML talen)
maandag 3 mei 2010
XML
103. XML als data hub
de toepassingen
- middleware
- databasetechnologie
- e-publishing
- e-commerce
- on the web
the big question remains:
Kunnen we overeenkomen welke standaard schema’s we gaan gebruiken?
Is Dublin Core niet al voldoende?
maandag 3 mei 2010
XML
105. Snelkookcursus Techniek
de techniek achter open data
3Standaardenb
DC :: DUBLIN CORE
FOAF :: FRIEND OF A FRIEND
SKOS : SIMPLE KNOWLEDGE ORGANISATION SYSTEM
BIBO :: BIBLIOGRAPHIC ONTOLOGY
106. data integration
XML specificeert hoe data is gecommuniceerd
De betekenis en de manier van verwerking is niet gespecificeerd
Wél zijn er verschillende standaard schema’s voor diverse domeinen:
- erfgoed
- bankieren
- chemie
- wiskunde
- grafisch werk
- medische wereld.
maandag 3 mei 2010
XML
109. RDF : DATAMODEL VOOR TRIPLES
RECOURCE DESCRIPTION FRAMEWORK
verteld dat er triples worden gebruikt
maar niet wat voor soort informatie er wordt beschreven
Snelkookcursus Techniek
de techniek achter open data
3Standaardenb
135. LINKED DATA IS TRIPLE
onderwerp - gezegde - lijdend voorwerp
subject - predicate - object
Snelkookcursus Techniek
de techniek achter open data
3Standaardenb
136.
137.
138.
139.
140.
141.
142.
143.
144.
145. API : APPLICATION PROGRAMMING INTERFACE
Snelkookcursus Techniek
de techniek achter open data
3Standaardenb
148. Snelkookcursus Techniek
de techniek achter open data
3Standaardenb
XMLvsJSON
- structuur
- hierarchie
- velddefinitie
- heel document in 1 keer
DATADOCUMENT
- 1 object met velden
- snellere dataoverdracht
- geen aparte parser
DATAOBJECTEN
155. OPDRACHT
- probeer nu uit te vinden hoe je met JSON en de XML API van Buienradar
http://xml.buienradar.nl actuele weerinformatie in je webpagina zet.
158. Literatuur
om door te lezen
Open Data Handbook
http://opendatahandbook.org/nl_BE/
Linked Data: Evolving the Web into a Global Data Space
http://linkeddatabook.com/editions/1.0/
Data Journalism Handbook
http://datajournalismhandbook.org/1.0/en/
Web programming step by step
http://www.webstepbook.com/supplements-2ed/slides/chapter12-ajax-xml-json.shtml#slide9