Weitere ähnliche Inhalte Ähnlich wie Die "Semantic Web Recommendations" und das Jena Framework (20) Die "Semantic Web Recommendations" und das Jena Framework1. 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