580 likes | 718 Views
RDF – eine Einführung Dublin Core XMP. Übersicht. Gliederung Einleitung in das Thema RDF Beschreibung RDF Serialisierung von RDF RDF in HTML Dublin Core Adobe XMP Fazit. 1. Einleitung in das Thema RDF. Problemstellung:
E N D
Übersicht Gliederung • Einleitung in das Thema RDF • Beschreibung RDF • Serialisierung von RDF • RDF in HTML • Dublin Core • Adobe XMP • Fazit
1. Einleitung in das Thema RDF Problemstellung: • Dokumente im Web etc. nicht automatisiert identifizierbar, wiederauffindbar, integrierbar • Identifizierung von Dokumenten bisher nur über Volltext-Indizierung möglich • mit entsprechend schlechten Suchergebnissen • sinnvolle Klassifizierung nicht möglich • kein automatisiertes Suchen, Weiterverarbeiten, Katalogisieren möglich Lösung: • Wir brauchen Informationen über Dokumente ! Wir brauchen Informationen über Informationen ! Metadaten
1. Einleitung in das Thema RDF Metadaten: Metadaten dienen der Beschreibung von Dokumenten sowie beliebigen Objekten • eigentlichem Inhalt eines Dokumentes übergeordnet. • Speicherung: • als Bestandteil des zu beschreibenden Objektes • für Objekte im Internet etc. besonders vorteilhaft • am häufigsten vorkommend • als eigenständiges Objekt
1. Einleitung in das Thema RDF Einsatz von Metadaten: • dienen dazu, Objekte und Informationen identifizierbar zu machen • liefern Angaben, die es ermöglichen, ein Dokument eindeutig zu referenzieren • unterstützen Suchmaschinen zur besseren, erfolgreicheren Suche
1. Einleitung in das Thema RDF Metadaten? Text Video • - Titel • - Autor • - Thema • - Sprache • Version • Nutzerrechte - Titel - Länge - Format - Produzent - Produktions- datum - handelnde Personen
1. Einleitung in das Thema RDF Typen von Metadaten: • IdentifikationTitel oder Elemente, die eine Identifikationsnummer oder einen anderen eindeutigen Bezeichner des Objektes enthalten.Bsp.: URI, ISBN • Zugangsbedingungen, sowie Nutzungs- und BeschaffungskonditionenBsp.: Registrierung notwendig?, Entstehen Kosten bei Dokumentennutzung? • Strukturelle AspekteAngaben über Verknüpfungen zu anderen Dokumenten • Inhalt und KontextThema, Stichwörter, Kurzbeschreibungen des Dokumentes • Nutzungs- und WirkungsgeschichteHerkunft des Dokumentes, Verwendungszweck
1. Einleitung in das Thema RDF Typische Anforderungen an das Metadatenformat • maschinell verarbeitbar • vom Menschen lesbar • für Austausch über Computernetze geeignet sein • durch verschiedene Anwendungen nutzbar • unabhängig von einer bestimmten Anwendungsdomäne • skalierbar • erweiterbar Das W3C hat versucht diesen Anforderungen Rechnungen zu tragen: RDF Ressource Description Framework
1. Einleitung in das Thema RDF Entwicklung von RDF: Zielstellung: • Bereitstellung von Mechanismen, welche Verarbeitung von Metadaten ermöglichen • Verbesserung von Suchmaschinen in Qualität der Suchergebnisse • Katalogisierung von Datenquellen zur Beschreibung von Inhalten und Beziehungen zu anderen Datenquellen • Klassifizierung, Bewertung von Werken im Internet • Unterstützung von SW-Agenten bei der Wissensnutzung, -verarbeitung, -bereitstellung • Unterstützung Einsatz digitaler Signaturen im Internet für e-Commerce etc.
1. Einleitung in das Thema RDF Entwicklung von RDF: Geschichtlicher Abriss: Oktober 1997 1. RDF – Entwurf des W3C Februar 1999 RDF – Modell und Syntax als W3C- Recommendation März 2000 RDF- Schema- Spezifikation 1.0 Februar 2004 RDF- Recommendation (Überarbeitung des RDF– Modells, der RDF-Syntax und der RDF-Schema- Spezifikation)
Übersicht Gliederung • Einleitung in das Thema RDF • Beschreibung RDF • Serialisierung von RDF • RDF in HTML • Dublin Core • Adobe XMP • Fazit
2. Beschreibung RDF RDF: • Deklarative Sprache zur Beschreibung von Ressourcen • Kein speziell vordefinierter Wortschatz zur Beschreibung von Metadaten, sondern Bieten von Möglichkeiten verschiedene Standards einzubinden oder eigene Standards zu definieren RDF – Grundidee: Zu beschreibende Dinge haben Eigenschaften mit einem Wert Ressource Eigenschaft Wert RDF Statement Subjekt Prädikat Objekt
2. Beschreibung RDF RDF modelliert Statements als Knoten und Kanten in einem Graph ! • Subjekt, Objekt als Knoten • Prädikat als Kante Prädikat Subjekt Objekt
2. Beschreibung RDF Mittels Statements Aufbau eines RDF – Graphen, RDF – Modells RDF - Dokumentes: Unterscheidung: • Modell-URI Location des Objektes/der RDF-Beschreibung • Basis-URI Basisbezeichner / -namensraum
2. Beschreibung RDF Basistypen: Ressource: • komplexe, abstrakte oder konkrete Entität • eindeutig durch URI charakterisiert (global) Literal: • Datentyp (definiert, undefiniert) Blank Node: • Anonyme Ressource (ohne Bezeichner, URI) • nur innerhalb der Definition einer Ressource eindeutig Zuordnung: Subjekt: Ressource, Blank Node Prädikat: Ressource Objekt: Ressource, Literal, Blank Node
2. Beschreibung RDF Beispiele: • Objekt als Ressource
2. Beschreibung RDF • Objekt als Literal • „typed“ Literal
2. Beschreibung RDF • Objekt als Blank Node
2. Beschreibung RDF Weitere Elemente der RDF – Spezifikation Container: Collections: List im Gegensatz zu Containern ausdrückbar, dass keine weiteren Elemente existieren Kritik: Wahl und Einsatz des geeigneten Elements nicht immer schlüssig
2. Beschreibung RDF Reification • wörtlich: Die Behandlung von etwas Abstraktem als einen konkreten Gegenstand • Hier: Beschreibung eines RDF – Statements als Ressource • Mögliche Nutzung:Beschreibung des Autors, des Erstellungsdatums und der Vertrauenswürdigkeit eines Statements
2. Beschreibung RDF Reification
2. Beschreibung RDF Reification <rdf:Description rdf:ID="item10245"> <exterms:weight rdf:datatype="&xsd;decimal">2.4</exterms:weight> </rdf:Description> <rdf:Statement rdf:about="#triple12345"> <rdf:subject rdf:resource="http://www.example.com/2002/04/products#item10245"/> <rdf:predicate rdf:resource="http://www.example.com/terms/weight"/> <rdf:object rdf:datatype="&xsd;decimal">2.4</rdf:object> <dc:creator rdf:resource="http://www.example.com/staffid/85740"/ </rdf:Statement>
Übersicht Gliederung • Einleitung in das Thema RDF • Beschreibung RDF • Serialisierung von RDF • RDF in HTML • Dublin Core • Adobe XMP • Fazit
3. Serialisierung von RDF 1. 4. 3. 2.
3. Serialisierung von RDF 3.1. RDF/XML • die Empfehlung des W3C • am weitesten verbreitet • RDF-Statements (Tripel) werden auf die Baumstruktur in XML angepasst http://www.example.org/index.html has a creation-date whose value is August 16, 1999 <ex:index.html> <exterms:creation-date> <"August 16, 1999„> • Präsentation des RDF-Graphen in XML
3. Serialisierung von RDF 3.1. RDF/XML <?xml version="1.0"?> <!-- Kennzeichnung XML --> <rdf:RDF <!–- Anzeigen, dass RDF-Beschreibung folgt --> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:exterms="http://www.example.org/terms/"> <rdf:Description <!-- Start der Beschreibung einer Ressource --> rdf:about="http://www.example.org/index.html"> <!--Subjekt(Ressource)--> <exterms:creation-date> <!-- Prädikat --> August 16, 1999 <!-- Objekt(in diesem Fall Literal) --> </exterms:creation-date> <exterms:creator rdf:resource="http://www.example.org/staffid/85740"/> <!-- Objekt (in diesem Fall Ressorce) --> </rdf:Description> </rdf:RDF>
3. Serialisierung von RDF 3.1. RDF/XML Blank Nodes werden durch Identifier gekennzeichnet <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"> <dc:title>RDF/XML Syntax Specification (Revised)</dc:title> <exterms:editor rdf:nodeID="abc"/> </rdf:Description> <rdf:Description rdf:nodeID="abc"> <exterms:fullName>Dave Beckett</exterms:fullName> <exterms:homePage rdf:resource="http://purl.org/net/dajobe/"/> </rdf:Description> bzw. geschachtelt dargestellt <rdf:Description rdf:nodeID=" abc "> <exterms:fullName>Dave Beckett</exterms:fullName> <exterms:homePage rdf:resource="http://purl.org/net/dajobe/"/> </rdf:Description>
3. Serialisierung von RDF 3.1. RDF/XML Abkürzung der Basis-URI <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:exterms=http://www.example.com/terms/ xml:base="http://www.example.com/2002/04/products/"> <rdf:Description rdf:ID=„snack"> <exterms:prop rdf:ressouce=„fruit/apple“</exterms:prop> </rdf:Description> </rdf>
3. Serialisierung von RDF 3.2. N3 • Triples zum Symbolisieren der Statements <http://www.fakeroot.net/sw/rdf-formats/> <http://purl.org/dc/elements/1.1/title> "A Brief History of RDF ..." . • Syntax: @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix dc: <http://purl.org/dc/elements/1.1/> . @prefix foaf: <http://xmlns.org/foaf/0.1/> . <http://www.fakeroot.net/sw/rdf-formats/> a foaf:Document; dc:title "A Brief History of RDF Serialization ..."; foaf:maker [ foaf:weblog <http://slashdot.jp/~Oliver/journal>; foaf:name "Oliver M. Bolzer" ] .
3. Serialisierung von RDF 3.2. N3 Erläuterungen: • ; zur Kennzeichnung eines neuen Prädikates mit entsprechendem Objekt • , zur Kennzeichnung eines neuen Objektes mit gleichem Prädikat und Subjekt • [ ] zur Kennzeichnung einer Blank Node (Weitere Beschreibung innerhalb der Klammern) • Abkürzungen für URIs erlaubt • rdf:type gekennzeichnet durch ein a
3. Serialisierung von RDF 3.3. N-Tripels • minimierte Untermenge von N3 • nur 1 Tripel pro Zeile • Nur einfache Statements, keine Verschachtelung • Vorteil: einfach zu parsen, einfach zu Erstellen durch Skripte <http://www.fakeroot.net/sw/rdf-formats/> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.org/foaf/0.1/Document> . <http://www.fakeroot.net/sw/rdf-formats/> <http://purl.org/dc/elements/1.1/title> "A Brief History of RDF ..." . <http://www.fakeroot.net/sw/rdf-formats/> <http://xmlns.org/foaf/0.1/maker> _:a . _:a <http://xmlns.org/foaf/0.1/weblog> <http://slashdot.jp/~Oliver/journal> . _:a <http://xmlns.org/foaf/0.1/name> "Oliver M. Bolzer" . • Blank Nodes gekennzeichnet durch temporären Identifier _:<Ident>
3. Serialisierung von RDF 3.4. RPV • Sammelt Statements zu einem Subjekt und präsentiert diese • Benutzt 2 Standard-Tags • R … ressource • PV … property/value • URIs spezifiert durch r .. ressource, p .. property, v .. Value <Rr="http://www.fakeroot.net/sw/rdf-formats/"> <PVp="http://www.w3.org/1999/02/22-rdf-syntax-ns#type" v="http://xmlns.org/foaf/0.1/Document" /> <PV p="http://purl.org/dc/elements/1.1/title">A Brief History of RDF ...</PV> <PV p="http://xmlns.org/foaf/0.1/maker" v="#oliver" /> </R> <R id="oliver"> <PV p=http://xmlns.org/foaf/0.1/weblog v="http://slashdot.jp/~Oliver/journal" /> <PV p="http://xmlns.org/foaf/0.1/name">Oliver M. Bolzer</PV> </R>
Übersicht Gliederung • Einleitung in das Thema RDF • Beschreibung RDF • Serialisierung von RDF • RDF in HTML • Dublin Core • Adobe XMP • Fazit
4. RDF in HTML 4.1. Überblick • Viele Ansätze, RDF in HTML zu integrieren • Eschew Validation • Embrace Validation (XHTML 2.0 Modul) • Object-, Script- und Link-Element • hyperRDF • Argumented Metadata for XHTML • …
4. RDF in HTML 4.2. Eschew Validation • Verkürzte XML RDF Syntax <head> <title>Some Page</title> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description rdf:about="http://www.w3.org/" dc:title="W3C Homepage"/> </rdf:RDF> </head> • Nachteile: • Nicht HTML valide • Probleme bei älteren Browsern
4. RDF in HTML 4.3. Embrace Validation • Ähnlich Eschew Validation • Kleine DTD mit Hilfe XHTML 2.0 Modularisierung <!DOCTYPE html SYSTEM "http://infomesh.net/2002/m12n/test/rdf.txt" > <html xmlns="http://www.w3.org/1999/xhtml" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xml:lang="en" > <head> <title>Embedded RDF Test</title> <rdf:RDF> <rdf:Property rdf:about="http://purl.org/net/swn#homepage"> </rdf:Property> </rdf:RDF> </head> • Nachteile: • DTDs sind groß und relativ komplex • Nicht für HTML geeignet
4. RDF in HTML 4.4. Object-, Script- und Link-Element • Einbettung der RDF-Daten in vorhandene HTML-Element 4.4.1. <object> <head> <title>My Document</title> <object data="data:application/rdf+xml;base64,PHJkZjpREYgeG1sbnM6cmRm wOi8f4hvd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIgogICAgICB4bWxu czpkYz0bf5gaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogIGVzY3JpcHRpb 24gcmRmOmFib3V3fb0PSJodHRwOi8vd3d3LnczLm9yZy8iPgogICAgPGRjOndvcmxkIFdpZG UgV2ViIENvb354nNvcnRpdW08L2RjOnRpdGxlPiAKICA8L3JkZjpEZXNjcmlKPC9yZGY6UkR GPg=="></object> </head> • Nachteile: • nicht für Menschen lesbar • Browserunterstützung
4. RDF in HTML 4.4.2. <script> <head> <title>My Document</title> <scripttype="application/rdf+xml"> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description rdf:about="http://www.w3.org/" dc:title="W3C Homepage"/> </rdf:RDF> </script> </head> • Nachteile: • Browserunterstützung
4. RDF in HTML 4.4.3. <link>/<a> <head> <title>My Document</title> <link rel="meta" type="application/rdf+xml" href="meta.rdf"/> </head> <body> <a rel="meta" type="application/rdf+xml" href="meta.rdf" /> </body> • Nachteil: Browserunterstützung • Vorteil: Serialisierungsunabhängig 4.4.4 Weitere Lösungen • http://infomesh.net/2002/rdfinhtml/
4. RDF in HTML 4.4.4. Vor- und Nachteile
Übersicht Gliederung • Einleitung in das Thema RDF • Beschreibung RDF • Serialisierung von RDF • RDF in HTML • Dublin Core • Adobe XMP • Fazit
5. Dublin Core 5.1. Überblick • Weltweite Initiative von Bibliothekaren und Wissenschaftlern • Jährlich stattfindende Workshops durch DCMI organisiert • Geschichtlicher Abriss: • 1994 DCMI in Dublin (Ohio, USA) gegründet • 1995 erster Dublin Core Workshop • Sept. 1998 DC Metadata Element Set 1.0 • 02.07.1999 DC Metadata Element Set 1.1 • 02.06.2003 DC Metadata Element Set 1.1 (revised version) • RDF nur abstrakte Spezifikation -> Dublin Core spezifiziert Namen für Prädikate • Im Moment nur XML/RDF Syntax für Dublin Core • XML erfüllt alle Voraussetzung zur Darstellung von DC
5. Dublin Core 5.2. Beispiel eines XML-DC-Dokumentes <?xml version="1.0"?> <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 rdf:about="http://doc"> <dc:creator>Joe Smith</dc:creator> </rdf:Description> </rdf:RDF>
5. Dublin Core 5.3. Unqualifiziertes Dublin Core • Dublin Core Metadata Element Set, Version 1.1 • 15 Basiselemente (in RFC 2413 definiert): hedgehog model
5. Dublin Core 5.4. Qualifiziertes Dublin Core • Verfeinerung/Unterteilung der Statements • Element Qualifiers: verfeinern die Grundbedeutung eines der 15 Basiselemente: • Bsp: DC:Date -> DC:Date:dateModified, DC:Date:dateCreated, … • Element Qualifier Terms: Referenz auf Ressource, kein Literal <?xml version='1.0'?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc = "http://purl.org/dc/elements/1.0/" xmlns:dcq = "http://purl.org/dc/qualifiers/1.0/"> <rdf:Description rdf:about = "http://doc"> <dc:creator> <rdf:Description> <rdf:value>Joe Smith</rdf:value> <dcq:creatorType>Illustrator</dcq:creatorType> <!-- <dcq:creatorType rdf:resource="http://IllustratorType"/> --> </rdf:Description> </dc:creator> </rdf:Description> </rdf:RDF>
5. Dublin Core 5.4. Qualifiziertes Dublin Core • Verfeinerung/Unterteilung der Statements • Value Qualifiers: werten den Statementwert auf • Value Qualifier Terms: Wertformate sind Ressourcen <?xml version='1.0'?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc = "http://purl.org/dc/elements/1.0/" xmlns:vcard = "http://www.imc.org/vcard/3.0/"> <rdf:Description rdf:about = "http://doc"> <dc:creator> <rdf:Description> <vcard:fn>Joe Smith</vcard:fn> <vcard:email>joe@my.com</vcard:email> <vcard:org>My Company, Inc.</vcard:org> <!-- <rdf:value>fn:Joe Smith</rdf:value> <dcq:creatorScheme rdf:resource="http://vcardscheme"/> --> </rdf:Description> </dc:creator> </rdf:Description> </rdf:RDF>
5. Dublin Core 5.4. Qualifiziertes Dublin Core • dumb-down-principle • DC-Tools müssen in der Lage sein qualifizierten Ressourcen, die sie nicht verstehen als unqualifizierte Daten auswerten/"lesen" zu können • qualifizierte „Unterdaten“ ignorieren • DC-Tools müssen grundsätzlich DC- und RDF-Namespace verstehen können • smarting up • einfaches, unqualifiziertes DC wird aufgewertet
5. Dublin Core 5.5. Zusammenfassung • The Dublin Core Namespace: • xmlns:dc=http://purl.org/dc/elements/1.0/ • The Dublin Core Qualifiers Namespace: • xmlns:dcq=http://purl.org/dc/qualifiers/1.0/ • The Dublin Core Terms Namespace: • xmlns:dct=http://purl.org/dc/terms/1.0/
Übersicht Gliederung • Einleitung in das Thema RDF • Beschreibung RDF • Serialisierung von RDF • RDF in HTML • Dublin Core • Adobe XMP • Fazit
6. XMP 6.1. Überblick • "XMP is an important piece that brings the semantic web closer to realization." - Eric Miller, W3C Semantic Web Activity Lead • XMP – Extensible Metadata Platform • Praktische Anwendung für Metadaten in Applikationsdaten • Von Adobe entwickelt und in aktuellen Produkten integriert