24 januari 2011 Patrick van Bergen 14 minuten lezen

Oorspronkelijke gegevens nu!

Tim Berners-Lee (ontwerper van het 'World Wide Web') roept bedrijven en instellingen op om onopgemaakte data op het internet te publiceren zodat er een wereldwijde database kan ontstaan met geweldige mogelijkheden.

Foto: Reed Sturtevant

Historie

In 1990 startten Tim Berners-Lee en Robert Cailliau het 'World Wide Web' dat vanaf 1994 de wereld veroverde met de komst van de browsers NCSA Mosaic, Netscape Navigator en later Internet Explorer.

Berners-Lee (die vaak TimBL genoemd wordt, en ook op Twitter te vinden is) bleef verbonden met het World Wide Web Consortium (W3C) en zag het web groeien met ontelbare websites die informatie aanboden op visueel steeds aantrekkelijker wijzen. Hij was daar natuurlijk van onder de indruk. Zijn hart lag echter bij de wetenschap en hij droomde van een tweede web: niet een web van documenten met tekst en links die alleen voor een mens begrijpelijk zijn, maar een web van ruwe gegevens die op dezelfde manier gelinkt zijn; het semantisch web. Dit is een web waarin alle bedrijven en instellingen van de wereld hun gegevens kunnen plaatsen, zodat ze de basis vormen voor nieuwe, originele toepassingen. In 2004 kreeg Berners-Lee de rang van Knight Commander of the Order of the British Empire en sindsdien heet hij Sir Tim Berners-Lee.

Semantisch web

Het semantisch web is een wereldwijde database. Het is geen relationele database met tabellen, zoals we dat kennen van Oracle, Microsoft SQL Server en MySQL, maar een netwerk (of: graaf) van data, Linked Data, waarin de omschrijving van de gegevens (de metadata) op hetzelfde niveau staat als de gegevens zelf. Maar wat belangrijker is: de database is open, voor de hele wereld toegankelijk, via hetzelfde netwerkprotocol als het WWW. Daarnaast is er voor deze database een query-taal ontwikkeld, waarmee de gegevens opgevraagd en bewerkt kunnen worden: SPARQL. Ook ontwikkelde men een taal om complexe datastructuren op basis van Linked Data te bouwen: OWL (Web Ontology Language).

Linked Data

'Linked Data' is de naam van de gegevens op het semantisch web. Ieder onderwerp in een Linked Data-database heeft een eigen wereldwijd unieke naam, in de vorm van een URL. Dit principe kennen we al van het WWW. Op deze manier is het voor een machine mogelijk om gegevens over een onderwerp in te winnen door de inhoud van de URL op te vragen. De inhoud moet bestaan uit gegevens die voor een machine leesbaar zijn. De URL bevat daarom geen HTML, maar bijvoorbeeld RDF/XML, N3 of Turtle. Dit zijn talen waarin gegevens van het object beschreven staan en daarnaast links naar andere onderwerpen (ook weer URLs).

TimBL praat nu meer over 'Linked Data' dan over het 'Semantisch Web', vanwege allerlei verwachtingen en associaties die die term oproept.

Linked Data vormen een web dat bestaat uit stukjes informatie, zogeheten triples. Een triple bevat een onderwerp (zoals een bepaald persoon, product, gebeurtenis, of idee), een predikaat (de eigenschap van het object, zoals de kleur, het tijdstip, de leeftijd of de eigenaar) en de waarde van het predicaat (de kleur rood, de datum 24 januari 2001 of de persoon Jan-Pieter de Wit). Het onderwerp (subject) wordt weergegeven met een URL, hetzelfde geldt voor het predikaat. De waarde van het predikaat (het object) is ofwel een constante waarde, ofwel een URL. De meest voor de hand liggende manier van opslag voor Linked Data is een triplestore. Maar het is mogelijk om elk soort dataopslag voor dit doel te gebruiken, als het maar geëxporteerd wordt naar een Linked Data-formaat (zoals RDF/XML of N3).

De URL's die voor Linked Data gebruikt worden vertegenwoordigen zowel dingen in de wereld als abstracte concepten. Eén van de grondbeginselen van Linked Data is dat een URL niet aan een bepaalde conventie hoeft te voldoen. Er is bewust geen standaardcomité dat bepaalt hoe de URL van een bepaald concept eruit moet zien. Het nadeel hiervan is dat er veel URL's ontstaan die allemaal hetzelfde, of bijna hetzelfde, betekenen. Dat líjkt het koppelen van gegevens in de weg te staan, maar dat dóet het juist niet: de ontwerpers van het semantisch web begrepen heel goed dat het onmogelijk is een zogenaamde ontologie te ontwerpen waar iedereen op de hele wereld zich in kan vinden. In plaats daarvan laat men iedere organisatie vrij om zijn eigen concepten te kiezen. Als men zijn dataset vervolgens wil koppelen aan een andere dataset, kan men de koppeling maken door identiteitsrelaties vast te stellen (déze URL in mijn vocabulair is gelijk aan díe URL in jouw vocabulair). Deze relaties maken gewoon onderdeel uit van dezelfde dataset.

Voor meer informatie hierover, klik op onderstaande links:

Linked Data + Open Data = Linked Open Data

Het idee achter het semantisch web is natuurlijk dat gegevens over de hele wereld verbonden worden op een openbare manier. Toch zijn Linked Data niet per sé openbaar, ze kunnen evengoed binnen de muren van een instelling gebruikt worden, of alleen na een vergoeding ter beschikking worden gesteld. Daarnaast zijn niet alle publiek toegankelijke data, of 'Open Data', ook Linked Data. Open Data wordt vaak in CSV, Excel, XML of RSS aangeboden. Er bestaat echter een grote overlap in belangen en begrippen tussen de Linked Data en Open Data gemeenschappen en daardoor worden ze wel eens verward.

Dit artikel is een mooi voorbeeld waar deze verwarring duidelijk tot uiting komt. The Guardian publiceert bepaalde delen van zijn data en noemt dit Linked Data in dit artikel. Maar de data-formaten geëxporteerd worden zijn JSON en XML.

Data die zowel Linked als Open is, heeft een eigen acroniem: LOD (Linked Open Data).

Een belangrijke recente doorbraak is de oprichting van de overheid-websites data.gov (in 2009) en data.gov.uk (in 2010). Op deze sites plaatsen de overheden van de VS en het VK voor de burger relevante informatie in de vorm van downloadbare gegevens. Deze 'transparantie' is wettelijk verplicht gemaakt.

Raw data now!

Rufus Pollock, mede-oprichter van de Open Knowledge Foundation, beheerder van het zojuist genoemde CKAN, schreef in een blog in november 2007 over zijn frustraties om de data uit een bepaalde website te halen. De glimmende ajax frontend van de site was eerder een barrière dan een hulpmiddel voor hem. Pollock vertegenwoordigt de gebruikers die de openbare gegevens van het internet niet slechts even willen inzien, maar structureel willen gebruiken. Pollock:

When such points are made people often reply: “But you don’t want the data raw, in all its complexity. We need to clean it up and present it for you.”

To which we should reply:

“No, we want the data raw, and we want the data now”

Berners-Lee nam deze hartekreet over in zijn briljante TED talk van februari 2009: "Raw Data Now!" De titel van het artikel dat je nu leest is een vertaling naar het Nederlands van deze oproep.

Het jaar daarna (wederom in een TED-talk, in februari) gaat Tim in op een aantal overtuigende voorbeelden.

Voor een technologie als Linked Data geldt een kip-en-eiprobleem: bedrijven zijn pas bereid hun oorspronkelijke gegevens te publiceren als de techniek volwassen is, de acceptatie breed en er een return-on-investment tegenover staat. Daar staat tegenover dat de techniek pas volwassen kan worden als er nog veel meer gegevens beschikbaar zijn. De kip is voorlopig groot genoeg; de nadruk ligt nu op het ei. Daarom pleit Berners-Lee de laatste tijd sterk voor het vrijgeven van data. Onlangs heeft hij een vijfsterrenschaal bedacht om bedrijven en instellingen duidelijk te maken waar het om gaat:

Maak je data beschikbaar op het web (het formaat maakt niet uit)
★★ Maak het beschikbaar als gestructureerde data (zoals bijvoorbeld Excel in plaats van een een plaatje van een tabel)
★★★ In een formaat dat niet het eigendom is van een bedrijf (bijvoorbeeld CSV in plaats van Excel)
★★★★ Gebruik URLs om dingen te identificeren, zodat mensen naar je data kunnen verwijzen
★★★★★ Maak links in je data naar andermans data, om het in een context te plaatsen

 

Hij noemt deze schaal ook in zijn 'bag-of-chips-talk' voor Gov 2.0 Expo, een juweel van een uit-de-losse-pols-presentatie.

Een voorbeeld

Hoe ziet Linked Data er nou uit? Voor een voorbeeld gaan we naar DBPedia, een Linked Data dataset gebaseerd op kennis uit Wikipedia. We nemen het onderwerp 'Gustave Flaubert'. De URL die dit begrip vertegenwoordigt is:

http://dbpedia.org/data/Gustave_Flaubert.rdf

Omdat dit formaat (RDF/XML) voor een mens niet te volgen is, volgt hier de opgemaakte variant van dezelfde data:

http://dbpedia.org/page/Gustave_Flaubert

Dat ziet er uit als een gewone webpagina, en dat is het ook. Deze pagina is namelijk op zo'n manier opgesteld dat hij zowel door mensen als door machines is te lezen. Ik moet toegeven dat hij er wat spartaans uitziet qua opmaak, maar je kunt bijvoorbeeld lezen dat Flaubert beïnvloed is door Lord Byron. Een machine leest op dezelfde plaats op de pagina:

<a class="uri" rel="dbpedia-owl:influencedBy" xmlns:dbpedia-owl="http://dbpedia.org/ontology/" href="http://dbpedia.org/resource/Lord_Byron">

Zowel mens als machine kunnen nu de link volgen om meer te weten te komen over Flauberts inspirator, Lord Byron.

HTML-pagina's met semantische opmaak. Een tussenfase?

Sinds enkele jaren worden er initiatieven ontplooid voor een soort tussenvorm tussen de documenten van het WWW en de data van het semantisch web. Met name zijn dit RDFa en microformats. Deze technieken breiden de bestaande HTML-pagina's uit met eigen elementen en attributen, die alleen door machines gebruikt worden en niet getoond worden op de pagina zelf. Machines (met name zoekmachines) gebruiken deze metadata om zoekresultaten te verbeteren en om de zoekresultaten weer te geven samen met relevante extra informatie.

Deze technieken lijken in eerste instantie een waardevolle opstap naar het semantisch web te zijn. Er zijn echter wat lastige punten. Zo zijn de technieken afhankelijk van standaardisering en acceptatie door grote internationale bedrijven. Google heeft hier een begin mee gemaakt. Daarnaast is het aantal onderwerpen dat op deze manier behandeld wordt klein (met name adressen, gebeurtenissen en gebruikersbeoordelingen). Het lastigste lastige punt is dat het bedrijven vooral veel extra werk kost om webpagina's te verrijken, terwijl dit voorlopig nog weinig extra opbrengt. Berners-Lee loopt niet warm voor deze HTML-uitbreidingen.

Wat zijn de toepassingen van Linked Data?

De mogelijke toepassingen zijn nog geenszins uitgekristalliseerd, maar dit zijn de richtingen waarin ze zich ontwikkelen, geordend van de nabije naar de verre toekomst:

  1. Combineren van gegevens uit verschillende bronnen om zo antwoorden te krijgen op (wetenschappelijke) vragen.
  2. Nieuwe applicaties ('mashups') die diensten bieden op basis van intelligente combinaties van de beschikbare gegevens.
  3. Semantische zoekmachines die antwoord bieden op vragen die veel complexer zijn dan vragen die te beantwoorden zijn met de huidige zoekmachines.

Specialistische onderzoeken waarbij data gecombineerd wordt

In het jaar 1600 ging Johannes Kepler werken voor Tycho Brahe. Om zijn theorieën over planetaire beweging te testen had hij de uitgebreide collectie gegevens van Brahe nodig. Brahe bewaakte zijn gegevens echter nauwgezet en hij stond het Kepler niet toe zijn gegevens te kopiëren. Daardoor zou het Kepler twee jaar kosten om zijn test te voltooien.

Bovenstaande gebeurtenis leert ons dat bestaande data die in het kader van het ene onderzoeksprogramma zijn verzameld, nuttig kunnen zijn voor het andere programma. Het kan een onderzoeker dan ook veel tijd en geld besparen voor zijn onderzoek als hij gebruik kan maken van openbare gegevens, zeker als die digitaal beschikbaar zijn en geregistreerd bij een publieke index.

Hoe kan een onderzoeker deze data gebruiken? Hij kan op twee manieren te werk gaan: door gebruik te maken van de SPARQL-client op de site, of van een open API, en daarmee de inhoud van de dataset te benaderen. Hij kan ook verschillende datasets downloaden, deze importeren in een eigen triplestore, zoals Jena of Sesame, en die vervolgens met SPARQL bevragen.

Veel gegevens worden nu nog beschikbaar gesteld in een niet-'Linked Data'-formaat, zoals CSV. De gebruiker dient dit dan eerst om te zetten naar een formaat dat kan worden ingelezen in de triplestore, door het toevoegen van metadata.

Een machine is zo te programmeren dat hij een exacte vraag kan stellen aan een Linked Data gegevensbron. De taal waarin zo'n vraag opgesteld wordt is SPARQL. DBPedia geeft hiervan enkele mooie voorbeelden. Eén hiervan is de volgende zoekopdracht:

Geef me alle voetballers, die als keeper voor een club gespeeld hebben dat een stadium heeft met meer dan 40.000 zitplaatsen en die geboren zijn in een land met meer dan 10 miljoen inwoners.

Hier vind je de online query en de resultaten van de zoekopdracht.

Nieuwe applicaties op basis van externe gegevens ('Mashups')

Er bestaan al veel applicaties die gebouwd zijn op data die beschikbaar worden gesteld door een ander bedrijf of instelling. Denk hierbij aan buienradar.nl (met gegevens van het KNMI), TomTom (met gegevens van Tele Atlas) en ZoekAlleHuizen.nl (met gegevens van diverse makelaarssites). Deze gegevens zijn nu nog veelal besloten of beschermd en dit belemmert de creatieve toepassing ervan.

Naarmate meer overheden, universiteiten, maar ook gewone bedrijven gegevens beschikbaar stellen voor het publiek, zal het aantal applicaties dat daar gebruik van maakt toenemen. De manieren waarop zijn nu nog onvoorspelbaar.

Welk belang kan een bedrijf hebben om gegevens openbaar te maken?

  1. Goodwill / reclame: het kweken van een positief imago door het aanbieden van gegevens die anderen kunnen gebruiken. Hierdoor wordt de naamsbekendheid in bepaalde kringen vanzelf groter, waardoor het bedrijf mogelijke partners en werknemers aantrekt.
  2. Het is een service voor de klant. De klant krijgt een extra mogelijkheid om met de diensten van het bedrijf om te gaan, op een manier die hij zelf het meest geschikt acht. Het is een vorm van vrijheid die zowel door bestaande als potentiële klanten gewaardeerd wordt.

Semantisch zoeken

De tijd dat we over het internet surften in pure verbazing over wat er allemaal te vinden is, ligt achter ons. We hebben nu een duidelijke kennisvraag en we willen die zo snel mogelijk bevredigen. Zoekmachines als Google en Bing stellen ons in staat om direct naar het doel van onze zoektocht te springen.

De bestaande zoekmachines hebben door hun tekstuele manier van zoeken bepaalde beperkingen. De zoekmachine kent bijvoorbeeld niet eens het verschil tussen de vrucht 'apple' en het bedrijf 'Apple'. Het is ook niet mogelijk om lastige vragen te stellen, zoals bijvoorbeeld "Hoeveel calorieën bevatten een kom cornflakes en een glas sinaasappelsap?"

We kunnen de vraag wel stellen aan Wolfram Alpha, een 'answer engine' met eenzelfde simpele interface als Google:

Calories in 1 bowl of corn flakes + a glass of OJ

Wolfram Alpha haalt zijn kennis niet uit documenten op het internet, maar van openbare databronnen (geen Linked Data). Naast deze kennis kent Wolfram Alpha duizenden reken- en inferentieregels en vele methoden om te resultaten weer te geven.

Als dit voorbeeld zo goed werkt, waarom is deze manier van 'zoeken' dan toch nog zo ver weg? Hier zijn verschillende redenen voor te noemen. Ten eerste is natuurlijke taalverwerking nog te weinig ontwikkeld om de gebruiker elk soort vraag te laten stellen. De vragen moeten precies passen binnen één van de schema's waar Wolfram Alpha mee overweg kan. Past dit niet, dan volgt er geen antwoord. Om dit probleem op te lossen kent de applicatie een aantal voorbeeldpagina's, die mensen helpen hun vraag op de juiste manier te stellen.

Ten tweede is er domweg nog te weinig kennis beschikbaar. Bronnen hiervoor zouden kunnen zijn: freebase.com (voor feitelijke kennis) en opencyc.org (met regels voor redeneren op basis van 'gezond verstand'). Hoe indrukwekkend deze datasets ook zijn, dit is slechts een begin.

Vervolgens zijn er allerlei problemen met redeneren met kennis: alle informatie is contextafhankelijk, informatie veroudert waardoor kennis die eerst waar was dat niet langer is en veel kennis is relatief of bevat een waardeoordeel.

Als deze problemen opgelost zijn, dient het laatste, praktische, probleem zich aan: er moet een nieuw soort zoekmachine worden gemaakt: een antwoordmachine, die de Linked Data van de wereld indexeert en die op basis daarvan de vragen die eraan gesteld worden kan beantwoorden. Voor het beantwoorden van deze vragen zal de machine op het moment van het stellen van de vraag gevolgtrekkingen moeten maken en binnen acceptabele tijd tot een antwoord moeten komen.

Ter afsluiting

Als je nog wat tijd over hebt, kan ik je aanraden om onderstaande video te bekijken. Het is een talk van Daniel Sholler, de Vice President van Gartner. Hij geeft een zeer uitgebreide talk over het gebruik van het Semantisch Web in bedrijven en gaat daarbij in op de vragen die bij hen opkomen als ze in contact komen met deze technologie. Los daarvan is het bovendien een genot (vind ik tenminste) om te luisteren naar deze man, die vijfentwintig jaar IT-ervaring achter de kiezen heeft:

Lees meer over

Andere interessante artikelen

Lees ook eens

Schrijf je in voor de nieuwsbrief