350 likes | 475 Views
Sesame Florian Mayrhuber 0105668. Was ist Sesame. Repository für RDF Open Source Unterstützung von RDF Schema Persistente Speicherung von RDF Daten OS unabhängig (Java basiert). R esource D escripton F ramework. Modell zur Repräsentation von Metadaten
E N D
Sesame Florian Mayrhuber 0105668
Was ist Sesame • Repository für RDF • Open Source • Unterstützung von RDF Schema • Persistente Speicherung von RDF Daten • OS unabhängig (Java basiert)
Resource Descripton Framework • Modell zur Repräsentation von Metadaten • Spezifiziert von W3C als Erweiterung zu XML • anwendungs- und domänenunabhängige Beschreibungsmöglichkeit für Ressourcen • Legt keine Syntax fest
RDF Bestandteile • Ressourcen • Alle Dinge die durch RDF Ausdrücke beschrieben werden sollen, und über eine URI identifiziert werden können. • Eigenschaften • Beschreiben Charakteristika, Relationen und Attribute von Ressourcen. • Aussagen • Tripel aus Subjekt, Prädikat und Objekt
RDF Darstellung • Graph • Tripel • XML
RDF Darstellung: Graph http://www.w3.org/RDF/ dc:publisher World Wide Web Consortium
RDF Darstellung: Tripel • Statement: (http://www.w3.org/RDF/, dc:publisher, World Wide Web Consortium) S P O
RDF Darstellung: XML <?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/1.0/“ > <rdf:Description about= „http://www.w3c.org/RDF“> <dc:publisher>World Wide Web Consortium </dc:publisher> </rdf:Description> </rdf:RDF>
RDF Schema • Erweiterung für RDF • Erlaubt es Eigenschaften und Ressourcen näher zu beschreiben • Legt für jede Eigenschaft fest • Welche Werte erlaubt sind • Welche Ressource sie besitzen darf • Welche Beziehung sie zu anderen Eigenschaften hat
RDF Speichern • Vorteile von RDBMS • Weit verbreitet • Ausgereift • Skalierbarkeit • Effizienz • Geschwindigkeit
Entwicklung von Sesame • On-To-Knowledge • http://www.ontoknowledge.org • „develop tools and methods for supporting knowledge management relying on sharable and reusable knowledge ontologies“ • Aduna • http://www.aduna.biz • Ontology Middleware Module • Aktuelle Version: 1.1
Repositories in Sesame • RDBMS • Häufigster Anwendungsfall • Unterstützung für • PostgreSQL • MySQL • Oracle 9i • JDBC Connector • Files • Hauptspeicher (Java Objekte)
SAIL • Storage and Inference Layer • Abstraktionslayer • API mit speziellen Methoden um auf RDF Daten zuzugreifen • Umwandlung in die speziellen DBMS Befehle • Reasoning Support
Access APIs • Ermöglichen direkten Zugriff auf Sesame Funktionsmodule • Clientapplikation • Server • Repository API • Graph API
Sesame Repository API • Zentraler Zugangspunkt zu den Sesame Repositories • Ermöglicht • Verbindungsaufbau zu einem Sesame Server • Querys • Speichern und Extrahieren von RDF Daten
Graph API • Repräsentation eines RDF Graphen in Form eines Java Objekts • Erstellung neuer Graphen • Manipulation von bestehenden Graphen
SeRQL • Sesame RDF Query Language • RDF/RDFS Querysprache • Vereinigung/Weiterentwicklung mehrer Querysprachen (RQL, RDQL, N-Triples, N3) • Features • Graphentransformation • Unterstützung von RDF Schema • Unterstützung XML Schema Datentypen • Ausdrucksvolle Syntax für Pfadausdrücke • Optionale Pfadangaben
SeRQL: Variablen • Variablen • Name besteht aus Buchstaben, Zahlen, „-“, „_“, „.“ • muss mit einem Buchstaben oder einem Unterstrich beginnen • Gewisse Keywords zB from, where etc sind nicht erlaubt • zB Var1, _var2
SeRQL: Literale • Label • Optional: • Language Tag • Datatype Tag • Beispiele: • "foo" • "foo"@en • "<foo/>"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral
SeRQL: URIs • vollständige URIs • <http://www.w3c.org/index.html> • Abgekürzte URIs • w3c:index.html
SeRQL: Pfadausdrücke {Person} <foo:arbeitetFür> {Unternehmen} <rdf:type> {<foo:ITUnternehmen>} <foo:arbeitetFür> <rdf:type> Person Unternehmen foo:ITUnternehmen
SeRQL: Pfadausdrücke • Trennen in mehrere Ausdrücke • {Person} <foo:arbeitetFür> {Unternehmen} • {Unternehmen} <rdf:type> {<foo:ITUnternehmen>} • Abkürzungen {subj1} pred1 {obj1} {subj1} pred1 {obj2} {subj1} pred1 {obj3} • Verzweigungen {subj1} pred1 {obj1} {subj1} pred2 {obj1} {subj1} pred1 {obj1, obj2, obj3} {subj1} pred1 {obj1}; pred2 {obj2}
SeRQL: Pfadausdrücke • Optionale Pfadausdrücke {Person} <person:name> {Name}; <person:age> {Age}; [<person:email> {EmailAddress}]
SeRQL: Querys • Select • Ähnlich wie SQL Select Statements • Gibt eine Tabelle mit Ergebnissen zurück • Construct • Geben RDF Graphen als Zusammenstellung von Triplen zurück • Teilgraphen oder abgeleitete Graphen
SeRQL: Select Query • Besteht aus • Select • From • Where • Namespace
SeRQL: Construct Query • Besteht aus • Construct • From • Where • Namespace
SeRQL: Querys • Beispiel SELECT Country FROM {Country} foo:population {Population} WHERE Population < "1000000„ CONSTRUCT {Künstler} <rdf:type> {<art:Maler>}; <art:hatGemalt {Gemälde} FROM {Künstler} <rdf:type> {<art:Künstler>}; <art:hatGeschaffen> {Gemälde} <rdf:type> {<art:Gemälde>}
On To Knowledge • http://www.ontoknowledge.com • IST Projekt • Entwicklung von Methoden und Werkzeugen • für Wissensmanagment • Ontologiebasierter Ansatz • Sesame Repositories für • OnTo Extract • OnTo Edit • OnTo Share • Spectacle • ...
DOPE • Drug Ontology Project for Elsevier • http://aduna.biz/dope/ • Thesaurus basierter Browser für Wissenschaftliche Dokumente • Nutzt Sesame RDF Repositories
Bibster • http://bibster.semanticweb.org/ • P2p basierte Anwendung • Zur gemeinsamen Nutzung und Verwaltung von bibliographischen Daten
Andere Projekte • Jena 2 • Open Source Framework zur Erstellung von Semantic Web Applications • http://jena.sourceforge.net • Kaon • Open Source Ontology Management Infrastructure • http://kaon.sourceforge.net
Weitere Projekte • RDFStore • http://rdfstore.sourceforge.net • ICS-Forth RDFSuite • http://www.ics.forth.gr • SquishQL • http://swordfish.rdfweb.org/rdfquery/
Ausblick • Größere Anzahl unterstützter Repositories • Standard SQL Support • DAML + OIL Support • Erweiterung des Admin Moduls • Performance