Datenbanken und Semantic Web

Ähnliche Dokumente
XML-Technologien Tutorium 6

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF

Evaluation verschiedener Triple-Stores zum Speichern von Metadaten im Kontext des Forschungsdatenmanagements

RDF & OWL. Praktikum Softwaretechnologie für die Ressourcenlinguistik. Johannes Hellrich & Erik Fäßler SS FSU Jena

Semantic Web Technologies 1

RDF. Resource Description Framework. RDF - Konzepte - Tripel. RDF - Konzepte - Graph. Information Retrieval - Semantic Technologies

RDF und SPARQL. Kursfolien. Karin Haenelt

Semantic Web Grundlagen

Semantic Web Technologies I Lehrveranstaltung im WS09/10

Grundlagen Semantic Web

OWL Web Ontology Language

Semantic Web Grundlagen

Anwendungsfall: Semantische Prozessmodellierung (C. Schäfer) Gruppenübung: Spezifikationsgerechte Anfrage an eigene Ontologie

Semantic Web: RDF und N-Tripel

Semantic Web Technologies 1

Daten verknüpfen mit RDF. Lars Bröcker, Fraunhofer IAIS

Verknüpfte Daten abfragen mit SPARQL. Thomas Tikwinski, W3C.DE/AT

RDF RESOURCE DESCRIPTION FRAMEWORK. Referentin: Claudia Langer

Ontologiesprachen. 1.Was ist eine Ontologie 2.Aufbau einer Ontologie 3.RDF 4.RDFSchema 5.DAML+OIL / OWL 6.Frame-Logic

RDF(a) und Microformats

Semantic Markup für die Dokumentenklassifizierung. Seminarvortrag von Mirko Pracht

Kapitel WT:VIII (Fortsetzung)

Ressourcen-Beschreibung im Semantic Web

RDF Containers. Häufig möchte man eine Gruppe von Dingen beschreiben. Hierfür stellt RDF ein Container-Vokabular zur Verfügung.

Einführung in Linked Open Data

Semantic-Web-Sprachen XML, RDF (und RDFS), OWL

Universität Leipzig Softwaretechnik-Praktikum. Recherchebericht. DTP-16: LD Hypstrr - Datadriven Template Publication. 7.


Semantic Web: Semantische Suche

Transformation einer relationalen Datenbank nach RDF am Beispiel von Reef Check-Daten. Seminararbeit Konrad Johannes Reiche

Seminarphase PG 402 Thema: Semantic Web Autor: Phillip Look

Recherchebericht swp13- sc, M. Kisilowski, Recherchebericht

Vorlesung Semantic Web. Vorlesung im Wintersemester 2011/2012 Dr. Heiko Paulheim Fachgebiet Knowledge Engineering

Projektgruppe. Knowledge Representation Persistence and Reasoning

In diesem Abschnitt wollen wir uns mit dem Thema XML Datenbank beschäftigen. Das Ziel ist, herauszufinden, was XML Datenbank überhaupt sind und was

Vorlesung Semantic Web. Vorlesung im Wintersemester 2012/2013 Dr. Heiko Paulheim Fachgebiet Knowledge Engineering

Interaktive visuelle Erstellung und Verwendung komplexer Facetten zur Filterung semantischer Daten

Idee des Semantic Web

Konzeption und Implementierung eines SPARQL Endpoints für eine kontext-adaptive Webanwendung

Persistentes Speichern von RDF-Daten

Es geht also im die SQL Data Manipulation Language.

Bericht BTI7311: Informatik Seminar Was sind Ontologien?

SPARQL: Eine RDF Anfragesprache

Teamprojekt & Projekt

NoSQL Datenbanken EIN ÜBERBLICK ÜBER NICHT-RELATIONALE DATENBANKEN UND DEREN POTENTIALE IM ALLGEMEINEN UND IN DER INDUSTRIE

6SHLFKHUXQJYRQ5')LQ'DWHQEDQNHQ

- Angebots- und Vertragswesen: Angebot

Freie und vernetzte Daten:

3.5 OWL: WEB Ontology Language (1)

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

Vorlesung Computerphilologie. Ontologien und Ontologie-Sprachen

Semantic Web Grundlagen

das Semantic Web Motivation, Konzepte und Syntax Seminar: Aspekte der Wissensrepräsentation in der Computerlinguistik Dr. Kai-Uwe Carstensen

Semantic Web Grundlagen

RDF Modell und Syntax

Technologien des Semantic Web und ihre Anwendungen

RDF und ihre Anwendung (RSS)

Semantic Web: Resource Description Framework (RDF)

Semantic Web Grundlagen und RDF

Thema. Intelligente Agenten im Web

AutoSPARQL. Let Users Query Your Knowledge Base

Design and Development of a Semantic Web based Data Model for Text Analytics

Semantic Web Technologies 1

Entwicklung eines Electronic Resource Management Systems für Bibliotheken auf Basis von Linked Data Technologien

Professorenkatalog. Biogramm Ein kurzer Biographischer Abriss, in unserem Falle vor allem Informationen über die Universitätslaufbahn.

Web Ontology Language (OWL)

Information Retrieval - Semantic Technologies

Web Data Management Systeme

Inhaltsverzeichnis. Einleitung

Abstrakt zum Vortrag im Oberseminar. Graphdatenbanken. Gero Kraus HTWK Leipzig 14. Juli 2015

... MathML XHTML RDF

NoSQL. 1 Motivation für NoSQL. 2 Datenmodelle für NoSQL. 3 KV-Stores und Wide Column. 4 Document Stores. 5 Graph Stores. NoSQL

Entwurf eines semantischen RDF-Datenmodells zur generischen Darstellung von Investmentfonds

RDF RDF Instanzen Basiskonzepte und Bausteine Syntaxoptionen Reifikationen Kollektionen RDF-Schema: Definition eigener Vokabularien Erweiterungen Seit

Information Retrieval and Semantic Technologies

Tutorial Grundlagen des Semantic Web

Kontextbasiertes Information Retrieval

Transkript:

HTWK Leipzig OS: Datenbanksysteme - Aktuelle Trends Datenbanken und Semantic Web Autor: Christian Wagner Betreuer: Prof. Thomas Kudraß 7. Juli 2014

Datenbanken und Semantic Web am Beispiel von SPARQL Das Web flankiert in der heutigen Zeit den raschen Übergang von einer Industrie- zu einer Handelsgesellschaft. Es bietet hierfür eine Infrastruktur für einen qualitativ hochwertigen Umgang mit der Beschaffung und Bereitstellung für Informationen. Das Web wird in allen möglichen vorstellbaren Größenordnungen kommerzialisiert. Der durchschnittliche Alltag ist ohne dem Web gar nicht mehr vorstellbar. Es wird zur Verwaltung (egovernment), Bildung (elearning), Social-Networking, Suche nach Neuigkeiten oder Nachrichten usw. Dieser Datenumfang bringt einige Probleme mit sich. Sämtliche Informationen sind auf den Menschen als Endbenutzer ausgerichtet. Da das Suchen nach Informationen in heutigen Suchmaschinen (Google, Yahoo, etc.) stichwortbasiert abläuft, kann nicht effektiv nach logischen und semantischen Zusammenhängen zwischen verschiedenen Fakten gesucht werden. Um diesem Problem entgegen zu kommen, stehen Methoden aus dem KI-Bereich (ad hoc) zur Verfügung oder die Web-Informationen werden strukturiert, um eine automatische programmatische Auswertung zu erleichtern (a priori). Auf die zweite Methode bezieht sich das Semantic Web. Um solch eine Strukturierung umzusetzen sind zwei Voraussetzungen essenziell: Im Ersten die standardisierte Beschreibung von Informationen und im Zweiten eine Methodologie, um die Informationen zu gewinnen. Unstrukturiertem Text/ Informationen muss dazu zusätzliche Informationen gegeben werden (Metadaten). Dazu wird der zu annotierende Text in Tags eingeschlossen. Die, durch die Tags dargereichten Zusatzinformationen können dann durch verarbeitende Programme oder Bibliotheken gelesen werden. Im Kontext zur Anwendung stehende Ressourcen sollen eindeutig referenzierbar sein. Das wird durch URIs (Uniform Resource Identifier) erreicht. Eine Ressource ist dabei alles, was eine Identität besitzt. URIs erweitern das URL-Konzept. Die Bereitstellung der URIs und Informationen soll über RDF (Resource Description Framework) Dateien erfolgen. RDF ist ein graphenbasiertes Dateiformat (gerichtete Graphen) und eine offizielle W3C Recommendation. RDF war ursprünglich ein Datenmodell, um Metadaten für Web-Ressourcen bereitzustellen, jedoch ist es inzwischen allgemeiner. Durch RDF können Informationen strukturiert und in einem maschinenlesbarem, universellen Austauschformat bereitgestellt werden. Ein RDF Graph besteht aus URIs zur eindeutigen Referenzierung von Ressourcen, Literalen zur Beschreibung von Datenwerten und leeren Knoten. Leere Knoten erlauben Aussagen über die Existenz von Ressourcen, ohne diese benennen zu müssen. Literale werden als Zeichenketten dargestellt. Die Interpretation durch die Anwendung erfolgt dabei anhand des angegebenen Datentyps. Ist kein Datentyp angegeben, wird das Literal als pure Zeichenkette interpretiert. Ein RDF Graph ist praktisch eine Liste von Tripeln (immer: Knoten-Kante-Knoten). Ein solches Tripel besteht aus Subjekt, Prädikat und Objekt. Ein Subjekt ist dabei entweder eine URI oder ein leerer Knoten. Ein Prädikat 1

(Property) muss in jedem Fall durch eine URI dargestellt werden. Ein Objekt kann durch eine URI, ein Literal oder einen leeren Knoten dargestellt werden. Da die Bezeichner für Knoten und Kanten eindeutig sind, kann ein ursprünglicher Graph jederzeit aus der Tripel Liste rekonstruiert werden. Die Tripelauflistung kann in verschiedenen Formaten erfolgen. Die gebräuchlichsten sind Turtle, da es eine sehr intuitive und menschenlesbare Syntax hat und XML, da es für XML die beste Toolunterstützung gibt. Im Turtle-Format werden zuerst die Präfixe mit einem vorgegangenen @ angegeben. Bei einem Präfix ex für die URI http://example.com würde eine Zeile im Turtle-Format so aussehen: @prefix ex: <http://example.com/>. Nach dem Auflisten der Präfixe folgt das Auflistung der Tripel. Die Tripel werden stets nach dem Prinzip <Subjekt> <Prdikat> <Objekt>. aufgelistet. Beispiel: ex:larry Page ex:istceo ex:google. Tripel mit gleichem Subjekt können abgekürzt werden. Dabei werden die Teilstatements mit einem ; getrennt. Tripel mit gleichem Subjekt und Prädikat werden durch Komma getrennt. In XML Dateien haben RDF-eigene Tags einen festgelegten Namensraum (mit dem Bezeichner rdf. Präfixe werden durch ein voranstehendes <rdf:rdf xmlsn:prefix="exampleuri"> beim jeweiligen Element bzw. Vorgängerelement angefügt. Subjekte werden in einem Description Tag kodiert, die URI wird dabei im about Attributwert angegeben. Prädikate werden einfach in Tags gesetzt. Objekte werden analog zu Subjekten behandelt. Minimalbeispiel: <rdf:rdf xmlns:rdf="http://example.com"> <rdf:description rdf:about="http://example.com/larry_page"> <ex:istceo> <rdf:description rdf:about="http://example.com/google"> </rdf:description> </ex:istceo> </rdf:description> Um mehr Semantik innerhalb der Literale zu erhalten können Datentypen angegeben werden, welche durch ihre URI referenziert werden. Standardisiert verwendet man meist xsd-datentypen. Turtle-Syntax: "Datenwert"^^Datentyp-URI, z.b.: "Google"^^xsd:string. wobei das Präfix xsd definiert sein muss. XML-Syntax: < Prdikat rdf:datatype="datentyp-uri" 2

Darüber hinaus ist es wünschenswert Aussagen über generische Mengen an Ressourcen treffen zu können, wie zum Beispiel Nur Dozenten halten Lehrveranstaltungen oder Nur Menschen schreiben Bücher. Dazu können Ressourcen innerhalb von RDF als Klassen instanziert werden. Klassenzugehörigkeit ist hier nicht exklusiv, d.h. ein Subjekt kann mehreren Klassen angehören. In Turtle Syntax: ex:google rdf:type ex:aktiengesellschaft. Da es syntaktisch zwischen Instanzen und Klassen keinerlei Unterschiede gibt, können Klassen direkt als diese gekennzeichnet werden: ex:aktiengesellschaft rdf:type rdfs:class. Es können hier auch Unterklassen erstellt werden. Das funktioniert intuitiv mittels ex:aktiengesellschaft rdfs:subclassof ex:firma. Man kann also das Prädikat rdf:type mit dem Elementsymbol vergleichen, wobei das Prädikat rdfs:subclassof der Teilmenge entspricht. subclassof ist reflexiv und transitiv. Analog dazu können auch verschiedene Prädikate in Verbindung gebracht werden. Das Prädikat rdf:subpropertyof ist analog zum rdfs:subclassof bei Subjekten. Das Erstellen von Unterprädikaten erlaubt Schlussfolgerungen. Für bestmögliche Semantik können Prädikate eingeschränkt werden. So kann gelten, dass b aus einem Tripel a ex:praedikat b folgt. Ebenso darf gelten: a X b Y. In Turtle ausgedrückt: a rdf:type X. b rdf:type Y. Durch RDFS kann das direkt beschrieben werden: ex:praedikat rdfs:domain X; rdfs:range Y. Um strukturierte, in RDF vorliegende Daten abzufragen, wird eine Anfragesprache benötigt. Hierzu dient SPARQL, eine graphenbasierte Anfragesprache. SPARQL steht für SPARQL Protocol And RDF Query Language und ist eine Anfragesprache zur Abfrage von Instanzen aus RDF-Graphen. Anfragen werden an SPARQL- Endpoints gesendet. Die Syntax von SPARQL erinnert stark an eine Mischung aus SQL und Turtle. Im Kopf einer Anfrage werden Präfixe definiert. Anschließend folgt eine SELECT-Anweisung. Der Hauptbestandteil ist das WHERE-Anfragemuster. Es dürfen Variablen enthalten sein, die mit einem vorangehenden? oder $ gekennzeichnet werden. Innerhalb dieses Anfragemusters gilt die Turtle Syntax. Minimalbeispiel: PREFIX ex: <http://example.com/> SELECT?titel?autor 3

WHERE {?buch ex:verlegtvon <http://springer.com/verlag>.?buch ex:titel?titel.?buch ex:autor?autor. } Diese Anfrage würde als Ergebnis eine Tabelle liefern, die den Titel und Autoren von Büchern enthält, die beim Springer-Verlag verlegt wurden. Hier können auch mittels dem Schlüsselwort FILTER Informationen gefiltert werden. Innerhalb einer Filter-Anweisung sind arithmetische und boolesche Operationen zulässig. Es können auch mehrere Filter mittels booleschen Operatoren verknüpft werden, da jede Filter-Anweisung einen Wahrheitswert liefert. SPARQL bietet auch eine Vielzahl von Spezial- und Aggregierungsfunktionen, wie zum Beispiel das Bilden eines Durchschnittswertes, das Sortieren der Ergebnise, das Überprüfen von Datentypen etc. Um Tripel in einer Datenbank zu speichern gibt es verschiedene Ansätze. Vom Grundprinzip her werden alle Statements, Subjekte, Prädikate und Objekte mit einer eindeutigen ID versehen und die IDs und eigentlichen Werte der Ressourcen werden in getrennten Tabellen abgelegt. Den Zusammenhang bildet die ID. Anfrage-Engines die das ermöglichen wären beispielsweise ARQ, Tracker und Virtuoso. 4