Upload
bamber-stien
View
117
Download
5
Embed Size (px)
Citation preview
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/
World Wide Web Consortium
dc:publisher
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:
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 Unternehmen foo:ITUnternehmen
{Person} <foo:arbeitetFür> {Unternehmen} <rdf:type> {<foo:ITUnternehmen>}
<foo:arbeitetFür> <rdf:type>
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 ausSelectFromWhereNamespace
SeRQL: Construct Query
Besteht ausConstructFromWhereNamespace
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