Die "Semantic Web Recommendations" und das Jena Framework
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Die "Semantic Web Recommendations" und das Jena Framework

on

  • 1,990 views

Semantic Web: Nach dem Web 2.0 ein neues Schlagwort das für die Weiterentwicklung des World Wide Web stehen soll. ...

Semantic Web: Nach dem Web 2.0 ein neues Schlagwort das für die Weiterentwicklung des World Wide Web stehen soll.
In dieser Präsentation geht es um die Empfehlungen des W3C für das Semantic Web und um eine Implementierung dieser Semantic Web Recommendations, das Jena Framework.

Die Präsentation wurde in dem Proseminar "Softwarequalität und -sicherheit" an der Universität Paderborn gehalten.

Statistics

Views

Total Views
1,990
Views on SlideShare
1,990
Embed Views
0

Actions

Likes
1
Downloads
49
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />

Die "Semantic Web Recommendations" und das Jena Framework Presentation Transcript

  • 1. Die „Semantic Web Recommendations“ und das Jena Framework ein Vortrag von Julian Maicher © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn
  • 2. Gliederung  Das World Wide Web: Eine Bestandsaufnahme  Das Semantic Web: Eine Vision  Die „Semantic Web Recommendations“  Das Jena Framework  Praxiserfahrungen mit dem Jena Framework © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 07/03/10 3
  • 3. Das Word Wide Web: Eine Bestandsaufnahme  WWW: Das „Netz der Dokumente“  Besteht aus unzähligen vernetzten Dokumenten  Dokumente beinhalten Informationen  Basiert auf (X)HTML und CSS  Präsentation der Informationen für den Menschen © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn  Beschränkte Semantik  Suche im WWW  Stichwort- oder Patternsuche Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 07/03/10 4
  • 4. Das Semantic Web: Eine Vision  Eine Vision von Tim Berners-Lee  „Erfinder“ des WWW  Vorstand und Gründer des World Wide Web Consortium  Ziel: Das „Netz der Daten“  Daten auf Basis ihrer Bedeutung miteinander in Verbindung © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn bringen  Daten für den Computer verständlich aufbereiten  Hilfe bei der Umsetzung durch Empfehlungen des W3C  Semantic Web Recommendations Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 4
  • 5. Begrifflichkeiten  Ontologien  Beschreibung von Objekte und ihren Beziehungen innerhalb eines Universums  Definieren Vokabular und Regeln  Beispiele: Friend-Of-A-Friend, The Gene Ontology © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn  Inferencing  Neues Wissen aus bestehenden Daten herleiten  Reasoner führen Inferencing auf Daten durch  Beispiel: Anna ist die Frau von Paul => Paul ist der Mann von Anna Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 5
  • 6. Semantic Web Recommendations [1] © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 6
  • 7. Semantic Web Recommendations [1]  Unified Resource Identifier  Zeichenketten zur Identifizierung von Internetresourcen (Dokumente, Personen, ...)  Internationalisierung durch IRI © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 6
  • 8. Semantic Web Recommendations [1]  Unified Resource Identifier  Zeichenketten zur Identifizierung von Internetresourcen (Dokumente, Personen, ...)  Internationalisierung durch IRI  Beispiel: http://../John_Doe © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 6
  • 9. Semantic Web Recommendations [1]  Unified Resource Identifier  Zeichenketten zur Identifizierung von Internetresourcen (Dokumente, Personen, ...)  Internationalisierung durch IRI  Resource Description Framework © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn  RDF basiert auf XML  Standard für Datenaustausch im Internet  Benutzt URIs um Resourcen und Beziehungen zu benennen  Definiert Triple: <Subjekt> <Prädikat> <Objekt> Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 6
  • 10. Semantic Web Recommendations [1]  Unified Resource Identifier  Zeichenketten zur Identifizierung von Internetresourcen (Dokumente, Personen, ...)  Internationalisierung durch IRI  Resource Description Framework © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn  RDF basiert auf XML  Standard für Datenaustausch im Internet  Benutzt URIs um Resourcen und Beziehungen zu benennen  Definiert Triple: <Subjekt> <Prädikat> <Objekt>  Beispiel: <http://../John_Doe> <family_name> < “Doe“> Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 6
  • 11. Semantic Web Recommendations [1]  Unified Resource Identifier  Zeichenketten zur Identifizierung von Internetresourcen (Dokumente, Personen, ...)  Internationalisierung durch IRI  Resource Description Framework © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn  RDF basiert auf XML  Standard für Datenaustausch im Internet http://../John_Doe  Benutzt URIs um Resourcen family_name und Beziehungen zu benennen Doe  Definiert Triple: <Subjekt> <Prädikat> <Objekt>  Beispiel: <http://../John_Doe> <family_name> < “Doe“> Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 6
  • 12. Semantic Web Recommendations [2]  RDF Schema  Semantische Erweiterung von RDF  Vokabular zur hierarchischen Beschreibung von Klassen und Eigenschaften  Beschreibung von einfachen Ontologien © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 7
  • 13. Semantic Web Recommendations [2]  RDF Schema  Semantische Erweiterung von RDF  Vokabular zur hierarchischen Beschreibung von Klassen und Eigenschaften  Beschreibung von einfachen Ontologien © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn  Beispiel: Human Man Woman Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 7
  • 14. Semantic Web Recommendations [2]  RDF Schema  Semantische Erweiterung von RDF  Vokabular zur hierarchischen Beschreibung von Klassen und Eigenschaften  Beschreibung von einfachen Ontologien © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn  Beispiel: Human Man Woman Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 7
  • 15. Semantic Web Recommendations [3]  Web Ontology Language  Mehr Vokabular, mehr Semantik  Unter anderem: • Beziehungen zwischen Klassen (z.B. disjunkt, invers) • Kardinalitäten (z.B. maximal eins) © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn • Eigenschaften von Beziehungen (z.B. Reflexiv, Transitiv) Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 8
  • 16. Semantic Web Recommendations [3]  Web Ontology Language  Mehr Vokabular, mehr Semantik  Unter anderem: • Beziehungen zwischen Klassen (z.B. disjunkt, invers) • Kardinalitäten (z.B. maximal eins) © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn • Eigenschaften von Beziehungen (z.B. Reflexiv, Transitiv)  Beispiel: Eine Frau hat maximal einen Ehemann. Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 8
  • 17. Semantic Web Recommendations [3]  Web Ontology Language  Mehr Vokabular, mehr Semantik  Unter anderem: • Beziehungen zwischen Klassen (z.B. disjunkt, invers) • Kardinalitäten (z.B. maximal eins) © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn • Eigenschaften von Beziehungen (z.B. Reflexiv, Transitiv)  Beispiel: Eine Frau hat maximal einen Ehemann. Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 8
  • 18. Semantic Web Recommendations [4]  SPARQL Protocol and RDF Query Language  Graph-basierte Anfragesprache für RDF  Nachfolger mehrerer Anfragesprachen (RDF Query Language, RDQL)  Nutzt Triple Syntax für Anfragen © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn („basic graph pattern“) Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 9
  • 19. Semantic Web Recommendations [4]  SPARQL Protocol and RDF Query Language  Graph-basierte Anfragesprache für RDF  Nachfolger mehrerer Anfragesprachen (RDF Query Language, RDQL)  Nutzt Triple Syntax für Anfragen © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn („basic graph pattern“)  Beispiel: Gib Familiennamen und Telefonnummern aller Freunde von John Doe aus. Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 9
  • 20. Semantic Web Recommendations [4]  SPARQL Protocol and RDF Query Language  Graph-basierte Anfragesprache für RDF  Nachfolger mehrerer Anfragesprachen (RDF Query Language, RDQL)  Nutzt Triple Syntax für Anfragen © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn („basic graph pattern“)  Beispiel: Gib Familiennamen und Telefonnummern aller Freunde von John Doe aus. Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 9
  • 21. Semantic Web Recommendations [5] © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 10
  • 22. Semantic Web Recommendations [5] © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 10
  • 23. Semantic Web Recommendations [5] © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 10
  • 24. Zwischenbilanz  Das World Wide Web: Eine Bestandsaufnahme  Das Semantic Web: Eine Vision  Die „Semantic Web Recommendations“  Das Jena Framework  Praxiserfahrungen mit dem Jena Framework © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 11
  • 25. Das Jena Framework  Eine Java-Implementierung der „Semantic Web Recommendations“  Framework zur Entwicklung von „Semantic Web“ Applikationen  Führendes „Semantic Web“-Toolkit für Java-Entwickler © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn  Implementiert Unterstützung für  RDF  RDFS  OWL  SPARQL Query Language Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 12
  • 26. Grafische Übersicht Query ARQ Ontology API & Inferencing Reasoner Input/Output © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn RDF/XML RDF API subject predicate n-triples object N3 Materialized Graphs Virtual Graphs SQL in-memory inferencing database Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 13
  • 27. Datenhaltung  In-memory: Datenhaltung im Speicher  Keine persistenten Daten  Persistente Datenhaltung  TDB • pure Java engine © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn • unterstützt keine Transaktionen • manuelles Setzen von read und write locks  SDB • basiert auf konventionellen SQL Datenbanken • Vorteil: vorhanden Tools für Load Balancing, Sicherheit, Clustering, Backups etc. können verwendet werden Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 14
  • 28. RDF API [1]  Implementierung der abstrakten Syntax von RDF RDF Spezifikation Repräsentation in Jena RDF Graph Model Resource Resource Eigenschaft Property Triple Statement © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn  Grundlegende Funktionalität zur Navigation im RDF Graph z.B. model.listStatements(S, P, O) Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 15
  • 29. RDF API [2]  Beispiel: http://../John_Doe family_name Doe © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 16
  • 30. RDF API [2]  Beispiel: http://../John_Doe family_name Doe © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 16
  • 31. Input/Output  Im- und Export Funktionalität für RDF-Graphen  Export über Writer  RDF/XML • „Dumb“ Writer (default) • „PrettyWriter“ (RDF/XML-ABBREV Syntax) © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn  Writer für N-TRIPLE und Notation 3 (N3)  Import über Reader  RDF/XML • RDFReader & Another RDF Parser (ARP)  Reader für N-TRIPLE und N3 Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 17
  • 32. Ontology API & Inferencing [1]  Ontology API  OntModel repräsentiert Ontologie  Ontologien können gelesen werden • ontModel.read(URI)  Unterstützt nicht bei der Erstellung von Ontologien • dafür z.B. Protege (http://protege.stanford.edu) © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn  Inferencing  InfModel repräsentiert Graph mit inferiertem Wissen  Reasoner (OWL Reasoner, RDFS Reasoner, ..) • Arbeitet auf RDF Graph mit Regeln einer bestimmten Ontologie • Erzeugt InfModel durch inferieren von neuem Wissen Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 18
  • 33. Ontology API & Inferencing [2]  Beispiel: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 19
  • 34. Query  ARQ  Jena Implementierung der SPARQL Query Language  Wichtige Klassen • Query und QueryFactory • QueryExecution und QueryExecutionFactory © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 20
  • 35. Query  ARQ  Jena Implementierung der SPARQL Query Language  Wichtige Klassen • Query und QueryFactory • QueryExecution und QueryExecutionFactory © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn  Beispiel: Gib Familiennamen und Telefonnummern aller Freunde von John Doe aus. Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 20
  • 36. Query  ARQ  Jena Implementierung der SPARQL Query Language  Wichtige Klassen • Query und QueryFactory • QueryExecution und QueryExecutionFactory © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn  Beispiel: Gib Familiennamen und Telefonnummern aller Freunde von John Doe aus. Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 20
  • 37. Praxiserfahrungen  Einsatz in der knowAAN Projektgruppe an der Universität Paderborn (http://ddi.uni-paderborn.de/lehre/sommersemester-2010/pg-knowaan.html)  TDB schneller als SDB  Aber: Erhebliche Performanceprobleme bei großen Datenmengen • Inferencing bei > 200.000 Ressourcen und > 3 Millionen Tripel © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 21
  • 38. Zusammenfassung  Die „Semantic Web Recommendations“  Theoretische Spezifikation  Ansatz zur Standardisierung des „Semantic Web“  Viele „Active Groups“ © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn  Das Jena Framework  Implementierung der „Semantic Web Recommendations“  Führendes „Semantic Web“-Toolkit für Java Entwickler  Guter Ansatz, aber: Probleme mit großen Datenmengen Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 22
  • 39. Danke für Ihre Aufmerksamkeit © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 23
  • 40. Danke für Ihre Aufmerksamkeit Fragen ?? ? © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Die „Semantic Web Recommendations“ und das Jena Framework - Julian Maicher 23