Zullen ze mengen? Voldoen aan het semantische web

Klik voor meer informatie over auteur Martyna Pawletta.

Laten we kijken of we pizza kunnen serveren via het semantische web en een analyseplatform. Zullen ze mengen?

Ontologieën studie van concepten die direct verband houden met ‘zijn’, dwz concepten die betrekking hebben op het bestaan ​​en de werkelijkheid, evenals de basiscategorieën van zijn en hun relaties. In de informatiewetenschap is een ontologie een formele beschrijving van kennis als een verzameling concepten binnen een domein. In een ontologie moeten we de verschillende objecten en klassen en de relaties – of verbanden – daartussen specificeren. Uiteindelijk is een ontologie een herbruikbare kennisrepresentatie die kan worden gedeeld.

Leuke referentie: The Gekoppelde Open Data Cloud heeft een verbazingwekkende afbeelding die laat zien hoeveel ontologieën (gekoppelde gegevens) er beschikbaar zijn op internet.

De uitdaging

Het semantische web en de verzameling aanverwante semantische webtechnologieën zoals RDF (Bronbeschrijvingskader), UIL (Web Ontology Language), of SPARQL (SPARQL-protocol en RDF Query Language) bieden een heleboel tools waarmee gekoppelde gegevens kunnen worden opgevraagd, gedeeld en hergebruikt in applicaties en community’s. Een sleutelrol op dit gebied wordt gespeeld door ontologieën en OWL’s.

Dus, waar komt de UIL hierin terecht? Nou nee – we bedoelen hier niet de uil als een vogel – maar je ziet toch de noodzaak van ontologieën? Een OWL kan verschillende betekenissen hebben, en dit is een van de redenen waarom het maken van ontologieën voor specifieke domeinen zinvol kan zijn.

Ontologieën kan erg domeinspecifiek zijn, en niet iedereen is een expert op elk domein – maar het is een relatief veilige gok om te zeggen dat we allemaal wel eens pizza’s hebben gegeten – dus laten we onszelf pizza-experts noemen. De uitdaging van vandaag is om informatie te extraheren uit een OWL-bestand met informatie over pizza en traditionele pizza-toppings, deze informatie op te slaan in een lokaal SPARQL-eindpunt en SPARQL-queries uit te voeren om een ​​lekkere pizza te extraheren, em – ik bedoel gegevens. Ten slotte worden deze gegevens weergegeven in een interactieve weergave, waarmee u de inhoud kunt onderzoeken.

Onderwerp: Maak kennis met het semantische web

Uitdaging: Extraheer informatie uit een Web Ontology Language (OWL) -bestand

Toegangsmodus / geïntegreerd hulpmiddel: Extensie voor semantisch web / gekoppelde gegevens –

de ontologie die in deze blogpost en de gedemonstreerde workflow wordt gebruikt, is een voorbeeldontologie die is gebruikt in verschillende versies van de Pizza Tutorial van Manchester University. Zie meer informatie over Github hier.

Het experiment

Een OWL-bestand lezen en opvragen

In de eerste stap is het Drievoudige bestandslezer knooppunt extraheert de inhoud van de pizza-ontologie in het OWL-bestandsformaat en leest alle triples in een gegevenstabel. Triples zijn een verzameling van drie kolommen met een onderwerp (URI), een predikaat (URI) en een object (URI of letterlijk), kortweg: sub, pred, obj. Het predikaat geeft relaties aan tussen het onderwerp en het object. Zoals te zien is in de onderstaande schermafbeelding (Figuur 1), zien we in het voorbeeld dat de Pizza FruttiDiMare is een subClassOf de klas Met de naam Pizza en heeft twee labels: een voorkeurslabel en een alternatieve.

Afbeelding 1: Schermafbeelding die de uitvoer toont van de Triple File Reader-knoop met een onderwerp-, predikaat- en objectkolom.

Zodra de drievoudige bestandslezer is uitgevoerd, kan een SPARQL-eindpunt worden gemaakt met behulp van het geheugeneindpunt samen met de SPARQL-invoegnode. Dit maakt de uitvoering van SPARQL-queries mogelijk. Merk op dat onze Triple File Reader officieel het OWL-formaat niet ondersteunt. We kunnen RDF-bestanden lezen en bijgevolg, omdat OWL-bestanden erg op elkaar lijken, kunnen we deze bestanden ook lezen. Niet alle informatie wordt echter noodzakelijkerwijs opgehaald, aangezien OWL aanvullende parameters kan hebben.

Het voorbeeld in Figuur 2 toont een SPARQL-queryknooppunt dat een query bevat om een ​​basislijst te extraheren met alle pizza’s die in het OWL-bestand zijn opgenomen.

Een aanbeveling hier: als de ontologie die u wilt opvragen nieuw voor u is, raad ik u ten zeerste aan om de structuur en klassen eerst snel te verkennen in een andere tool zoals Protége. Dit maakt het later gemakkelijker om SPARQL-queries te maken en te schrijven.

Figuur 2: Voorbeeldworkflow die laat zien hoe je een OWL-bestand leest, geëxtraheerde triples invoegt in een SPARQL-eindpunt en een SPARQL-query uitvoert om allerlei soorten pizza’s uit de pizza-ontologie te extraheren.

Het SPARQL-queryknooppunt heeft een selectievakje in de rechterbovenhoek (zie Afbeelding 2) met de tekst “Behoud N-Triples-indeling”. Als u dit selecteert, maakt het verschil in hoe de uitvoergegevens eruit zullen zien. De N-triples formaat moet worden behouden als de triples in een endstore worden ingevoegd.

Het onderstaande voorbeeld toont het effect van het niet aanvinken (boven) of aanvinken (onder) op het selectievakje N-triples. In het geval van URI’s worden de schuine haakjes niet behouden in termen van letterlijke aanhalingstekens, en het type (hier @en) wordt verwijderd als er niets is geselecteerd.

Visualisatie

Er zijn verschillende manieren om gegevens hier te visualiseren. In het geval van ontologieën is het echt afhankelijk van wat u probeert te doen. Hier zullen we wat meer informatie extraheren dan in het eerste voorbeeld en een interactieve weergave creëren binnen een component waarmee we dat kunnen verken de inhoud van de pizza-ontologie.

Naast de pizzalabels die nu twee SPARQL-queryknooppunten gebruiken (zie figuur 3), werd verdere informatie zoals toppings per pizzatype of de pittigheid ervan geëxtraheerd. We zoeken ook naar pizza-toppings die een subklasse van de klasse zijn VegetableToppings en maak een vlag als de topping een groente is of de Kolom met constante waarde knooppunt.

Figuur 3: Voorbeeldworkflow die laat zien hoe het basisvoorbeeld uit Figuur 2 kan worden uitgebreid en een interactieve weergave kan worden gemaakt.

Ten slotte maken we een interactieve weergave waarin de geëxtraheerde gegevens kunnen worden verkend (zie figuur 4). Om de interactieve weergave te openen, klikt u met de rechtermuisknop op de component “Interactieve weergave” en selecteert u Interactieve weergave.

Figuur 4: Interactieve weergave met de geëxtraheerde gegevens.

Is het echt?!

Toen ik de dataset voor het eerst in de weergave bekeek, zag ik de “Slordige Giuseppe”Pizza en moest het meteen googlen omdat het iets totaal nieuws voor me was. Ik zag de toppings maar vroeg me af of dit echt iets Italiaans was? Dit bracht me op het idee om hier naast de tabellen en grafieken nog een feature toe te voegen.

Als je nu op de pizzanaam klikt, wordt een nieuw venster geopend met zoekresultaten van Google voor dat specifieke pizzatype. Ik deed dit met behulp van de Stringmanipulatie knooppunt, dat een link maakt. Om ervoor te zorgen dat de link in een nieuw venster wordt geopend en niet in uw huidige weergave, moet de optie “target = _blank” worden toegevoegd.

De resultaten

We hebben vandaag laten zien hoe u gegevens uit een OWL-bestand kunt extraheren en een SPARQL-eindpunt en SPARQL-query kunt maken. Ten slotte hebben we een weergave gegenereerd waarin de inhoud kan worden verkend.

Na het spelen met zulke lekkere data … nu honger? Laten we dan een pizza bestellen?

Download de workflow “Een pizza-ontologie verkennen met een OWL-bestand” van de Hub hier.

In deze “Will They Blend” -serie gaan we door met experimenteren met de meest interessante mengsels van gegevens en gereedschappen. Of het nu gaat om het mengen van traditionele bronnen met moderne datameren, open-source DevOps in de cloud met beschermde interne legacy-tools, SQL met NoSQL, web-wisdom-of-the-crowd met in-house handgeschreven notities, of IoT-sensorgegevens met inactief chatten, we zijn benieuwd: zullen ze zich vermengen? Wil je weten wat er gebeurt als websiteteksten en Word-documenten worden vergeleken?

Table of Contents

Vragen voor onze consultants?

Twijfel niet en neem direct contact met ons op met uw vraagstuk.