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 Eigenschaften Aussagen 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)
Sesame Architektur
SAIL Storage and Inference Layer Abstraktionslayer API mit speziellen Methoden um auf RDF Daten zuzugreifen Umwandlung in die speziellen DBMS Befehle Reasoning Support
Sesame Server
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: Beispiele: Language Tag Datatype Tag "foo" "foo"@en "<foo/>"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral
SeRQL: URIs vollständige URIs Abgekürzte URIs <http://www.w3c.org/index.html> Abgekürzte URIs w3c:index.html
SeRQL: Pfadausdrücke Person Unternehmen foo:ITUnternehmen {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 Abkürzungen {Person} <foo:arbeitetFür> {Unternehmen} {Unternehmen} <rdf:type> {<foo:ITUnternehmen>} Abkürzungen {subj1} pred1 {obj1} {subj1} pred1 {obj2} {subj1} pred1 {obj3} Verzweigungen {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 Construct Ä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 Kaon 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 ICS-Forth RDFSuite SquishQL 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 DAML + OIL Support Standard SQL Support DAML + OIL Support Erweiterung des Admin Moduls Performance