2. sitzung

1.034 Aufrufe

Veröffentlicht am

Semantic Technologies

Veröffentlicht in: Internet
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.034
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
467
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

2. sitzung

  1. 1. – Semantic Technologies – Dozent: Christoph Stollwerk von XML zu RDF Übung, Wintersemester 2015/16 24. Oktober 2015
  2. 2. Gliederung ● Semesterarbeiten / Referate ● 'XML zu RDF' – Von XML .. – und Datenbanken .. ● .. zu Serialisierung von RDF ● Aufgaben
  3. 3. Semesterarbeiten – Medieninformatik –
  4. 4. Semesterarbeiten - allgemein - Freie Themenwahl - Thema unbedingt vorher absprechen!!! - Arbeitsaufwand = ~ 25-30 Stunden Abgabetermin: 15.3.2015
  5. 5. – Themenvorschläge –
  6. 6. 1. Ontologien - Entwickeln Sie eine Ontologie und stellen Sie diese in OWL dar. - „von Hand“ oder einem Editor wie z.B. Protégé - reichhaltig! - möglichst viele Features von OWL benutzen - möglichst auf bestehende Ontologien aufsetzen - ggf. mit Regeln in SWRL Domäne: egal (Nebenfach, Hobby, ...)
  7. 7. 1. Ontologien Beispiel: Uni: Eine umfangreiche Ontologie für zur Organisation von Personen einer Universität
  8. 8. 2. Datenmapping - Überführen Sie einen vorhandenen Datenbestand nach RDF. - Ausgangsdaten: Datenbank, XML, Webseiten, APIs, … - Transformation: XSLT, programmatisch – ggf. in Triple Store laden – ggf. in ScreenScraper/Crawler schreiben
  9. 9. 3. Semantic Web Applikation / Mashup Entwickeln Sie auf Basis vorhandener RDF- Daten eine sinnvolle Webanwendung. - Technologie: egal - ggf. Daten aus unterschiedlichen Quellen zusammenbringen.
  10. 10. 3. Semantic Web Applikation / Mashup Beispiele: - Eine Karte von Orten, auf denen Musiker ihre Karriere begannen und die Anzahl der Einwohner diese Orte. - Semantic Games - Nutzen sie die Daten von www.offenedaten-koeln.de und kombinieren diese (z.B.) in einer Visualisierung
  11. 11. Referate - Freie Themenwahl (unbedingt absprechen!) - oder für Vorschläge auf Liste melden. - Begrenzte Anzahl (1 Sitzung = 6 - 9 Referate) - Arbeitsaufwand = ~ 25-30 Stunden - Referatsdauer: 15 – 20min - Themenvorgabe nur auf Anfrage - Absprache per E-Mail (Thema/Teilnehmer)
  12. 12. Fragen?!Fragen?! ?? ?? ?? ? ?? ?
  13. 13. von XML zu RDF
  14. 14. Exkurs: URIs • Uniform Resource Identifier • Ein globaler, eindeutiger Bezeichner für alles Mögliche • Unterklassen: URL, URN • Beispiele: • http://de.wikipedia.org/wiki/Uniform_Resource_Identifier • urn:isbn:4-7980-1224-6 • mailto:birgit.mustermann@example.org • geo:48.33,14.122;u=22.5
  15. 15. RDF: Grundidee Statement: „Der Wikipedia Artikel über Köln wurde zuletzt am 23.10.2015 bearbeitet.“ (http://de.wikipedia.org/wiki/Köln,lastModified,2015-10-23) resource property value Statement: „Köln hat 1.046.680 Einwohner“ (urn:example:city:cologne,inhabitants,1.046.680) resource property value
  16. 16. Beziehungen zwischen Ressourcen Statement: „Der Wikipedia Artikel über Köln beschreibt die Stadt Köln.“ (http://de.wikipedia.org/wiki/Köln,isAbout,urn:example:city:cologne) resource property value Subjekt Verb Objekt „Der Wikipedia Artikel über Köln beschreibt die Stadt Köln.“
  17. 17. Semantik Ist XML eine semantische Technologie?
  18. 18. Semantik in XML Bsp.: Manfred Thaller war/ist der Dozent von Softwaretechnologie I. <veranstaltung name="Softwaretechnologie I"> <dozent>Manfred Thaller</dozent> </veranstaltung> <dozent name="Manfred Thaller"> <veranstaltung>Softwaretechnologie I</veranstaltung> </dozent> <unterrichtsAngebot> <dozent>Manfred Thaller</dozent> <veranstaltung>Softwaretechnologie I</veranstaltung> </unterrichtsAngebot> <dozent name="Manfred Thaller"> <veranstaltung>Softwaretechnologie I</veranstaltung> </dozent>
  19. 19. Semantik in XML Die Bedeutung der Relationen zwischen Elementen ist in XML nie explizit.
  20. 20. Semantik in XML <dozent>Jan Wieners</dozent> <professor>Manfred Thaller</professor> <veranstaltung name="Programmierpraktikum C++"> <wirdGehaltenVon>Daniel de Oliveira</wirdGehaltenVon> </veranstaltung> • Aufgabe: Finde alle Dozenten - XPath: //dozent • Antwort: „Jan Wieners“
  21. 21. Semantik in XML • Die Bedeutung der Relationen zwischen Elementen ist in XML nie explizit. • Die Bedeutung einzelner Elemente ist in XML nie explizit.  Salvation lies within meaning  (or RDF)
  22. 22. Fragen?!Fragen?! ?? ?? ?? ? ?? ?
  23. 23. RDF aus Datenbanksicht
  24. 24. RDF: Grundidee • resources + properties = statements • resources • alles was mit einem URI referenziert werden kann • Properties • Eigenschaften von Ressourcen
  25. 25. Beispiel
  26. 26. Möglichkeit 1 Verteilung Zeile für Zeile ➡Vorteil: Flexibilität ➡Problem: Schema
  27. 27. Möglichkeit 2 Verteilung Spalte für Spalte
  28. 28. Möglichkeit 3 Verteilung Zelle für Zelle „AAA: Anyone is allowed to say Anything about Any topic.“ ➡Probleme: Schema und Identität
  29. 29. ➡ RDF is born: <http://hki.uni-koeln.de/courses/329> <http://purl.org/dc/elements/1.1/title> "Semantic Technologies" . Lösung Tripel & globale Referenzen
  30. 30. RDF • Explizite Bedeutung durch global definierte Prädikate und Klassen • Verteilung durch globale Identifier und Tripelstruktur Semantic Web
  31. 31. Fragen?!Fragen?! ?? ?? ?? ? ?? ?
  32. 32. RDF Ein Datenmodell für das Semantic Web
  33. 33. Verhältnis zw. XML & RDF XML RDF XML Schema RDF Schema •XML = Markupsprache •XML Schema beschränkt die Struktur von XML •RDF = Datenmodell •RDF Schema definiert das Vokabular von RDF • RDF/XML ist eine konkrete Syntax zum Austausch von RDF
  34. 34. Problem • (http://de.wikipedia.org/wiki/Köln,lastModified,2015-10-23) oder • (http://de.wikipedia.org/wiki/Köln,lastMod,2015-10-23) oder • (http://de.wikipedia.org/wiki/Köln,letzteÄnderung,2015-10-23) Lösung: Auch Properties erhalten URIs Beispiel: (http://de.wikipedia.org/wiki/Köln, http://purl.org/dc/elements/1.1/date,2015-10-23)
  35. 35. Klassen • Auch Klassen sind Ressourcen und besitzen URIs. • Die Zugehörigkeit einer Ressource zu einer Klasse wird mit der Property http://www.w3.org/1999/02/22-rdf-syntax-ns#type ausgedrückt. • Beispiele: • (urn:example:city:cologne, http://www.w3.org/1999/02/22-rdf-syntax-ns#type, http://dbpedia.org/ontology/City) • (http://hki.uni-koeln.de/st_2011/persons/christoph.stollwerk, http://www.w3.org/1999/02/22-rdf-syntax-ns#type, http://xmlns.com/foaf/0.1/Person)
  36. 36. Namespaces • Klassen und Properties unterhalb des gleichen URI bilden einen Namespace. • Beispiel: Dublin Core • http://purl.org/dc/elements/1.1/title • http://purl.org/dc/elements/1.1/creator • http://purl.org/dc/elements/1.1/date • ...
  37. 37. FOAF Friend of a Friend Agent Person name title img depiction (depicts) • Namespace: http://xmlns.com/foaf/0.1/ • Klassen und Properties (FOAF Core): familyName givenName knows based_near age made (maker) primaryTopic (primaryTopicOf) Project Organization Group member Document
  38. 38. CIDOC-CRM • Namespace: http://83.212.168.219/CIDOC-CRM/Version/version-6.2 • Klassen und Properties (Core):
  39. 39. RDF Serialisierung
  40. 40. Ein Tripel <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dbpedia="http://dbpedia.org/property/"> <rdf:Description rdf:about="urn:example:city:cologne"> <dbpedia:name>Köln</dbpedia:name> </rdf:Description> </rdf:RDF> <urn:example:city:cologne> <http://dbpedia.org/property/name> "Köln".
  41. 41. Noch ein Tripel <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/"> <rdf:Description rdf:about="urn:example:city:cologne"> <dc:description rdf:resource="http://de.wikipedia.org/wiki/Köln"/> </rdf:Description> </rdf:RDF> <urn:example:city:cologne> <http://purl.org/dc/elements/1.1/description> <http://de.wikipedia.org/wiki/Köln>.
  42. 42. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dbpedia="http://dbpedia.org/property/" xmlns:dc="http://purl.org/dc/elements/"> <rdf:Description rdf:about="urn:example:city:cologne"> <dbpedia:name>Köln</dbpedia:name> <dc:description rdf:resource="http://de.wikipedia.org/wiki/Köln"/> </rdf:Description> <rdf:Description rdf:about="http://de.wikipedia.org/wiki/Köln"> <dc:date>2011-10-23</dc:date> <dc:creator>Max Mustermann</dc:creator> <dc:title>Köln</dc:title> </rdf:Description> </rdf:RDF> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dbpedia="http://dbpedia.org/property/" xmlns:dc="http://purl.org/dc/elements/"> <rdf:Description rdf:about="urn:example:city:cologne"> <dbpedia:name>Köln</dbpedia:name> <dc:description> <rdf:Description rdf:about="http://de.wikipedia.org/wiki/Köln"> <dc:date>2011-10-23</dc:date> <dc:creator>Max Mustermann</dc:creator> <dc:title>Köln</dc:title> </rdf:Description> </dc:description> </rdf:Description> </rdf:RDF> mehrere Tripel
  43. 43. Klassen <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dbpedia="http://dbpedia.org/property/" xmlns:dc="http://purl.org/dc/elements/"> <rdf:Description rdf:about="urn:example:city:cologne"> <rdf:type rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> <dbpedia:name>Köln</dbpedia:name> <dc:description rdf:resource="http://de.wikipedia.org/wiki/Köln"/> </rdf:Description> </rdf:RDF>
  44. 44. Datentypen<urn:example:city:cologne> <urn:example:inhabitants> “1007119“^^<http://www.w3.org/2001/XMLSchema#integer> . <http://de.wikipedia.org/wiki/Köln> <http://purl.org/dc/elements/1.1/date> “2011-10-23“^^<http://www.w3.org/2001/XMLSchema#date> . <rdf:Description rdf:about="urn:example:city:cologne"> <ex:inhabitants rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1007119</ex:inhabitants> </rdf:Description> <rdf:Description rdf:about="http://de.wikipedia.org/wiki/Köln"> <dc:date rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2011-10-23</dc:date> </rdf:Description>
  45. 45. Shortcuts • Kinderlose Property-Elemente dürfen durch XML-Attribute ersetzt werden. • Description-Elemente mit Typ-Kind dürfen durch den Namen des Typs ersetzt werden. <rdf:Description rdf:about="urn:example:city:cologne"> <rdf:type rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> <dbpedia:name>Köln</dbpedia:name> </rdf:Description> <dbpedia:PopulatedPlace rdf:about="urn:example:city:cologne" dbpedia:name="Köln"/>
  46. 46. Shortcuts • Namensräume in Attributen können durch Entity-Deklarationen verkürzt werden. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE rdf:RDF [ <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#"> <!ENTITY wiki "http://de.wikipedia.org/wiki/"> ]> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/"> <rdf:Description rdf:about="&wiki;Köln"> <dc:date rdf:datatype="&xsd;date">2011-10-23</dc:date> </rdf:Description> </rdf:RDF>
  47. 47. Container-Elemente • rdf:Bag - ungeordnet • rdf:Seq - geordnet • rdf:Alt - alternativ <fs:folder rdf:about="ftp:///example.org/docs"> <fs:containsFiles> <rdf:Bag> <rdf:_1 rdf:resource="http://example.org/docs/index.php"/> <rdf:_2 rdf:resource="http://example.org/docs/robots.txt"/> </rdf:Bag> </fs:containsFiles> </fs:folder> <fs:folder rdf:about="ftp:///example.org/docs"> <fs:containsFiles> <rdf:Bag> <rdf:li rdf:resource="http://example.org/docs/index.php"/> <rdf:li rdf:resource="http://example.org/docs/robots.txt"/> </rdf:Bag> </fs:containsFiles> </fs:folder> oder - Dopplungen erlaubt - nicht abgeschlossen
  48. 48. Collection-Elemente • rdf:List • abgeschlossen <fs:folder rdf:about="ftp:///example.org/docs"> <fs:containsFiles> <rdf:List> <rdf:first> <rdf:Description rdf:resource="&docs;index.php"/> </rdf:first> <rdf:rest> <rdf:List> <rdf:first> <rdf:Description rdf:resource="&docs;robots.txt"/> </rdf:first> <rdf:rest> <rdf:Description rdf:resource="&rdf;nil"/> </rdf:rest> </rdf:List> </rdf:rest> </rdf:List> </fs:containsFiles> </fs:folder> <fs:folder rdf:about="ftp:///example.org/docs"> <fs:containsFiles rdf:parseType="Collection"> <rdf:Description rdf:about="&docs;index.php"/> <rdf:Description rdf:about="&docs;robots.txt"/> </fs:containsFiles> </fs:folder> oder
  49. 49. Serialisierungen von RDF • RDF/XML - .rdf • Notation 3 (N3) - .n3 • Turtle - .ttl • N-Triples - .nt Subset
  50. 50. N-Triples <urn:example:city:cologne> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://dbpedia.org/ontology/PopulatedPlace>. <http://de.wikipedia.org/wiki/Köln> <http://purl.org/dc/elements/1.1/date> "2011-10-23" . <http://de.wikipedia.org/wiki/Köln> <http://purl.org/dc/elements/1.1/creator> "Max Mustermann" . <http://de.wikipedia.org/wiki/Köln> <http://purl.org/dc/elements/1.1/title> "Köln" . <urn:example:city:cologne> <http://dbpedia.org/property/name> "Köln". <urn:example:city:cologne> <http://purl.org/dc/elements/1.1/description> <http://de.wikipedia.org/wiki/Köln> .
  51. 51. Graphenstruktur • (http://de.wikipedia.org/wiki/Köln,lastModified,2015-10-23) (urn:example:city:cologne,inhabitants,1.046.680) • (http://de.wikipedia.org/wiki/Köln,isAbout,urn:example:city:cologne) http://de.wikipedia. org/wiki/Köln urn:example:city:c ologne isAbout 2015-10-23 1.046.680 lastModified inhabitants
  52. 52. Aufgaben
  53. 53. Aufgabe 1 • Beschreiben Sie sich selbst und ihre Beziehungen untereinander mit den Begriffen aus FOAF in N-Triples. • URIs (Beispiele zum üben): • Personen: http://hki.uni-koeln.de/st_2015/person/max.musterman • Dieser Kurs: http://hki.uni-koeln.de/st_2015/group/st2015 • Ihre Gruppe: http://hki.uni-koeln.de/st_2015/group/gruppenname • Benutzen Sie auch Begriffe aus FOAF Social Web (mbox, interest, ...)
  54. 54. Aufgabe 2 • Verkürzen Sie die Darstellungsweise der Tripel indem Sie die Turtle-Syntax benutzen. • Tipps: • Nutzen Sie „@prefix“ • Vermeiden Sie die Wiederholung von Subjekten durch die Verwendung von „;“.
  55. 55. Aufgabe 3 • Erstellen Sie eine graphische Repräsenation der Tripel aus Aufgabe 1 oder 2 (identischer Inhalt). Hinweis: Sie können dazu ein graphisches Werkzeug Ihrer Wahl verwenden, aber geben Sie bitte nur eine PDF-Datei oder eine Bild-Datei ab.
  56. 56. Aufgabe 4 • Betrachten Sie die folgende RDF-Repräsentation auf der Kursseite (aufgabe4.rdf) oder unter: http://www.hki.uni-koeln.de/sites/all/files/courses/13700/aufgabe4.rdf 1) Geben Sie die Aussagen in eigenen Worten wieder. 2) Erstellen Sie eine graphische Darstellung der oben angegebenen RDF-Repräsenation. 3) Übersetzen Sie die oben angebene RDF- Repräsentation in Turtle-Syntax.
  57. 57. Aufgabe 5 • Setzen Sie die Personen aus den Aufgaben 1 & 2 in den Kontext der CIDOC-CRM Ontology und formulieren Sie Ihren Ansatz in eigenen Worten. – Tipp: • Überlegen Sie dazu wo sich Schnittmengen ergeben.
  58. 58. HerzlichenHerzlichen Dank!Dank!

×