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

Größe: px
Ab Seite anzeigen:

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

Transkript

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

2 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 / 354

3 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 / 354

4 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 / 354

5 Lehrveranstaltung Vorlesung Termin: Montag, 13:00 15:45 Zeitraum: Ostermontag: Tag der Arbeit: Termine Skript Klausur Termin: wahrscheinlich ( 8 Termine) Hilfsmittel: Skript, Notizen, Bücher ca. 60min Wahlfach: Note Zusatzfach: bestanden / nicht bestanden Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

6 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 / 354

7 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 / 354

8 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 / 354

9 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 / 354

10 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 / 354

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

12 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=" Oriel College</a></div> <div> </div> <div> (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 / 354

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

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

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

16 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 / 354

17 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 / 354

18 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 / 354

19 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 / 354

20 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 / 354

21 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 / 354

22 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+) = ( = = 7 syntaktisch falsch syntaktisch richtig syntaktisch richtig semantisch falsch semantisch wahr Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

23 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 / 354

24 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 / 354

25 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 Standard für Regeln: Rule Interchange Format (RIF) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

26 Semantic Web Diagramme der Linking Open Data Cloud von Max Schmachtenberg, Christian Bizer, Anja Jentzsch and Richard Cyganiak. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

27 Semantic Web 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 / 354

28 Semantic Web 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 / 354

29 Semantic Web 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 / 354

30 Semantic Web 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 / 354

31 Semantic Web 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 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 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 / 354

32 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 / 354

33 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 / 354

34 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 / 354

35 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 / 354

36 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 / 354

37 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 / 354

38 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, (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 / 354

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

40 Warum URIs? 1 Use URIs as names for things. eindeutige Identifizierung von Entitäten Vermeidung von Doppeldeutigkeiten Beispiel (Disambiguierung) oder Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

41 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 / 354

42 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 / 354

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

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

45 Allgemeines zu RDF Resource Description Framework W3C Recommendation ( 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 / 354

46 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 / 354

47 Literale Zur Repräsentation von Datenwerten Darstellung als Zeichenketten Interpretation erfolgt durch Datentyp Literale ohne Datentyp werden wie Zeichenketten behandelt Semantic Web Grundlagen Springer Verlag Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

48 Graph als Menge von Tripeln Verschiedene Darstellungsmöglichkeiten für Graphen Hier verwendet: Liste von (Knoten-Kante-Knoten)-Tripeln Semantic Web Grundlagen Springer Verlag Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

49 RDF-Tripel Bestandteile eines RDF-Tripels Subjekt Prädikat Objekt 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 / 354

50 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 / 354

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

52 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 / 354

53 Turtle-Syntax: Präfixe Beispiel (Tripel in Turtle-Notation) < < < < < "Semantic Web -- Grundlagen". < < "Springer Verlag". Beispiel (Abkürzungen in ex: springer: < 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 / 354

54 Turtle Syntax: Abkürzungen Mehrere Tripel mit gleichem Subjekt kann man zusammenfassen: ex: springer: < 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: ex: < 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 / 354

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

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

57 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 / 354

58 Datentypen in RDF Beispiel Graph: Springer Verlag ˆˆ ˆˆ xsd: < < < "Springer Verlag"^^xsd:string ; < " "^^xsd:date. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

59 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=" <ex:titel rdf:parsetype="literal"> <b>semantic Web</b><br /> Grundlagen </ex:titel> </rdf:description> Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

60 Sprachangaben und Datentypen Sprachinformationen durch Codes, z.b. de, en beeinflusst nur untypisierte Literale Beispiel (Sprachinformationen in Turtle) < < "Springer "Springer Science+Business Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

61 Sprachangaben und Datentypen Nach RDF-Spezifikation sind demnach die folgenden Literale xsd: < < < "Springer Verlag", "Springer "Springer Verlag"^^xsd:string. Sie werden aber in der Regel gleich behandelt. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

62 Mehrwertige Beziehungen Für die Zubereitung von Chutney benötigt man 450g grüne Mango, einen Teelöffel Cayennepfeffer,... Beispiel (Turtle Chutney ex: < 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 / 354

63 Mehrwertige Beziehungen Für die Zubereitung von Chutney benötigt man 450g grüne Mango, einen Teelöffel Cayennepfeffer,... Beispiel (Turtle Chutney ex: < 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 / 354

64 Mehrwertige Beziehungen Für die Zubereitung von Chutney benötigt man 450g grüne Mango, einen Teelöffel Cayennepfeffer,... Beispiel (Turtle Chutney ex: < 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 / 354

65 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 / 354

66 Mehrwertige Beziehungen in RDF Beispiel (Hilfsknoten in RDF) Als Graph g ex: rdf: < ex:chutney ex:hatzutat ex:chutneyzutat1. ex:chutneyzutat1 ex:zutat ex:grünemango; ex:menge "450g".... Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

67 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) g Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

68 Leere Knoten in TTL Beispiel ex: < ex:chutney ex:hatzutat _:id1. _:id1 ex:zutat ex:grünemango ; ex:menge "450g". Beispiel (Verkürzte ex: < ex:chutney ex:hatzutat [ ex:zutat ex:grünemango ; ex:menge "450g" ]. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

69 Online-Tools zu RDF-Syntax RDF/XML Syntax-Check und Visualisierung: Konverter TTL XML (und andere Varianten) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

70 Ü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 / 354

71 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 / 354

72 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 / 354

73 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 / 354

74 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 / 354

75 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 / 354

76 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 / 354

77 Ü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 / 354

78 Ü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 / 354

79 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 / 354

80 Offene Listen (Container) 02/22-rdf-syntax-ns# /22-rdf-syntax-ns# /22-rdf-syntax-ns#type 02/22-rdf-syntax-ns#Seq 02/22-rdf-syntax-ns# /22-rdf-syntax-ns# Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

81 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 / 354

82 Geschlossene Listen (Collections) Graph: /22-rdf-syntax-ns#nil 02/22-rdf-syntax-ns#first 02/22-rdf-syntax-ns#first 02/22-rdf-syntax-ns#first 02/22-rdf-syntax-ns#first Idee: Verkettete Liste (rekursive Datenstruktur) first Kopfelement rest Restliste (kann leer sein) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

83 Geschlossene Listen (Collections) ex: < ex:semanticweb ex:autoren ( ex:hitzler ex:krötzsch ex:rudolph ex:sure ). Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

84 Ü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 / 354

85 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 / 354

86 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 / 354

87 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 / 354

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

89 Schemawissen mit RDFS RDF bietet universelle Möglichkeit zur Kodierung von faktischen Daten im Web: ex:verlegtbei 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 / 354

90 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 / 354

91 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): Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

92 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 / 354

93 Klassen und Instanzen Typisierung von Ressourcen schon in RDF für Listen: /22-rdf-syntax-ns# /22-rdf-syntax-ns# /22-rdf-syntax-ns#type 02/22-rdf-syntax-ns#Seq 02/22-rdf-syntax-ns# /22-rdf-syntax-ns# 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 / 354

94 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 Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

95 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 / 354

96 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 / 354

97 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 / 354

98 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 / 354

99 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 / 354

100 %<rdf:rdf Jan Hladik (DHBW xmlns:rdf=" Stuttgart) Semantic Web Sommersemester / 354 Ausgeprägte Klassenhierarchien in Naturwissenschaften Beispiel (zoologische Einordnung des modernen ex: < 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.

101 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 / 354

102 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 / 354

103 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 / 354

104 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 / 354

105 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 / 354

106 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 / 354

107 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 / 354

108 Ü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 / 354

109 Arbeit mit offenen Listen Zur Erinnerung: offene Listen in RDF: 02/22-rdf-syntax-ns# /22-rdf-syntax-ns# /22-rdf-syntax-ns#type 02/22-rdf-syntax-ns#Seq 02/22-rdf-syntax-ns# /22-rdf-syntax-ns# Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

110 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 / 354

111 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 / 354

112 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 / 354

113 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 / 354

114 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 / 354

115 rdfs:label und rdfs:comment Beispiel (Verwendung von wikipedia: ex: < 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 / 354

116 Übung: Nutzung von RDFS-Labels und Descriptions Betrachten Sie die FOAF-Ontologie auf 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 / 354

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

118 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 / 354

119 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 / 354

120 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 / 354

121 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 / 354

122 1 Dokument - 3 Interpretationen <rdf:description rdf:id="&ex;truck"> <rdf:type rdf:resource= " <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 ex:motorvehicle Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

123 1 Dokument - 3 Interpretationen <rdf:description rdf:id="&ex;truck"> <rdf:type rdf:resource= " <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 / 354

124 1 Dokument - 3 Interpretationen <rdf:description rdf:id="&ex;truck"> <rdf:type rdf:resource= " <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 / 354

125 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 / 354

126 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 / 354

127 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 / 354

128 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 / 354

129 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 / 354

130 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 / 354

131 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 / 354

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

133 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 Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

134 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 / 354

135 Ü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 / 354

136 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 / 354

137 Einfache Interpretation: Beispiel Gegeben Graph G: g 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 / 354

138 Einfache Interpretation: Beispiel g 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 / 354

139 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 / 354

140 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 / 354

141 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 Semantic Web Grundlagen Springer Verlag folgt einfach Springer Verlag Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

142 Ü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 / 354

143 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 / 354

144 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 / 354

145 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 / 354

146 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 / 354

147 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 / 354

148 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 / 354

149 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 / 354

150 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 / 354

151 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 / 354

152 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 / 354

153 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 / 354

154 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 / 354

155 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 / 354

156 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 / 354

157 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 / 354

158 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 / 354

159 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 / 354

160 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 / 354

161 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 / 354

162 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 / 354

163 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 / 354

164 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 / 354

165 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 / 354

166 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 / 354

167 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 / 354

168 Ü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 / 354

169 Ü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 / 354

170 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 / 354

171 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 / 354

172 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 / 354

173 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 / 354

174 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 / 354

175 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 / 354

176 Einfache Anfragen Beispiel (SPARQL-Anfrage) PREFIX foaf: < 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 / 354

177 Basic Graph Patterns Muster: {?x foaf:name?name.?x foaf:mbox?mbox. foaf: _: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 / 354

178 Matching- und Abfrage-Ergebnis PREFIX foaf: < 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 / 354

179 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 / 354

180 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 / 354

181 Übung: DBpedia und SPARQL Der SPARQL-Endpoint der DBpedia hat die URL Finden Sie heraus, welche Ober- und Unterklassen die Klasse Place (URI: 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 / 354

182 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 / 354

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

184 Benannte Graphen: FROM NAMED Beispiel (Abfrage mit FROM NAMED-Parameter) SELECT?g?name?mbox FROM NAMED < FROM NAMED < 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 / 354

185 Anfragen mit Literalen: Datentypen Beispiel (Verschiedene xsd: ex: < ex:ex1 ex:p "test". ex:ex2 ex:p "test"^^xsd:string. ex:ex3 ex:p ex:ex4 ex:p "42"^^xsd:integer. Was liefert eine Anfrage mit folgendem Muster? {?subject < "test". } Ergebnis: ex:ex1 Genaue Übereinstimmung der Datentypen gefordert Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

186 Anfragen mit Literalen: Zahlen Beispiel (Zahlen als xsd: ex: < ex:ex1 ex:p "test". ex:ex2 ex:p "test"^^xsd:string. ex:ex3 ex:p ex:ex4 ex:p "42"^^xsd:integer. Abkürzung für Zahlenwerte möglich: {?subject < 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 / 354

187 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 / 354

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

189 Optionale Muster Das Schlüsselwort OPTIONAL erlaubt die Angabe optionaler Teile eines Musters: Beispiel {?book ex:publishedby < OPTIONAL {?book ex:titel?titel. } OPTIONAL {?book ex:author?author. } } Teile eines Anfrageergebnisses können ungebunden sein: book titel author < "Titel1" < < "Titel2" < "Titel3" _:a < _:a < Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

190 Alternative Muster Das Schlüsselwort UNION erlaubt die Angabe alternativer Teile eines Musters: Beispiel {?book ex:publishedby < {?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 / 354

191 Übung: Graph-Muster Gegeben sei der folgende dc10: dc11: ex: < _: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 / 354

192 Kombination von Optionen und Alternativen (1) Wie sind Kombinationen von OPTIONAL und UNION zu verstehen? Beispiel {?book ex:publishedby < {?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 / 354

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

194 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 / 354

195 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 / 354

196 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 / 354

197 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 / 354

198 Filter in SPARQL Beispiel (Filter) PREFIX ex: < SELECT?book WHERE {?book ex:publishedby < 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 / 354

199 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 / 354

200 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 / 354

201 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 / 354

202 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: < SELECT?book WHERE {?book ex:review?text. FILTER ( langmatches( LANG(?text), "de") ) } Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

203 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 / 354

204 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 / 354

205 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 / 354

206 Ergebnisse sortieren Sortierung von Ergebnissen mit Schlüsselwort ORDER BY Beispiel SELECT?book?price WHERE {?book < } 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 / 354

207 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 / 354

208 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 < } 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 / 354

209 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 / 354

210 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 / 354

211 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 / 354

212 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 / 354

213 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 / 354

214 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 / 354

215 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 / 354

216 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 / 354

217 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 / 354

218 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 / 354

219 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 / 354

220 Ü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 / 354

221 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 / 354

222 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 / 354

223 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 / 354

224 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 / 354

225 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 / 354

226 Übung: Installation von Jena-Fuseki Installieren Sie den Jena-Fuseki-Server: 1 Laden Sie das Paket von 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: 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 / 354

227 Ü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 (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 / 354

228 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 / 354

229 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 / 354

230 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 / 354

231 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 / 354

232 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 / 354

233 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 / 354

234 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 / 354

235 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: via POST: Abfrage im Body der HTTP Anfrage z.b. via HTML-Form Update (lesend und schreibend) GET mit URI: 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 / 354

236 Clients Sesame 2 Windows Client Standalone SPARQL-Client Speichern von Abfragen OpenLink Data Explorer Linked-Data-Browser Plugin für Web-Browser rendert RDF/XML als HTML Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

237 Übung: Sesame Client 1 Installieren Sie den Sesame Windows Client 2 Verbinden Sie ihn mit dem SPARQL-Endpoint der deutschen DBpedia 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: < ) 5 Speichern Sie die Suchanfragen im Query Book Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

238 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 / 354

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

240 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 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

241 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 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

242 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 / 354

243 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 / 354

244 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 / 354

245 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: 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 / 354

246 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 / 354

247 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 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

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

249 Allgemeines Web Ontology Language W3C Recommendations OWL OWL 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 / 354

250 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 / 354

251 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 / 354

252 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 / 354

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

254 Der Kopf eines OWL-Dokuments (TTL-Format) Definition von : rdf: rdfs: xsd: owl: < Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

255 Der Kopf eines OWL-Dokuments (TTL-Format) Definition von Namensräumen und : rdf: rdfs: xsd: owl: < < rdf:type owl:ontology ; rdfs:comment "Beispiel Ontologie"^^xsd:string ; owl:versioninfo "v0.5" ; owl:priorversion < ; owl:imports < Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

256 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 / 354

257 : owl: < < rdf:type owl:ontology. :Charlie rdf:type owl:namedindividual, :Person ; :owns :Snoopy ; :age 6. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

258 RDF/XML-Format <?xml version="1.0"?> <rdf:rdf xmlns=" xml:base=" xmlns:ex=" <owl:ontology rdf:about=" <!ENTITY ex > <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 / 354

259 OWL-Functional-Format Prefix(ex:=< Prefix(xsd:=< Ontology(< 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 / 354

260 OWL/XML-Format <?xml version="1.0"?> <Ontology xmlns=" xml:base=" ontologyiri=" <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=" </DataPropertyAssertion> </Ontology> Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

261 Manchester-OWL-Format Prefix: owl: < Prefix: ex: < Ontology: < 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 / 354

262 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 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

263 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 / 354

264 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 / 354

265 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 / 354

266 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 / 354

267 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 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

268 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 / 354

269 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 / 354

270 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 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

271 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 / 354

272 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 / 354

273 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 / 354

274 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 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

275 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 / 354

276 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 / 354

277 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 / 354

278 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 / 354

279 Ü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 / 354

280 Individuen: owl:sameas owl:sameas besagt, dass zwei Individuen identisch sind. Gegenstück: owl:differentfrom. Erinnerung: Unmöglich in RDF(S). Beispiel dbr: < 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 / 354

281 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 / 354

282 Ü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 / 354

283 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 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

284 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 / 354

285 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 / 354

286 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 / 354

287 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 / 354

288 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 / 354

289 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 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

290 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 / 354

291 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 / 354

292 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 / 354

293 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 / 354

294 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 / 354

295 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 / 354

296 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 / 354

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

298 Ü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 / 354

299 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 / 354

300 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 / 354

301 Ü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 / 354

302 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 / 354

303 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 ; 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 / 354

304 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 / 354

305 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 / 354

306 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 / 354

307 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 / 354

308 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 / 354

309 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 / 354

310 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 / 354

311 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 / 354

312 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 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

313 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 / 354

314 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 / 354

315 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 / 354

316 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 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

317 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 / 354

318 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 / 354

319 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 / 354

320 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 / 354

321 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 / 354

322 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 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

323 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 / 354

324 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 / 354

325 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 / 354 Inhalt 1. Einführung 2. Linked Data, URIs und RDF 3. Die Anfragesprache SPARQL

326 Ü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 / 354

327 Ü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 / 354

328 Ü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 / 354

329 Weiterführende Literatur Zentrale W3C Webseite für OWL Einführung mit Beispielen Funktionale Syntax Übersetzung der funktionalen Syntax in TTL Direkte Semantik (mit funktionaler Syntax) Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

330 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 / 354

331 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 / 354

332 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 / 354

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

334 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 / 354

335 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 address 1 Peter Panter peter@panter.org 19 Purchase id customer product size price XL 89,99 Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

336 Der Datenbank-Adapter D2RQ 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 / 354

337 D2RQ Mapping Language: Klassen und Individuen beschreibt Abbildung von Datenbank-Tabellen auf RDF-Tripel Format: RDF Präfix d2rq: < 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 " class Klasse für generierte Entitäten ex:customer_map d2rq:class ex:customer. Jan Hladik (DHBW Stuttgart) Semantic Web Sommersemester / 354

338 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 / 354

339 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 / 354

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

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

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

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

344 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 / 354

345 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 / 354

346 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 / 354

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

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

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

350 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 / 354

351 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 / 354

352 Silk - Linked Data Integration Framework URL: 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 / 354

353 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 / 354

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

Semantic Web Grundlagen

Semantic Web Grundlagen Birte Glimm Institut für Künstliche Intelligenz 02. Feb 2012 Semantic Web Grundlagen Data 2/42 Birte Glimm Semantic Web Grundlagen 02. Feb 2012 Organisatorisches: Inhalt Einleitung und XML 17. Okt Hypertableau

Mehr

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

Wahlpflichtmodul Semantic Web Master Informatik und Medieninformatik Die Bibliothek von morgen und das Web of Data Wahlpflichtmodul Semantic Web Master Informatik und Medieninformatik Die Bibliothek von morgen und das Web of Data Prof. Dr. Thomas Riechert Hochschule für Technik, Wirtschaft und Kultur Leipzig Fakultät

Mehr

Organisatorisches: Inhalt. Daten im Web. Linked Data

Organisatorisches: Inhalt. Daten im Web. Linked Data 2/42 Birte Glimm Web Grundlagen 02. Feb 2012 Birte Glimm Institut für Künstliche Intelligenz 02. Feb 2012 Web Grundlagen Organisatorisches: Inhalt Einleitung und XML 17. Okt Hypertableau II 12. Dez Einführung

Mehr

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

Linked Data & SPARQL. Eine Einführung. Birte Glimm Institut für Künstliche Intelligenz 12. Mai 2012 Birte Glimm Institut für Künstliche Intelligenz 12. Mai 2012 Linked Data & SPARQL Eine Einführung Foliensatz adaptiert von Andreas Harth und M. Krötzsch. Die nichtkommerzielle Vervielfältigung, Verbreitung

Mehr

Semantic Web Technologies I Lehrveranstaltung im WS09/10

Semantic Web Technologies I Lehrveranstaltung im WS09/10 www.semantic-web-grundlagen.de Semantic Web Technologies I Lehrveranstaltung im WS09/10 M.Sc. Markus Krötzsch Dr. Sebastian Rudolph www.semantic-web-grundlagen.de Einführung in RDF Dr. Sebastian Rudolph,

Mehr

Linked Open Cultural Heritage.

Linked Open Cultural Heritage. Linked Open Cultural Heritage. Herausforderungen, Risiken und Chancen der Datenvernetzung im Bereich des Kulturerbes. Georg Hohmann Germanisches Nationalmuseum Referat für Museums- und Kulturinformatik

Mehr

Semantic Web Technologies I

Semantic Web Technologies I www.semantic-web-grundlagen.de Semantic Web Technologies I Lehrveranstaltung im WS09/10 M.Sc. Markus Krötzsch Dr. Sebastian Rudolph www.semantic-web-grundlagen.de Einführung in RDF Dr. Sebastian Rudolph

Mehr

Linked Cultural Heritage.

Linked Cultural Heritage. Linked Cultural Heritage. Herausforderungen und Chancen der Datenvernetzung im Bereich des Kulturerbes. Georg Hohmann Germanisches Nationalmuseum Referat für Museums- und Kulturinformatik Kornmarkt 1,

Mehr

Linking Open Data: Anwendungen für Endanwender

Linking Open Data: Anwendungen für Endanwender Linking Open Data: Anwendungen für Endanwender Herbert Mühlburger (Graz University of Technology muehlburger@student.tugraz.at) Zusammenfassung Dieser Artikel beschäftigt sich mit Anwendungen, die das

Mehr

Semantic Web Technologies 1

Semantic Web Technologies 1 Übung zur Lehrveranstaltung Semantic Web Technologies 1 Sebastian Rudolph und Duc Thanh Tran Wintersemester 2012/13 http://semantic-web-grundlagen.de Übung 1: RDF und RDF Schema Aufgabe 1.1 Entscheiden

Mehr

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

DSpace 5 und Linked (Open) Data. Pascal-Nicolas Becker Technische Universität Berlin German DSpace User Group Meeting 2014 Berlin, 28. DSpace 5 und Linked (Open) Data Pascal-Nicolas Becker Technische Universität Berlin German DSpace User Group Meeting 2014 Berlin, 28. Oktober 2014 Ausblick: DSpace 5 Metadaten für alle Objekte (Collections,

Mehr

Organisatorisches: Inhalt. Agenda

Organisatorisches: Inhalt. Agenda 2/78 Birte Glimm Semantic Web Grundlagen 20. Okt 2011 Birte Glimm Institut für Künstliche Intelligenz 20. Okt 2011 Semantic Web Grundlagen Einführung in RDF Organisatorisches: Inhalt Einleitung und XML

Mehr

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

Daten verknüpfen mit RDF. Lars Bröcker, Fraunhofer IAIS Daten verknüpfen mit RDF Lars Bröcker, Fraunhofer IAIS Agenda Einführung Grundlagen von RDF RDF Schema RDF und Unternehmen Werkzeuge Kurzübersicht OWL 2 Einführung Was ist RDF? The Resource Description

Mehr

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

Semiautomatische Anreicherung einer semantischen virtuellen Forschungsumgebung mit externen Daten. Diplomarbeit. von. Jan Novacek Karlsruher Institut für Technologie Fakultät für Informatik Institut fur Angewandte Informatik und Formale Beschreibungsverfahren Semiautomatische Anreicherung einer semantischen virtuellen Forschungsumgebung

Mehr

Information Retrieval and Semantic Technologies

Information Retrieval and Semantic Technologies Information Retrieval and Semantic Technologies Gerhard Wohlgenannt 6. April 2013 Inhaltsverzeichnis 1 Informationen zur Lehrveranstaltung 2 1.1 Inhalt................................... 2 2 Unterlagen

Mehr

Semantic Web Grundlagen

Semantic Web Grundlagen Birte Glimm Institut für Künstliche Intelligenz 7. Nov 2011 Semantic Web Grundlagen Semantik von RDF(S) 2/47 Birte Glimm Semantic Web Grundlagen 7. Nov 2011 Organisatorisches: Inhalt Einleitung und XML

Mehr

Semantic Web Grundlagen

Semantic Web Grundlagen Semantic Web Grundlagen Lösung zur Übung 1: RDF und RDF Schema Birte Glimm WS 2011/2012 Lösung zu Aufgabe 3 (b) city @en rdfs:property ex:stadt rdfs:range ex:hauptstadt von rdfs:domain ex:berlin Berlin

Mehr

Ontologien und Ontologiesprachen

Ontologien und Ontologiesprachen Ontologien und Ontologiesprachen Semantische Datenintegration SoSe2005 Uni Bremen Yu Zhao Gliederung 1. Was ist Ontologie 2. Anwendungsgebiete 3. Ontologiesprachen 4. Entwicklung von Ontologien 5. Zusammenfassung

Mehr

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

Semantic Markup für die Dokumentenklassifizierung. Seminarvortrag von Mirko Pracht Semantic Markup für die Dokumentenklassifizierung Seminarvortrag von Mirko Pracht Ziel des Vortrags Aufbau digitaler Bibliotheken Verbesserung Informationssuche Semantic Markup Gliederung 1. Grundlagen

Mehr

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

Implementierung einer RDF-Storage Lösung für MongoDB Universität Leipzig Fakultät für Mathematik und Informatik Institut für Informatik Implementierung einer RDF-Storage Lösung für MongoDB Bachelorarbeit Leipzig, August 2011 vorgelegt von Nitzschke, Marcus

Mehr

Industrie 4.0 Die Aachener Perspektive

Industrie 4.0 Die Aachener Perspektive Industrie 4.0 Die Aachener Perspektive Kurzimpuls Dr.-Ing. Thomas Gartzen Werkzeugmaschinenlabor WZL der RWTH Aachen Lehrstuhl für Produktionssystematik Aachen, 02. Dezember 2014 Im Cluster Logistik auf

Mehr

Ressourcen-Beschreibung im Semantic Web

Ressourcen-Beschreibung im Semantic Web Ressourcen-Beschreibung im Semantic Web Cristina Vertan Inhaltsübersicht Wie sollen die Ressourcen für Semantic Web annotiert werden? Was ist und wie funktioniert RDF? Wie kodiert man RDF-Statements in

Mehr

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

An der Grenze zum Semantic Web LOGD für die Statistik An der Grenze zum Semantic Web LOGD für die Statistik Alain Nadeau, Armin Grossenbacher Schweizer Tage der öffentlichen Statistik, 20.9.2012 Von Print zum Web und immer mehr Das Web als Informationsplattform

Mehr

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

Die Nationalbibliografie als Linked Data Technische Aspekte des Linked Data Service der DNB Lars Svensson, Jürgen Kett, Deutsche Nationalbibliothek, Frankfurt a.m. Die Nationalbibliografie als Linked Data Technische Aspekte des Linked Data Service der DNB 1 Svensson, Kett: Die Nationalbibliografie

Mehr

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

Uniform Resource Identifiers (URI) und Domain Name Service (DNS) Kurzvortrag zum Thema: Uniform Resource Identifiers (URI) und Domain Name Service (DNS) Beschreiben Sie Aufbau und Einsatzzweck von URI, URL und URN. Lesen Sie die dazu passenden RFCs. Was ist der Domain

Mehr

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

Manuskripte für Europeana und neue Tools für Geisteswissenschaftler: Das DM2E-Projekt Manuskripte für Europeana und neue Tools für Geisteswissenschaftler: Das DM2E-Projekt Evelyn Dröge Institut für Bibliotheks- und Informationswissenschaft, Humboldt-Universität zu Berlin Vortrag auf der

Mehr

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

Dr. Christian Stein Ontologie-Design Die nächste Generation des Web für sich nutzen lernen Technische Universität Braunschweig Humboldt-Universität zu Berlin Projekt iglos Dr. Christian Stein Ontologie-Design Die nächste Generation des Web für sich nutzen lernen Dr. Christian Stein (christian.stein@hu-berlin.de)

Mehr

Vorlesung Computerphilologie. Ontologien und Ontologie-Sprachen

Vorlesung Computerphilologie. Ontologien und Ontologie-Sprachen Wintersemester 2006 Institut für Germanistik I Vorlesung Computerphilologie Ontologien und Ontologie-Sprachen Wie kann man Inhalte (von Webseiten) erschließen? v.hahn Uni Hamburg 2005 1 Was bringen Ontologien

Mehr

RDF RESOURCE DESCRIPTION FRAMEWORK. Referentin: Claudia Langer

RDF RESOURCE DESCRIPTION FRAMEWORK. Referentin: Claudia Langer RDF RESOURCE DESCRIPTION FRAMEWORK Referentin: Claudia Langer Überblick RDF allgemein RDF und XML Praktisches Beispiel RDF allgemein vom WWW Konsortium (W3C) für das Semantic Web entwickelt Sprache zur

Mehr

Freie und vernetzte Daten:

Freie und vernetzte Daten: Freie und vernetzte Daten: Das Konzept des Linked Open Data und sein Einsatz beim RISM-OPAC KoFIM-Kolloquium an der Staatsbibliothek zu Berlin, 6. Oktober 2014 Jürgen Diet, Bayerische Staatsbibliothek

Mehr

Projektgruppe. Knowledge Representation Persistence and Reasoning

Projektgruppe. Knowledge Representation Persistence and Reasoning Projektgruppe Seminarvortrag von Stefan Middeke Knowledge Representation Persistence and Reasoning 4. Juni 2010 Überblick Motivation Repräsentation der Daten Speicherung und Abfrage von Daten Folgerungen

Mehr

SchemEX Schema-Extraktion von Linked Open Data

SchemEX Schema-Extraktion von Linked Open Data Fachbereich 4: Informatik Institute for Web Science and Technologies SchemEX Schema-Extraktion von Linked Open Data Master-Arbeit zur Erlangung des Grades eines Master of Science im Studiengang Informatik

Mehr

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

Open Archives Initiative - Protocol for Metadata Harvesting (OAI-PMH) , XML LV BF23 (0F32) Open Archives Initiative - Protocol for Metadata Harvesting (OAI-PMH) Achim Oßwald FH Köln Institut für Informationswissenschaft Wintersemester 2010 (Stand: 3.12.10) 1/ 18 OAI-PMH

Mehr

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

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF RDF und RDF Schema Einführung in die Problematik Von HTML über XML zu RDF Kirsten Albrecht Roland Illig Probleme des HTML-basierten

Mehr

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

Entwicklung eines Electronic Resource Management Systems für Bibliotheken auf Basis von Linked Data Technologien Entwicklung eines Electronic Resource Management Systems für Bibliotheken auf Basis von Linked Data Technologien Lydia Unterdörfel, Björn Muschall Wissenschaftskommunikation im Semantischen Web (EFRE)

Mehr

Semantic Web. Anwendungsbereiche & Entwicklungen. http://www.know-center.at. Dr. Michael Granitzer

Semantic Web. Anwendungsbereiche & Entwicklungen. http://www.know-center.at. Dr. Michael Granitzer Semantic Web Anwendungsbereiche & Entwicklungen Dr. Michael Granitzer - gefördert durch das Kompetenzzentrenprogramm Agenda Die Vision und warum das Semantic Web Sinn macht Grundlagen: Wissensrepräsentation

Mehr

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

Markus Matzker, Martin Huth 1 OPENCALAIS. VL Text Analytics Prof. Dr. Leser 07.02.2013 1 OPENCALAIS VL Text Analytics Prof. Dr. Leser Gliederung 2 Was ist OpenCalais Funktionsweise Linked Data Anwendung Nutzungsrechte Was hat Reuters davon? Beispiel Quelle: http://www.opencalais.com/logos

Mehr

RDF(a) und Microformats

RDF(a) und Microformats Weiterführende Themen zu Internet- und WWW-Technologien Hasso-Plattner-Institut 16. Mai 2011 1 Einführung Hintergrund Die Geschichte 2 RDF Ziel Repräsentationen Vokabularien 3 Microformats Motivation Beispiele

Mehr

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

Semantic-Web-Sprachen XML, RDF (und RDFS), OWL Semantic-Web-Sprachen XML, RDF (und RDFS), OWL PTI 991 Wissensmanagementsystemen Dozent: Prof. Sybilla Schwarz 1 Agenda Problem Semantisches Web Semantische Sprache XML RDF RDFS OWL Zusammenfassung 2 Problem

Mehr

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

Linked Open Data (LOD) im Enterprise 2.0. Florian Kondert COO, Business Development Linked Open Data (LOD) im Enterprise 2.0 Florian Kondert COO, Business Development Über die SWC 21 Experten Semantische Technologien für Enterprise Systeme Thesaurus- & Metadaten Management Text Extraction

Mehr

Untersucht am Beispiel einer Sammlerplattform für Vinylsammler

Untersucht am Beispiel einer Sammlerplattform für Vinylsammler Schaffung und Bearbeitung von Online-Nischenplattformen mithilfe von Open Data Untersucht am Beispiel einer Sammlerplattform für Vinylsammler Masterarbeit zur Erlangung des akademischen Grades Master of

Mehr

Technologien des Semantic Web und ihre Anwendungen

Technologien des Semantic Web und ihre Anwendungen Fakultät Informatik, Institut für Angewandte Informatik, Professur Technische Informationssysteme Technologien des Semantic Web und ihre Ulrike Fischer Dresden, 21.06.07 Gliederung Motivation Begriff Semantic

Mehr

Semantic Web Technologies 1

Semantic Web Technologies 1 Übung zur Lehrveranstaltung Semantic Web Technologies 1 Sebastian Rudolph und Elena Simperl Wintersemester 2011/12 http://semantic-web-grundlagen.de Lösung der Übung 1: RDF und RDF Schema Lösung der Aufgabe

Mehr

Mit Linked Open Data in die Zukunft

Mit Linked Open Data in die Zukunft Mit Linked Open Data in die Zukunft Hessischer Bibliothekartag, Langen 9.5.2011 Dr. Silke Schomburg 1. Open Data Linked Data 2 Open Knowledge A piece of knowledge is open if you are free to use, reuse,

Mehr

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

unter Verwendung von Folien von Herrn Prof. Dr. Flensburg, von Laudon/Laudon/Schoder und von Frau Prof. Dr. Schuhbauer Knowledge Management Wissensmanagement 0. Produktionsfaktoren 1. Data Information Knowledge 2. Knowledge representation Wissensdarstellung 3. Interfaces to artificial intelligence 4. Knowledge management

Mehr

Teamprojekt & Projekt

Teamprojekt & Projekt 18. Oktober 2010 Teamprojekt & Projekt Veranstalter: Betreuer: Prof. Dr. Georg Lausen Thomas Hordnung, Alexander Schätzle, Martin Przjyaciel-Zablocki dbis Studienordnung Master: 16 ECTS 480 Semesterstunden

Mehr

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

Datenmodelle im Kontext von Europeana. Stefanie Rühle (SUB Göttingen) Datenmodelle im Kontext von Europeana Stefanie Rühle (SUB Göttingen) Übersicht Datenmodelle RDF DCAM ORE SKOS FRBR CIDOC CRM Datenmodelle "Datenmodellierung bezeichnet Verfahren in der Informatik zur formalen

Mehr

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

Auch der eigene Katalog als Quelle: Zusammenführung von elektronischer und gedruckter Fassung; verschiedenen Auflagen usw.: Fließender Übergang zu 1 2 3 4 Auch der eigene Katalog als Quelle: Zusammenführung von elektronischer und gedruckter Fassung; verschiedenen Auflagen usw.: Fließender Übergang zu FRBR 5 Begriff stammt aus: Coffmann, Steve: The

Mehr

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

Daten und ihre Semantik für Menschen und Maschinen. NIE-INE Ontologie-Workshop Daten und ihre Semantik für Menschen und Maschinen NIE-INE Ontologie-Workshop 31/03/2017 Agenda Das Was: Digitale Daten und Semantik Das Wie: Ein Semantisches Web Beispiele Heterogene digitale Daten und

Mehr

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

Veranstalter: Lehrstuhl DBIS - Prof. Georg Lausen Betreuer: Thomas Hornung, Michael Schmidt 21.10.2008 Veranstalter: Lehrstuhl DBIS - Prof. Georg Lausen Betreuer: Thomas Hornung, Michael Schmidt 21.10.2008 Laut Studienordnung Master/Diplom: 16ECTS/15KP Entspricht: 480 Semesterstunden = 34h/Woche pp p.p.

Mehr

Semantik in Suchmaschinen Beispiele. Karin Haenelt 7.12.2014

Semantik in Suchmaschinen Beispiele. Karin Haenelt 7.12.2014 Semantik in Suchmaschinen Beispiele Karin Haenelt 7.12.2014 Inhalt Google Knowledge Graph Freebase schema.org 2 Google Knowledge Graph Zuordnung von Suchtermen zu Weltentitäten Darstellung von Zusammenhängen

Mehr

Semantic Web Technologies I

Semantic Web Technologies I Semantic Web Technologies I Lehrveranstaltung im WS11/12 Dr. Elena Simperl PD Dr. Sebastian Rudolph M. Sc. Anees ul Mehdi Ontology Engineering Dr. Elena Simperl XML und URIs Einführung in RDF RDF Schema

Mehr

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

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2) 14. URIs Uniform Resource Identifier 14-1 14. URIs Uniform Resource Identifier 14-2 Motivation Das WWW ist ein Hypermedia System. Es enthält: Resourcen (Multimedia Dokumente) Verweise (Links) zwischen

Mehr

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

Sarah Hartmann, Lars G. Svensson. Mit RDA ins Semantic Web? Sarah Hartmann, Lars G. Svensson Mit RDA ins Semantic Web? 1 Treffpunkt Standardisierung 16. März 2010 Ziel des Semantischen Webs ist es, die Bedeutung von Informationen für Computer verwertbar zu machen.

Mehr

Berner Fachhochschule Kompetenzzentrum Public Management und E-Government

Berner Fachhochschule Kompetenzzentrum Public Management und E-Government Berner Fachhochschule Kompetenzzentrum Public Management und E-Government Open Government Data Studie Schweiz André Golliez, Cécile Aschwanden, Claudia Bretscher (itopia ag) Abraham Bernstein (Institut

Mehr

Berner Fachhochschule Kompetenzzentrum Public Management und E-Government

Berner Fachhochschule Kompetenzzentrum Public Management und E-Government Berner Fachhochschule Kompetenzzentrum Public Management und E-Government Open Government Data Studie Schweiz André Golliez, Cécile Aschwanden, Claudia Bretscher (itopia ag) Abraham Bernstein (Institut

Mehr

Metadaten und Identifikatoren

Metadaten und Identifikatoren Planung des Forschungsdaten-Managements: Metadaten und Identifikatoren Timo Gnadt SUB Göttingen gnadt@sub.uni-goettingen.de 6. Dezember 2011, Göttingen Überblick Metadaten Motivation Planungsaspekte Dimensionen

Mehr

W3C was ist das und wie kann ich da mitmachen?

W3C was ist das und wie kann ich da mitmachen? W3C was ist das und wie kann ich da mitmachen? Felix Sasaki FH Potsdam / W3C Deutsch-österr. Büro felix.sasaki@fh-potsdam.de Folien: http://www.w3c.de/events/2009/blit-sasaki20091121.pdf W3C was ist das?

Mehr

Semantic Web, SKOS und Linked Data

Semantic Web, SKOS und Linked Data Semantic Web, SKOS und Linked Data Kai Eckert 4. Leipziger Kongress für Information und Bibliothek, 16. März 2010 Workshop in Kooperation mit dem Kompetenzzentrum Interoperable Metadaten (KIM) Was brauchen

Mehr

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

Vorlesung Semantic Web. Vorlesung im Wintersemester 2011/2012 Dr. Heiko Paulheim Fachgebiet Knowledge Engineering Vorlesung Semantic Web Vorlesung im Wintersemester 2011/2012 Dr. Heiko Paulheim Fachgebiet Knowledge Engineering Entwickeln Sie ein RDF-Schema für ein Bibliotheksinformationssystem. Eine Bibliothek besitzt

Mehr

Einführung in Linked Open Data

Einführung in Linked Open Data Einführung in Linked Open Data Felix.Ostrowski@hu-berlin.de Pascal Christoph@hbz-nrw.de SWIB 2011 Pre-Conference Workshop Montag, 28. November 2011 Hamburg Ablauf Einleitung: Daten Graphen Tripel Gruppenarbeit

Mehr

Modul 7 Uniform Resource Identifier (URI)

Modul 7 Uniform Resource Identifier (URI) Modul 7 Uniform Resource Identifier (URI) M. Leischner Internetkommunikation Folie 1 Was ist ein URI? Ein URI identifiziert eine abstrakte Ressource Ein URI stellt ein universelles Konzept zur Identifikation

Mehr

Linked Environment Data

Linked Environment Data Arbeitskreis Umweltinformationssysteme Bausteine des Umweltbundesamts für Linked Environment Data Maria Rüther maria.ruether@uba.de Joachim Fock Umweltbundesamt Dessau-Roßlau www.umweltbundesamt.de Thomas

Mehr

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

Entwicklung eines Electronic Resource Management Systems für Bibliotheken auf Basis von Linked Data Technologien Entwicklung eines Electronic Resource Management Systems für Bibliotheken auf Basis von Linked Data Technologien Lydia Unterdörfel, Björn Muschall Wissenschaftskommunikation im Semantischen Web Teilprojekt

Mehr

Semantic Web: Das Web der nächsten Generation

Semantic Web: Das Web der nächsten Generation Semantic Web: Das Web der nächsten Generation Slim Abdennadher LMU München 8.2.2002 c S. Abdennadher 1 Einleitung Rechner erfunden als Werkzeug zur Durchführung von Berechnungen Dann entdeckt als Werkzeug

Mehr

Licensing Linked Data

Licensing Linked Data Licensing Linked Data IRIS 2014 17. Internationales Symposium für Rechtsinformatik 20. Februar 2014 Salzburg / Austria Tassilo Pellegrini firstname.lastname[at]fhstp.ac.at Problemkontext Zunehmende Verfügbarkeit

Mehr

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

Repositorieninhalte als Linked Data bereitstellen. Pascal-Nicolas Becker Technische Universität Berlin 104. Bibliothekartag Nürnberg, 28.05. Repositorieninhalte als Linked Data bereitstellen Pascal-Nicolas Becker Technische Universität Berlin 104. Bibliothekartag Nürnberg, 28.05.2015 Digitale Repositorien Ein Repositorium ist ein System zur

Mehr

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

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

Mehr

Context-adaptation based on Ontologies and Spreading Activation

Context-adaptation based on Ontologies and Spreading Activation -1- Context-adaptation based on Ontologies and Spreading Activation ABIS 2007, Halle, 24.09.07 {hussein,westheide,ziegler}@interactivesystems.info -2- Context Adaptation in Spreadr Pubs near my location

Mehr

Tagging / Social Bookmarking

Tagging / Social Bookmarking Tagging / Social Bookmarking Bibliothekarische Weiterbildung: Web 2.0, Bibliothek 2.0, Bibliothekar/in 2.0? 29.10.-02.11.2007, 02 11 2007 Oberwolfach Dipl.-Ing. Sabine Giebenhain Universitätsbibliothek

Mehr

Complex Event Processing

Complex Event Processing [10] Armin Steudte HAW Hamburg Masterstudiengang Informatik - WS 2011/2012 Agenda Motivation Grundlagen Event Processing Networks Ausblick Quellen 2 Agenda Motivation Grundlagen Event Processing Networks

Mehr

Was sind Ontologie-Editoren?

Was sind Ontologie-Editoren? Was sind Ontologie-Editoren? Kurzeinführung Protégé Sonja von Mach und Jessica Otte Gliederung Ontologie Editoren- allgemein warum nutzen wofür nutzen Probleme Marktlage Einführung in die praktische Arbeit

Mehr

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

Einführung. Arbeitsgruppe. Proseminar Corporate Semantic Web. Prof. Dr. Adrian Paschke Arbeitsgruppe Proseminar Corporate Semantic Web Einführung Prof. Dr. Adrian Paschke Arbeitsgruppe Corporate Semantic Web (AG-CSW) Institut für Informatik, Freie Universität Berlin paschke@inf.fu-berlin.de

Mehr

Deduktion, Induktion und Transduktion

Deduktion, Induktion und Transduktion Yuk Hui Deduktion, Induktion und Transduktion Über Medienästhetik und digitale Objekte 1 Digitale Objekte und Medienästhetik Jedes Zeitalter ist durch eine bestimmte technische Ästhetik geprägt. Der Gebrauch

Mehr

Die Deutsche Nationalbibliografie in der Linked Data Cloud

Die Deutsche Nationalbibliografie in der Linked Data Cloud Sarah Hartmann, Julia Hauser Die Deutsche Nationalbibliografie in der Linked Data Cloud 1 Die Deutsche Nationalbibliografie in der Linked Data Cloud 101. Bibliothekartag, 24. Mai 2012 Die Nationalbibliografie

Mehr

Cloud Computing in der öffentlichen Verwaltung

Cloud Computing in der öffentlichen Verwaltung Cloud Computing in der öffentlichen Verwaltung Willy Müller - Open Cloud Day 19.6.2012 2 Plug and Cloud? 3 The plug tower BPaaS Software SaaS Platform PaaS Storage/ Computing IaaS Internet Power grid 4

Mehr

XML Extensible Markup Language

XML Extensible Markup Language XML-Praxis XML Extensible Markup Language Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Woher? Wohin? Warum? Bestandteile von XML XML-Dokumente erstellen und bearbeiten XML-Praxis XML Extensible

Mehr

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

Linked Data: Aktuelle Entwicklungen im EU-Projekt Linked Heritage und Europeana Linked Data: Aktuelle Entwicklungen im EU-Projekt Linked Heritage und Europeana Angela Kailus MAI-Tagung 2012, Leipzig, 21.05.2012 Deutsches Dokumentationszentrum für Kunstgeschichte Bildarchiv Foto Marburg

Mehr

Von der Klassifikation zu Linked Open Data

Von der Klassifikation zu Linked Open Data Von der Klassifikation zu Linked Open Data Werner Köhler w.koehler@fotomarburg.de Berliner Gespräche zur Digitalen Kunstgeschichte II, 08.05.2013 2 Von der Klassifikation zu Linked Open Data Linked Open

Mehr

Bericht BTI7311: Informatik Seminar Was sind Ontologien?

Bericht BTI7311: Informatik Seminar Was sind Ontologien? Bericht BTI7311: Informatik Seminar Was sind Ontologien? Inhaltsverzeichnis 1 Ontologien...3 1.1 Ontologien in der Philosophie...3 1.2 Ontologien in der Psychologie...3 1.3 Ontologien in der Informatik...3

Mehr

Digitale Umsetzung und Nutzung archäologischer Terminologien

Digitale Umsetzung und Nutzung archäologischer Terminologien 50 Jahre Prähistorische Bronzefunde. Bilanz und Perspektiven (PBF Kolloquium) Sep 24 26, 2014, Akademie der Wissenschaften und Literatur, Mainz Digitale Umsetzung und Nutzung archäologischer Terminologien

Mehr

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

Metadaten in ArcGIS Matthias Schenker ESRI Geoinformatik AG, Zürich Metadaten in ArcGIS Matthias Schenker ESRI Geoinformatik AG, Zürich 2005 ESRI Geoinformatik AG Inhalt ArcGIS und Metadaten Editoren Stylesheets & Co Automatische Synchronisation Import und Export von bestehenden

Mehr

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

RDF Containers. Häufig möchte man eine Gruppe von Dingen beschreiben. Hierfür stellt RDF ein Container-Vokabular zur Verfügung. RDF Containers Häufig möchte man eine Gruppe von Dingen beschreiben. Hierfür stellt RDF ein Container-Vokabular zur Verfügung. Ein Container ist eine Ressource, die andere Ressourcen oder Literale enthält

Mehr

time marker cluster term term URL Link to AEC media

time marker cluster term term URL Link to AEC media AEC ZKM ICC OK institution () time marker comming soon cluster defined in table or dynamic location () person or sentence (long description, notion, year) Default Linz AEC DB memory theater source (attribute)

Mehr

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

Semantic Web Technologies I! Lehrveranstaltung im WS10/11! Dr. Andreas Harth! Dr. Sebastian Rudolph! Semantic Web Technologies I! Lehrveranstaltung im WS10/11! Dr. Andreas Harth! Dr. Sebastian Rudolph! www.semantic-web-grundlagen.de Ontology Engineering! Dr. Sebastian Rudolph! Semantic Web Architecture

Mehr

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

Webbasierte Exploration von großen 3D-Stadtmodellen mit dem 3DCityDB Webclient Webbasierte Exploration von großen 3D-Stadtmodellen mit dem 3DCityDB Webclient Zhihang Yao, Kanishk Chaturvedi, Thomas H. Kolbe Lehrstuhl für Geoinformatik www.gis.bgu.tum.de 11/14/2015 Webbasierte Exploration

Mehr

Informationsmanagement mit XML

Informationsmanagement mit XML Informationsmanagement mit XML Praktischer Ansatz zur Entwicklung einer Anwendung mit Semantik Web Techniken 30. April 2010 Erstellt von: Karl Glatz Hochschule Ravensburg-Weingarten Sebastian Wiedenroth

Mehr

URHEBERRECHTLICHE ASPEKTE DES

URHEBERRECHTLICHE ASPEKTE DES URHEBERRECHTLICHE ASPEKTE DES NEUEN EUROPEANA AGREEMENTS Dr. Karin Ludewig, Berlin Gliederung des Vortrags Wesentliche Änderung gegenüber dem altenagreement Exkurs: CC0 Lizenz Grund für diese Änderung?

Mehr

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

PONS DIE DREI??? FRAGEZEICHEN, ARCTIC ADVENTURE: ENGLISCH LERNEN MIT JUSTUS, PETER UND BOB Read Online and Download Ebook PONS DIE DREI??? FRAGEZEICHEN, ARCTIC ADVENTURE: ENGLISCH LERNEN MIT JUSTUS, PETER UND BOB DOWNLOAD EBOOK : PONS DIE DREI??? FRAGEZEICHEN, ARCTIC ADVENTURE: Click link bellow

Mehr

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

Joining weed survey datasets for analyses on a European scale a proposal Joining weed survey datasets for analyses on a European scale a proposal Jana Bürger Bärbel Gerowitt Crop Health, University Rostock, Germany European Weed Research Society WG Meeting Weeds and Biodiversity

Mehr

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

Standardisierung und kulturelles Erbe eine schwierige, aber fruchtbare Ehe. Felix Sasaki DFKI / FH Potsdam W3C deutsch- österr. Standardisierung und kulturelles Erbe eine schwierige, aber fruchtbare Ehe Felix Sasaki DFKI / FH Potsdam W3C deutsch- österr. Büro 1 Disclaimer Diese PräsentaRon fokussiert Standardisierungsbestrebungen

Mehr

Jens Kupferschmidt Universitätsrechenzentrum

Jens Kupferschmidt Universitätsrechenzentrum Einordnung der Metadaten im MyCoRe Projekt Connection to other databases Data presentations MyCoResearch over instances Classifications Metadate and search Derivate User and access rights GUI Workflow

Mehr

Einführung. Internet vs. WWW

Einführung. Internet vs. WWW Einführung Bernhard Plattner 1-1 Internet vs. WWW "the Internet is the entirety of all computers which are interconnected (using various physical networking technologies) and employ the Internet protocol

Mehr

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

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

Mehr

SEO für Blogger Erfolg in Google

SEO für Blogger Erfolg in Google SEO für Blogger Erfolg in Google BRUCE JACKSON SEO Agenda 1. SEO in 2015? 2. Wie kann ich mein Suchmaschinen Ranking verbessern? 3. Seiten Titel in 2015 4. Speed wir sind alle ungeduldig auch Google! 5.

Mehr

SemTalk Services. SemTalk UserMeeting 29.10.2010

SemTalk Services. SemTalk UserMeeting 29.10.2010 SemTalk Services SemTalk UserMeeting 29.10.2010 Problemstellung Immer mehr Anwender nutzen SemTalk in Verbindung mit SharePoint Mehr Visio Dokumente Viele Dokumente mit jeweils wenigen Seiten, aber starker

Mehr

Thema. Intelligente Agenten im Web

Thema. Intelligente Agenten im Web Thema Intelligente Agenten im Web Einführendes Beispiel Suchmaschine Probleme: - Immer mehr falsche Informationen - Anwender werden überfordert - Zeitaufwand erhöht sich - Zunehmendes Sicherheitsrisiko

Mehr

Content-Syndication und RSS

Content-Syndication und RSS Universität Bielefeld - Technische Fakultät Montag, 16.01.2006 Überblick 1 Rückblick 2 Beispiel 3 Weblogs und Planets Was ist? Rückblick Syndication = Mehrfachverwertung Was ist? Rückblick Syndication

Mehr

Durchführungsbestimmung Metadaten. Kristian Senkler, con terra GmbH, k.senkler@conterra.de

Durchführungsbestimmung Metadaten. Kristian Senkler, con terra GmbH, k.senkler@conterra.de Durchführungsbestimmung Metadaten Kristian Senkler, con terra GmbH, k.senkler@conterra.de Inhalt Wer hat die Durchführungsbestimmungen für Metadaten spezifiziert? Wie wurden die Durchführungsbestimmungen

Mehr

Semantic Web Paradigmen

Semantic Web Paradigmen #1 10.12.2014 SIMON HEIMLER Semantic Web Paradigmen Semantic Web Paradigmen Simon Heimler heimlersimon@gmail.com Master of Applied Research Computer Science Prof. Dr. Sabine Müllenbach Faculty of Computer

Mehr