Semantic Web. Jan Hladik mit Material von Birte Glimm, Universität Ulm. DHBW Stuttgart. Sommersemester 2016

Ähnliche Dokumente
Semantic Web Grundlagen

Wahlpflichtmodul Semantic Web Master Informatik und Medieninformatik Die Bibliothek von morgen und das Web of Data

Organisatorisches: Inhalt. Daten im Web. Linked Data

Linked Data & SPARQL. Eine Einführung. Birte Glimm Institut für Künstliche Intelligenz 12. Mai 2012

Semantic Web Technologies I Lehrveranstaltung im WS09/10

Linked Open Cultural Heritage.

Semantic Web Technologies I

Linked Cultural Heritage.

Linking Open Data: Anwendungen für Endanwender

Semantic Web Technologies 1

DSpace 5 und Linked (Open) Data. Pascal-Nicolas Becker Technische Universität Berlin German DSpace User Group Meeting 2014 Berlin, 28.

Organisatorisches: Inhalt. Agenda

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

Semiautomatische Anreicherung einer semantischen virtuellen Forschungsumgebung mit externen Daten. Diplomarbeit. von. Jan Novacek

Information Retrieval and Semantic Technologies

Semantic Web Grundlagen

Semantic Web Grundlagen

Ontologien und Ontologiesprachen

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

Implementierung einer RDF-Storage Lösung für MongoDB

Industrie 4.0 Die Aachener Perspektive

Ressourcen-Beschreibung im Semantic Web

An der Grenze zum Semantic Web LOGD für die Statistik

Die Nationalbibliografie als Linked Data Technische Aspekte des Linked Data Service der DNB

Uniform Resource Identifiers (URI) und Domain Name Service (DNS)

Manuskripte für Europeana und neue Tools für Geisteswissenschaftler: Das DM2E-Projekt

Dr. Christian Stein Ontologie-Design Die nächste Generation des Web für sich nutzen lernen

Vorlesung Computerphilologie. Ontologien und Ontologie-Sprachen

RDF RESOURCE DESCRIPTION FRAMEWORK. Referentin: Claudia Langer

Freie und vernetzte Daten:

Projektgruppe. Knowledge Representation Persistence and Reasoning

SchemEX Schema-Extraktion von Linked Open Data

Open Archives Initiative - Protocol for Metadata Harvesting (OAI-PMH)

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

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

Semantic Web. Anwendungsbereiche & Entwicklungen. Dr. Michael Granitzer

Markus Matzker, Martin Huth 1 OPENCALAIS. VL Text Analytics Prof. Dr. Leser

RDF(a) und Microformats

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

Linked Open Data (LOD) im Enterprise 2.0. Florian Kondert COO, Business Development

Untersucht am Beispiel einer Sammlerplattform für Vinylsammler

Technologien des Semantic Web und ihre Anwendungen

Semantic Web Technologies 1

Mit Linked Open Data in die Zukunft

unter Verwendung von Folien von Herrn Prof. Dr. Flensburg, von Laudon/Laudon/Schoder und von Frau Prof. Dr. Schuhbauer

Teamprojekt & Projekt

Datenmodelle im Kontext von Europeana. Stefanie Rühle (SUB Göttingen)

Auch der eigene Katalog als Quelle: Zusammenführung von elektronischer und gedruckter Fassung; verschiedenen Auflagen usw.: Fließender Übergang zu

Daten und ihre Semantik für Menschen und Maschinen. NIE-INE Ontologie-Workshop

Veranstalter: Lehrstuhl DBIS - Prof. Georg Lausen Betreuer: Thomas Hornung, Michael Schmidt

Semantik in Suchmaschinen Beispiele. Karin Haenelt

Semantic Web Technologies I

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2)

Sarah Hartmann, Lars G. Svensson. Mit RDA ins Semantic Web?

Berner Fachhochschule Kompetenzzentrum Public Management und E-Government

Berner Fachhochschule Kompetenzzentrum Public Management und E-Government

Metadaten und Identifikatoren

W3C was ist das und wie kann ich da mitmachen?

Semantic Web, SKOS und Linked Data

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

Einführung in Linked Open Data

Modul 7 Uniform Resource Identifier (URI)

Linked Environment Data

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

Semantic Web: Das Web der nächsten Generation

Licensing Linked Data

Repositorieninhalte als Linked Data bereitstellen. Pascal-Nicolas Becker Technische Universität Berlin 104. Bibliothekartag Nürnberg,

Information Workbench Linked Data-Anwendungen im Unternehmen. Leipziger Semantic Web Tag, Peter Haase, fluid Operations

Context-adaptation based on Ontologies and Spreading Activation

Tagging / Social Bookmarking

Complex Event Processing

Was sind Ontologie-Editoren?

Einführung. Arbeitsgruppe. Proseminar Corporate Semantic Web. Prof. Dr. Adrian Paschke

Deduktion, Induktion und Transduktion

Die Deutsche Nationalbibliografie in der Linked Data Cloud

Cloud Computing in der öffentlichen Verwaltung

XML Extensible Markup Language

Linked Data: Aktuelle Entwicklungen im EU-Projekt Linked Heritage und Europeana

Von der Klassifikation zu Linked Open Data

Bericht BTI7311: Informatik Seminar Was sind Ontologien?

Digitale Umsetzung und Nutzung archäologischer Terminologien

Metadaten in ArcGIS Matthias Schenker ESRI Geoinformatik AG, Zürich

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

time marker cluster term term URL Link to AEC media

Semantic Web Technologies I! Lehrveranstaltung im WS10/11! Dr. Andreas Harth! Dr. Sebastian Rudolph!

Webbasierte Exploration von großen 3D-Stadtmodellen mit dem 3DCityDB Webclient

Informationsmanagement mit XML

URHEBERRECHTLICHE ASPEKTE DES

PONS DIE DREI??? FRAGEZEICHEN, ARCTIC ADVENTURE: ENGLISCH LERNEN MIT JUSTUS, PETER UND BOB

Joining weed survey datasets for analyses on a European scale a proposal

Standardisierung und kulturelles Erbe eine schwierige, aber fruchtbare Ehe. Felix Sasaki DFKI / FH Potsdam W3C deutsch- österr.

Jens Kupferschmidt Universitätsrechenzentrum

Einführung. Internet vs. WWW

EVANGELISCHES GESANGBUCH: AUSGABE FUR DIE EVANGELISCH-LUTHERISCHE LANDESKIRCHE SACHSEN. BLAU (GERMAN EDITION) FROM EVANGELISCHE VERLAGSAN

SEO für Blogger Erfolg in Google

SemTalk Services. SemTalk UserMeeting

Thema. Intelligente Agenten im Web

Content-Syndication und RSS

Durchführungsbestimmung Metadaten. Kristian Senkler, con terra GmbH,

Semantic Web Paradigmen

Transkript:

Semantic Web Jan Hladik mit Material von Birte Glimm, Universität Ulm DHBW Stuttgart Sommersemester 2016 Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 1 / 354

Inhalt 1. Einführung 1.1 Organisation 1.2 Probleme im Web of Text 1.3 Semantik 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL 4. Die Web Ontology Language OWL 5. Integration existierender Systeme Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 2 / 354

Inhalt 1. Einführung 1.1 Organisation 1.2 Probleme im Web of Text 1.3 Semantik 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL 4. Die Web Ontology Language OWL 5. Integration existierender Systeme Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 3 / 354

Dozent Jan Hladik Dipl.-Inform.: RWTH Aachen, 2001 Dr. rer. nat.: TU Dresden, 2007 Industrieerfahrung: SAP Research Arbeit in öffentlich geförderten Forschungsprojekten (BMBF, EU) Zusammenarbeit mit SAP-Produktgruppen Betreuung von Bachelor-, Master-Studenten und Doktoranden Professor: DHBW Stuttgart, 2014 Forschung Semantic Web, Beschreibungslogiken, Automated Reasoning Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 4 / 354

Lehrveranstaltung Vorlesung Termin: Montag, 13:00 15:45 Zeitraum: 6. 3. 19. 5. 2016 Ostermontag: 17. 4. Tag der Arbeit: 1. 5. 9 Termine Skript http://wwwlehre.dhbw-stuttgart.de/~hladik/sw-wahlfach Klausur Termin: wahrscheinlich 15. 5. ( 8 Termine) Hilfsmittel: Skript, Notizen, Bücher ca. 60min Wahlfach: Note Zusatzfach: bestanden / nicht bestanden Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 5 / 354

Literatur Hitzler, Krötzsch, Rudolph, Sure: Semantic Web Grundlagen Springer-Verlag; 28EUR deutsch ausführliche Behandlung von XML Übungen / Beispiele Hitzler, Krötzsch, Rudolph: Foundations of Semantic Web Technologies CRC Press; 88EUR englisch aktualisiert und erweitert OWL 2.0 Profiles Rules Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 6 / 354

Inhalt 1. Einführung 1.1 Organisation 1.2 Probleme im Web of Text 1.3 Semantik 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL 4. Die Web Ontology Language OWL 5. Integration existierender Systeme Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 7 / 354

Problem: Homonyme Beispiel (Erste 25 treffer der Web-Suche nach Bank ) 13x Kreditinstitut 4x Mo bel 3x Logos von Banken 3x Menschen und Banken/Ba nke (von jeder Sorte, einmal sogar beide) 1x Sparschwein ( piggy bank ) 1x Kommentar zu Banken und Bankmitarbeitern Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 8 / 354

Problem: Namen von Individuen Beispiel (Erste 27 Treffer der Web-Suche nach Franz Baader ) 5x Prof. Franz Baader 5x Franz Xaver v. Baader 2x Eishockey-Schiedsrichter Franz Baader 2x Franz R. und C. Baader 4 Gruppen (eine ohne FB) 3 Empfa nger von Preisen 3 Mitarbeiter 2 weitere Franz Baader 1x Alexandra Maria Lara: Veranstaltungskalender mit Baader-Meinhof-Komplex [...] franz-arab Disco Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 9 / 354

Problem: Synonyme Beispiel (Suche nach Eisenbahn und Zug ) Zug Eisenbahn Begriffe sind gleichbedeutend Jeder Begriff liefert nur Teil der interessanten Links Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 10 / 354

Problem: Unterschiedliche Aufbereitung von Informationen Beispiel (Persönliche Homepages) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 11 / 354

Informationssuche in HTML-Dokumenten Beispiel (Homepage in HTML) <h1>ian Horrocks</h1> <table><tr> <td class="personimg"> <img src="ih005-1.jpg" alt="photo Ian Horrocks"/> </td> <td> <div class="personinfo"> <div>professor Ian Horrocks FRS</div> <div>professor of Computer Science</div> <div>fellow, <a href="http://www.oriel.ox.ac.uk"> Oriel College</a></div> <div>ian.horrocks@cs.ox.ac.uk</div> <div>+44 1865 273939</div> <div>+44 1865 273839 (fax)</div> </div> <p>wolfson Building, Parks Road, Oxford OX1 3QD</p> </td> </tr></table> HTML legt nur Syntax fest Text Layoutinformationen Suchmaschine muss Semantik raten Wörter, die wie Namen aussehen Bild in der Nähe eines Namens Zahlen, die wie Telefonnummern aussehen Firmennamen Adressen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 12 / 354

Problem: Verschlagwortung Beispiel (Automatische Verschlagwortung einer Online-Zeitung) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 13 / 354

Problem: Bedeutung von Links Blog Interactive Web Design verlinkt gute und schlechte Webseiten Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 14 / 354

Was der Webcrawler sieht Interactive Web Design. & Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 15 / 354

Probleme im Internet der Dinge heterogene Dinge : Fahrzeuge, Wearables, Konsumgüter verschiedene Hersteller unterschiedliche Daten: Position, Temperatur, Zeit, Track & Trace Ziel: Einheitliche Schnittstelle für Anwendungen Interoperabilität im Smart Home Anzeige auf Mobilgeräten Keine Brüche bei Herstellerwechsel oder neuen Produkten Einfache Anwendungs-Entwicklung Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 16 / 354

Probleme im Web of (Hyper-)Text Von Menschen für Menschen gemacht Nicht verständlich für Maschinen Räumliche Nähe als Maßstab für Enge der Beziehung Suche nur nach Text, nicht nach Entitäten Synonyme Homonyme Heterogenität auf verschiedenen Ebenen: Zeichenkodierung (z.b. ASCII vs. Unicode) verwendete natürliche Sprachen Anordnung von Information auf Webseiten Links sagen nichts über Art der Beziehung aus Automatisches Schlussfolgern (Reasoning) Ableitung von implizitem Wissen, ggf. unter Einbeziehung externer Quellen erfordert formal-logische Methoden Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 17 / 354

Anforderungen an ein intelligenteres Web Was fehlt Disambiguierung von Homonymen Bedeutung von Links Beziehung zwischen einzelnen Elementen (z.b. Foto und Text) Was gebraucht wird: Semantik Global eindeutige Bezeichner für Entitäten Methode, um Beziehungen zwischen Entitäten auszudrücken mittels festgelegten und global eindeutigen Vokabulars verständlich für Menschen und Maschinen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 18 / 354

Lösungsansätze 1 A posteriori: Verwendung von KI-Methoden zur Auswertung bestehender unstrukturierter Informationen im Web Verlagerung des Problems: Interpretation wird durch KI statt Suchmaschine durchgeführt Schlussfolgern unsicher 2 A priori: Strukturierung der Web-Informationen zur Erleichterung der automatisierten Auswertung Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 19 / 354

Essentielle Voraussetzungen zur Realisierung 1 offene Standards zur Beschreibung von Informationen klar definiert flexibel erweiterbar 2 Methoden zur Gewinnung von Informationen aus solchen Beschreibungen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 20 / 354

Inhalt 1. Einführung 1.1 Organisation 1.2 Probleme im Web of Text 1.3 Semantik 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL 4. Die Web Ontology Language OWL 5. Integration existierender Systeme Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 21 / 354

Exkurs: Syntax vs. Semantik Syntax (Satzbau) steht für die (normative) Struktur von Daten, d.h. sie charakterisiert, was wohlgeformte Daten sind. Semantik (Bedeutung) charakterisiert, was ein syntaktisch korrekter Satz aussagt und welche inhaltlichen Schlussfolgerungen sich ziehen lassen. Beispiel (Arithmetik) 4+) = ( 3 + 4 = 12 3 + 4 = 7 syntaktisch falsch syntaktisch richtig syntaktisch richtig semantisch falsch semantisch wahr Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 22 / 354

Syntax und Semantik in der Prädikatenlogik Beispiel (Satz und Interpretationen) ϕ = xr(c, x) Interpretation I bestimmt Universum, Relationen und Funktionen Universum Relation Konstante Wahrheitswert I R I c I ϕ I N N 0 N w N N 4 N f Z Z 0 Z f {Anna, Bert, kennt = {(A, A), (A, B), Conny} (B, B), (B, C), (C, C)} Anna f Bedeutung und Wahrheitswert eines Satzes hängen von der Interpretation ab! Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 23 / 354

Begriffsbestimmungen Semantische Technologien formale Beschreibung einer Domäne klar definierte Semantik Schlussfolgerungsverfahren Ontologie: Wissensbank Begriff ST seit etwa 20 Jahren Technologien seit über 50 Jahren Semantic Web Tim Berners-Lee et. al., 1994 Erweiterung des WWW durch ST Technik: zuerst RDF(S), später OWL Linked Data Semantic Web Done Right (TBL, 2006) Betonung von Vernetzung zwischen Quellen Linked Open Data: frei verfügbar The Semantic Web will bring structure to the meaningful content of Web pages [... ] A software agent coming to a clinic s Web page will know not just that the page has keywords such as treatment, medicine, physical, therapy but also that Dr. Hartman works at this clinic on Mondays, Wednesdays and Fridays [... ] Berners-Lee et al., Scientific American, 2001 Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 24 / 354

Semantic Web Standards 1994 Erste öffentliche Präsentation der Idee 1998 Semantic Web Beginn der Standardisierung des Datenmodells (RDF) und einer ersten Ontologiesprache (RDFS) beim W3C 2000 Beginn von großen Forschungsprojekten zu Ontologien in den USA und Europa (DAML & OntoKnowledge) 2002 Beginn der Standardisierung einer neuen Ontogiesprache (OWL) basierend auf den Forschungsergebnissen 2004 Abschluss der Standards für das Datenmodell (RDF) und die Ontologiesprache (OWL) 2008 Standard für die Abfragesprache (SPARQL) 2009 Erweiterung von OWL auf OWL 2.0 2010 Standard für Regeln: Rule Interchange Format (RIF) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 25 / 354

Semantic Web 1. 5. 2007 Diagramme der Linking Open Data Cloud von Max Schmachtenberg, Christian Bizer, Anja Jentzsch and Richard Cyganiak. http://lod-cloud.net/ Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 26 / 354

Semantic Web 31. 3. 2008 ECS Sem- South- Web- ampton updated Central Musicbrainz Audio- Scrobbler QDOS Doapspace Flickr exporter SIOC profiles Jamendo BBC Later + TOTP BBC John Peel Magnatune FOAF profiles Ontoworld SW Conference Corpus Open- Guides Geonames Revyu US Census Data NEW! Gov- Track riese Wikicompany World Factbook Eurostat W3C WordNet DBpedia Open Cyc lingvoj flickr wrappr Project Gutenberg DBLP Berlin DBLP Hannover NEW! RKB Explorer RDF Book Mashup Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 27 / 354

Semantic Web 14. 7. 2009 BBC Playcount Data MySpace Wrapper Musicbrainz Surge LIBRIS Radio Audio- Scrobbler QDOS ECS Southampton Doapspace Sem- Web- Central Flickr exporter Wikicompany Semantic Web.org RDF ohloh Budapest SW BME Conference Corpus Resex IRIT Toulouse Eurécom ReSIST Project Wiki BBC BBC Crunch Later + John BBC Music Base Jamendo TOTP Peel Pub Geonamestat Euro- Guide BBC Programmes riese World Magnatunbook Fact- Linked GeoData US Census W3C Data WordNet Gov- UMBEL Track Open Cyc Yago Daily Med Pub Chem Homolo Gene Diseasome CAS Symbol RAE National FOAF 2001 Science SIOC Revyu ACM Foundation profiles Sites Open- Guides DBLP Project flickr RKB Gutenberg Pisa CORDIS wrappr Explorer Virtuoso Sponger eprints Open Calais RKB Linked ECS MDB IEEE Newcastle Southampton RDF Book DBpedia Mashup lingvoj Freebase CiteSeer LAAS- CNRS DBLP IBM Hannover UniRef GEO Species DBLP Berlin Reactome LinkedCT UniParc Taxonomy Drug PROSITE Bank GeneID KEGG UniProt Pfam ProDom Gene ChEBI Ontology OMIM Inter Pro UniSTS PDB HGNC MGI PubMed As of July 2009 Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 28 / 354

Semantic Web 22. 9. 2010 As of September 2010 Music Brainz (zitgist) P20 YAGO World Factbook (FUB) WordNet (W3C) WordNet (VUA) VIVO UF VIVO Indiana VIVO Cornell VIAF URI Burner Sussex Reading Lists Plymouth Reading Lists UMBEL UK Postcodes legislation.gov.uk Uberblic UB Mannheim TWC LOGD Twarql transport data.gov.uk totl.net Telegraphis TCM Gene DIT Taxon Concept The Open Library (Talis) t4gm Surge Radio STW RAMEAU SH statistics data.gov.uk St. Andrews Resource Lists ECS Southampton EPrints Semantic Crunch Base semantic web.org Semantic XBRL SW Dog Food rdfabout US SEC Wiki UN/ LOCODE Ulm ECS (RKB Explorer) Roma RISKS RESEX RAE2001 Pisa OS OAI NSF Newcastle LAAS KISTI JISC IRIT IEEE IBM Eurécom ERA eprints dotac DEPLOY DBLP (RKB Explorer) Courseware CORDIS CiteSeer Budapest ACM riese Revyu research data.gov.uk reference data.gov.uk Rechtspraak. nl RDF ohloh Last.FM (rdfize) RDF Book Mashup PSH Product DB PBAC Poképédia Ordnance Survey Openly Local The Open Library Open Cyc OpenCal ais OpenEI New York Times NTU Resource Lists NDL subjects MARC Codes List Manchester Reading Lists Lotico The London Gazette LOIUS lobid Resources lobid Organisations Linked MDB Linked LCCN Linked GeoData Linked CT Linked Open Numbers lingvoj LIBRIS Lexvo LCSH DBLP (L3S) Linked Sensor Data (Kno.e.sis) Goodwin Family Jamendo iserve NSZL Catalog GovTrack GESIS Geo Species Geo Names Geo Linked Data (es) GTAA STITCH SIDER Project Gutenberg (FUB) Medi Care Eurostat (FUB) Drug Bank Diseasome DBLP (FU Berlin) Daily Med Freebase flickr wrappr Fishes of Texas FanHubz Event- Media EUTC Productions Eurostat EUNIS ESD standards Population (En- AKTing) NHS (EnAKTing) Mortality (En- AKTing) Energy (En- AKTing) CO2 (En- AKTing) education data.gov.uk ECS Southampton Gem. Normdatei data dcs MySpace (DBTune) Music Brainz (DBTune) Magnatune John Peel (DB Tune) classical (DB Tune) Audioscrobbler (DBTune) Last.fm Artists (DBTune) DB Tropes dbpedia lite DBpedia Pokedex Airports NASA (Data Incubator) Music Brainz (Data Incubator) Moseley Folk Discogs (Data Incubator) Climbing Linked Data for Intervals Cornetto Chronicling America Chem2 Bio2RDF biz. data. gov.uk UniSTS UniRef Uni Pathway UniParc Taxonomy UniProt SGD Reactome PubMed Pub Chem PRO- SITE ProDom Pfam PDB OMIM OBO MGI KEGG Reaction KEGG Pathway KEGG Glycan KEGG Enzyme KEGG Drug KEGG Cpd InterPro Homolo Gene HGNC Gene Ontology GeneID Gen Bank ChEBI CAS Affymetrix BibBase BBC Wildlife Finder BBC Program mes BBC Music rdfabout US Census Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 29 / 354

Semantic Web 19. 9. 2011 As of September 2011 Music Brainz (zitgist) P20 Turismo de Zaragoza yovisto Yahoo! Geo Planet YAGO World Factbook El Viajero Tourism WordNet (W3C) WordNet (VUA) VIVO UF VIVO Indiana VIVO Cornell VIAF URI Burner Sussex Reading Lists Plymouth Reading Lists UniRef UniProt UMBEL UK Postcodes legislation data.gov.uk Uberblic UB Mannheim TWC LOGD Twarql transport data.gov. uk Traffic Scotland theses. fr Thesaurus W totl.net Telegraphis TCM Gene DIT Taxon Concept Open Library (Talis) tags2con delicious t4gm info Swedish Open Cultural Heritage Surge Radio Sudoc STW RAMEAU SH statistics data.gov. uk St. Andrews Resource Lists ECS Southampton EPrints SSW Thesaur us Smart Link Slideshare 2RDF semantic web.org Semantic Tweet Semantic XBRL SW Dog Food Source Code Ecosystem Linked Data US SEC (rdfabout) Sears Scotland Geography Scotland Pupils & Exams Scholarometer WordNet (RKB Explorer) Wiki UN/ LOCODE Ulm ECS (RKB Explorer) Roma RISKS RESEX RAE2001 Pisa OS OAI NSF Newcastle LAAS KISTI JISC IRIT IEEE IBM Eurécom ERA eprints dotac DEPLOY DBLP (RKB Explorer) Crime Reports UK Courseware CORDIS (RKB Explorer) CiteSeer Budapest ACM riese Revyu research data.gov. uk Ren. Energy Generators reference data.gov. uk Rechtspraak. nl RDF ohloh Last.FM (rdfize) RDF Book Mashup Rådata nå! PSH Product Types Ontology Product DB PBAC Poképédia patents data.go v.uk Ox Points Ordnance Survey Openly Local Open Library Open Cyc Open Corporates Open Calais OpenEI Open Election Data Project Open Data Thesaurus Ontos News Portal OGOLOD Janus AMP Ocean Drilling Codices New York Times NVD ntnusc NTU Resource Lists Norwegian MeSH NDL subjects ndlna my Experiment Italian Museums meducator MARC Codes List Manchester Reading Lists Lotico Weather Stations London Gazette LOIUS Linked Open Colors lobid Resources lobid Organisations LEM Linked MDB LinkedL CCN Linked GeoData LinkedCT Linked User Feedback LOV Linked Open Numbers LODE Eurostat (Ontology Central) Linked EDGAR (Ontology Central) Linked Crunchbase lingvoj Lichfield Spending LIBRIS Lexvo LCSH DBLP (L3S) Linked Sensor Data (Kno.e.sis) Klappstuhlclub Goodwin Family National Radioactivity JP Jamendo (DBtune) Italian public schools ISTAT Immigration iserve IdRef Sudoc NSZL Catalog Hellenic PD Hellenic FBD Piedmont Accomodations GovTrack GovWILD Google Art wrapper gnoss GESIS GeoWord Net Geo Species Geo Names Geo Linked Data GEMET GTAA STITCH SIDER Project Gutenberg Medi Care Eurostat (FUB) EURES Drug Bank Diseasome DBLP (FU Berlin) Daily Med CORDIS (FUB) Freebase flickr wrappr Fishes of Texas Finnish Municipalities ChEMBL FanHubz Event Media EUTC Productions Eurostat Europeana EUNIS EU Institutions ESD standards EARTh Enipedia Population (En- AKTing) NHS (En- AKTing) Mortality (En- AKTing) Energy (En- AKTing) Crime (En- AKTing) CO2 Emission (En- AKTing) EEA SISVU educatio n.data.g ov.uk ECS Southampton ECCO- TCP GND Didactal ia DDC Deutsche Biographie data dcs Music Brainz (DBTune) Magnatune John Peel (DBTune) Classical (DB Tune) Audio Scrobbler (DBTune) Last.FM artists (DBTune) DB Tropes Portuguese DBpedia dbpedia lite Greek DBpedia DBpedia dataopenac-uk SMC Journals Pokedex Airports NASA (Data Incubator) Music Brainz (Data Incubator) Moseley Folk Metoffice Weather Forecasts Discogs (Data Incubator) Climbing data.gov.uk intervals Data Gov.ie data bnf.fr Cornetto reegle Chronicling America Chem2 Bio2RDF Calames business data.gov. uk Bricklink Brazilian Politicians BNB UniSTS UniPath way UniParc Taxono my UniProt (Bio2RDF) SGD Reactome PubMed Pub Chem PRO- SITE ProDom Pfam PDB OMIM MGI KEGG Reaction KEGG Pathway KEGG Glycan KEGG Enzyme KEGG Drug KEGG Compound InterPro Homolo Gene HGNC Gene Ontology GeneID Affymetrix bible ontology BibBase FTS BBC Wildlife Finder BBC Program mes BBC Music Alpine Ski Austria LOCAH Amsterdam Museum AGROV OC AEMET US Census (rdfabout) Media Geographic Publications Government Cross-domain Life sciences User-generated content Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 30 / 354

Semantic Web 30. 6. 2014 Prospects and Trends GNOSS Athelia RFID Zaragoza Turruta Opendata Scotland Simd Geographic Access Rank GovUK Transparency Impact Indicators Energy Efficiency new Builds Opendata Scotland Simd Health Rank Opendata Scotland Graph Simd Rank GovUK Transparency Impact Indicators Affordable Housing Starts GovUK Societal Wellbeing Deprivation imd Employment Rank La 2010 GovUK Households 2008 Opendata Scotland Graph Education Pupils by School and Datazone GovUK societal wellbeing deprivation imd employment score 2010 GovUK Societal Wellbeing Deprivation Imd Health Score 2010 GovUK Societal Wellbeing Deprivation Imd Education Rank La 2010 GovUK transparency impact indicators tr. families Opendata Scotland Simd Education Rank GovUK societal wellbeing deprv. imd rank la '10 GovUK Transparency Input indicators Local authorities Working w. tr. Families GovUK Societal Wellbeing Deprivation Imd Income Rank La 2010 GovUK Imd Income Rank La 2010 GovUK Societal Wellbeing Deprivation Imd Rank 2010 2001 Spanish Census to RDF Linked Stock Index BFS 270a.info GovUK Transport Data IMF 270a.info Camera Deputati Linked Data OECD 270a.info GovUK Transparency Input ind. Local auth. Funding f. Gvmnt. Grant Government Web Integration for Linked Data GovUK Imd Rank 2010 GovUK service expenditure GovUK wellb. happy yesterday std. dev. Eionet RDF GovUK Households Projections total Houseolds GovUK Imd Score 2010 Enakting CO2Emission Environmental Applications Reference Thesaurus Geo Ecuador ESD Toolkit UK Postcodes Charging Stations Oceandrilling Borehole Bizkai Sense CIPFA NVS Alexandria Digital Library Gazetteer AEMET StatusNet Coreyavis Enel Shops StatusNet Spip StatusNet Datenfahrt StatusNet Exdc StatusNet Deuxpi StatusNet Hiico StatusNet Planetlibre StatusNet Keuser StatusNet Mystatus StatusNet ldnfai StatusNet Ludost Jan Hladik (DHBW Stuttgart) StatusNet Scoffoni StatusNet 20100 StatusNet tl1n DNB GND StatusNet Mrblog StatusNet Fragdev DBpedia IT StatusNet Jonkman IServe Bio2RDF StatusNet Macno StatusNet Ourcoffs StatusNet piana StatusNet thornton2 StatusNet Otbm StatusNet Glou StatusNet Sebseb01 StatusNet doomicile StatusNet Mamalibre StatusNet Fcestrada StatusNet Alexandre Franke Uniprot Taxonomy StatusNet Bonifaz StatusNet Pandaid StatusNet Uni Siegen Product Ontology StatusNet Sweetie Belle Ontos News Portal StatusNet Ced117 Open Food Facts KDATA RKB Explorer ECS StatusNet Johndrink Water Livejournal Bio2RDF Affymetrix Bio2RDF ECO Linked Food Bio2RDF HGNC Bio2RDF Orphanet Bio2RDF SGD DM2E Publications Semantic Web Journal Life Sciences Biosamples RDF Cross-Domain Bio2RDF Sabiork Social Networking Bio2RDF SGD Resources Bio2RDF Iproclass Geographic Chembl RDF Bio2RDF Pharmgkb Government Bio2RDF LSR Bio2RDF GOA Bio2RDF CTD Media Bio2RDF Homologene Bio2RDF Wormbase Bio2RDF OMIM Resources SISVU Getty AAT Swedish Open Cultural Heritage User-Generated Content Open Data Thesaurus StatusNet Status Tekord StatusNet Kathryl National Diet Library WEB NDL Authorities Identifiers Gene Expression Atlas RDF Bio2RDF Taxonomy Bio2RDF OMIM JudaicaLink RKB Explorer Kaunas Bio2RDF Drugbank Bio2RDF Pubmed Dutch Ships and Sailors RKB Explorer Epsrc RKB Explorer Italy Serendipity Bio2RDF Irefindex Bio2RDF Ncbigene Bio2RDF DBSNP Uniprot KB NBN Resolving Aspire Plymouth RKB Explorer FT Aspire Harper Adams Identifiers Org Bio2RDF Clinicaltrials Diseasome FU-Berlin RDF License Product DB DBpedia PT StatusNet Ilikefreedom StatusNet Tekk StatusNet Spraci Austrian Ski Racers Alpino RDF StatusNet Cooleysekula RKB Explorer Deploy British Museum Collection chem2 bio2rdf Bio2RDF Mesh Reactome RDF DBpedia Lite StatusNet linuxwrangling StatusNet Legadolibre RKB Explorer Eurecom Aspire Roehampton Deutsche Biographie RKB Explorer IBM Asn.us Bio2RDF Taxon Bio2RDF NDC DBpedia CS lobid Organizations Uniprot Biomodels RDF Bio2RDF GeneID RKB Explorer Ulm RKB Explorer Pisa TWC IEEEvis GNI Linked Life Data Ariadne Aspire Portsmouth RKB Explorer Darmstadt RKB Explorer Roma Bio2RDF Dataset Organic Edunet LOD ACBDLS Linked TCGA Enipedia StatusNet Tschlotfeldt StatusNet Kenzoid Taxonconcept Occurences DBpedia EU DBpedia JA RKB Explorer Budapest Testee Dailymed FU-Berlin Disgenet GNU Licenses DBpedia KO StatusNet Timttmy RKB Explorer Wiki RKB Explorer Lisbon Taxonconcept Assets RKB Explorer kisti Aspire Uclan DOI Multimedia Lab University Ghent Open Library RKB Explorer OAI RKB Explorer Risks RKB Explorer LAAS Core Libris RKB Explorer Dotac RKB Explorer IEEE RKB Explorer Newcastle RKB Explorer DBLP RKB Explorer Irit Drug Interaction Knowledge Base Sztaki LOD Verrijktkoninkrijk RKB Explorer Resex RKB Explorer Citeseer RKB Explorer Eprints linkedct Aves3D Linklion DBpedia ES StatusNet Russwurm StatusNet Qth StatusNet Mulestable VIVO University of Florida Uniprot Metadata RKB Explorer RAE2001 RKB Explorer Southampton RKB Explorer ACM Sider FU-Berlin URI Burner DBpedia FR StatusNet Hackerposse StatusNet Status.net StatusNet Belfalas StatusNet Recit StatusNet Integralblue StatusNet Ssweeny StatusNet Skilledtests StatusNet Rainbowdash StatusNet Freelish StatusNet schiessle DBpedia live DBpedia DE StatusNet Fcac StatusNet Gomertronic StatusNet Postblue StatusNet gegeweb StatusNet Atari Frosch StatusNet Lebsanft DBpedia EL StatusNet chickenkiller StatusNet Somsants StatusNet Quitter Taxon concept DBpedia NL Code Haus StatusNet Lydiastench StatusNet Morphtown StatusNet Soucy StatusNet Orangeseeds StatusNet mkuttner Geo Wordnet StatusNet Progval StatusNet Qdnx StatusNet Kaimi RKB Explorer NSF CKAN Geospecies RKB Explorer Eprints Harvest RKB Explorer JISC RKB Explorer Curriculum Opencyc StatusNet Thelovebug StatusNet Opensimchat Linked Open Data of Ecology YAGO Freebase StatusNet Dtdns StatusNet chromic StatusNet Bka StatusNet Maymay StatusNet Imirhil GovAgriBus Denmark Archiveshub Linked Data Drugbank FU-Berlin RKB Explorer Courseware Nottingham Trent Resource Lists Aspire UCL Gutenberg O'Reilly RKB Explorer Deepblue KUPKB EUNIS L3S DBLP Morelab LOV Bibbase Aspire NTU Dev8d lobid Resources Aspire Sussex Southampton ECS Eprints Aspire Manchester Viaf Semantic Web DogFood Aspire Keele Semantic Web Grundlagen Colinda DCS Sheffield DWS Group Bibsonomy Southampton ac.uk B3Kat Aspire MMU RKB Explorer OS Datos Bne.es Idref.fr Aspire Brunel Radatana Ciard Ring VIVO Indiana University Bible Ontology Mis Museos GNOSS LCSH PlanetData Project Wiki W3C DBpedia StatusNet 1w6 StatusNet shnoulle Greek Administrative Geography Thist LOD2 Project Wiki UMBEL StatusNet Samnoble StatusNet David Haberthuer Geological Survey of Austria Thesaurus Randomness Guide London Agrovoc Skos Wordpress Linked Geo Data GADM Geovocab Open Mobile Network World Factbook FU-Berlin GovUK Dev Local Authority Services Linked Railway Data Project OSM Open Data Ecuador FAO Geopolitical Ontology Lingvoj Lexvo FOAFProfiles Ordnance Survey Linked Data Universidad de Cuenca Linkeddata Project Gutenberg FU-Berlin RKB Explorer ERA Princeton Library Findingaids Bluk BNB DNB RDF Ohloh BBC Wildlife Finder NUTS Geovocab Linked Open Piracy Enakting Population City Lichfield IATI as Linked Data Open Election Data Project GovUK Homelessness Accept. per 1000 GovUK Net Add. Dwellings GovUK Households Projections Population ESD Standards EPO Revyu Linked MDB Geo Linked Data Govtrack Data for Tourists in Castilla y Leon Wordnet (W3C) RKB Explorer unlocode UTPL LOD Theses.fr Pub Bielefeld Aspire Qmul Data Bnf.fr STW Thesaurus for Economics Amsterdam Museum AS EDN LOD Semanlink NALT EEARod Enakting Mortality BIS 270a.info FRB 270a.info Semanticweb.org DBTune Musicbrainz Geo Names Gesis Thesoz Worldcat RKB Explorer Webscience MyOpenlink Dataspaces WWW Foundation GovUK Education Data ECB 270a.info Open Data Euskadi ISO 639 Oasis Typepad Clean Energy Data Reegle RKB Explorer cordis FAO 270a.info CE4R Open Calais Hellenic Fire Brigade Shoah Victims Names Sudoc.fr Muninn World War I MSC Europeana NHS Jargon Data Open Ac Uk Greek Wordnet Lista Encabeza Mientos Materia ZDB Lexinfo Wordnet (VU) Garnica Plywood Apache Socialsemweb Thesaurus NYTimes Linked Open Data Hellenic Police Yso.fi YSA Semantic Quran JITA Reload RKB Explorer Wordnet OpenlinkSW Dataspaces BBC Music Yso.fi Allars Dewey Decimal Classification Wiktionary DBpedia Glottolog Berlios Green Competitiveness GNOSS Linked Crunchbase RDFize last.fm GEMET Eurostat RDF Interactive Maps GNOSS BBC Programmes GovUK Transparency Impact ind. Households In temp. Accom. Linked Eurostat Transparency 270a.info Reference data.gov.uk Pdev Lemon WOLD GNOSS Open Data RISP Icane Open Energy Info Wiki Eurostat Linked Data Worldbank 270a.info Nomenclator Asturias EU Agencies Bodies BPR OCD Ietflang Olia Lemonuby ineverycrea Deusto Tech Miguiad Eviajes GNOSS Jamendo DBTune Linked Edgar Loius IDS WALS Tags2con Delicious My Experiment Brazilian Politicians SORS ABS 270a.info UIS 270a.info Environment Agency Bathing Water Quality GovUK Societal Wellbeing Deprv. imd Score '10 GovUK Households Accommodated per 1000 Aragodbpedia Openly Local Nextweb GNOSS Didactalia Chronicling America DBTropes Semantic XBRL EEA GovUK Input ind. Local Authority Funding From Government Grant GovUK societal wellbeing deprv. imd rank '07 Enakting NHS Eurostat FU-Berlin GovUK Impact Indicators Planning Applications Granted UK Legislation API GovUK Societal Wellbeing Deprv. Imd Empl. Rank La 2010 GovUK Societal Wellbeing Deprivation Imd Health Rank la 2010 GovUK Impact Indicators Housing Starts Opendata Scotland Simd Employment Rank Statistics data.gov.uk German Labor Law Thesaurus Pokepedia Enakting Crime GovUK Housing Market Cornetto DBnary Flickr Wrappr Datahub.io Lotico Currency Designators Linked NUTS GovUK Transparency Impact Indicators Housing Starts DBTune John Peel Sessions Indymedia Zaragoza Datos Abiertos Eurovoc in SKOS Enakting Energy Ctic Public Dataset Acorn Sat Bootsnall Linked User Feedback Red Uno Internacional GNOSS Proyecto Apadrina Museos Espania GNOSS Umthes RKB Explorer Crime GovUK Transparency Impact Indicators Neighbourhood Plans DBTune Magnatune GovUK Wellbeing lsoa Happy Yesterday Mean GovUK Homelessness Households Accommodated Temporary Housing Types GovUK Households Social Lettings General Needs Lettings Prp Household Composition GovUK Impact Indicators Affordable Housing Starts GovUK Wellbeing Worthwhile Mean GovUK Households Social lettings General Needs Lettings Prp Number Bedrooms GovUK Societal Wellbeing Deprivation Imd Housing Rank la 2010 GovUK Transparency Impact Indicators Planning Applications Granted Opendata Scotland Simd Crime Rank GovUK impact indicators energy efficiency new builds Opendata Scotland Simd Income Rank GovUK imd env. rank 2010 Opendata Scotland Simd Housing Rank ODCL SOA GovUK Societal Wellbeing Deprivation Imd Crime Rank 2010 Linked Mark Mail Isocat Vulnerapedia Artenue Vosmedios GNOSS Elviajero DBTune artists last.fm GovUK Imd Crime Rank 2010 Debian Package Tracking System Jugem Prefix.cc Courts Thesaurus Web Nmasuno Traveler Gem. Thesaurus Audiovisuele Archieven GovUK Societal Wellbeing Deprivation Imd Environment Rank 2010 Bio2RDF Biomodels Linguistics Nobel Prizes Linked Datasets as of August 2014 StatusNet Equestriarp Semantic Web Sommersemester 2016 31 / 354

Semantic Web: Software Triple Stores Datenbanken für Tripel Jena Sesame Virtuoso (kommerziell) Editoren Erstellung von Ontologien Protege (Schwerpunkt OWL) Abfrage-Tools Browsen und Antworten finden Tabulator: Linked-Data-Browser Sesame 2: SPARQL-Query-Engine Integrations-Tools Anbindung von existierenden Systemen D2RQ: Semantisches Liften von Datenbanken XLwrap: Spreadsheets Silk: Finden von URIs, die dieselbe Ressource bezeichnen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 32 / 354

Exkurs: Semantische Netze (Quillian, 1960) früher Ansatz zur grafischen Wissensrepräsentation keine formale Semantik! Netzwerk bedeutet, was der Ersteller meint Konflikte zwischen Benutzer und Programmierer nicht entscheidbar Beispiel (Semantisches Netzwerk) Tier is-a is-a Mensch hat Katze Maus isst is-a is-a Fleisch Tom isst Jerry Ist Tom ein Tier? Ist Jerry Fleisch? Hat jeder Mensch eine Katze? Gehört jede Katze einem Menschen? Essen Katzen nur Fleisch? Was bedeutet is-a? Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 33 / 354

Inhalt 1. Einführung 2. Linked Data, URIs und RDF 2.1 Linked Data 2.2 URIs 2.3 RDF 2.4 RDFS 3. Die Anfragesprache SPARQL 4. Die Web Ontology Language OWL 5. Integration existierender Systeme Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 34 / 354

Inhalt 1. Einführung 2. Linked Data, URIs und RDF 2.1 Linked Data 2.2 URIs 2.3 RDF 2.4 RDFS 3. Die Anfragesprache SPARQL 4. Die Web Ontology Language OWL 5. Integration existierender Systeme Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 35 / 354

Linked Data (Tim Berners-Lee, 2006) 1 Use URIs as names for things. 2 Use HTTP URIs so that people can look up those names. 3 When someone looks up a URI, provide useful information, using the standards (RDF*, SPARQL). 4 Include links to other URIs so that they can discover more things. The real power of the Semantic Web will be realized when people create many programs that collect Web content from diverse sources, process the information and exchange the results with other programs. [... ] The Semantic Web promotes this synergy: even agents that were not expressly designed to work together can transfer data among themselves when the data come with semantics. Berners-Lee et al., Scientific American, 2001 Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 36 / 354

Inhalt 1. Einführung 2. Linked Data, URIs und RDF 2.1 Linked Data 2.2 URIs 2.3 RDF 2.4 RDFS 3. Die Anfragesprache SPARQL 4. Die Web Ontology Language OWL 5. Integration existierender Systeme Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 37 / 354

URIs Uniform Resource Identifier (IETF RFC 3986) compact sequence of characters that identifies an abstract or physical resource 5 Komponenten: scheme http, ftp, tel, mailto, isbn... authority example.org:21, www.dhbw-stuttgart.de (optional) path /themen/hochschule/duales-studium, jan.hladik@dhbw-stuttgart.de query?user=jan&from=home (optional) fragment #intro (optional) URL: Ressource kann elektronisch übertragen werden (UR Locator) Webseiten, PDF-Dokumente URN: Ressource kann elektronisch identifiziert werden (UR Name) Menschen, Bücher IRI: Internationalised RI: erlaubt Unicode Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 38 / 354

URI-Familie Internationalised Resource Identifier Uniform Resource Identifier Uniform Resource Locator Uniform Resource Name Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 39 / 354

Warum URIs? 1 Use URIs as names for things. eindeutige Identifizierung von Entitäten Vermeidung von Doppeldeutigkeiten Beispiel (Disambiguierung) http://informatik.de/franz_baader http://philosophie.de/franz_von_baader http://eishockey.de/franz_baader oder http://mydomain.org/franz_baader_(informatiker) http://mydomain.org/franz_von_baader_(philosoph) http://mydomain.org/franz_baader_(schiedsrichter) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 40 / 354

Warum HTTP-URIs? 2 Use HTTP URIs so that people can look up those names. Disambiguierung ist nur der erste Schritt Welcher URI ist der, den ich suche? HTTP-URIs liefern Datei beim Aufruf liefere Beschreibung der vom URI referenzierten Entität idealerweise: verständlich für Menschen und Computer Verwendung anderer Schemas (mailto, isbn), wenn sinnvoll Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 41 / 354

Inhalt 1. Einführung 2. Linked Data, URIs und RDF 2.1 Linked Data 2.2 URIs 2.3 RDF 2.4 RDFS 3. Die Anfragesprache SPARQL 4. Die Web Ontology Language OWL 5. Integration existierender Systeme Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 42 / 354

Einführung in RDF Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 43 / 354

RDF: Modellierung mit gerichteten Graphen 3 When someone looks up a URI, provide useful information, using the standards (RDF*, SPARQL). http://example.org/semanticweb ex:verlegtbei http://springer.com/verlag Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 44 / 354

Allgemeines zu RDF Resource Description Framework W3C Recommendation (http://www.w3.org/rdf) Datenmodell ursprünglich: zur Angabe von Metadaten für Web-Ressourcen, später allgemeiner kodiert strukturierte Informationen universelles, maschinenlesbares Austauschformat Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 45 / 354

Bestandteile von RDF-Graphen URIs Zur eindeutigen Referenzierung von Ressourcen Literale Beschreiben Daten, die keine Entitäten sind z.b. Zahlen, Datumsangaben, Strings Leere Knoten Erlauben Existenzaussagen über eine Entität mit gewissen Eigenschaften, ohne sie zu benennen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 46 / 354

Literale Zur Repräsentation von Datenwerten Darstellung als Zeichenketten Interpretation erfolgt durch Datentyp Literale ohne Datentyp werden wie Zeichenketten behandelt http://example.org/verlegtbei http://example.org/semanticweb http://example.org/titel Semantic Web Grundlagen http://springer.com/verlag Springer Verlag http://example.org/name Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 47 / 354

Graph als Menge von Tripeln Verschiedene Darstellungsmöglichkeiten für Graphen Hier verwendet: Liste von (Knoten-Kante-Knoten)-Tripeln http://example.org/verlegtbei http://example.org/semanticweb http://example.org/titel Semantic Web Grundlagen http://springer.com/verlag Springer Verlag http://example.org/name Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 48 / 354

RDF-Tripel Bestandteile eines RDF-Tripels Subjekt Prädikat Objekt http://example.org/verlegtbei http://example.org/semanticweb http://springer.com/verlag Angelehnt an linguistische Kategorien Erlaubte Belegungen: Subjekt URI (oder leerer Knoten) Prädikat URI Objekt URI oder Literal (oder leerer Knoten) Knoten- und Kantenbezeichner eindeutig, daher ursprünglicher Graph aus Tripel-Liste rekonstruierbar Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 49 / 354

Wiederholung: Linked-Data-Prinzipien 1 Use URIs as names for things. 2 Use HTTP URIs so that people can look up those names. 3 When someone looks up a URI, provide useful information, using the standards (RDF*, SPARQL). 4 Include links to other URIs so that they can discover more things. Verwende auch URIs aus anderen Ontologien als Objekt in Tripeln Wenn man über bekannte Ressourcen spricht: nicht das Rad neu erfinden (benötigten Teil in eigener Ontologie nachbauen) sondern existierendes Wissen verwenden Vorteile Informationen wird automatisch aktualisiert Benutzern stehen alle verfügbaren Informationen zur Verfügung, nicht nur die aus Sicht des Entwicklers nützlichen Verteilung für Benutzer transparent Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 50 / 354

Wiederholung: Semantic Web Größe des Kreises: Anzahl Tripel Größte: > 1.000.000.000 Breite des Pfeils A B: Anzahl Tripel in A mit Objekt-URI aus B Breiteste: > 100.000 Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 51 / 354

Einfache Syntax für RDF XML gut zu parsen, aber schwer zu lesen Notation 3 (N3) umfangreicher Formalismus N-Triples Teil von N3 Terse Triple Language (TTL / Turtle ) Erweiterung von N-Triples (Abkürzungen) Syntax in Turtle: URIs in spitzen Klammern Literale in Anführungszeichen Tripel durch Punkt abgeschlossen Leerzeichen und Zeilenumbrüche außerhalb von Bezeichnern werden ignoriert Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 52 / 354

Turtle-Syntax: Präfixe Beispiel (Tripel in Turtle-Notation) <http://example.org/semanticweb> <http://example.org/verlegtbei> <http://springer.com/verlag>. <http://example.org/semanticweb> <http://example.org/titel> "Semantic Web -- Grundlagen". <http://springer.com/verlag> <http://example.org/name> "Springer Verlag". Beispiel (Abkürzungen in Turtle) @prefix ex: <http://example.org/>. @prefix springer: <http://springer.com/>. ex:semanticweb ex:verlegtbei springer:verlag. ex:semanticweb ex:titel "Semantic Web -- Grundlagen". springer:verlag ex:name "Springer Verlag". Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 53 / 354

Turtle Syntax: Abkürzungen Mehrere Tripel mit gleichem Subjekt kann man zusammenfassen: Beispiel @prefix ex: <http://example.org/>. @prefix springer: <http://springer.com/>. ex:semanticweb ex:verlegtbei springer:verlag ; ex:titel "Semantic Web -- Grundlagen". springer:verlag ex:name "Springer Verlag". Ebenso Tripel mit gleichem Subjekt und Prädikat: Beispiel @prefix ex: <http://example.org/>. ex:semanticweb ex:autor ex:hitzler, ex:krötzsch, ex:rudolph, ex:sure ; ex:titel "Semantic Web -- Grundlagen". Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 54 / 354

Übung Turtle-Syntax Wir nehmen an, dass diese Vorlesung den (fiktiven) URI http://dhbw.de/sw2016 hat, Jan Hladik hat den URI http://example.org/jan_hladik. Modellieren Sie in Turtle und grafisch, dass Jan Hladik diese Vorlesung hält (http://example.org/haelt), die außerdem den Titel Semantic Web hat. Verwenden Sie wo möglich eine abkürzende Schreibweise. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 55 / 354

Datentypen Abstrakt Beispiel (xsd:decimal) Bzgl. xsd:decimal gilt 3.14 = +03.14 Bzgl. xsd:string nicht! Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 56 / 354

Datentypen in RDF Bisher: Literale untypisiert, wie Strings behandelt (z.b.: 02 < 100 < 11 < 2 ) Typisierung erlaubt besseren (semantischen) Umgang mit Werten Datentypen durch URIs identifiziert und im Prinzip frei wählbar häufig: Verwendung von XML-Schema-Datentypen Abkürzung/Präfix: xsd TTL-Syntax: Datenwert ˆˆDatentyp-URI Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 57 / 354

Datentypen in RDF Beispiel Graph: http://springer.com/verlag http://example.org/name http://example.org/gründungstag Springer Verlag ˆˆhttp://www.w3.org/2001/XMLSchema#string 1842-05-10 ˆˆhttp://www.w3.org/2001/XMLSchema#date Turtle: @prefix xsd: <http://www.w3.org/2001/xmlschema#>. <http://springer.com/verlag> <http://example.org/name> "Springer Verlag"^^xsd:string ; <http://example.org/gründungstag> "1842-05-10"^^xsd:date. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 58 / 354

Der vordefinierte Datentyp rdf:xmlliteral ist einziger vordefinierter Datentyp in RDF Bezeichnet beliebige (balancierte) XML-Fragmente In RDF/XML besondere Syntax zur eindeutigen Darstellung Attribut nicht rdf:datatype="&rdf;xmlliteral" sondern rdf:parsetype="literal" Beispiel (XML Literal) <rdf:description rdf:about="http://example.org/semanticweb"> <ex:titel rdf:parsetype="literal"> <b>semantic Web</b><br /> Grundlagen </ex:titel> </rdf:description> Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 59 / 354

Sprachangaben und Datentypen Sprachinformationen durch Codes, z.b. de, en beeinflusst nur untypisierte Literale Beispiel (Sprachinformationen in Turtle) <http://springer.com/verlag> <http://example.org/name> "Springer Verlag"@de, "Springer Science+Business Media"@en. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 60 / 354

Sprachangaben und Datentypen Nach RDF-Spezifikation sind demnach die folgenden Literale unterschiedlich: @prefix xsd: <http://www.w3.org/2001/xmlschema#> <http://springer.com/verlag> <http://example.org/name> "Springer Verlag", "Springer Verlag"@de, "Springer Verlag"^^xsd:string. Sie werden aber in der Regel gleich behandelt. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 61 / 354

Mehrwertige Beziehungen Für die Zubereitung von Chutney benötigt man 450g grüne Mango, einen Teelöffel Cayennepfeffer,... Beispiel (Turtle Chutney 1) @prefix ex: <http://example.org/>. ex:chutney ex:hatzutat "450g grüne Mango", "1 TL Cayennepfeffer",... Nicht zufriedenstellend: Zutaten samt Menge als Zeichenkette Suche nach Rezepten, die grüne Mango beinhalten, so nicht möglich Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 62 / 354

Mehrwertige Beziehungen Für die Zubereitung von Chutney benötigt man 450g grüne Mango, einen Teelöffel Cayennepfeffer,... Beispiel (Turtle Chutney 2) @prefix ex: <http://example.org/>. ex:chutney ex:hatzutat ex:grünemango; ex:menge "450g"; ex:hatzutat ex:cayennepfeffer; ex:menge "1 TL";... Überhaupt nicht zufriedenstellend: keine eindeutige Zuordnung von konkreter Zutat und Menge mehr möglich Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 63 / 354

Mehrwertige Beziehungen Für die Zubereitung von Chutney benötigt man 450g grüne Mango, einen Teelöffel Cayennepfeffer,... Beispiel (Turtle Chutney 3) @prefix ex: <http://example.org/>. ex:chutney ex:hatzutat ex:grünemango; ex:hatzutat ex:cayennepfeffer. ex:grünemango ex:menge "450g". ex:cayennepfeffer ex:menge "1 TL". Ebenfalls nicht zufriedenstellend: Menge wird zu Eigenschaft der Zutat scheitert bei mehreren Rezepten mit gleicher Zutat Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 64 / 354

Mehrwertige Beziehungen: Grundlagen Problem: es handelt sich um eine echte dreiwertige (auch: ternäre) Beziehung (s. z.b. Datenbanken) Gericht Zutat Menge Chutney grüne Mango 450g Chutney Cayennepfeffer 1 TL Direkte Darstellung in RDF nicht möglich Lösung: Einführung von Hilfsknoten Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 65 / 354

Mehrwertige Beziehungen in RDF Beispiel (Hilfsknoten in RDF) Als Graph http://example.org/chutney http://example.org/grünemango http://example.org/hatzutat http://example.org/zutat http://example.org/chutneyzutat1 http://example.org/menge 450g Turtle-Syntax @prefix ex: <http://example.org/>. @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. ex:chutney ex:hatzutat ex:chutneyzutat1. ex:chutneyzutat1 ex:zutat ex:grünemango; ex:menge "450g".... Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 66 / 354

Leere Knoten Hilfsknoten in RDF: Leere Knoten (blank nodes, bnodes) können für Ressourcen verwendet werden, die nicht benannt werden müssen (z.b. Hilfsknoten) Können als Existenzaussagen gelesen werden Beispiel (bnode) http://example.org/chutney http://example.org/grünemango http://example.org/hatzutat http://example.org/zutat http://example.org/menge 450g Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 67 / 354

Leere Knoten in TTL Beispiel (Turtle-Syntax) @prefix ex: <http://example.org/>. ex:chutney ex:hatzutat _:id1. _:id1 ex:zutat ex:grünemango ; ex:menge "450g". Beispiel (Verkürzte TTL-Schreibweise) @prefix ex: <http://example.org/>. ex:chutney ex:hatzutat [ ex:zutat ex:grünemango ; ex:menge "450g" ]. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 68 / 354

Online-Tools zu RDF-Syntax RDF/XML Syntax-Check und Visualisierung: https://www.w3.org/rdf/validator/ Konverter TTL XML (und andere Varianten) http://www.easyrdf.org/converter http://rdf-translator.appspot.com/ Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 69 / 354

Übung: bnodes 1 Zweiseitige Verträge lassen sich in RDF einfach modellieren: ex:mieter ex:hatmietvertragmit ex:vermieter. Modellieren Sie einen dreiseitigen Ausbildungsvertrag der DHBW (Student, DHBW, Ausbildungsbetrieb) mit Hilfe von bnodes. 2 Modellieren Sie in RDF (als Graph und TTL): ex:meinauto hat die folgenden Bestandteile (ex:hatteil): 4 Räder (ex:rad) 2 Türen (ex:tür) 1 Motor (ex:motor) der Motor hat die Teile 1 Motorblock 4 Zylinder 8 Ventile Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 70 / 354

Reifikation: Modellierung von Aussagen über Aussagen Der Detektiv vermutet, dass der Butler den Gärtner ermordet hat. Beispiel (Detektiv 1) ex:detektiv ex:vermutet "Der Butler hat den Gärtner ermordet.". Ungünstig: auf Literal-Elemente kann schlecht in anderen Aussagen Bezug genommen werden (keine URIs) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 71 / 354

Reifikation Der Detektiv vermutet, dass der Butler den Gärtner ermordet hat. Beispiel (Detektiv 2) ex:detektiv ex:vermutet ex:derbutlerhatdengärtnerermordet. Ungünstig: innere Struktur der dass-aussage geht verloren Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 72 / 354

Reifikation Modellierung von Aussagen über Aussagen (häufig zu erkennen am Wort dass ) in RDFS ist problematisch Dass-Aussage leicht in RDF modellierbar: ex:butler ex:hatermordet ex:gärtner. Wünschenswert: ganzes RDF-Tripel als Objekt eines anderen Tripels ex:detektiv ex:vermutet (ex:butler ex:hatermordet ex:gärtner.). kein gültiges RDF! Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 73 / 354

Reifikation Lösung (ähnlich wie bei mehrwertigen Beziehungen): Hilfsknoten für die geschachtelte Aussage: ex:detektiv ex:vermutet ex:butler ex:ermordet ex:gärtner Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 74 / 354

Reifikation ex:detektiv ex:vermutet rdf:subject rdf:predicate ex:theorie rdf:object ex:butler ex:hatermordet ex:gärtner Reifizieren Zu einem Ding machen Das Tripel wird zu einer Ressource gemacht Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 75 / 354

Reifikation Achtung: reifiziertes Tripel muss nicht unbedingt gelten wäre auch nicht immer sinnvoll Der Detektiv bezweifelt, dass der Butler den Gärtner ermordet hat. Falls dies gewünscht ist, muss das originale (unreifizierte) Tripel dem RDF-Dokument nochmals hinzugefügt werden Der Detektiv weiß, dass... Der Klassenbezeichner rdf:statement dient zur Kennzeichnung aller solcher Aussagen-Hilfsknoten Falls auf eine Aussage nicht (extern) Bezug genommen wird, kann der entsprechende Hilfsknoten ein bnode sein Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 76 / 354

Übung: Reifikation (1) Was besagt der folgende RDF Graph? ex:?z rdf:subject ex:?y ex:willverhindern rdf:predicate ex:entdeckt rdf:subject rdf:object rdf:type ex:hatgetötet rdf:predicate rdf:type rdf:statement rdf:object ex:?x Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 77 / 354

Übung: Reifikation (2) Stellen Sie folgende Aussagen mithilfe reifizierter Tripel grafisch dar (aus Platzgründen können Sie anstelle kompletter URIs eigene kurze Bezeichner für Elemente verwenden). 1 Romeo meinte, Julia sei tot. 2 John glaubt, dass Mary ihn heiraten möchte. 3 Der Zwerg bemerkte, dass irgend jemand von seinem Tellerchen gegessen hatte. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 78 / 354

Listen Allgemeine Datenstrukturen zur Aufzählung von beliebig vielen Ressourcen (Reihenfolge relevant), z.b. Autoren eines Buches Unterscheidung zwischen offenen Listen (Container) Hinzufügen von neuen Einträgen möglich geschlossenen Listen (Collections) Hinzufügen von neuen Einträgen nicht möglich Können auch mit bereits vorgestellten Ausdrucksmitteln modelliert werden, also keine zusätzliche Ausdrucksstärke Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 79 / 354

Offene Listen (Container) http://www.w3.org/1999/ 02/22-rdf-syntax-ns# 1 http://example.org/hitzler http://example.org/semanticweb http://example.org/autoren http://www.w3.org/1999/ 02/22-rdf-syntax-ns# 2 http://example.org/krötzsch http://www.w3.org/1999/ 02/22-rdf-syntax-ns#type http://www.w3.org/1999/ 02/22-rdf-syntax-ns#Seq http://www.w3.org/1999/ 02/22-rdf-syntax-ns# 3 http://www.w3.org/1999/ 02/22-rdf-syntax-ns# 4 http://example.org/rudolph http://example.org/sure Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 80 / 354

Typen offener Listen Via rdf:type wird dem Listen-Wurzelknoten ein Listentyp zugewiesen: rdf:seq Interpretation als geordnete Liste (Sequenz) rdf:bag Interpretation als ungeordnete Menge In RDF kodierte Reihenfolge nicht von Belang rdf:alt Menge alternativer Möglichkeiten Im Regelfall immer nur ein Listeneintrag relevant Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 81 / 354

Geschlossene Listen (Collections) Graph: http://example.org/autoren http://example.org/semanticweb http://www.w3.org/1999/02/22-rdf-syntax-ns#rest http://www.w3.org/1999/02/22-rdf-syntax-ns#rest http://www.w3.org/1999/02/22-rdf-syntax-ns#rest http://www.w3.org/1999/02/22-rdf-syntax-ns#rest http://www.w3.org/1999/ 02/22-rdf-syntax-ns#nil http://www.w3.org/1999/ 02/22-rdf-syntax-ns#first http://www.w3.org/1999/ 02/22-rdf-syntax-ns#first http://www.w3.org/1999/ 02/22-rdf-syntax-ns#first http://www.w3.org/1999/ 02/22-rdf-syntax-ns#first http://example.org/hitzler http://example.org/krötzsch http://example.org/rudolph http://example.org/sure Idee: Verkettete Liste (rekursive Datenstruktur) first Kopfelement rest Restliste (kann leer sein) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 82 / 354

Geschlossene Listen (Collections) Turtle-Syntax @prefix ex: <http://example.org/>. ex:semanticweb ex:autoren ( ex:hitzler ex:krötzsch ex:rudolph ex:sure ). Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 83 / 354

Übung: RDF-Syntax Entscheiden Sie, ob die folgenden Aussagen wahr oder falsch sind: 1 URIs können für beliebige Ressourcen (Subjekt/Prädikat/Objekt) stehen. 2 Leere Knoten können für beliebige Ressourcen stehen. 3 Literale können für beliebige Ressourcen stehen. 4 Zwei leere Knoten mit unterschiedlicher ID können für die gleiche Ressource stehen. 5 Zwei unterschiedliche URIs können für die gleiche Ressource stehen. 6 Kommen in mehreren RDF-Dokumenten leere Knoten mit der selben ID vor, dann müssen sie für die selbe Ressource stehen. 7 Kommen in mehreren RDF-Dokumenten die gleichen URIs vor, dann müssen sie für die selbe Ressource stehen. 8 Zwei unterschiedliche Literale können niemals für den gleichen Wert stehen. 9 Zwei Literale unterschiedlichen Datentyps können niemals für den gleichen Wert stehen. 10 Leere Knoten können nicht als Prädikate in Tripeln auftreten. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 84 / 354

Verbreitungsgrad von RDF Zahlreiche RDF-Tools verfügbar Programmier-Bibliotheken für praktisch jede Programmiersprache Frei verfügbare Systeme zum Umgang mit großen RDF-Datenmengen (Triple Stores) Auch kommerzielle Anbieter (z.b. Oracle) unterstützen zunehmend RDF Editoren (Protege) Integrations-Tools (Anbindung von Datenbanken u. ä.) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 85 / 354

Bewertung von RDF Fähigkeiten Universeller Standard für Speicherung und Austausch von Daten Leicht zu verstehendes graph-basiertes Datenmodell Unterstützung für global eindeutige Vokabulare Grenzen Schwerpunkt auf Faktenwissen (Individuen) Hamlet hat den Autor Shakespeare Mein Auto hat einen Motor Kaum Möglichkeiten zur Kodierung von Schemawissen Nur Menschen sind Autoren. Bücher und Zeitschriften sind Veröffentlichungen. Intuitive Semantik: Bedeutung der Vokabulare bleibt im Kopf der Anwender Bedeutung von ex:titel ist nicht im RDF-Graph enthalten Anwender muss Bedeutung kennen und Ressource richtig benutzen ähnlich Semantischen Netzwerken Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 86 / 354

Inhalt 1. Einführung 2. Linked Data, URIs und RDF 2.1 Linked Data 2.2 URIs 2.3 RDF 2.4 RDFS 3. Die Anfragesprache SPARQL 4. Die Web Ontology Language OWL 5. Integration existierender Systeme Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 87 / 354

RDF Schema Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 88 / 354

Schemawissen mit RDFS RDF bietet universelle Möglichkeit zur Kodierung von faktischen Daten im Web: http://example.org/semanticweb ex:verlegtbei http://springer.com/verlag Aussagen über einzelne Ressourcen (Individuen) und deren Beziehungen wünschenswert: Aussagen über generische Mengen von Individuen (Klassen), z.b. Verlage, Organisationen, Personen etc. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 89 / 354

Schemawissen mit RDFS Weiterhin wünschenswert: Spezifikation der logischen Zusammenhänge zwischen Individuen, Klassen und Beziehungen Verlage sind Organisationen. Etwas, das einen Autor hat, ist eine Veröffentlichung. bessere Repräsentation der Semantik des Gegenstandsbereiches In Datenbank-Terminologie: Schemawissen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 90 / 354

Schemawissen mit RDFS RDF Schema (RDFS): Teil der W3C Recommendation zu RDF Ermöglicht Spezifikation von schematischem (terminologischem) Wissen Spezielles RDF-Vokabular (also: jedes RDFS-Dokument ist ein RDF-Dokument) Namensraum (i.d.r. abgekürzt mit rdfs): http://www.w3.org/2000/01/rdf-schema# Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 91 / 354

Schemawissen mit RDFS RDF Schema (RDFS): Vokabular ist generisch, nicht themengebunden (wie z.b. FOAF) erlaubt die Spezifikation der Semantik beliebiger RDF-Vokabulare Vorteil: jede Software mit RDFS-Unterstützung interpretiert jedes mittels RDFS definierte Vokabular korrekt Funktionalität macht RDFS zu einer Ontologiesprache (für leichtgewichtige - engl.: lightweight - Ontologien) eingeschränkte Ausdrucksmöglichkeiten keine Widersprüche modellierbar (z.b. keine Negation) A little semantics goes a long way. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 92 / 354

Klassen und Instanzen Typisierung von Ressourcen schon in RDF für Listen: http://example.org/semanticweb http://www.w3.org/1999/ 02/22-rdf-syntax-ns# 1 http://example.org/hitzler http://example.org/autoren http://www.w3.org/1999/ 02/22-rdf-syntax-ns# 2 http://example.org/krötzsch http://www.w3.org/1999/ 02/22-rdf-syntax-ns#type http://www.w3.org/1999/ 02/22-rdf-syntax-ns#Seq http://www.w3.org/1999/ 02/22-rdf-syntax-ns# 3 http://www.w3.org/1999/ 02/22-rdf-syntax-ns# 4 http://example.org/rudolph http://example.org/sure Prädikat rdf:type weist dem Subjekt das Objekt als Typ zu Subjekt ist Instanz der Klasse, die das Objekt bezeichnet Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 93 / 354

Klassen und Instanzen Beispiel (Klassen und Instanzen) ex:semanticweb rdf:type ex:lehrbuch. Charakterisiert Semantic Web - Grundlagen als Instanz der (neu definierten) Klasse Lehrbuch Klassenzugehörigkeit ist nicht exklusiv, z.b. mit o.g. Tripel gleichzeitig möglich: ex:semanticweb rdf:type ex:informativ. eindeutige Unterscheidung zwischen Individuen- und Klassenbezeichnern a priori nicht möglich Auch in der Realität Charakterisierung manchmal schwierig http://www.un.org/#uri Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 94 / 354

Die Klasse aller Klassen Eindeutige Kennzeichnung eines URI als Klassenbezeichner oft wünschenswert Typisierung möglich durch rdfs:class ex:lehrbuch rdf:type rdfs:class. rdfs:class ist also die Klasse aller Klassen rdfs:class enthält sich selbst Das Tripel rdfs:class rdf:type rdfs:class. gilt immer. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 95 / 354

Unterklassen - Motivation Beispiel (Jedes Lehrbuch ist ein Buch) ex:semanticweb rdf:type ex:lehrbuch. Problem Suche nach Instanzen von ex:buch liefert kein Resultat Ausweg Hinzufügen des Tripels ex:semanticweb rdf:type ex:buch. Nachteile Löst das Problem nur für eine Ressource ex:semanticweb Automatisches Hinzufügen für alle Instanzen führt zu unnötig großen RDF-Dokumenten Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 96 / 354

Unterklassen Besser: einmalige Aussage, dass jedes Lehrbuch auch ein Buch ist d.h. jede Instanz der Klasse ex:lehrbuch ist automatisch auch eine Instanz der Klasse ex:buch Realisiert durch Property rdfs:subclassof ex:lehrbuch rdfs:subclassof ex:buch. Die Klasse der Lehrbücher ist eine Unterklasse der Klasse der Bücher. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 97 / 354

Unterklassen rdfs:subclassof-property ist reflexiv, d.h. jede Klasse ist Unterklasse von sich selbst ex:lehrbuch rdfs:subclassof ex:lehrbuch. Umgekehrt: Festlegung der Gleichheit zweier Klassen durch gegenseitige Unterklassenbeziehung ex:hospital rdfs:subclassof ex:krankenhaus. ex:krankenhaus rdfs:subclassof ex:hospital. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 98 / 354

Klassenhierarchien Üblich: nicht nur einzelne Unterklassenbeziehungen, sondern ganze Klassenhierarchien (Taxonomien) ex:lehrbuch rdfs:subclassof ex:buch. ex:buch rdfs:subclassof ex:printmedium. ex:zeitschrift rdfs:subclassof ex:printmedium. Transitivität von rdfs:subclassof in RDFS-Semantik verankert es folgt automatisch ex:lehrbuch rdfs:subclassof ex:printmedium. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 99 / 354

%<rdf:rdf Jan Hladik (DHBW xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" Stuttgart) Semantic Web Sommersemester 2016 100 / 354 Ausgeprägte Klassenhierarchien in Naturwissenschaften Beispiel (zoologische Einordnung des modernen Menschen) @prefix ex: <http://example.org/>. ex:animalia rdf:type rdfs:class. ex:vertebrata rdf:type rdfs:class ; rdfs:subclassof ex:animalia. ex:mammalia rdf:type rdfs:class ; rdfs:subclassof ex:vertebrata. ex:primates rdf:type rdfs:class ; rdfs:subclassof ex:mammalia. ex:hominidae rdf:type rdfs:class ; rdfs:subclassof ex:primates. ex:homo rdf:type rdfs:class ; rdfs:subclassof ex:hominidae. ex:homosapiens rdf:type rdfs:class ; rdfs:subclassof ex:homo.

Klassen und Mengen Intuitive Parallele zur Mengenlehre: rdf:type entspricht rdfs:subclassof entspricht Rechtfertigt auch Reflexivität und Transitivität von rdfs:subclassof zwei der Bedeutungen von is-a in Semantischen Netzen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 101 / 354

Vordefinierte Klassen (1) rdfs:resource Klasse aller Ressourcen (sämtliche Elemente der Domäne) rdf:property Klasse aller Properties (Ressourcen, die als Prädikate fungieren können) rdf:list, rdf:seq, rdf:bag, rdf:alt, rdfs:container Klassen verschiedener Arten von Listen rdfs:containermembershipproperty Klasse aller Properties, die eine Enthaltenseinsbeziehung darstellen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 102 / 354

Vordefinierte Klassen (2) rdf:xmlliteral Klasse aller Werte des vordefinierten Datentyps XMLLiteral rdfs:literal Klasse aller Literalwerte (enthält alle Datentypen als Unterklassen) rdfs:datatype Klasse aller Datentypen (wie rdfs:class eine Klasse von Klassen) rdf:statement Klasse aller reifizierten Aussagen (s. Kapitel zu Reifizierung) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 103 / 354

Properties Charakterisieren Beziehung zwischen zwei Ressourcen Mathematisch oft dargestellt als Relation (Menge von Paaren): verheiratetmit = {(Adam, Eva), (Brad, Angelina),...} Property-Bezeichner in Tripeln üblicherweise an Prädikatsstelle Ausnahme: RDF(S)-Terminologie: ex:verlegtbei rdf:type rdf:property. ex:verlegtbei rdfs:domain ex:publikation. ex:verlegtbei rdfs:range ex:verlag. Achtung: Properties sind in RDF(S) nicht (wie in OOP) speziellen Klassen zugeodnet nicht notwendig nicht immer sinnvoll ( Menschen oder Institutionen besitzen Dinge ) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 104 / 354

Unterproperties Ähnlich zu Unter-/Oberklassen auch Unter-/Oberproperties möglich Darstellung in RDFS mittels rdfs:subpropertyof ex:glücklichverheiratetmit rdf:subpropertyof ex:verheiratetmit. Beispiel (Unterproperties) ex:markus ex:glücklichverheiratetmit ex:anja. impliziert dann ex:markus ex:verheiratetmit ex:anja. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 105 / 354

Bereichs-Einschränkungen für Properties Viele Properties verbinden nur bestimmte Typen von Ressourcen Beispiel (Bereichs-Einschränkungen) ex:verlegtbei verbindet nur Publikationen mit Verlagen Aus dem Tripel a ex:verlegtbei b. folgt: a rdf:type ex:publikation. b rdf:type ex:verlag. Codierung in RDFS: ex:verlegtbei rdfs:domain ex:publikation. ex:verlegtbei rdfs:range ex:verlag. Auch zur Angabe von Datentypen für Literale: ex:hatalter rdfs:range xsd:nonnegativeinteger. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 106 / 354

Einschränkung von Properties Propertyeinschränkungen bieten die einzige Möglichkeit, semantische Zusammenhänge zwischen Properties und Klassen zu spezifizieren Achtung: Propertyeinschränkungen wirken global und konjunktiv ex:autorvon rdfs:range ex:kochbuch. ex:autorvon rdfs:range ex:märchenbuch. bedeutet: jede Entität, von der jemand Autor ist, ist gleichzeitig Kochbuch und Märchenbuch Daher: Immer allgemeinste mögliche Klasse als domain/range Wenn es keine eindeutige Klasse gibt, keine Einschränkung angeben Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 107 / 354

Übung: Klassen und Schemawissen Entscheiden Sie, ob sich die folgenden Aussagen mittels RDF(S) zufriedenstellend modellieren lassen und geben Sie gegebenenfalls entsprechende RDF(S)-Spezifikationen an. 1 Jede Pizza ist eine Speise. 2 Pizzen haben immer mindestens zwei Beläge. 3 Jede Pizza der Klasse PizzaMargarita hat Tomate als Belag. 4 Alles, was einen Belag hat, ist eine Pizza. 5 Keine Pizza der Klasse PizzaMargarita hat Belag aus der Klasse Fleisch. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 108 / 354

Arbeit mit offenen Listen Zur Erinnerung: offene Listen in RDF: http://www.w3.org/1999/ 02/22-rdf-syntax-ns# 1 http://example.org/hitzler http://example.org/semanticweb http://example.org/autoren http://www.w3.org/1999/ 02/22-rdf-syntax-ns# 2 http://example.org/krötzsch http://www.w3.org/1999/ 02/22-rdf-syntax-ns#type http://www.w3.org/1999/ 02/22-rdf-syntax-ns#Seq http://www.w3.org/1999/ 02/22-rdf-syntax-ns# 3 http://www.w3.org/1999/ 02/22-rdf-syntax-ns# 4 http://example.org/rudolph http://example.org/sure Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 109 / 354

Arbeit mit offenen Listen rdfs:container Oberklasse von rdf:seq, rdf:bag, rdf:alt rdfs:containermembershipproperty Instanzen sind keine Individuen, sondern selbst Properties Intendierte Semantik: jede Property, die aussagt, dass das Objekt im Subjekt enthalten ist, ist Instanz von rdfs:containermembershipproperty Es gilt also insbesondere rdf:_1 rdf:type rdfs:containermembershipproperty. rdf:_2 rdf:type rdfs:containermembershipproperty. etc. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 110 / 354

Arbeit mit offenen Listen rdfs:member Oberproperty aller in rdfs:containermembershipproperty enthaltenen Properties, also die universelle Enthaltenseinsrelation Damit in RDFS-Semantik verankert: aus p rdf:type rdfs:containermembershipproperty. und a p b. folgt das Tripel a rdfs:member b. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 111 / 354

Zusatzinformationen Wie bei Programmiersprachen manchmal Hinzufügen von Kommentaren (ohne Auswirkung auf Semantik) wünschenswert erhöht der Verständlichkeit für menschlichen Nutzer Zwecks einheitlicher Syntax wird auch dieses Wissen im RDF-Graph repräsentiert Properties rdfs:label und rdfs:comment Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 112 / 354

Die Property rdfs:label Property, die einer Ressource einen alternativen Namen zuweist (Literal) Oftmals sind URIs schwer lesbar; zumindest unhandlich Bedeutung sollte unabhängig von URIs sein durch rdfs:label zugewiesener Name wird z.b. häufig von Tools bei der graphischen Darstellung verwendet Beispiel (rdfs:label) ex:hominidae rdf:type rdfs:class ; rdfs:label "Menschenaffen"@de. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 113 / 354

Die Property rdfs:comment Property, die einer Ressource einen Kommentar zuweist (Literal) typisch: länger als rdfs:label, mehrere Sätze Beinhaltet z.b. natürlichsprachliche Definition einer neu eingeführten Klasse erleichtert spätere intentionsgemäße Wiederverwendung rdfs:isdefinedby Gibt URI an, durch die eine Ressource definiert wurde ähnlich Quellenangabe rdfs:seealso ist Oberproperty von rdfs:isdefinedby unspezifischer Link zu weiterführenden verwandten URIs ähnlich HTML-Link: keine Semantik wann immer möglich: spezifischere Property verwenden Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 114 / 354

rdfs:label und rdfs:comment Beispiel (Verwendung von RDFS-Properties) @prefix wikipedia: <http://de.wikipedia.org/wiki/>. @prefix ex: <http://example.org/>. ex:primates rdf:type rdfs:class ; rdf:label "Primaten"@de ; rdf:comment "Eine Säugetierordnung. Primaten zeichnen sich durch ein hochentwickeltes Gehirn aus. Sie besiedeln hauptsächlich die wärmeren Erdregionen. Die Bezeichnung Primates (lat. "Herrentierre") stammt von Carl von Linné."@de ; rdfs:seealso wikipedia:primaten ; rdfs:subclassof ex:mammalia. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 115 / 354

Übung: Nutzung von RDFS-Labels und Descriptions Betrachten Sie die FOAF-Ontologie auf http://xmlns.com/foaf/spec/ Erstellen Sie unter Verwendung des FOAF-Vokabulars eine TTL-Datei mit Ihren Informationen. Nutzen Sie zur korrekten Verwendung der Terme die durch rdfs:label und rdfs:description zur Verfügung gestellten Informationen. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 116 / 354

Beispiel: FOAF-File von Tim Berners-Lee Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 117 / 354

Einfache Ontologien Mit den durch RDFS bereitgestellten Sprachmitteln können bestimmte Gegenstandsbereiche bereits in wichtigen Aspekten semantisch erfasst werden Auf der Basis der speziellen Semantik von RDFS kann schon ein gewisses Maß impliziten Wissens geschlussfolgert werden Mithin stellt RDFS eine (wenn auch noch vergleichsweise wenig ausdrucksstarke) Ontologiesprache dar Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 118 / 354

Beispiel: Einfache Ontologien ex:thaicurry ex:gerichtbasierendauf ex:kokosmilch. ex:sebastian rdf:type ex:nussallergiker. ex:sebastian ex:isst ex:thaicurry. ex:nussallergiker rdfs:subclassof ex:bedauernswert. ex:gerichtbasierendauf rdfs:domain ex:gericht. ex:gerichtbasierendauf rdfs:range ex:zutat. ex:gerichtbasierendauf rdfs:subpropertyof ex:hatzutat. ex:hatzutat rdf:type rdfs:containermembershipproperty. rdfs:containermembershipproperty rdf:type ex:bedauernswert ex:gericht ex:hatzutat rdfs:range rdfs:subclassof rdfs:domain rdfs:subpropertyof ex:nussallergiker ex:gerichtbasierendauf terminologisches Wissen (RDFS) rdf:type assertionales Wissen (RDF) ex:zutat ex:sebastian ex:isst ex:thaicurry ex:gerichtbasierendauf ex:kokosmilch Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 119 / 354

Verschiedene Arten von Informationen in RDF-Graphen RDF(S)-Graphen enthalten 3 verschiedene Typen von Informationen 1 Vokabular-Definitionen ex:gericht rdf:type rdfs:class ex:isst rdf:type rdf:property Analog in Prädikatenlogik: Signatur (Funktions-/Relationssymbole) G ist einstelliges, I zweistelliges Relationssymbol 2 Terminologisches Wissen Aussagen über Klassen und Properties sowie deren Zusammenhänge ex:thaigericht rdfs:subclassof ex:gericht ex:gerichtbasierendauf rdfs:range ex:zutat Analog in PL: Sätze ohne Konstanten: x(t (x) G(x)) 3 Assertionales Wissen über Individuen, deren Beziehungen zueinander und zu Klassen ex:thaicurry rdf:type ex:thaigericht ex:sebastian ex:isst ex:thaicurry Analog in PL: Sätze mit Konstanten: T (tc), I(s, tc) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 120 / 354

Verschiedene Arten von Informationen in RDF-Graphen Aus Einheitlichkeitsgründen werden alle 3 Arten von Informationen als RDF-Tripel formalisiert Es ist wichtig, sich der Unterschiede bewusst zu sein in Tripeln über assertionales Wissen dürfen Properties nur Prädikate sein in Tripeln über terminologisches Wissen oder Vokabulare auch Subjekte und Objekte In der Praxis ist es oft sinnvoll, die verschiedenen Arten von Informationen auf verschiedene Graphen aufzuteilen. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 121 / 354

1 Dokument - 3 Interpretationen <rdf:description rdf:id="&ex;truck"> <rdf:type rdf:resource= "http://http://www.w3.org/2000/02/rdf-schema#class"/> <rdfs:subclassof rdf:resource="&ex;motorvehicle"/> </rdf:description> Interpretation als XML: rdf:description rdf:id rdf:type rdfs:subclassof ex:truck rdf:resource rdf:resource http://www.w3.org/2000/02/rdf-schema#class ex:motorvehicle Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 122 / 354

1 Dokument - 3 Interpretationen <rdf:description rdf:id="&ex;truck"> <rdf:type rdf:resource= "http://http://www.w3.org/2000/02/rdf-schema#class"/> <rdfs:subclassof rdf:resource="&ex;motorvehicle"/> </rdf:description> Interpretation als RDF: Anderes Datenmodell rdf:description, rdf:id und rdf:type haben eine festgelegte Bedeutung subject predicate object ex:truck rdf:type rdfs:class ex:truck rdfs:subclassof ex:motorvehicle rdfs:subclassof rdf:type ex:motorvehicle ex:truck rdfs:class Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 123 / 354

1 Dokument - 3 Interpretationen <rdf:description rdf:id="&ex;truck"> <rdf:type rdf:resource= "http://http://www.w3.org/2000/02/rdf-schema#class"/> <rdfs:subclassof rdf:resource="&ex;motorvehicle"/> </rdf:description> Interpretation als RDF Schema: Wieder anderes Datenmodell rdfs:class und rdfs:subclassof werden speziell interpretiert ex:motorvehicle is-a ex:truck Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 124 / 354

Warum formale Semantik? Nach Einführung von RDFS Kritik von Tool-Herstellern: Inkompatibilitäten zwischen verschiedenen Tools (trotz Spezifikation) Z.B. bei triple stores: Gleiches RDF-Dokument Gleiche SPARQL-Anfrage Verschiedene Antworten Daher: modelltheoretische Semantik für RDF(S) Nachträgliche Ergänzung aufwändige Konstruktion Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 125 / 354

RDFS-Syntax Was sind die Sätze in RDF(S)? Grundelemente (Vokabular V): URIs, leere Knoten und Literale (sind selbst keine Sätze) Jedes Tripel ist ein Satz (s, p, o) (URI bnode) URI (URI bnode Literal) Jede endliche Menge von Tripeln (genannt Graph) ist ein Satz (Konjunktion der Tripel) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 126 / 354

RDFS-Semantik Folgerungsrelation = besagt, wann aus einem RDF(S)-Graphen G ein RDF(S)-Graph G folgt: G = G Modelltheoretische Semantik definiert Menge von Interpretationen und legt fest, wann eine Interpretation Modell eines Graphen ist s 1 Modelle von s 1 s 2 s 3 = logische Folgerung Modelle von s 3 Modelle von s 2 Sätze Interpretationen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 127 / 354

Was ist die Semantik? Vorgehen schrittweise: einfache Interpretation RDF-Interpretation RDFS-Interpretation Je stärker eingeschränkt die Interpretationen um so stärker die Folgerungsrelation um so mehr Tripel sind ableitbar Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 128 / 354

Semantik der einfachen Folgerung Definition (Einfache Interpretation) Eine einfache Interpretation I für ein Vokabular V besteht aus IR, einer nicht leeren Menge von Ressourcen, mit LV IR der Menge der Literalwerte, die (mindestens) alle untypisierten Literale aus V enthält IP, der Menge der Properties von I; I S, einer Funktion, die URIs aus V in die Vereinigung der Mengen IR und IP abbildet, also I S : V IR IP, I EXT, einer Funktion, die jeder Property eine Menge von Paaren aus IR zuordnet, also I EXT : IP 2 IR IR und I L, einer Funktion von den typisierten Literalen aus V in die Menge IR der Ressourcen. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 129 / 354

Semantik der einfachen Folgerung IR wird Domäne oder (Diskurs-)Universum von I genannt I EXT (p) wird auch die Extension der Property p genannt Definition (Interpretationsfunktion) Basierend auf I L und I S definieren wir I wie folgt: Ein untypisiertes Literal "a" wird auf a abgebildet: ("a") I = a Ein untypisierte Literal mit Sprachangabe "a"@t wird auf das Paar a, t abgebildet: ("a"@t) I = a, t, Ein typisiertes Literal l wird auf I L (l) abgebildet: l I = I L (l) und Ein URI i wird auf I S (i) abgebildet: i I = I S (i). Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 130 / 354

Semantik der einfachen Folgerung Interpretation (schematisch): Namen Literale untypisiert LV I typisiert I L Ressourcen IR URIs I S Properties IP Vokabular V Interpretation I I EXT Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 131 / 354

Semantik der einfachen Folgerung Frage Wann ist eine gegebene Interpretation Modell eines Graphen? Antwort Wenn sie Modell jedes Tripels des Graphen ist! http://example.org/verlegtbei http://example.org/semanticweb http://springer.com/verlag = http://example.org/titel Semantic Web Grundlagen http://example.org/name Springer Verlag Namen Literale untypisiert LV I typisiert I L Ressourcen IR URIs I S Properties IP I EXT Vokabular V Interpretation I = = = http://springer.com/verlag http://example.org/name Springer Verlag http://example.org/semanticweb http://example.org/titel Semantic Web Grundlagen http://example.org/verlegtbei http://example.org/semanticweb http://springer.com/verlag Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 132 / 354

Semantik der einfachen Folgerung Frage Wann ist eine gegebene Interpretation Modell eines Tripels? Antwort Wenn Subjekt, Prädikat und Objekt in V enthalten sind und außerdem s I, o I I EXT (p I ) gilt Namen Literale untypisiert LV I typisiert I L Ressourcen IR URIs I S Properties IP I EXT Vokabular V Interpretation I = s p o. http://example.org/verlegtbei http://example.org/semanticweb http://springer.com/verlag Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 133 / 354

Semantik der einfachen Folgerung Schematisch: Triple s p o. I I I IP s I IR oi p I I EXT (p I ) I EXT Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 134 / 354

Übung: Semantik der einfachen Folgerung Entscheiden Sie, welche der Interpretationen I 1, I 2 Modelle des Tripels ex:a ex:b ex:c. mit Vokabular V = {ex:a, ex:b, ex:c } sind: I 1 : IR = {a, b, c} I 2 : IR = {d} IP = {b} IP = {d} LV = {} LV = {} I S = ex:a a I S = ex:a d ex:b b ex:b d ex:c c ex:c d I EXT = b a, c I EXT = d d, d I L = die leere Funktion I L = die leere Funktion Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 135 / 354

Semantik der einfachen Folgerung: bnodes Was passiert mit bnodes? Funktion A bildet alle bnodes auf Elemente von IR ab Für eine Interpretation I sei I + A wie I, wobei zusätzlich für jeden bnode :label gilt: ( :label) I+A = A( :label) Eine Interpretation I ist nun Modell eines RDF-Graphen G, wenn es ein A gibt, so dass alle Tripel bezüglich I + A wahr werden Anschaulich: bnodes werden genau wie Ressourcen auf Elemente der Domäne abgebildet. I = G gilt, wenn ich jeden bnode in G so durch eine Ressource ersetzen kann (Resultat: G ), dass I = G gilt. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 136 / 354

Einfache Interpretation: Beispiel Gegeben Graph G: http://example.org/chutney http://example.org/grünemango http://example.org/hatzutat http://example.org/zutat http://example.org/menge 450g und die Interpretation I: IR = {c, g, h, z, l, m, 450g} I S = ex:chutney c IP = {h, z, m} ex:grünemango g LV = {450g} ex:hatzutat h I EXT = h { c, l } ex:zutat z z { l, g } ex:menge m m { l, 450g } I L ist die leere Funktion Ist I ein Modell von G? Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 137 / 354

Einfache Interpretation: Beispiel http://example.org/chutney http://example.org/grünemango http://example.org/hatzutat http://example.org/zutat http://example.org/menge 450g IR = {c, g, h, z, l, m, 450g} I S = ex:chutney c IP = {h, z, m} ex:grünemango g LV = {450g} ex:hatzutat h I EXT = h { c, l } ex:zutat z z { l, g } ex:menge m m { l, 450g } I L ist die leere Funktion Wählt man A: :id1 l, dann ergibt sich ex:chutney I+A, :id1 I+A = c, l I EXT (h) = I EXT (ex:hatzutat I+A ) :id1 I+A, ex:grünemango I+A = l, g I EXT (z) = I EXT (ex:zutat I+A ) :id1 I+A, "450g" I+A = l, 450g I EXT (m) = I EXT (ex:menge I+A ) Also ist I Modell von G Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 138 / 354

Einfache Folgerung Die Definition der einfachen Interpretation legt modelltheoretisch einfache Folgerung für RDF-Graphen fest. Frage Wie lässt sich diese (abstrakt definierte) Semantik im Sinne des automatischen Schlussfolgerns umsetzen? Antwort Durch Ableitungsregeln Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 139 / 354

Einfache Folgerung: Ableitungsregeln Ableitungsregeln für einfache Folgerung: u a x. u a :n. se1 u a x. :n a x. se2 a, b URIs l Literal :n blank node u, v URI oder blank node x, y URI, blank node oder Literal Bedingung für Anwendung: leerer Knoten nicht bereits anderer URI/anderem Literal zugeordnet Anschaulich: Jede Subjekt- oder Objekt-Ressource kann zu einem bnode abgeschwächt werden. Ähnlich Skolemisierung in Prädikatenlogik Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 140 / 354

Einfache Folgerung Satz (Korrektheit der einfachen Folgerung) Ein Graph G 2 folgt einfach aus einem Graphen G 1, wenn G 1 mithilfe der Regeln se1 und se2 zu einem Graphen G 1 ergänzt werden kann, so dass G 2 in G 1 enthalten ist. Beispiel (Einfache Folgerung) Aus http://example.org/semanticweb http://example.org/verlegtbei http://springer.com/verlag http://example.org/titel Semantic Web Grundlagen Springer Verlag http://example.org/name folgt einfach http://example.org/semanticweb http://example.org/verlegtbei http://example.org/name http://example.org/name Springer Verlag Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 141 / 354

Übung: Einfache Folgerung Gegeben sei der Graph G 1 : ex:johndoe foaf:firstname "John"; foaf:lastname "Doe"; ex:worksfor ex:acme. Welche der Graphen G 2, G 3, G 4, G 5 folgen einfach aus G 1? Geben Sie ggf. die Ableitungsschritte an. G 2 : ex:johndoe ex:worksfor _:n11 ; ex:worksfor _:n12. G 3 : ex:johndoe _:n2 "John". G 4 : ex:johndoe foaf:firstname _:n3 ; foaf:lastname _:n3. G 5 : _:n51 foaf:firstname _:n52 ; ex:worksfor ex:acme. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 142 / 354

RDF-Interpretationen stellen höhere Anforderungen als einfache Interpretationen RDF-Vokabular muss richtig behandelt werden entsprechend intendierter Semantik rdf:type rdf:property rdf:xmlliteral rdf:statement rdf:subject rdf:predicate rdf:object rdf:list rdf:seq rdf:bag rdf:alt rdf:first rdf:rest rdf:nil rdf:_1, rdf:_2,... Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 143 / 354

Bedingungen für RDF-Interpretationen Definition (RDF-Interpretation) Eine RDF-Interpretation für ein Vokabular V ist eine einfache Interpretation für das Vokabular V V RDF, die zusätzlich folgende Bedingungen erfüllt: 1 x IP genau dann, wenn x, rdf:property I I EXT (rdf:type I ). Jedes Tripelprädikat ist eine rdf:property. u a y. a rdf:type rdf:property. rdf1 a, b URIs l Literal :n blank node u, v URI oder blank node x, y URI, blank node oder Literal Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 144 / 354

Bedingungen für RDF-Interpretationen 2 Wenn "s"ˆˆrdf:xmlliteral in V enthalten und s ein wohlgeformtes XML-Literal ist, dann I L ("s"ˆˆrdf:xmlliteral) LV; I L ("s"ˆˆrdf:xmlliteral), rdf:xmlliteral I I EXT (rdf:type I ) Jedes Literal vom Typ rdf:xmlliteral gehört zur Klasse rdf:xmlliteral. u a l. l rdf:type rdf:xmlliteral. für ein wohlgeformtes XML Literal l Nicht möglich, da Literale keine Subjekte sein dürfen! Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 145 / 354

Bedingungen für RDF-Interpretationen 2 Wenn "s"ˆˆrdf:xmlliteral in V enthalten und s ein wohlgeformtes XML-Literal ist, dann I L ("s"ˆˆrdf:xmlliteral) LV; I L ("s"ˆˆrdf:xmlliteral), rdf:xmlliteral I I EXT (rdf:type I ) Jedes Literal vom Typ rdf:xmlliteral gehört zur Klasse rdf:xmlliteral. u a l. Literal l, lg u a :n. :n nicht anderweitig gebunden u a :n. Wenn :n dem XML-Literal l rdf2 :n rdf:type rdf:xmlliteral. durch Regel lg zugewiesen wurde Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 146 / 354

Bedingungen für RDF-Interpretationen 3 Wenn "s"ˆˆrdf:xmlliteral in V enthalten und s ein nicht wohlgeformtes XML-Literal ist, dann I L ("s"ˆˆrdf:xmlliteral) LV und I L ("s"ˆˆrdf:xmlliteral), rdf:xmlliteral I I EXT (rdf:type I ). Nicht wohlgeformte XML-Literale gehören nicht zur Klasse rdf:xmlliteral. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 147 / 354

RDF-Interpretationen 4 Jede RDF-Interpretation muss Modell der folgenden, axiomatischen Tripel sein: rdf:type rdf:type rdf:property. rdf:subject rdf:type rdf:property. rdf:predicate rdf:type rdf:property. rdf:object rdf:type rdf:property. rdf:first rdf:type rdf:property. rdf:rest rdf:type rdf:property. rdf:value rdf:type rdf:property. rdf:_1 rdf:type rdf:property. rdf:_2 rdf:type rdf:property.... rdf:type rdf:property. rdf:nil rdf:type rdf:property. u a x. rdfax Jedes axiomatische Tripel u a x. kann immer abgeleitet werden Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 148 / 354

RDF-Interpretationen anschaulich p ist eine Property genau dann, wenn es mit der Ressource rdf:property über die rdf:type-property verbunden ist dies impliziert IP IR für jede RDF-Interpretation Der Wertebereich des Datentyps rdf:xmlliteral enthält für jede wohlgeformte XML-Zeichenkette genau einen Literal-Wert vom Typ rdf:xmlliteral. Alle RDF-Axiome sind ableitbar. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 149 / 354

RDF-Folgerung Satz (RDF-Folgerung) Ein Graph G 2 RDF-folgt aus einem Graphen G 1, wenn es einen Graphen G 1 gibt, so dass G 1 aus G 1 via lg, rdf1, rdf2 und rdfax hergeleitet werden kann und G 2 aus G 1 einfach folgt. Beachte: zweistufiger Folgerungsprozess G 1 G 1 G 2 Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 150 / 354

RDFS-Interpretationen stellen höhere Anforderungen als RDF-Interpretationen RDFS-Vokabular muss richtig behandelt werden rdfs:resource rdfs:subclassof rdfs:class rdfs:subpropertyof rdfs:literal rdfs:domain rdfs:datatype rdfs:range rdfs:container rdfs:member rdfs:containermembershipproperty rdfs:label rdfs:comment rdfs:seealso rdfs:isdefinedby Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 151 / 354

RDFS-Interpretationen: Hilfsdefinitionen Erinnerung: Eine einfache Interpretation I für ein Vokabular V besteht aus IR, einer nicht leeren Menge von Ressourcen, I EXT, einer Funktion, die jeder Property eine Menge von Paaren aus IR zuordnet, also I EXT : IP 2 IR IR,... Definition (I CEXT, IC) Für eine gegebene Interpretation I bildet die Funktion I CEXT : IR 2 IR jede Ressource auf auf die Menge der Ressourcen ab, für die x, y in I EXT (rdf:type I ) enthalten ist. I CEXT (y) nennt man auch die (Klassen-)Extension von y. IC ist die Extension der speziellen URI rdfs:class, also: IC = I CEXT (rdfs:class I ). Sowohl I CEXT als auch IC sind durch I sowie I EXT bereits eindeutig festgelegt. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 152 / 354

RDFS-Interpretationen: Definition Definition (RDFS-Interpretation) Eine RDFS-Interpretation für ein Vokabular V ist eine RDF-Interpretation des Vokabulars V V RDFS, die zusätzlich die folgenden Kriterien erfüllt: 1 IR = I CEXT (rdfs:resource I ) Jede Ressource ist vom Typ rdfs:resource. u a x. u rdf:type rdfs:resource. u a v. v rdf:type rdfs:resource. rdfs4a rdfs4b Das Subjekt jedes Tripels ist eine Ressource Ein Objekt, das kein Literal ist, ist eine Ressource a, b URIs l Literal :n blank node u, v URI oder blank node x, y URI, blank node oder Literal Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 153 / 354

RDFS-Interpretationen: Literale 2 LV = I CEXT (rdfs:literal I ) Jedes untypisierte und jedes wohlgeformte typisierte Literal ist vom Typ rdfs:literal. u a _ :n. u a l. gl Umkehrung von Regel lg: :n wurde von Regel lg für das untypisierte Literal l vergeben u a l. :n wurde von Regel lg rdfs1 :n rdf:type rdfs:literal. für das untypisierte Literal l vergeben Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 154 / 354

RDFS-Interpretationen: rdfs:domain und rdfs:range 3 Aus x, y I EXT (rdfs:domain I ) und u, v I EXT (x) folgt u I CEXT (y). Hat die Property x den Definitionsbereich y und gehört die Ressource u zum Definitionsbereich von x, dann ist u vom Typ y. 4 Aus x, y I EXT (rdfs:range I ) und u, v I EXT (x) folgt v I CEXT (y). Hat die Property x den Wertebereich y und gehört die Ressource v zum Wertebereich von x, dann ist v vom Typ y. a rdfs:domain x. u a y. u rdf:type x. a rdfs:range x. u a v. v rdf:type x. rdfs2 rdfs3 Definitionsbereiche von Properties Wertebereiche von Properties Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 155 / 354

RDFS-Interpretationen: rdfs:subclassof 5 Aus x IC folgt x, rdfs:resource I I EXT (rdfs:subclassof I ). Jede Klasse ist Unterklasse von rdfs:resource. u rdf:type rdfs:class. u rdfs:subclassof rdfs:resource. rdfs8 Klassen enthalten nur Ressourcen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 156 / 354

RDFS-Interpretationen: rdfs:subclassof 6 x, y I EXT (rdfs:subclassof I ) impliziert x, y IC und I CEXT (x) I CEXT (y). Ist x Unterklasse von y, sind sowohl x als auch y Klassen, und die Extension von x ist Teilmenge der Extension von y. 7 I EXT (rdfs:subclassof I ) ist reflexiv und transitiv auf IC. Jede Klasse ist Unterklasse von sich selbst. Eine Unterklasse einer Unterklasse ist eine Unterklasse. Unterklassen-Schlussfol- gerungen für Instanzen Reflexivität Transitivität u rdfs:subclassof x. v rdf:type u. v rdf:type x. u rdf:type rdfs:class. u rdfs:subclassof u. u rdfs:subclassof v. v rdfs:subclassof x. u rdfs:subclassof x. rdfs9 rdfs10 rdfs11 Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 157 / 354

RDFS-Interpretationen: rdfs:subpropertyof 8 x, y I EXT (rdfs:subpropertyof I ) impliziert x, y IP und I EXT (x) I EXT (y). Ist x Unterproperty von y, sind sowohl x als auch y Properties, und die Extension von x ist Teilmenge der Extension von y. 9 I EXT (rdfs:subpropertyof I ) ist reflexiv und transitiv auf IP. Jede Property ist Unterproperty von sich selbst. Eine Unterproperty einer Unterproperty ist eine Unterproperty. Unterproperty- Schlussfolgerungen für Instanzen Transitivität Reflexivität a rdfs:subpropertyof b. u a y. u b y. u rdfs:subpropertyof v. v rdfs:subpropertyof x. u rdfs:subpropertyof x. u rdf:type rdf:property. u rdfs:subpropertyof u. rdfs7 rdfs5 rdfs6 Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 158 / 354

RDFS-Interpretationen: Weitere Anforderungen 10 Wenn x I CEXT (rdfs:containermembershipproperty I ), dann x, rdfs:member I I EXT (rdfs:subpropertyof I ). Jede Property vom Typ rdfs:containermembershipproperty ist Unterproperty von rdfs:member. 11 Wenn x I CEXT (rdfs:datatype I ), dann x, rdfs:literal I I EXT (rdfs:subclassof I ). Jede Klasse vom Typ rdfs:datatype ist eine Unterklasse der Klasse aller Literalwerte ( rdfs:literal). u rdf:type rdfs:containermembershipproperty. u rdfs:subpropertyof rdfs:member. u rdf:type rdfs:datatype. u rdfs:subclassof rdfs:literal. rdfs12 rdfs13 Jede CMP ist Unterproperty von rdfs:member Jeder Datentyp ist Unterklasse von rdfs:literal Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 159 / 354

RDFS-Interpretationen: Regel für axiomatische Tripel 12 Axiomatische Tripel können immer abgeleitet werden. u a x. rdfsax Jedes axiomatische Tripel u a x. kann immer abgeleitet werden Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 160 / 354

RDFS: Axiomatische Tripel für Definitionsbereiche rdf:type rdfs:domain rdfs:resource. rdfs:domain rdfs:domain rdf:property. rdfs:range rdfs:domain rdf:property. rdfs:subpropertyof rdfs:domain rdf:property. rdfs:subclassof rdfs:domain rdfs:class. rdf:subject rdfs:domain rdf:statement. rdf:predicate rdfs:domain rdf:statement. rdf:object rdfs:domain rdf:statement. rdfs:member rdfs:domain rdfs:resource. rdf:first rdfs:domain rdf:list. rdf:rest rdfs:domain rdf:list. rdfs:seealso rdfs:domain rdfs:resource. rdfs:isdefinedby rdfs:domain rdfs:resource. rdfs:comment rdfs:domain rdfs:resource. rdfs:label rdfs:domain rdfs:resource. rdf:value rdfs:domain rdfs:resource. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 161 / 354

RDFS: Axiomatische Tripel für Wertebereich rdf:type rdfs:range rdfs:class. rdfs:domain rdfs:range rdfs:class. rdfs:range rdfs:range rdfs:class. rdfs:subpropertyof rdfs:range rdf:property. rdfs:subclassof rdfs:range rdfs:class. rdf:subject rdfs:range rdfs:resource. rdf:predicate rdfs:range rdfs:resource. rdf:object rdfs:range rdfs:resource. rdfs:member rdfs:range rdfs:resource. rdf:first rdfs:range rdfs:resource. rdf:rest rdfs:range rdf:list. rdfs:seealso rdfs:range rdfs:resource. rdfs:isdefinedby rdfs:range rdfs:resource. rdfs:comment rdfs:range rdfs:literal. rdfs:label rdfs:range rdfs:literal. rdf:value rdfs:range rdfs:resource. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 162 / 354

RDFS: Weitere axiomatische Tripel rdfs:containermembershipproperty rdfs:subclassof rdf:property. rdf:alt rdfs:subclassof rdfs:container. rdf:bag rdfs:subclassof rdfs:container. rdf:seq rdfs:subclassof rdfs:container. rdfs:isdefinedby rdfs:subpropertyof rdfs:seealso. rdf:xmlliteral rdf:type rdfs:datatype. rdf:xmlliteral rdfs:subclassof rdfs:literal. rdfs:datatype rdfs:subclassof rdfs:class. rdf:_1 rdf:type rdfs:containermembershipproperty. rdf:_1 rdfs:domain rdfs:resource. rdf:_1 rdfs:range rdfs:resource. rdf:_2 rdf:type rdfs:containermembershipproperty.... Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 163 / 354

XML-Clash Definition (XML-Clash) Ein RDF(S)-Graph G enthält einen XML-Clash, wenn einem Knoten vom Typ rdf:literal ein nicht-wohlgeformter Literalwert zugewiesen werden muss. Beispiel ex:hatsmiley rdfs:range rdf:literal. ex:bösebemerkung ex:hatsmiley ">:->"ˆˆrdf:XMLLiteral. XML-Clashes sind die einzige Ursache für inkonsistente RDF(S)-Graphen, d.h. Graphen, die keine Modelle haben. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 164 / 354

RDFS-Folgerung Satz (RDFS-Folgerung) Ein Graph G 2 RDFS-folgt aus G 1 genau dann, wenn es einen Graphen G 1 gibt, der durch Anwendung der Regeln lg, gl, rdfax, rdf1, rdf2, rdfs1 rdfs13 und rdfsax aus G 1 folgt, so dass a) G 2 aus G 1 einfach folgt oder b) G 1 einen XML-Clash enthält. Zu Punkt b): Wenn G 1 einen XML-Clash enthält, ist G 1 inkonsistent. Aus inkonsistenten Voraussetzungen ist alles ableitbar. Ex falso quodlibet: A A = C für jedes C. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 165 / 354

Beispiel: RDFS-Folgerung Beispiel (Thai-Gericht) rdfs:containermembershipproperty rdf:type ex:bedauernswert rdfs:subclassof ex:nussallergiker ex:gericht ex:hatzutat rdfs:domain rdfs:subpropertyof rdfs:range ex:gerichtbasierendauf ex:zutat ex:nussig rdf:type rdf:type ex:sebastian ex:isst ex:thaicurry ex:gerichtbasierendauf ex:kokosmilch ex:na rdfs:subclassof ex:bed. ex:seb rdf:type ex:na. ex:seb rdf:type ex:bed. ex:gba rdfs:domain ex:gericht. ex:thaicurry ex:gba ex:km. ex:thaicurry rdf:type ex:gericht. rdfs9 rdfs2 Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 166 / 354

Beispiel: RDFS-Folgerung (2) Beispiel (Unerwünschte Situation) Ein Nussallergiker isst etwas, das etwas Nussiges enthält. ex:nussallergiker rdf:type rdf:type ex:nussig ex:isst rdfs:member ex:hatzutat rdf:type rdfs:containermembershipproperty. ex:hatzutat rdfs:subpropertyof rdfs:member. ex:gba rdfs:subpropertyof ex:hatzutat. ex:hatzutat rdfs:subpropertyof rdfs:member. ex:gba rdfs:subpropertyof rdfs:member ex:gba rdf:subpropertyof rdfs:member. ex:thaicurry ex:gba ex:km. ex:thaicurry rdfs:member ex:km. rdfs12 rdfs5 rdfs2 Der unerwünschte Graph RDFS-folgt aus dem Thai-Gericht -Graphen. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 167 / 354

Übung: RDFS-Folgerung (1) rdfs:containermembershipproperty rdf:type ex:bedauernswert rdfs:subclassof ex:nussallergiker ex:gericht ex:hatzutat rdfs:domain rdfs:subpropertyof rdfs:range ex:gerichtbasierendauf ex:zutat ex:nussig rdf:type rdf:type ex:sebastian ex:isst ex:thaicurry ex:gerichtbasierendauf ex:kokosmilch Nennen Sie für den Thai-Gericht-Graphen 1 ein Tripel, das einfach folgt, 2 ein Tripel, das RDF-folgt, aber nicht einfach folgt, 3 ein Tripel, das RDFS-folgt, aber nicht RDF-folgt. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 168 / 354

Übung: RDFS-Folgerung (2) Der leere Graph enthält keine Tripel (entspricht also der leeren Menge). Zeigen Sie durch Ableitungen, dass die folgenden Tripel aus dem leeren Graphen RDFS-folgen: 1 rdfs:resource rdf:type rdfs:class. 2 rdfs:class rdf:type rdfs:class. 3 rdfs:literal rdf:type rdfs:class. 4 rdf:xmlliteral rdf:type rdfs:class. 5 rdf:property rdf:type rdfs:class. 6 rdf:property rdfs:subclassof rdfs:resource. 7 rdfs:domain rdf:type rdf:property. 8 rdfs:label rdf:type rdf:property. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 169 / 354

Zusammenfassung: Schlussfolgerungsverfahren Wesentliche Fähigkeiten der einzelnen Folgerungsmechanismen Einfache Folgerung Abschwächen von Ressourcen zu bnodes John belegt die Vorlesung Semantic Web Jemand belegt SW oder John belegt etwas RDF-Folgerung Behandlung von Properties jedes Prädikat ist eine Property IP IR RDF-Standard-Properties rdf:type, rdf:subject, rdf:first,... RDFS-Folgerung rdfs:domain und rdfs:range werden realisiert rdfs:subclassof und rdfs:subpropertyof werden realisiert Literale haben den Typ rdfs:literal; jeder Datentyp ist eine Teilmenge davon Axiome fuer RDFS-Standard-Vokabular: rdfs:domain/rdfs:range/rdfs:subclassof/... -Beziehungen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 170 / 354

Grenzen von RDFS: Folgerungsverfahren Manche (vernünftig scheinende) Folgerungen können nicht RDFS-gefolgert werden, z.b. aus ex:sprichtmit rdfs:domain ex:homo. ex:homo rdfs:subclassof ex:primates. folgt nicht ex:sprichtmit rdfs:domain ex:primates. Mögliche Lösung: noch stärkere Semantik entsprechende Schlussfolgerungsverfahren aufwändigere Algorithmen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 171 / 354

Grenzen von RDFS: Ausdrucksstärke Keine Möglichkeit, Negation auszudrücken Kein Widerspruch in ex:john rdf:type ex:male. ex:john rdf:type ex:female. Allgemein: Keine Möglichkeit für Inkonsistenzen (außer XML-Clash) Vorteil: Falsche Information beeinflusst nicht andere Informationen Nachteil: Keine automatische Fehlererkennung Keine Möglichkeit, auszudrücken, dass verschiedene URIs dieselbe Ressource bezeichnen ex:stuttgart ist dasselbe wie dbpedia:stuttgart owl:sameas Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 172 / 354

Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL 3.1 Einfache SPARQL-Anfragen 3.2 Komplexe Graph-Muster 3.3 Filter 3.4 Modifikatoren 3.5 Ausdrücke in der Selektion und Bindungen 3.6 Aggregate 3.7 Subqueries 3.8 Property Paths 3.9 Negation 3.10 Weitere Eigenschaften Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 173 / 354

SPARQL SPARQL Protocol And RDF Query Language W3C Spezifikation seit 2008 Erweiterung auf SPARQL 1.1 im Jahr 2013 Große praktische Bedeutung Aussprache: sparkle Teile der SPARQL-1.0-Spezifikation Anfragesprache: Zulässige Anfragen und deren Bedeutung Ergebnisformat: Darstellung von Ergebnissen in XML Anfrageprotokoll: Übermittlung von Anfragen und Ergebnissen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 174 / 354

Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL 3.1 Einfache SPARQL-Anfragen 3.2 Komplexe Graph-Muster 3.3 Filter 3.4 Modifikatoren 3.5 Ausdrücke in der Selektion und Bindungen 3.6 Aggregate 3.7 Subqueries 3.8 Property Paths 3.9 Negation 3.10 Weitere Eigenschaften Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 175 / 354

Einfache Anfragen Beispiel (SPARQL-Anfrage) PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT?name?mbox WHERE {?x foaf:name?name. $x foaf:mbox?mbox } Die Bedingung der WHERE-Klausel heißt Abfragemuster oder Muster (query pattern) Ein Tripel mit Variablen heißt Tripel-Muster (triple pattern) Variablen erhalten? oder $ als Präfix (?x = $x) Eine Menge von Tripel-Mustern heißt einfaches Graph-Muster (basic graph pattern, BGP) Abgekürzte IRIs sind möglich (PREFIX) Abfrageergebnis für die selektierten Variablen (SELECT) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 176 / 354

Basic Graph Patterns Muster: {?x foaf:name?name.?x foaf:mbox?mbox. } @prefix foaf: http://xmlns.com/foaf/0.1/. _:a foaf:name "Jan Hladik" ; foaf:mbox "jan.hladik@dhbw-stuttgart.de" ; foaf:icqchatid "hladik" ; _:b foaf:name "Sebastian Rudolph" ; foaf:mbox <rudolph@kit.edu>. _:c foaf:name "Pascal Hitzler" ; foaf:aimchatid "phi". foaf:icqchatid rdfs:subpropertyof foaf:nick. foaf:name rdfs:domain foaf:person. BGP-Matching-Ergebnis (Tabelle mit einer Zeile je Ergebnis): x name mbox :a "Jan Hladik" "jan.hladik@dhbw-stuttgart.de" :b "Sebastian Rudolph" <mailto:rudolph@kit.edu> Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 177 / 354

Matching- und Abfrage-Ergebnis PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT?name?mbox WHERE {?x foaf:name?name.?x foaf:mbox?mbox. } BGP-Matching-Ergebnis: x name mbox :a "Jan Hladik" "jan.hladik@dhbw-stuttgart.de" :b "Sebastian Rudolph" <mailto:rudolph@kit.edu> Abfrage-Ergebnis: name "Jan Hladik" "Sebastian Rudolph" mbox "jan.hladik@dhbw-stuttgart.de" <mailto:rudolph@kit.edu> Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 178 / 354

Einfache Graph-Muster Definition (Einfache Graph-Muster (BGPs)) Menge von RDF-Tripeln in Turtle-Syntax Turtle-Abkürzungen (mittels, und ;) zulässig Variablen werden durch? oder $ gekennzeichnet (?variable hat gleiche Bedeutung wie $variable) Variablen zulässig als Subjekt, Prädikat oder Objekt Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 179 / 354

Was bedeuten leere Knoten in SPARQL? Leere Knoten in Anfragemustern: Zulässig als Subjekt oder Objekt Gleiche ID darf nicht in mehreren BGPs einer Anfrage auftauchen Verhalten sich wie Variablen, die nicht mit SELECT ausgewählt werden können Leere Knoten in Ergebnissen: Platzhalter für unbekannte Elemente Verschiedene Aufrufe können zu unterschiedlichen IDs führen Gleiche ID in einer Anfrage gleiches Element Beispiel subj Wert _:a "zum" _:b "Beispiel" subj Wert _:y "zum" _:g "Beispiel" subj _:z _:z Wert "zum" "Beispiel" Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 180 / 354

Übung: DBpedia und SPARQL Der SPARQL-Endpoint der DBpedia hat die URL http://dbpedia.org/sparql. Finden Sie heraus, welche Ober- und Unterklassen die Klasse Place (URI: http://dbpedia.org/ontology/place) in der DBpedia hat. Können Sie auch feststellen, für welche Properties diese Klasse als Domain und Range definiert ist? Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 181 / 354

Datasets und FROM (NAMED) Jeder SPARQL-Service spezifiziert ein Dataset bestehend aus einem Default-Graphen, keinem oder mehr benannten Graphen (named graphs) Keine FROM Klausel Auswertung bzgl. des Default Graphen Mit FROM Klausel Erzeugung eines neuen Default Graphen für die Abfrage FROM NAMED in Kombination mit dem GRAPH Schlüsselwort Zusätzlich Ausgabe des Graph-Namens Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 182 / 354

Benannte Graphen: FROM Beispiel (Abfrage mit FROM-Parameter) SELECT?name?mbox FROM <http://example.org/a> WHERE {?x foaf:name?name.?x foaf:mbox?mbox } Suche nur im Graphen mit URI <http://example.org/a>. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 183 / 354

Benannte Graphen: FROM NAMED Beispiel (Abfrage mit FROM NAMED-Parameter) SELECT?g?name?mbox FROM NAMED <http://example.org/a> FROM NAMED <http://example.org/b> WHERE { GRAPH?g {?x foaf:name?name.?x foaf:mbox?mbox } } Suche nur in den Graphen ex:a und ex:b. Gib Graph-Namen in zusätzlicher Spalte aus. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 184 / 354

Anfragen mit Literalen: Datentypen Beispiel (Verschiedene Datentypen) @prefix xsd: <http://www.w3.org/2001/xmlschema#>. @prefix ex: <http://example.org/>. ex:ex1 ex:p "test". ex:ex2 ex:p "test"^^xsd:string. ex:ex3 ex:p "test"@en. ex:ex4 ex:p "42"^^xsd:integer. Was liefert eine Anfrage mit folgendem Muster? {?subject <http://example.org/p> "test". } Ergebnis: ex:ex1 Genaue Übereinstimmung der Datentypen gefordert Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 185 / 354

Anfragen mit Literalen: Zahlen Beispiel (Zahlen als Daten) @prefix xsd: <http://www.w3.org/2001/xmlschema#>. @prefix ex: <http://example.org/>. ex:ex1 ex:p "test". ex:ex2 ex:p "test"^^xsd:string. ex:ex3 ex:p "test"@en. ex:ex4 ex:p "42"^^xsd:integer. Abkürzung für Zahlenwerte möglich: {?subject <http://example.org/p> 42. } Datentyp wird aus syntaktischer Form bestimmt: 42: xsd:integer 42.2: xsd:decimal 1.0e6: xsd:double Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 186 / 354

Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL 3.1 Einfache SPARQL-Anfragen 3.2 Komplexe Graph-Muster 3.3 Filter 3.4 Modifikatoren 3.5 Ausdrücke in der Selektion und Bindungen 3.6 Aggregate 3.7 Subqueries 3.8 Property Paths 3.9 Negation 3.10 Weitere Eigenschaften Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 187 / 354

Gruppierte Graph-Muster Einfache Graph-Muster können durch {... } gruppiert werden: Beispiel PREFIX ex: <http://example.org/> SELECT?title?author WHERE { {?buch ex:publishedby <http://springer.com>.?buch ex:title?title. } { }?buch ex:author?author. } Sinnvoll erst bei Verwendung zusätzlicher Konstruktoren Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 188 / 354

Optionale Muster Das Schlüsselwort OPTIONAL erlaubt die Angabe optionaler Teile eines Musters: Beispiel {?book ex:publishedby <http://springer.com>. OPTIONAL {?book ex:titel?titel. } OPTIONAL {?book ex:author?author. } } Teile eines Anfrageergebnisses können ungebunden sein: book titel author <http://example.org/book1> "Titel1" <http://example.org/author1> <http://example.org/book2> "Titel2" <http://example.org/book3> "Titel3" _:a <http://example.org/book4> _:a <http://example.org/book5> Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 189 / 354

Alternative Muster Das Schlüsselwort UNION erlaubt die Angabe alternativer Teile eines Musters: Beispiel {?book ex:publishedby <http://springer.com>. {?book ex:author?author. } UNION {?book ex:editor?author. } } Ergebnis: Vereinigung der Ergebnisse mit einer der beiden Bedingungen Gleiche Variablennamen in beiden Teilen von UNION beeinflussen sich nicht Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 190 / 354

Übung: Graph-Muster Gegeben sei der folgende Graph: @prefix dc10: <http://purl.org/dc/elements/1.0/>. @prefix dc11: <http://purl.org/dc/elements/1.1/>. @prefix ex: <http://example.org/>. _:a dc10:title "SPARQL Query Tutorial". _:a dc10:creator "Alice". _:b dc11:title "SPARQL Protocol Tutorial". _:b dc11:creator "Bob". _:b ex:level "beginners". Schreiben Sie eine Abfrage, die Titel (dc10:title oder dc11:title) und, wo vorhanden, die Stufe (ex:level) aus den oben gegebenen Daten selektiert. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 191 / 354

Kombination von Optionen und Alternativen (1) Wie sind Kombinationen von OPTIONAL und UNION zu verstehen? Beispiel {?book ex:publishedby <http://springer.com>. {?book ex:author?author. } UNION {?book ex:editor?author. } OPTIONAL {?author ex:surname?name. } } Vereinigung zweier Muster mit angefügtem optionalem Muster oder Vereinigung zweier Muster, deren zweites einen optionalen Teil hat? Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 192 / 354

Kombination von Optionen und Alternativen(2) Beispiel (Muster mit UNION und OPTIONAL) {?book ex:publishedby <http://springer.com>. {?book ex:author?author. } UNION {?book ex:editor?author. } OPTIONAL {?author ex:surname?name. } } entspricht Beispiel (Äquivalentes Muster mit expliziter Klammerung) {?book ex:publishedby <http://springer.com>. { {?book ex:author?author. } UNION {?book ex:editor?author. } } OPTIONAL {?author ex:surname?name. } } Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 193 / 354

Regeln für OPTIONAL und UNION OPTIONAL bezieht sich auf genau ein gruppiertes Muster rechts davon. OPTIONAL und UNION sind gleichwertig und linksassoziativ. beziehen sich auf jeweils alle links davon stehenden Ausdrücke Wenn anderer Gültigkeitsbereich gewünscht: Gruppieren mit {... } Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 194 / 354

Kombination von Optionen und Alternativen (3) Beispiel { {s1 p1 o1} OPTIONAL {s2 p2 o2} UNION {s3 p3 o3} OPTIONAL {s4 p4 o4} OPTIONAL {s5 p5 o5} } bedeutet: Beispiel (Äquivalentes Muster mit expliziter Klammerung) { { { { {s1 p1 o1} OPTIONAL {s2 p2 o2} } UNION {s3 p3 o3} } OPTIONAL {s4 p4 o4} } OPTIONAL {s5 p5 o5} } Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 195 / 354

Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL 3.1 Einfache SPARQL-Anfragen 3.2 Komplexe Graph-Muster 3.3 Filter 3.4 Modifikatoren 3.5 Ausdrücke in der Selektion und Bindungen 3.6 Aggregate 3.7 Subqueries 3.8 Property Paths 3.9 Negation 3.10 Weitere Eigenschaften Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 196 / 354

Wozu Filter? Viele Anfragen sind auch mit komplexen Graph-Mustern nicht möglich: Welche Personen sind zwischen 18 und 23 Jahre alt? Der Nachname welcher Personen enthält einen Bindestrich? Welche Texte in deutscher Sprache sind in der Ontologie angegeben? Filter als allgemeiner Mechanismus für solche Ausdrucksmittel Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 197 / 354

Filter in SPARQL Beispiel (Filter) PREFIX ex: <http://example.org/> SELECT?book WHERE {?book ex:publishedby <http://springer.com>.?book ex:price?price FILTER (?price < 35) } Schlüsselwort FILTER, gefolgt von Filterausdruck in Klammern Filterbedingungen liefern Wahrheitswerte (und evtl. auch Fehler) Viele Filterfunktionen nicht durch RDF spezifiziert Funktionen teils aus XQuery/XPath-Standard für XML übernommen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 198 / 354

Filterfunktionen: Vergleiche Vergleichsoperatoren: <, =, >, <=, >=,!= Vergleich von Datenliteralen gemäß der jeweils natürlichen Reihenfolge Unterstützung für numerische Datentypen, xsd:datetime, xsd:string (alphabetische Ordnung), xsd:boolean (1 > 0) Für andere Typen und sonstige RDF-Elemente nur = und!= verfügbar Kein Vergleich von Literalen inkompatibler Typen (z.b. xsd:string und xsd:integer) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 199 / 354

Filterfunktionen: Arithmetik Arithmetische Operatoren: +, -, *, / Unterstützung für numerische Datentypen Verwendung zur Kombination von Werten in Filterbedingungen Beispiel FILTER(?gewicht/(?groesse *?groesse) >= 25 ) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 200 / 354

Filterfunktionen: Spezialfunktionen für RDF (1) SPARQL unterstützt auch RDF-spezifische Filterfunktionen: BOUND(A) true falls A eine gebundene Variable ist isuri(a) true falls A eine URI ist isblank(a) true falls A ein leerer Knoten ist isliteral(a) true falls A ein RDF-Literal ist STR(A) lexikalische Darstellung (xsd:string) von RDF- Literalen oder URIs LANG(A) Sprachcode eines RDF-Literals (xsd:string) oder leerer String falls kein Sprachcode DATATYPE(A) Datentyp-URI eines RDF-Literals (xsd:string bei ungetypten Literalen ohne Sprachangabe) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 201 / 354

Filterfunktionen: Spezialfunktionen für RDF (2) Weitere RDF-spezifische Filterfunktionen: sameterm(a,b) langmatches(a,b) REGEX(A,B) true, falls A und B dieselben RDF-Terme sind true, falls die Sprachangabe A auf das Muster B passt true, falls in der Zeichenkette A der reguläre Ausdruck B gefunden werden kann Beispiel PREFIX ex: <http://example.org/> SELECT?book WHERE {?book ex:review?text. FILTER ( langmatches( LANG(?text), "de") ) } Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 202 / 354

Filterfunktionen: Boolsche Operatoren Verknüpfung von Bedingungen mit Booleschen Operatoren &&,,! Teilweise auch durch Graph-Muster ausdrückbar: Konjunktion entspricht Angaben mehrerer Filter Disjunktion entspricht Anwendung von Filtern in alternativen Mustern Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 203 / 354

Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL 3.1 Einfache SPARQL-Anfragen 3.2 Komplexe Graph-Muster 3.3 Filter 3.4 Modifikatoren 3.5 Ausdrücke in der Selektion und Bindungen 3.6 Aggregate 3.7 Subqueries 3.8 Property Paths 3.9 Negation 3.10 Weitere Eigenschaften Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 204 / 354

Wozu Modifikatoren? Bisher nur grundsätzliche Formatierungseinstellungen für Ergebnisse: Wie kann man definierte Teile der Ergebnismenge abfragen? Wie werden Ergebnisse geordnet? Können wiederholte Ergebniszeilen sofort entfernt werden? Modifikatoren der Lösungssequenz (solution sequence modifiers) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 205 / 354

Ergebnisse sortieren Sortierung von Ergebnissen mit Schlüsselwort ORDER BY Beispiel SELECT?book?price WHERE {?book <http://example.org/price>?price. } ORDER BY?price Sortierung wie bei Filter-Vergleichsoperatoren Sortierung von URIs alphabetisch als Zeichenketten Reihenfolge zwischen unterschiedlichen Arten von Elementen: Ungebundene Variable < leere Knoten < URIs < RDF-Literale Nicht jede Möglichkeit durch Spezifikation definiert Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 206 / 354

Ergebnisse sortieren: Verfeinerungen Weitere mögliche Angaben: ORDER BY DESC(?price): absteigend ORDER BY ASC(?price): aufsteigend, Voreinstellung ORDER BY DESC(?price),?titel: hierarchische Ordnungskriterien Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 207 / 354

Einschränkung der Ergebnismenge LIMIT maximale Anzahl von Ergebnissen (Tabellenzeilen) Ende abschneiden OFFSET Position des ersten gelieferten Ergebnisses Anfang abschneiden DISTINCT Entfernung von doppelten Tabellenzeilen Beispiel SELECT DISTINCT?book?price WHERE {?book <http://example.org/price>?price. } ORDER BY?price LIMIT 5 OFFSET 25 Ausgabe: Ergebnisse 26 30, Duplikate entfernt LIMIT und OFFSET meist nur mit ORDER BY sinnvoll. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 208 / 354

Kombination von Modifikatoren Reihenfolge bei Abarbeitung von Modifikatoren: 1 Sortierung gemäß ORDER BY 2 Entfernung der nicht ausgewählten Variablen 3 Entfernung doppelter Ergebnisse (DISTINCT) 4 Entfernung der ersten OFFSET Ergebnisse 5 Entfernung aller Ergebnisse bis auf LIMIT Sortierung auch nach nicht ausgewählten Variablen möglich DISTINCT bezieht sich nur auf ausgewählte Variablen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 209 / 354

Vorgestellte SPARQL-Merkmale im Überblick Grundstruktur PREFIX WHERE Graph Muster Basic Graph Patterns {... } OPTIONAL UNION Filter BOUND isuri isblank isliteral STR LANG DATATYPE sameterm langmatches REGEX Modifikatoren ORDER BY LIMIT OFFSET DISTINCT Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 210 / 354

Zusammenfassung Grundlegende Eigenschaften von SPARQL 1.0 Strukturen (Präfixe, Muster) Ausgabeformate Einfache und komplexe Muster (Alternativen, Optionale Teile, Gruppen) Filter Modifikatoren Erweiterung um zusätzliche Ausdrucksmöglichkeiten in SPARQL 1.1 Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 211 / 354

Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL 3.1 Einfache SPARQL-Anfragen 3.2 Komplexe Graph-Muster 3.3 Filter 3.4 Modifikatoren 3.5 Ausdrücke in der Selektion und Bindungen 3.6 Aggregate 3.7 Subqueries 3.8 Property Paths 3.9 Negation 3.10 Weitere Eigenschaften Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 212 / 354

Berechnete Ausdrücke Lösungen können durch berechnete Ausdrücke ergänzt werden, wobei eine Zuweisung durch (Ausdruck AS?var) erfolgt: BIND innerhalb einer Gruppe eines Abfragemusters Ausdrücke in der SELECT Klausel Ausdrücke in der GROUP BY Klausel VALUES schränkt Lösungsbereich ein Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 213 / 354

Das BIND-Konstrukt Beispiel Graph: ex:buch ex:titel "SPARQL Tutorial" ; ex:preis 42 ; ex:rabatt 10. Abfrage: SELECT?titel?preis WHERE {?b ex:titel?titel; ex:preis?p ; ex:rabatt?r BIND ((?p-?r) AS?preis) } Ergebnis:?titel "SPARQL Tutorial",?preis 32 Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 214 / 354

Ausdrücke in SELECT Beispiel Graph: ex:buch ex:titel "SPARQL Tutorial" ; ex:preis 42 ; ex:rabatt 10. Abfrage: SELECT?titel ((?p-?r) AS?preis) WHERE {?b ex:titel?titel; ex:preis?p ; ex:rabatt?r } Ergebnis:?titel "SPARQL Tutorial",?preis 32 Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 215 / 354

VALUES: Zusätzliche Filter Beispiel Graph: ex:buch1 ex:titel "SPARQL Tutorial". ex:buch2 ex:titel "SemWeb". Abfrage: SELECT?titel WHERE {?b ex:titel?titel VALUES?b { ex:buch1 } } Ergebnis:?titel "SPARQL Tutorial" Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 216 / 354

Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL 3.1 Einfache SPARQL-Anfragen 3.2 Komplexe Graph-Muster 3.3 Filter 3.4 Modifikatoren 3.5 Ausdrücke in der Selektion und Bindungen 3.6 Aggregate 3.7 Subqueries 3.8 Property Paths 3.9 Negation 3.10 Weitere Eigenschaften Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 217 / 354

Aggregate Aggregate erlauben Gruppierung von Lösungen Berechnung von Werten über die Gruppen Beispiel SELECT (COUNT(?student) AS?c)?vorlesung WHERE {?student ex:besucht?vorlesung } GROUP BY?vorlesung HAVING?c > 5 GROUP BY gruppiert Lösungen (hier: gleiche Vorlesung) COUNT zählt Anzahl der Lösungen in einer Gruppe (hier: Anzahl Studenten mit gleicher Vorlesung) HAVING beschränkt aggregierte Werte Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 218 / 354

Aggregate in SPARQL 1.1 SPARQL 1.1 unterstützt die folgenden Aggregate, die jeweils über den Werten einer Gruppe ausgewertet werden: COUNT Zählen der Lösungen MIN Finden des Minimalwerts MAX Finden des Maximalwerts SUM Summieren der Werte AVG Bilden des Durchschnitts GROUP_CONCAT Stringkonkatenation Z.B.: GROUP_CONCAT(?x ; separator=", ") SAMPLE Wählen eines beliebigen Wertes Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 219 / 354

Übung: Aggregate Gegeben sei der folgende Graph: ex:paul ex:hatnote 2.0. ex:paul ex:hatnote 3.0. ex:mary ex:hatnote 2.0. ex:peter ex:hatnote 3.5. Welche Antwort erzeugt die folgende Abfrage? SELECT?student (AVG(?note) as?avg) WHERE {?student ex:hatnote?note } GROUP BY?student HAVING (?avg > 2.0) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 220 / 354

Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL 3.1 Einfache SPARQL-Anfragen 3.2 Komplexe Graph-Muster 3.3 Filter 3.4 Modifikatoren 3.5 Ausdrücke in der Selektion und Bindungen 3.6 Aggregate 3.7 Subqueries 3.8 Property Paths 3.9 Negation 3.10 Weitere Eigenschaften Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 221 / 354

Subqueries: Verschachtelte Abfragen Ergebnisse der inneren Abfrage werden konjunktiv mit den Ergebnissen der äußeren Abfrage verknüpft. Beispiel SELECT?name WHERE {?x foaf:name?name. { SELECT?x (COUNT(*) AS?count) WHERE {?x foaf:knows?y. } GROUP BY?x HAVING (?count = 3) } } Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 222 / 354

Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL 3.1 Einfache SPARQL-Anfragen 3.2 Komplexe Graph-Muster 3.3 Filter 3.4 Modifikatoren 3.5 Ausdrücke in der Selektion und Bindungen 3.6 Aggregate 3.7 Subqueries 3.8 Property Paths 3.9 Negation 3.10 Weitere Eigenschaften Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 223 / 354

Property Paths Property Paths werden mittels regulärer Ausdrücke über Prädikaten gebildet Pfade bestimmter Länge:?s ex:p{2, 4}?o Pfade mit unbestimmter Länge:?s ex:p+?o,?s ex:p*?o Alternative Pfade:?s (ex:p1 ex:p2)?o Negation von Pfaden:?s!ex:p?o Inverse Pfade:?s ^ex:p?o (entspricht?o ex:p?s) Verkettung von Pfaden:?s ex:p1 / ex:p2?o Behandlung von Property Paths: Property Pfade werden, soweit möglich, in bestehende SPARQL Konstrukte übersetzt Es sind aber auch neue Operatoren nötig Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 224 / 354

Beispiele: Property Paths Beispiel (Verkettung von Pfaden) SELECT?xName WHERE {?x rdf:type foaf:person.?x foaf:name?xname?x foaf:knows{2}/foaf:name "Bill Gates". } Beispiel (Transitiver Abschluss) SELECT?s WHERE {?s rdf:type?type.?type rdfs:subclassof* ex:someclass. } Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 225 / 354

Übung: Installation von Jena-Fuseki Installieren Sie den Jena-Fuseki-Server: 1 Laden Sie das Paket von https://jena.apache.org/download/index.cgi 2 Starten Sie den Server mit./fuseki-server --update --mem /ds 3 Testen Sie im Browser mit dem folgenden URL, ob der Server läuft: http://localhost:3030/ 4 Fügen Sie mit add data den folgenden RDF-Graphen hinzu: http: //wwwlehre.dhbw-stuttgart.de/~hladik/sw/planets.ttl Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 226 / 354

Übung: SPARQL Formulieren Sie SPARQL-Abfragen, die Ihnen die folgenden Ergebnisse liefern: 1 Objekte, die um die Sonne oder um einen Satelliten der Sonne kreisen. 2 Objekte mit einem Volumen von über 2 10 10 (km 3 ) (Himmelskörper mit Radius können als kugelförmig angenommen werden, d.h. V = 4 3 πr3 ) und, falls vorhanden, dem Objekt, dessen Satellit sie sind. 3 Objekte mit einem Satelliten, für den ein englischsprachiger Name gegeben ist, die außerdem Satellit eines Objektes von über 3000 (km) Durchmesser sind. 4 Objekte mit zwei oder mehr Satelliten (nehmen Sie an, dass unterschiedliche URIs hier unterschiedliche Objekte bezeichnen). Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 227 / 354

Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL 3.1 Einfache SPARQL-Anfragen 3.2 Komplexe Graph-Muster 3.3 Filter 3.4 Modifikatoren 3.5 Ausdrücke in der Selektion und Bindungen 3.6 Aggregate 3.7 Subqueries 3.8 Property Paths 3.9 Negation 3.10 Weitere Eigenschaften Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 228 / 354

Negation in Abfragen Zwei Varianten mit konzeptuellen und semantischen Unterschieden NOT EXISTS Testen auf Nicht-Erfüllung eines Musters SELECT?x WHERE {?x rdf:type foaf:person. FILTER NOT EXISTS {?x foaf:name?name } } MINUS Entfernen von Lösungen SELECT?x WHERE {?x rdf:type foaf:person. MINUS {?x foaf:name?name } } Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 229 / 354

Auswertung Negation via Filter Graph: _:x rdf:type foaf:person. _:x foaf:name "Peter". _:y rdf:type foaf:person. Abfrage: {?x rdf:type foaf:person. FILTER NOT EXISTS {?x foaf:name?name } } 1 Berechne Antwort für Abfrage 2 Entferne alle Tupel, die die FILTER-Muster erfüllen 3 Variablen in Abfrage und Filter sind unabhängig Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 230 / 354

Auswertung Negation via Minus Graph: _:x rdf:type foaf:person. _:x foaf:name "Peter". _:y rdf:type foaf:person. Abfrage: {?x rdf:type foaf:person. MINUS {?x foaf:name?name } } 1 Berechne Antwort für Abfrage 2 Entferne Variablenbindungen, die MINUS-Muster erfüllen 3 Gleiche Variablennamen in Abfrage und Muster Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 231 / 354

Unterschiede der Negation mit Minus und Filter Graph: ex:a ex:b ex:c. Abfrage mit Filter: {?s?p?o FILTER NOT EXISTS {?x?y?z } } Filter Muster matcht immer jede Lösung wird entfernt Abfrage mit Minus: {?s?p?o MINUS {?x?y?z } } Minus entfernt keine Lösungen, da Variablen aller Lösungen disjunkt Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 232 / 354

Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL 3.1 Einfache SPARQL-Anfragen 3.2 Komplexe Graph-Muster 3.3 Filter 3.4 Modifikatoren 3.5 Ausdrücke in der Selektion und Bindungen 3.6 Aggregate 3.7 Subqueries 3.8 Property Paths 3.9 Negation 3.10 Weitere Eigenschaften Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 233 / 354

SPARQL Update Erlaubt Manipulation von Graphen Basiert auf der Idee eines Graph-Stores (Quads) Hinzufügen und Löschen von Graphen Hinzufügen und Löschen von Tripeln in Graphen LOAD, DROP, CREATE für Graphen INSERT, DELETE für Tripel Beispiel (SPARQL-Update-Abfrage) DELETE {?person foaf:givenname "Bill" } INSERT {?person foaf:givenname "William" } WHERE {?person a foaf:person.?person foaf:givenname "Bill" } Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 234 / 354

SPARQL-Protokoll Das SPARQL-Protokoll regelt, wie Abfragen an einen SPARQL-Endpunkt im Web geschickt werden, wie Resultate zurückgegeben werden, wie Fehler kommuniziert werden. Query (nur lesend) via GET: Abfrage ist Teil des URI: http://server/endpoint1?query=... via POST: Abfrage im Body der HTTP Anfrage z.b. via HTML-Form Update (lesend und schreibend) GET mit URI: http://server/endpoint2?update=... POST mit Content-Type application/sparql-update POST via HTML-Form Query und Update sind RESTful Services HTTP-basiert (GET, POST, PUT und DELETE) Zustandslos (Anfrage enthält alle benötigeten Informationen) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 235 / 354

Clients Sesame 2 Windows Client Standalone SPARQL-Client Speichern von Abfragen https://sourceforge.net/projects/sesamewinclient/ OpenLink Data Explorer Linked-Data-Browser Plugin für Web-Browser rendert RDF/XML als HTML http://ode.openlinksw.com/ Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 236 / 354

Übung: Sesame Client 1 Installieren Sie den Sesame Windows Client 2 Verbinden Sie ihn mit dem SPARQL-Endpoint der deutschen DBpedia http://de.dbpedia.org/sparql 3 Suchen Sie nach Ressourcen mit dem RDFS-Label "Al Pacino"@de 4 Finden Sie für diese Ressource die Werte für die folgenden Properties heraus: die FOAF-Properties surname, givenname und nick, die DBpedia-eigenen Properties birthdate und birthplace. ( prefix dbo: <http://dbpedia.org/ontology/> ) 5 Speichern Sie die Suchanfragen im Query Book Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 237 / 354

Zusammenfassung SPARQL 1.1 Aggregate Berechnungen über Ergebnisse Property Paths Komplexe Kombinationen von Properties Negation Ausschließen von Lösungen UPDATE Modifizieren von Graphen über Anfragen Protokoll Kommunikation zwischen Client und Server Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 238 / 354

Öffentliche SPARQL-Endpunkte DBPedia strukturierte Wikipedia-Daten (3 Millarden Tripel): http://dbpedia.org/sparql Linked Movie DB http://data.linkedmdb.org/ und http://data.linkedmdb.org/sparql SW Dog Food Autoren, Veröffentlichungen und Konferenzen aus dem Bereich Semantic Web http://data.semanticweb.org/snorql Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 239 / 354

4. Die Web Ontology Language OWL 4.1 Ontologie und Ontologien 4.2 Einführung 4.3 Ontologie-Bausteine 4.4 Semantik 4.5 Klassenbeziehungen 4.6 Individuen 4.7 Komplexe Klassen 4.8 Properties 4.9 Datentypen und Data Properties Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 240 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

4. Die Web Ontology Language OWL 4.1 Ontologie und Ontologien 4.2 Einführung 4.3 Ontologie-Bausteine 4.4 Semantik 4.5 Klassenbeziehungen 4.6 Individuen 4.7 Komplexe Klassen 4.8 Properties 4.9 Datentypen und Data Properties Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 241 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

Ontologie in der Philosophie Lehre vom Seienden unvergängliche und unveränderliche Ideen Gegenbegriff: Werdendes Vergängliche materielle Dinge Teilhabe an Ideen Grundlage für Beziehung Klasse Instanz Begriff beschreibt philosophische Disziplin und existiert nur im Singular die Ontologie, wie die Physik nicht eine Ontologie oder Ontologien Zu finden bei Platon, Aristoteles, Thomas von Aquin, Descartes, Kant, Hegel, Wittgenstein, Heidegger, Quine,... Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 242 / 354

Ontologie in der Informatik Tom Gruber (1993): An Ontology is a nicht nur eine formal specification maschinell interpretierbar, klare Bedeutung of a shared conceptualization of a domain of interest beruht auf Konsens beschreibt Begriffe (Klassen) bezogen auf einen klar definierten Gegenstandsbereich Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 243 / 354

Ontologie in der Praxis Einige Anforderungen: Instanziierung von Klassen durch Individuen Klassenhierarchien (Taxonomien, Vererbung ): Binäre Relationen zwischen Individuen: Properties Eigenschaften von Relationen (z.b. range, transitive) Datentypen (z.b. Zahlen, Strings) Unterschied zu Individuen: Semantik ist vorgegeben John hat-freund Paul vs. 5 > 3 Logische Ausdrucksmittel: Junktoren, Quantoren Klare Semantik Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 244 / 354

RDFS Einfache Ontologien rdfs:class Klassen ex:employee ex:student Instanziierung ex:professor ex:tutor ex:phdstudent subclass ex:jan ex:martin ex:frank ex:email rdfs:range rdf:literal Relationen ex:professor rdfs:domain rdfs:range ex:advises rdfs:subpropertyof ex:student ex:responsiblefor rdfs:subpropertyof ex:employee rdfs:domain ex:supervises rdfs:range ex:employee Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 245 / 354

RDF Schema als Ontologiesprache Geeignet für einfache Ontologien Automatisches Schlussfolgern relativ effizient Leicht zu verstehen Keine inkonsistenten Ontologien Aber: für komplexere Modellierungen ungeeignet Rückgriff auf mächtigere Sprachen, wie OWL F-Logik Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 246 / 354

4. Die Web Ontology Language OWL 4.1 Ontologie und Ontologien 4.2 Einführung 4.3 Ontologie-Bausteine 4.4 Semantik 4.5 Klassenbeziehungen 4.6 Individuen 4.7 Komplexe Klassen 4.8 Properties 4.9 Datentypen und Data Properties Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 247 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

Einordnung ( Semantic Web: Linked Data on the Web, W3C, 2007) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 248 / 354

Allgemeines Web Ontology Language W3C Recommendations OWL 1 2004 OWL 2 2012 Fragment der Prädikatenlogik weniger ausdrucksstark als PL entscheidbar leichter verständlich Zwei Semantiken (OWL 2) RDF-Based Semantics (kompatibel) erweitert Semantik von RDF(S) Direct Semantics (entscheidbar) basiert auf Beschreibungslogiken unterstützt nicht alle RDF-Graphen keine Reifikation keine Klassen als Instanzen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 249 / 354

OWL-1-Varianten OWL DL Ausdrucksstärkste entscheidbare DL (2004) Vollständige Unterstützung durch Softwarewerkzeuge Hohe Komplexität (NExpTime) OWL Lite Ist Teilsprache von OWL DL Intention: Ausdrucksstärke zwischen RDFS und OWL-DL effizient leicht verständlich Ergebnis: Viele Ausdrucksmittel von OWL-DL lassen sich emulieren Ausdrucksstärke fast gleich; lediglich kompliziertere Syntax Komplexität fast gleich (ExpTime) geringe Verwendung OWL Full Intention: Eierlegende Wollmilchsau Enthält OWL DL und RDFS vollständig Ergebnis: Schwer benutzbar Semantik aus logischem Blickwinkel problematisch Unentscheidbar begrenzte Unterstützung durch Softwarewerkzeuge Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 250 / 354

OWL-2-Varianten OWL 2 (DL) Erweiterung von OWL DL (1) um neue Ausdrucksmöglichkeiten entscheidbar praktisch handhabbar Ersetzung von OWL Lite durch Profile Verschiedene Einschränkungen von OWL für bestimmte Zwecke OWL-EL, -QL und -RL mit polynomieller Komplexität Definition weiterer Fragmente möglich Ersetzung von OWL Full durch RDF-basierte Semantik von OWL unentscheidbar enthält RDFS vollständig Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 251 / 354

OWL-Dateien Verschiedene Formate RDF/XML; TTL OWL Functional Syntax (angelehnt an Beschreibungslogiken) OWL/XML (spezielle Tags für OWL-Sprachelemente) Manchester OWL ( intuitiv ; deckt nicht gesamte Sprache ab) Header enthält allgemeine Angaben zur Ontologie (Metadaten) Rest enthält eigentliche Ontologie Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 252 / 354

OWL-Spezifikation Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 253 / 354

Der Kopf eines OWL-Dokuments (TTL-Format) Definition von Namensräumen: @prefix : <http://example.org/beispielontologie#>. @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix xsd: <http://www.w3.org/2001/xmlschema#>. @prefix owl: <http://www.w3.org/2002/07/owl#>.... Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 254 / 354

Der Kopf eines OWL-Dokuments (TTL-Format) Definition von Namensräumen und Metadaten: @prefix : <http://example.org/beispielontologie#>. @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix xsd: <http://www.w3.org/2001/xmlschema#>. @prefix owl: <http://www.w3.org/2002/07/owl#>. <http://example.org/beispielontologie> rdf:type owl:ontology ; rdfs:comment "Beispiel Ontologie"^^xsd:string ; owl:versioninfo "v0.5" ; owl:priorversion <http://example.org/projects/ex> ; owl:imports <http://example.org/foo>. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 255 / 354

Der Kopf eines OWL-Dokumentes Von RDFS übernommen: rdfs:label, rdfs:comment rdfs:seealso, rdfs:isdefinedby Für Versionierung: owl:versioninfo, owl:priorversion owl:backwardcompatiblewith, owl:incompatiblewith owl:deprecatedclass, owl:deprecatedproperty Import anderer Ontologien: owl:imports Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 256 / 354

TTL-Format @prefix : <http://example.org/>. @prefix owl: <http://www.w3.org/2002/07/owl#>. <http://example.org> rdf:type owl:ontology. :Charlie rdf:type owl:namedindividual, :Person ; :owns :Snoopy ; :age 6. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 257 / 354

RDF/XML-Format <?xml version="1.0"?> <rdf:rdf xmlns="http://example.org/" xml:base="http://example.org" xmlns:ex="http://example.org/"> <owl:ontology rdf:about="http://example.org"/> <!ENTITY ex http://example.org/ > <owl:namedindividual rdf:about="&ex;charlie"> <rdf:type rdf:resource="&ex;person"/> <ex:owns rdf:resource="&ex;snoopy"/> <ex:age rdf:datatype="...#integer">6</ex:age> </owl:namedindividual> Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 258 / 354

OWL-Functional-Format Prefix(ex:=<http://example.org/>) Prefix(xsd:=<http://www.w3.org/2001/XMLSchema#>) Ontology(<http://example.org>) Declaration(Class(ex:Person)) Declaration(ObjectProperty(ex:owns)) Declaration(DataProperty(ex:age)) Declaration(NamedIndividual(ex:Charlie)) ClassAssertion(ex:Person ex:charlie) ObjectPropertyAssertion(ex:owns ex:charlie ex:snoopy) DataPropertyAssertion(ex:age ex:charlie "6"^^xsd:integer) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 259 / 354

OWL/XML-Format <?xml version="1.0"?> <Ontology xmlns="http://www.w3.org/2002/07/owl#" xml:base="http://example.org" ontologyiri="http://example.org"> <Declaration> <Class IRI="/Person"/> </Declaration> <Declaration> <DataProperty IRI="/age"/> </Declaration> <Declaration> <NamedIndividual IRI="/Charlie"/> </Declaration> <ClassAssertion> <Class IRI="/Person"/> <NamedIndividual IRI="/Charlie"/> </ClassAssertion> <ObjectPropertyAssertion> <ObjectProperty IRI="/owns"/> <NamedIndividual IRI="/Charlie"/> <NamedIndividual IRI="/Snoopy"/> </ObjectPropertyAssertion> <DataPropertyAssertion> <DataProperty IRI="/age"/> <NamedIndividual IRI="/Charlie"/> <Literal datatypeiri="http://www.w3.org/2001/xmlschema#integer">6</literal> </DataPropertyAssertion> </Ontology> Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 260 / 354

Manchester-OWL-Format Prefix: owl: <http://www.w3.org/2002/07/owl#> Prefix: ex: <http://www.example.org/> Ontology: <http://example.org> ObjectProperty: ex:owns DataProperty: ex:age Class: ex:person Individual: ex:charlie Types: ex:person Facts: ex:owns ex:snoopy ex:age 6 Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 261 / 354

4. Die Web Ontology Language OWL 4.1 Ontologie und Ontologien 4.2 Einführung 4.3 Ontologie-Bausteine 4.4 Semantik 4.5 Klassenbeziehungen 4.6 Individuen 4.7 Komplexe Klassen 4.8 Properties 4.9 Datentypen und Data Properties Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 262 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

Klassen, Properties und Individuen Klassen (owl:class) vergleichbar mit Klassen in RDFS aber: OWL-Klasse kann nicht Instanz einer anderen Klasse sein (Ausnahme: vordefinierte Klassen, Declaration) Individuen (owl:namedindividual) vergleichbar mit Objekten in RDFS aber: OWL-Individuum kann keine Klasse sein keine eigene Klasse in RDFS, da jede Ressource als Individuum betrachtet werden kann Objekt-, Daten- und Annotations-Properties (owl:object/data/annotationproperty) Vergleichbar mit Properties in RDFS aber: Unterscheidung, ob Objekt Literal oder Ressource ist aber: Property kann nicht Instanz einer Klasse sein aber: Properties sind disjunkt von Klassen und Individuen Annotation Property: Nur zur Annotation der Entitäten, keine Semantik Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 263 / 354

Klassen Beispiel (Definition von OWL-Klassen) ex:professor a owl:class. ex:student a owl:class. Anmerkung: In TTL ist a Abkürzung für rdf:type. Beispiel (Definition von Instanzen) ex:john a ex:professor. ex:mary a ex:student. Vordefinierte Klassen: owl:thing enthält alle Individuen und ist Oberklasse aller Klassen owl:nothing enthält keine Individuen und ist Unterklasse aller Klassen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 264 / 354

Object Properties Beispiel (Definition von Object Properties) ex:mitglied a owl:objectproperty. Beispiel (Definitions- und Wertebereich) ex:mitglied a owl:objectproperty ; rdfs:domain ex:person ; rdfs:range ex:organisation. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 265 / 354

Data Properties Beispiel (Definition von Data Properties) ex:vorname a owl:datatypeproperty. Beispiel (Definitions- und Wertebereich) ex:vorname a owl:datatypeproperty ; rdfs:domain ex:person ; rdfs:range xsd:string. Viele XML-Datentypen können verwendet werden. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 266 / 354

4. Die Web Ontology Language OWL 4.1 Ontologie und Ontologien 4.2 Einführung 4.3 Ontologie-Bausteine 4.4 Semantik 4.5 Klassenbeziehungen 4.6 Individuen 4.7 Komplexe Klassen 4.8 Properties 4.9 Datentypen und Data Properties Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 267 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

Semantik von OWL Die Semantik ist modelltheoretisch definiert, d.h. mittels Interpretationen Definition (Interpretation für OWL) Gegeben sei ein OWL-Dokument mit Mengen von Klassen Class, Individuen Ind, Object Properties Obj, Data Properties Data und Datentypen D 1, D 2,.... Eine Interpretation I besteht aus einer Domäne I und einer Funktion (mapping) I, die abbildet von Individuen a Ind auf Domänenelemente a I I Klassen C Class auf Mengen von Domänenelementen C I I Object Properties r Obj auf Mengen von Paaren von Domänenelementen r I I I Data Properties d Data auf Mengen von Paaren von Elementen der Domäne und Elementen des Datentyps d I I D i Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 268 / 354

Schematische Darstellung einer Interpretation Data Properties... d... Individuen... a... Klassen... C... Object Properties... r... D a I I I C I d I r I Unterschied zu RDF(S): Datentypen sind keine Teilmengen von I! Definition (Modell) Eine Interpretation I ist ein Modell für ein OWL-Dokument, wenn es ein Modell für jedes Tripel ist. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 269 / 354

4. Die Web Ontology Language OWL 4.1 Ontologie und Ontologien 4.2 Einführung 4.3 Ontologie-Bausteine 4.4 Semantik 4.5 Klassenbeziehungen 4.6 Individuen 4.7 Komplexe Klassen 4.8 Properties 4.9 Datentypen und Data Properties Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 270 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

Einfache Klassenbeziehungen: rdfs:subclassof Für Unterklassenbeziehungen wird rdfs:subclassof verwendet. Beispiel (Unterklassen in OWL) ex:professor a owl:class ; rdfs:subclassof ex:fakultaetsmitglied. ex:fakultaetsmitglied a owl:class ; rdfs:subclassof ex:person. Semantik: ex : Professor I ex : Fakultaetsmitglied I ex : Fakultaetsmitglied I ex : Person I Folgerung: ex:professor ist Unterklasse von ex:person. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 271 / 354

Einfache Klassenbeziehungen: owl:disjointwith Zwei Klassen können als disjunkt deklariert werden. Disjunkte Mengen haben keine gemeinsamen Elemente. Beispiel (owl:disjointwith) ex:professor a owl:class ; rdfs:subclassof ex:fakultaetsmitglied. ex:buch rdfs:subclassof ex:publikation. ex:fakultaetsmitglied a owl:class ; owl:disjointwith ex:publikation. Semantik: ex : Fakultaetsmitglied I ex : Publikation I = Folgerung: ex:professor und ex:buch sind ebenfalls disjunkt. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 272 / 354

Einfache Klassenbeziehungen: owl:equivalentclass Zwei Klassen können als äquivalent deklariert werden. Äquivalente Mengen haben dieselben Elemente. Beispiel (owl:equivalentclass) ex:buch a owl:class ; rdfs:subclassof :Publikation. ex:publikation a owl:class ; owl:equivalentclass ex:veroeffentlichung. Semantik: ex : Publikation I = ex : Veroeffentlichung I Folgerung: ex:buch ist ebenfalls Unterklasse von ex:veroeffentlichung Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 273 / 354

4. Die Web Ontology Language OWL 4.1 Ontologie und Ontologien 4.2 Einführung 4.3 Ontologie-Bausteine 4.4 Semantik 4.5 Klassenbeziehungen 4.6 Individuen 4.7 Komplexe Klassen 4.8 Properties 4.9 Datentypen und Data Properties Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 274 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

Individuen und Properties Beispiel ex:axelrichter a ex:person ; ex:mitglied ex:fakultaettechnik ; ex:mitglied ex:dhbwstuttgart ; ex:vorname "Axel"^^xsd:string. Semantik: ex : AxRi I ex : Person I (ex : AxRi I, ex : FakTech I ) ex : mitglied I (ex : AxRi I, ex : DHBWS I ) ex : mitglied I (ex : AxRi I, Axel) ex : vorname I Anmerkung: Properties sind im allgemeinen nicht funktional. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 275 / 354

Negative Property-Assertionen Beispiel drücken aus, dass zwei Individuen nicht durch eine bestimmte Property verbunden sind Syntax etwas umständlich [] a owl:negativepropertyassertion ; owl:sourceindividual ex:axelrichter ; owl:assertionproperty ex:mitglied ; owl:targetindividual ex:unistuttgart. Semantik: (ex : AxRi I, ex : UniStuttgart I ) / ex : mitglied I Anmerkung: auch für Data Properties Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 276 / 354

Individuen und Klassenbeziehungen Beispiel (Individuen und Unterklassen) ex:semanticwebgrundlagen a ex:buch ; ex:autor ex:pascalhitzler, ex:markuskroetzsch, ex:sebastianrudolph, ex:yorksure. ex:buch a owl:class ; rdfs:subclassof ex:publikation. Folgerung: ex:semanticwebgrundlagen ist eine ex:publikation. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 277 / 354

Individuen als Klassen: owl:oneof Definition von Klassen durch Aufzählung der enthaltenen Individuen Sonderfall: Nur ein Individuum (Nominal) Verwendung von Individuen anstelle von Klassen Beispiel ex:sglinformationstechnik a owl:class; owl:equivalentclass [ a owl:class ; owl:oneof (ex:babilon ex:strey ex:zomotor) ]. Semantik: ex : SGLInfTech I = {ex : Babilon I, ex : Strey I, ex : Zomotor I } Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 278 / 354

Übung: owl:oneof Kann man das Beispiel der letzten Seite ex:sglinformationstechnik a owl:class; owl:equivalentclass [ a owl:class ; owl:oneof (ex:babilon ex:strey ex:zomotor) ]. äquivalent ausdrücken als: ex:sglinformationstechnik a owl:class. ex:babilon a ex:sglinformationstechnik. ex:strey a ex:sglinformationstechnik. ex:zomotor a ex:sglinformationstechnik. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 279 / 354

Individuen: owl:sameas owl:sameas besagt, dass zwei Individuen identisch sind. Gegenstück: owl:differentfrom. Erinnerung: Unmöglich in RDF(S). Beispiel (owl:sameas) @prefix dbr: <http://dbpedia.org/resource/>. ex:timbernerslee a ex:person ; owl:sameas dbr:tim_berners-lee. Semantik: ex : TBL I = dbr : TBL I Folgerung: dbr:tim_berners-lee ist eine Person. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 280 / 354

Individuen: owl:differentfrom und owl:alldifferent Beispiel (owl:differentfrom) ex:janhladik a ex:fakultaetsmitglied ; owl:differentfrom ex:axelrichter. Semantik ex : JanHladik I ex : AxelRichter I Abkürzung mit Hilfe von owl:mebers für mehrere verschiedene Individuen Beispiel (owl:alldifferent) [] a owl:alldifferent ; owl:members (ex:janhladik ex:axelrichter ex:berndschwinn). Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 281 / 354

Übung: OWL-Ontologien Modellieren die folgenden Sätze als OWL-Ontologie in TTL-Syntax: 1 Die Klasse Fleisch ist eine Unterklasse von PizzaBelag. 2 Die Klasse Gemuese hat keine gemeinsamen Elemente mit der Klasse Fleisch. 3 Das Individuum Hack ist ein Element der Klasse Fleisch. 4 Die Object Property hatbelag verbindet ausschließlich Elemente der Klasse Pizza mit Elementen der Klasse PizzaBelag. Visualisieren Sie das Ergebnis mit dem RDF Visualizer. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 282 / 354

4. Die Web Ontology Language OWL 4.1 Ontologie und Ontologien 4.2 Einführung 4.3 Ontologie-Bausteine 4.4 Semantik 4.5 Klassenbeziehungen 4.6 Individuen 4.7 Komplexe Klassen 4.8 Properties 4.9 Datentypen und Data Properties Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 283 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

Logische Klassenkonstruktoren Erzeugung komplexer Klassen aus einfachen Klassen owl:intersectionof Konjunktion (, und ) owl:unionof Disjunktion (, oder ) owl:complementof Negation (, nicht ) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 284 / 354

Konjunktion Beispiel ex:sekretaerininf a owl:class ; owl:equivalentclass [ a owl:class ; owl:intersectionof (ex:sekretaerin ex:mitarbeiterinf) ]. Semantik: ex : SekretaerinInf I = ex : Sekretaerin I ex : MitarbeiterInf I Folgerung: Jede Informatik-Sekretärin ist auch Mitarbeiterin der Informatik Wer Sekretärin und Inf.-Mitarbeiter ist, ist auch Inf.-Sekretärin Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 285 / 354

Konjunktion Beispiel ex:professorinf a owl:class ; owl:subclassof [ a owl:class ; owl:intersectionof (ex:informatiker ex:professor) ]. Semantik: Folgerung: ex : ProfessorInf I ex : Informatiker I ex : Professor I Jeder Inf.-Professor ist auch Informatiker und Professor Wer Informatiker und Professor ist, ist Informatik-Professor Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 286 / 354

Disjunktion Beispiel ex:mitarbeiter a owl:class ; owl:subclassof [ a owl:class ; owl:unionof (ex:sekretaerin ex:labassist ex:professor) ]. Semantik: ex : Mitarbeiter I ex : Sek I ex : LabAssist I ex : Prof I Folgerung: Jede Sekretärin, jeder Assistent und jeder Professor ist Mitarbeiter Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 287 / 354

Negation Beispiel ex:fakultaetsmitglied a owl:class ; rdfs:subclassof [ a owl:class ; owl:complementof ex:publikation ]. Semantik: ex : Fakultaetsmitglied I I \ ex : Publikation I Folgerung: Kein Fakultätsmitglied ist eine Publikation. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 288 / 354

4. Die Web Ontology Language OWL 4.1 Ontologie und Ontologien 4.2 Einführung 4.3 Ontologie-Bausteine 4.4 Semantik 4.5 Klassenbeziehungen 4.6 Individuen 4.7 Komplexe Klassen 4.8 Properties 4.9 Datentypen und Data Properties Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 289 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

Property Restrictions: owl:allvaluesfrom Definition komplexer Klassen unter Verwendung von Properties Beispiel ex:pruefung a owl:class ; rdfs:subclassof [ a owl:restriction ; owl:onproperty ex:hatpruefer ; owl:allvaluesfrom ex:dozent ]. Semantik: Universelle Quantifizierung ( ) x ex : Pruefung I y((x, y) ex : hatpruefer I y ex : Dozent I ) Folgerung: Jeder Prüfer einer Prüfung ist Dozent. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 290 / 354

Property Restrictions: owl:somevaluesfrom Beispiel ex:pruefung a owl:class ; rdfs:subclassof [ a owl:restriction ; owl:onproperty ex:hatpruefer ; owl:somevaluesfrom ex:professor ]. Semantik: Existentielle Quantifizierung ( ) x ex : Pruefung I y((x, y) ex : hatpruefer I y ex : Professor I ) Folgerung: Ein Prüfer einer Prüfung ist Professor. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 291 / 354

Property Restrictions und Nominals Beispiel Nominals erlauben, Individuen wie Klassen zu verwenden Erweiterte Ausdrucksmöglichkeiten mit Properties Jeder Student der Informationstechnik hat Prof. Zomotor als Dozenten. ex:zomotorclass owl:equivalentclass [ owl:oneof ( ex:zomotor ) ]. ex:studinftech rdfs:subclassof [ a owl:restriction ; owl:onproperty ex:hatdozent ; owl:somevaluesfrom ex:zomotorclass ]. Problem: owl:somevaluesfrom benötigt Klasse als Objekt Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 292 / 354

Abkürzung für Nominals: owl:hasvalue Beispiel ex:studinftech rdfs:subclassof [ a owl:restriction ; owl:onproperty ex:hatdozent ; owl:hasvalue ex:zomotor ]. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 293 / 354

Property Restrictions: owl:minqualifiedcardinality Beispiel erweitert owl:somevaluesfrom Festlegung der Anzahl ex:pruefung a owl:class ; rdfs:subclassof [ a owl:restriction ; owl:onproperty ex:hatpruefer ; owl:minqualifiedcardinality 3^^xsd:nonNegativeInteger ; owl:onclass ex:pruefer ]. Semantik: x ex : Pruefung I {y (x, y) ex : hatpruefer I y ex : Pruefer I } 3 Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 294 / 354

Property Restrictions: owl:maxqualifiedcardinality Beispiel ex:pruefung a owl:class ; rdfs:subclassof [ a owl:restriction ; owl:onproperty ex:hatpruefer ; owl:maxqualifiedcardinality 6^^xsd:nonNegativeInteger ; owl:onclass ex:pruefer ]. Semantik: x ex : Pruefung I {y (x, y) ex : hatpruefer I y ex : Pruefer I } 6 Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 295 / 354

Zusammenhang zwischen Property-Restriktionen Durch owl:min/maxqualifiedcardinality können auch owl:some/allvaluesfrom ausgedrückt werden: [ owl:onproperty p; owl:somevaluesfrom C ] [ owl:onproperty p; owl:minqualcard 1; owl:onclass C ]. [ owl:onproperty p; owl:allvaluesfrom C ] [ owl:onproperty p; owl:maxqualcard 0; owl:onclass NC ]. NC owl:equivalentclass [ owl:complementof C ]. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 296 / 354

Der OWL-Editor Protégé Grafischer Editor für OWL- und RDF-Ontologien liest und schreibt XML/TTL/Functional-Syntax Schnittstelle für Reasoner http://protege.stanford.edu Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 297 / 354

Übung: Erweiterung der Pizza-Ontologie Öffnen Sie die von Ihnen erstellte Pizza-Ontologie in Protégé. Erweitern Sie die Ontologie um die folgenden Aussagen: 1 Jede Pizza der Klasse PizzaMargherita hat Tomate und Käse als Belag. 2 Keine Pizza der Klasse VegetarischePizza hat einen Belag aus der Klasse Fleisch. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 298 / 354

Property-Axiome in OWL Festlegung der Eigenschaften von Properties: p a owl:...property ReflexiveProperty (x, x) p I Beispiel: kennt IrreflexiveProperty (x, x) p I Beispiel: hatkind TransitiveProperty (x, y) p I (y, z) p I (x, z) p I Beispiel: hatnachkomme SymmetricProperty (x, y) p I (y, x) p I Beispiel: verheiratetmit AsymmtericProperty (x, y) p I (y, x) p I Beispiel: hatkind FunctionalProperty (x, y) p I (x, z) p I y = z Beispiel: hatmutter InverseFunctionalProperty (x, z) p I (y, z) p I x = y Beispiel: istmuttervon Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 299 / 354

Beziehungen zwischen Properties Beziehungen zwischen zwei Properties: p... q rdfs:subpropertyof (x, y) p I (x, y) q I Beispiel: hatfreund, kennt owl:equivalentproperty p I = q I Beispiel: kennt, hatbekannten owl:propertydisjointwith (x, y) p I (x, y) / q I Beispiel: hatvater, hatsohn owl:inverseof (x, y) p I (y, x) q I Beispiel: hatvorfahr, hatnachkomme Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 300 / 354

Übung: Property-Axiome 1 Erweitern Sie die Pizza-Ontologie um die Property hatzutat, die eine Ober-Property von hatbelag ist. 2 Welche der genannten Property-Eigenschaften treffen auf die Pizza-Properties hatbelag und hatzutat zu? Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 301 / 354

Lokale Reflexivität: owl:hasself owl:reflexiveproperty: reflexiv für jedes Individuum nicht modellierbar: Ein Narzisst ist jemand, der sich selbst liebt. Beispiel (Narzissmus in OWL) ex:narzisst a owl:class; rdfs:subclassof [ a owl:restriction ; owl:onproperty ex:liebt ; owl:hasself "true"^^xsd:boolean ] Ähnliche Konstruktion wie owl:hasvalue Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 302 / 354

Die Universelle Property owl:topobjectproperty owl:topobjectproperty (x, y) owl:topobjprop I für alle x, y owl:bottomobjectproperty owl:bottomobjprop I = Beispiel owl:thing rdfs:subclassof [ a owl:restriction ; owl:maxqualifiedcardinality 7 000 000 000 ; owl:onproperty owl:topobjectproperty ; owl:onclass Person ] Gegenstück zu owl:thing / owl:nothing Wurzel der Property-Hierarchie in grafischen Editoren Für Data Properties analog owl:topdataproperty und owl:bottomdataproperty Verwendung aus Effizienzgründen fragwürdig Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 303 / 354

Property Chains Beispiel Die Freunde meiner Freunde sind auch meine Freunde. owl:hatfreund a owl:transitiveproperty Die Feinde meiner Freunde sind auch meine Feinde. ähnlich Property Paths in SPARQL mit bisher behandelten Methoden nicht möglich Property Chain: Liste von Properties ex:hatindirektenfeind owl:propertychainaxiom ( ex:hatfreund ex:hatfeind ) ; owl:subpropertyof ex:hatfeind. Semantik: (x, y) ex : hatfreund I (y, z) ex : hatfeind I (x, z) ex : hatindirektenfeind I Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 304 / 354

Beispiele: Property Chains Beispiel (kompaktere Schreibweise mit bnode) [ owl:propertychainaxiom ( ex:hatfreund ex:hatfeind ) ] owl:subpropertyof ex:hatfeind. Beispiele (weitere Anwendungen für Property Chains) [ owl:propertychainaxiom ( ex:teilvon ex:gehört ) ] owl:subpropertyof ex:gehört. Wem ein Objekt gehört, dem gehören auch alle Teile des Objekts. [ owl:propertychainaxiom ( ex:hatkind ex:hatkind ) ] owl:subpropertyof ex:hatenkel. Das Kind eines Kindes ist ein Enkel. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 305 / 354

Bedingungen für Properties Erinnerung: Entscheidbarkeit ist wesentliches Merkmal von OWL DL kombinierte Verwendung aller genannten Sprachelemente führt zu Unentscheidbarkeit Es kann nicht für jede Ontologie entschieden werden, ob die enthaltenen Klassen widersprüchlich sind. Deshalb: Einschränkungen für Verwendung von Properties in Property Chains in Zahlenrestriktionen in Property-Axiomen mit owl:hasself Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 306 / 354

Azyklizität von Subproperty-Axiomen Beispiel [ owl:propertychainaxiom ( ex:hatvater ex:hatbruder ) ] owl:subpropertyof ex:hatonkel. [ owl:propertychainaxiom ( ex:hatkind ex:hatonkel ) ] owl:subpropertyof ex:hatbruder. Um die Entscheidbarkeit der OWL-Schlussfolgerungsverfahren zu garantieren, müssen die Subproperty-Axiome einer Ontologie azyklisch sein: Es darf keine Property geben, deren Vorhandensein von ihr selbst abhängt. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 307 / 354

Azyklische Property-Axiome Definition (azyklisch) Eine Menge von Subproperty-Axiomen mit Property Chains heißt azyklisch, wenn es eine strikte lineare Ordnung über den Properties gibt, so dass jedes Axiom eine der folgenden Formen hat (mit s i p für alle 1 i n): [ owl:pca ( p p ) ] owl:spo p [ owl:inverseof p ] owl:spo p [ owl:pca ( s 1 s 2...s n ) ] owl:spo p [ owl:pca ( p s 1 s 2...s n ) ] owl:spo p [ owl:pca ( s 1 s 2...s n p ) ] owl:spo p Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 308 / 354

Beispiele: Zyklizität Beispiele (zyklische und azyklische Property-Axiome) 1 [ owl:pca ( p s ) ] owl:spo p [ owl:pca ( s s ) ] owl:spo s [ owl:pca ( p s p ) ] owl:spo t azyklisch mit Ordnung: s p t 2 [ owl:pca ( p t s ) ] owl:spo t zyklisch; Form nicht erlaubt (t weder am Anfang noch am Ende) 3 [ owl:pca ( p s ) ] owl:spo s [ owl:pca ( s p ) ] owl:spo p zyklisch; keine entsprechende Ordnung möglich Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 309 / 354

Einfache und zusammengesetzte Properties Definition (zusammengesetzt) Eine Property p heißt zusammengesetzt (composite), wenn eine der folgenden Bedingungen erfüllt ist. p (oder ihr Inverses) ist transitiv. p (oder ihr Inverses) kommt auf der rechten Seite eines owl:subpropertyof-axioms vor, auf dessen linker Seite eine Property Chain ist. Eine Property heißt einfach, wenn sie nicht zusammengesetzt ist und keine zusammengesetzten Subproperties hat. Anschaulich: p ist einfach, wenn p nicht transitiv ist (und auch keine transitiven Subproperties hat); p nicht aus einer Property Chain folgt (und auch keine solchen Subproperties hat). Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 310 / 354

Verwendung einfacher Properties Die folgenden Axiome dürfen nur mit einfachen Properties verwendet werden: owl:min/maxqualifiedcardinality owl:hasself owl:propertydisjointwith den Property-Eigenschaften Functional InverseFunctional Irreflexive Asymmetric Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 311 / 354

4. Die Web Ontology Language OWL 4.1 Ontologie und Ontologien 4.2 Einführung 4.3 Ontologie-Bausteine 4.4 Semantik 4.5 Klassenbeziehungen 4.6 Individuen 4.7 Komplexe Klassen 4.8 Properties 4.9 Datentypen und Data Properties Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 312 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

Datentypen mit Bereichen Definition neuer Datentypen als Teilmenge existierender Datentypen Verwendung von XML-Facetten Beispiel (YoungAge) ex:youngage a rdfs:datatype ; owl:equivalentclass [ rdf:type rdfs:datatype ; owl:ondatatype xsd:integer ; owl:withrestrictions ( [ xsd:mininclusive "13"^^xsd:integer ] [ xsd:maxinclusive "19"^^xsd:integer ] ) ]. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 313 / 354

Verwendung eigener Datentypen Beispiel (Teenager) ex:young a owl:class ; owl:equivalentclass [ rdf:type owl:restriction ; owl:onproperty ex:hasage ; owl:somevaluesfrom ex:youngage ]. ex:teenager a owl:class; owl:equivalentclass [ a owl:class; owl:intersectionof ( ex:person ex:young ) ]. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 314 / 354

Datentypen: Konstruktoren und Axiome Für Datentypen dürfen die folgenden Property-Konstruktoren verwendet werden: owl:unionof, owl:intersectionof, owl:datatypecomplementof, owl:oneof. Data Properties dürfen auch zusammen mit den folgenden Klassenkonstruktoren verwendet werden: owl:allvaluesfrom, owl:somevaluesfrom, owl:min/maxqualifiedcardinality. Zulässige Axiome: rdfs:domain/range, owl:functionalproperty, owl:propertydisjointwith, owl:subpropertyof. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 315 / 354

4. Die Web Ontology Language OWL 4.1 Ontologie und Ontologien 4.2 Einführung 4.3 Ontologie-Bausteine 4.4 Semantik 4.5 Klassenbeziehungen 4.6 Individuen 4.7 Komplexe Klassen 4.8 Properties 4.9 Datentypen und Data Properties Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 316 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

Direct Semantics Nur Verwendung von explizit erlaubten RDFS-Sprachelementen erlaubt: rdfs:subclassof, rdfs:domain,... nicht erlaubt: rdfs:class, rdfs:property Typentrennung: Klassen und Properties müssen explizit deklariert werden Data Properties dürfen nicht als transitiv, symmetrisch, invers oder invers funktional deklariert werden Einschränkungen für Verwendung von Properties nur einfache Properties in Zahlenrestriktionen nur azykliche Property-Inklusionen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 317 / 354

RDF-basierte Semantik ( OWL Full ) Uneingeschränkte Nutzung aller OWL und RDFS-Sprachelemente Einzige Anforderung: gültiges RDF Konflikte durch nicht vorhandene Typentrennung (Klassen, Properties, Individuen) owl:thing dasselbe wie rdfs:resource denn in RDFS sind Klassen auch Ressourcen owl:class dasselbe wie rdfs:class owl:datatypeproperty Unterklasse von owl:objectproperty denn in RDFS sind Literale Domänenelemente owl:objectproperty dasselbe wie rdf:property Ausdrucksstärker als Direkte Semantik Aber: Unentscheidbar, keine Schlussfolgerungsverfahren Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 318 / 354

Beispiel für Typendurchmischung Beispiel Korrekt in RDFS: ex:buch a owl:class ; ex:englischername "book"^^xsd:string ; ex:franzoeschername "livre"^^xsd:string. Nicht korrekt in OWL Properties verbinden Klassen mit Literalen OWL-Properties gehen verbinden nur Individuen mit anderen Individuen oder Literalen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 319 / 354

Meta-Modellierung in OWL (Direct Semantics) Annotation Properties dritte Art von OWL-Properties dürfen als Subjekt alle Arten von OWL-Entitäten haben Meta-Modellierung: Beschreiben nicht die Domain of Interest, sondern das Modell selbst erlauben keine Schlussfolgerungen da sie die Domäne nicht modellieren, sondern nur annotieren, ist dies auch nicht notwendig OWL Annotation Properties: rdfs:label, rdfs:comment Versionsinformation Kompatibilitätsinformation Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 320 / 354

Wesentliche Unterschiede in den Semantiken Annotationen haben keine Semantik in der Direct Semantics, aber in der RDF-Based Semantics Import-Anweisungen sind nur Parser-Anweisungen in der Direct Semantics, aber haben eine Bedeutung als Triple in der RDF-Based Semantics In der RDF-Based Semantics sind Klassen Individuen, die auch noch eine Extension haben Schlussfolgerungsregeln sind nur auf Klassen anwendbar, die auch wirklich von einem Individuum repräsentiert werden Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 321 / 354

4. Die Web Ontology Language OWL 4.1 Ontologie und Ontologien 4.2 Einführung 4.3 Ontologie-Bausteine 4.4 Semantik 4.5 Klassenbeziehungen 4.6 Individuen 4.7 Komplexe Klassen 4.8 Properties 4.9 Datentypen und Data Properties Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 322 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

Terminologische Schlussfolgerungen Terminologisch: nur Klassen und Properties betreffend Klassenäquivalenz Gilt (in jedem Modell) ex : Person I = ex : Human I? Subklassenbeziehung Gilt ex : Dog I = ex : Mammal I? Ermöglicht Erstellen der Klassenhierarchie Disjunktheit von Klassen Gilt ex : Dog I ex : Human I =? Klassenkonsistenz Gilt ex : Person I =? Eine inkonsistente Klasse ist äquivalent zu owl:nothing dies deutet oft auf einen Modellierungsfehler hin Beispiel (inkonsistente Klasse) ex:buch a owl:class ; rdfs:subclassof ex:publikation ; owl:disjointwith ex:publikation. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 323 / 354

Assertionale Schlussfolgerungen Assertional: auch Individuen betreffend Instanzüberprüfung Gehört ex:charlie zur Klasse ex:person? Klassenextension Finde allen Individuen, die (notwendig) in einer Klasse enthalten sind Welche Individuen sind (sicher) Menschen? Property-Instanz Werden zwei gegebene Individuen durch eine bestimmte Property verknüpft? Ist John ein Freund von Mary? Property-Extension Suche nach allen Individuenpaaren, die durch eine Property verknüpft sind Welche Paare sind verheiratet? Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 324 / 354

4. Die Web Ontology Language OWL 4.1 Ontologie und Ontologien 4.2 Einführung 4.3 Ontologie-Bausteine 4.4 Semantik 4.5 Klassenbeziehungen 4.6 Individuen 4.7 Komplexe Klassen 4.8 Properties 4.9 Datentypen und Data Properties Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 325 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

Überblick OWL-Sprachelemente: Klassen Klassenkonstruktoren Klassennamen Konjunktion Disjunktion Negation Existentielle Restriktion Universelle Restriktion Lokale Reflexivität Größer-als Kleiner-als Nominale Klassenaxiome Inklusion Äquivalenz owl:class owl:intersectionof owl:unionof owl:complementof owl:somevaluesfrom owl:allvaluesfrom owl:hasself owl:minqualifiedcardinality owl:maxqualfifiedcardinality owl:oneof rdfs:subclassof owl:equivalentclass Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 326 / 354

Überblick OWL-Sprachelemente: Object Properties Properties Object Properties Universelle Property Property-Axiome Inklusion Komplexe Inklusion Gleichheit Disjunktheit Inverse Property Transitivität Symmetrie Reflexivität Funktionalität owl:objectproperty owl:topobjectproperty ex:r1 rdfs:subpropertyof ex:r2 [ ( ex:r1... ex:rn ) ] rdfs:subpropertyof ex:r owl:equivalentproperty owl:propertydisjointwith owl:inverseof owl:transitiveproperty owl:(a)symmetricproperty owl:(ir)reflexiveproperty owl:(inverse)functionalproperty Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 327 / 354

Überblick OWL-Sprachelemente: Individuen Assertionen Klassenzugehörigkeit Property-Beziehung Neg. Property-Beziehung Gleichheit Ungleichheit rdf:type (a) (RDF-Tripel) owl:negativepropertyassertion owl:sameas owl:differentfrom Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 328 / 354

Weiterführende Literatur https://www.w3.org/tr/owl-overview/ Zentrale W3C Webseite für OWL https://www.w3.org/tr/owl-primer/ Einführung mit Beispielen https://www.w3.org/tr/owl-syntax/ Funktionale Syntax https://www.w3.org/tr/owl-mapping-to-rdf/ Übersetzung der funktionalen Syntax in TTL https://www.w3.org/tr/owl-direct-semantics/ Direkte Semantik (mit funktionaler Syntax) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 329 / 354

Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL 4. Die Web Ontology Language OWL 5. Integration existierender Systeme 5.1 Datenbank-Adapter 5.2 Middleware-Adapter 5.3 Integration verschiedener LD-Quellen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 330 / 354

Einsatz von SW-Techniken in der Praxis Veröffentlichung von Informationen in universellem, für Maschinen verständlichem Format Vereinfachte Anwendungsentwicklung durch Verwendung von Standards und semantische Annotationen Vereinfachte Zusammenarbeit durch Verwendung von gemeinsamem Datenformat zwischen Partnerunternehmen zwischen Unternehmen und Kunden zur Einbindung von Benutzer-generierten Inhalten zur Verknüpfung mit sozialen Netzwerken Einfache Integration von existierenden Vokabularen (FOAF) und Repositorien (DBpedia) Einsatz existierender Software Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 331 / 354

Existierende Software Triple Stores Sesame SPARQL Jena SPARUL, OWL Virtuoso universal Server Ontologie-Editoren Protégé OWL, Plugins TopBraid Composer Tools Swoogle Suchmaschine Adapter Silk Finden verwandter Ressourcen D2RQ Relationale DB XLWrap Spreadsheets Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 332 / 354

Architektur einer Zusammenarbeits-Plattform Beispiel: Kleidung Webshop Schneiderei Stickerei Kunden-Design Beispiel: Maschinenwartung http://www.comvantage.eu/ Wartungsunternehmen Maschinenbetreiber Maschinenhersteller Live-Daten der Maschinen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 333 / 354

Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL 4. Die Web Ontology Language OWL 5. Integration existierender Systeme 5.1 Datenbank-Adapter 5.2 Middleware-Adapter 5.3 Integration verschiedener LD-Quellen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 334 / 354

Integration von Datenbank-Inhalten Elemente URIs Fremdschlüssel object properties Literale data properties rdf:type und rdfs:label Externe Datenquellen Deep Linking durch URIs Semantisches Liften Customer id first name last name email address 1 Peter Panter peter@panter.org 19 Purchase id customer product size price 5 1 3 XL 89,99 Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 335 / 354

Der Datenbank-Adapter D2RQ http://d2rq.org D2R Server HTTP-Server für HTTP-Darstellungen von RDF-Entitäten für Web-Browser RDF-Beschreibungen für Linked-Data-Browser SPARQL-Endpoint D2RQ Engine übersetzt SPARQL-Anfragen in SQL D2R Mapping File enthält semantische Information zu Datenbank-Schema Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 336 / 354

D2RQ Mapping Language: Klassen und Individuen beschreibt Abbildung von Datenbank-Tabellen auf RDF-Tripel Format: RDF Präfix d2rq: <http://www.wiwiss.fu-berlin.de/suhl/bizer/d2rq/0.1#> spezielle Klassen und Properties ClassMap Abbildung jedes Datensatzes einer DB-Tabelle auf Instanzen einer RDF-Klasse ex:customer_map a d2rq:classmap. uripattern Generierung der URI aus DB-Tabelle und Feld ex:customer_map d2rq:uripattern "http://example.org/customer@@customer.id@@". class Klasse für generierte Entitäten ex:customer_map d2rq:class ex:customer. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 337 / 354

D2RQ Mapping Language: Properties PropertyBridge Abbildung eines DB-Feldes auf eine RDF-Property ex:customer_firstname a d2rq:propertybridge. belongstoclassmap Subjekt des Tripels (DB-Datensatz) ex:customer_firstname d2rq:belongstoclassmap ex:customer_map. property Prädikat des Tripels ex:customer_firstname d2rq:property foaf:firstname. column Objekt des Tripels (DB-Feld) für Literale ex:customer_firstname d2rq:column "Customer.first_name". join Objekt des Tripels für URIs (für Fremdschlüssel) ex:purchase_customer d2rq:join "Purchase.customer = Customer.id". referstoclassmap ClassMap des Objekts (für Fremdschlüssel) ex:purchase_customer d2rq:referstoclassmap ex:customer_map. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 338 / 354

Industrie 4.0: Vorteile von Linked Data Austausch zwischen Kunden (Empfehlungen, individuelles Design) Übernahme von Produktionsaufträgen durch Produzenten Verfolgung des Produktionsfortschritts durch Kunden Late customisation Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 339 / 354

Links in Linked Data: Datenbank-Adapter zu Triple Store Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 340 / 354

Links in Linked Data: Triple Store zu Wikipedia Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 341 / 354

Links in Linked Data: Wikipedia zu Hersteller und Foto Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 342 / 354

Links in Linked Data: Herstellerseite und Beispielfoto Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 343 / 354

Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL 4. Die Web Ontology Language OWL 5. Integration existierender Systeme 5.1 Datenbank-Adapter 5.2 Middleware-Adapter 5.3 Integration verschiedener LD-Quellen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 344 / 354

Szenario: Maschinenwartung Ziele: Unterstützung von Wartungs-Technikern Mobiler Zugang zu umfassender Information Maschinen-Dokumentation Aktuelle Sensordaten Historische Sensordaten und Testergebnisse Durchführung von Tests Vorhersage von Defekten Verkürzung von Ausfallzeiten Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 345 / 354

Industrie 4.0: Linked-Data-Adapter für Middleware Data Harmonisation Middleware Adapter veröffentlicht beim Start semantische Beschreibung der Maschine bietet Live-Zugang zu Sensordaten im RDF-Format speichert Sensor-Daten in regelmäßigen Abständen führt auf Anfrage Tests durch speichert Test-Resultate Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 346 / 354

Mobile Benutzerschnittstelle: Tests Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 347 / 354

Mobile Benutzerschnittstelle: Maschinen-Übersicht Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 348 / 354

Mobile Benutzerschnittstelle: Ausfall-Vorhersage Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 349 / 354

Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL 4. Die Web Ontology Language OWL 5. Integration existierender Systeme 5.1 Datenbank-Adapter 5.2 Middleware-Adapter 5.3 Integration verschiedener LD-Quellen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 350 / 354

Redundante Information Große Datenspeicher enthalten redundante Information Problem tritt in dezentralen Strukturen wie Semantic Web verstärkt auf Beispiele: Alan Turing in DBpedia und DBLP Kundeninformationen bei Kooperationspartnern Ziel: Automatisches Erkennen von URIs, die dieselbe Entität referenzieren Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 351 / 354

Silk - Linked Data Integration Framework URL: http:// silkframework. org/ Erkennen von Identitäten anhand von Regeln Hinzufügen von owl:sameas- Aussagen zu Triple Store Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 352 / 354

Finden von Zusammenhängen Neue Aussagen nicht auf owl:sameas beschränkt Beispiel: Finden von Nachbarn verschiedene URIs gleicher Straßenname, mit gewisser Toleranz bei Schreibweise Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 353 / 354

Silk-Resultate Ergebnisse und Scores werden angezeigt Benutzer kann Ergebnisse übernehmen oder verwerfen Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester 2016 354 / 354