SoSe 2013 | IT-Zertifikat: AMM - Klausurvorbereitung

Post on 09-Jul-2015

206 views 3 download

Transcript of SoSe 2013 | IT-Zertifikat: AMM - Klausurvorbereitung

Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung

Jan G. Wieners // jan.wieners@uni-koeln.de

Advanced Markup & MetadataSommersemester 2013

03. Juli 2013 – Klausurvorbereitung

Daten, Information, Metadaten – was ist das?

Extensible Markup Language (XML)

Eigene Standards definieren: Schemata

Dokumenttypdefinitionen (DTD)

XSLT und xPath

TEI, CEI

Metadatenstandards im BAM-Sektor:

Begriff „Digitale Bibliothek“

MAB

MARC

Dublin Core

METS/MODS

Semantic Web: RDF und Co.

Themenüberblick Sommersemester 2013

I. Termini & Co.

II. Text / XML

Wohlgeformtheit und Gültigkeit

Text – Eigenschaften

Inhalt„Trebnitz 10. November [1915]

Liebster Kafka.

Bedenken Sie meine große Versumpftheit“

Struktur

Darstellung

Grundidee (wichtig!): Strikte Trennung von Inhalt (XML)

Struktur (DTD / Schema)

Darstellung (CSS / XSLT)

XML & Co.

<nachrichtensammlung><nachricht>

<sender>Jan Wieners</sender>

<empfaenger>

Kursteilnehmerinnen und -teilnehmer</empfaenger>

<inhalt>Hallo!</inhalt>

</nachricht>

</nachrichtensammlung>

Wohlgeformtheit?

Gültigkeit

XML: Aufbau

III. Standards formulieren:

DTD

Elemente bzw. Tags definieren Einzelnes Element: <!ELEMENT titel (#PCDATA)>

Verschachtelung von Elementen repräsentieren:<!ELEMENT bild (titel, url, abstract, person+, bauwerk+)>

Bitte beachten / merken:+ (Pluszeichen): Das Tag muss mindestens einmal vorkommen, darf aber auch öfter im XML-Dokument angegeben werden.

? (Fragezeichen): Das Element darf einmal vorkommen, muss jedoch nicht im XML-Dokument angegeben sein.

* (Sternchen): Das Tag darf mehrmals im XML-Dokument vorkommen, darf jedoch fehlen.

#PCDATA (PCDATA = "Parseable Character Data"): Beliebige Daten / Zeichen als Inhalt des XML-Elementes

Dokumenttypdefinitionen (DTD)

Attribute definieren

<!ATTLIST tagname attributname CDATA #IMPLIED>

Beachten / Merken:

#REQUIRED Jedes Element mit dem Namen

„tagname“ muss das Attribut „attributname“ enthalten.

#IMPLIED Das Attribut kann angegeben werden,

muss jedoch nicht angegeben werden.

Dokumenttypdefinitionen (DTD)

Schreiben Sie ein XML-Dokument (ohne XML-Deklaration und DOCTYPE-Angabe) für die im Folgenden wiedergegebene Dokumenttypdefinition (DTD):

<!ELEMENT catalog (cd+)>

<!ELEMENT cd (title, artist+, label, price, year)>

<!ELEMENT title (#PCDATA)><!ELEMENT artist (#PCDATA)><!ELEMENT label (#PCDATA)><!ELEMENT price (#PCDATA)><!ELEMENT year (#PCDATA)>

<!ATTLIST cdpreviewimage CDATA #IMPLIED>

Übung I

Schreiben Sie eine Dokumenttypdefinition für das im Folgenden angegebene XML-Markup:

<nobelpreistraeger-literatur>

<preistraeger>

<jahr>2009</jahr>

<name>Herta Müller(* 1953)</name>

<land>Deutschland</land>

<begruendung>die mittels Verdichtung der Poesie und Sachlichkeit der Prosa Landschaften der Heimatlosigkeit zeichnet</begruendung></preistraeger>

<preistraeger><jahr>2010</jahr><name>Mario Vargas Llosa(* 1936)</name>

<land>Peru Peru / Spanien Spanien</land>

<begruendung>für seine Kartographie der Machtstrukturen und scharfkantigen Bilder individuellen Widerstands, des Aufruhrs und der Niederlage</begruendung> </preistraeger>

</nobelpreistraeger-literatur>

Übung II

Wie verhalten sich die Konzepte „Zeichen“, „Daten“ und „Information“ zueinander?

Was sind Metadaten? Wozu werden Metadaten benötigt? Worin besteht das Problem, das mit Hilfe von Metadaten gelöst werden soll?

Was bezeichnet die „Wohlgeformtheit“, was die „Gültigkeit“ von XML-Dokumenten?

Welche Anforderungen werden an ein wohlgeformtes XML-Dokument gestellt?

Was verbirgt sich hinter der Abkürzung „DTD“? Was beschreibt eine DTD / welchen Sinn haben

Schemata? Von XML nach DTD Von DTD nach XML […]

…und die Klausur?

IV. XSLT und Xpath

XSLT und die Praxis: CD-Katalog

cdkatalog-foreach.xslt

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">

<xsl:output method="html"/>

<xsl:template match="/">

<html>

<head>

<title>CD-Kollektion</title>

</head>

<body>

<h2>Meine CD-Kollektion</h2>

<h3>Titel (&lt;cd&gt; Tags) in XML-Datenbasis:

<xsl:variable name="Anzahl_CDs" select="/catalog/cd"/>

<xsl:value-of select="count($Anzahl_CDs)"/>

</h3>

[…]

XSLT und XPath: Praxis II Variablen

cdkatalog-foreach.xslt

[…]

<xsl:for-each select="/catalog/cd">

<h3>CD <xsl:value-of select="position()" /></h3>

Titel: <xsl:value-of select="title" /><br />

Künstler: <xsl:value-of select="artist" /><br />

Label: <xsl:value-of select="label" /><br />

Jahr: <xsl:value-of select="year" /><br />

Bildurl: <xsl:value-of select="@previewimage"/>

<br />

<img>

<xsl:attribute name="src">

<xsl:value-of select="@previewimage"/>

</xsl:attribute>

</img>

</xsl:for-each>

</body>

</html>

</xsl:template>

</xsl:stylesheet>

XSLT und XPath: Praxis III for-each

V. XSLT und Xpath: Achsen & Co.

XPath arbeitet mit dem vom Prozessor verarbeiteten (geparsten) XML-Dokument

Ein Beispiel:

<?xml version="1.0" encoding="UTF-8"?>

<buecher><autor>

<name>Murakami</name><vorname>Haruki</vorname>

</autor><titel>Hard-boiled Wonderland</titel><gattung>Roman</gattung>

</buecher>

XPath

1 <buecher>

2 <autor>

3 <name>Murakami</name>

4 <vorname>Haruki</vorname>

</autor>

5 <titel>Hard-boiled Wonderland</titel>

6 <gattung>Roman</gattung>

</buecher>

XPath

1

2 5 6

3 4

Zahlenwerte 1 bis 6 geben die Reihenfolge an, in der ein XML-

Prozessor die Knoten ablaufen wird.

Dokumentreihenfolge („Document Ordner“) / Tiefensuche

Wichtig: Knotenbeziehungen Achsen:

Elternknoten (parent) – Jedes Element

verfügt über einen Elternknoten.

Ausnahme: ???

Vorfahre (ancestor) – Elternknoten von

Knoten

Beispiel: Der Knoten „2“ ist Vorfahre des

Knotens „3“.

Kind (child) – Untergeordnete Knoten

Beispiel: „3“ ist Kindknoten von „2“.

Geschwister (siblings): Knoten mit gleichen

Elternknoten sind Geschwisterknoten.

Beispiel: Der Knoten „3“ ist

Geschwisterknoten des Knotens „4“.

XPath: Navigation

1

2 5 6

3 4

Verfügbare Achsen: child (Kind)

parent (Elternknoten ../)

descendant (Nachkommen)

ancestor (Vorfahre)

following (Nachfolgende Knoten)

preceding-sibling (Vorherige Geschwisterknoten)

following-sibling (Nachfolgende Geschwisterknoten)

self (aktueller Knoten .)

descendant-or-self (Nachkomme oder aktueller Knoten)

ancestor-or-self (Vorfahre oder aktueller Knoten)

XPath: Achsen

Um auf die Knoten eines XML-Dokumentes

zugreifen zu können, müssen sie adressiert werden.

In XPath wird hierzu – vom aktuellen Knoten

ausgehend – ein Pfad definiert.

Unterscheidung ausführliche vs. verkürzte

Achsenbezeichnung: ausführlich: /child::autor/child::buch/attribute::titel

verkürzt: /autor/buch/@titel

Adressierung

Was verbirgt sich hinter der Abkürzung „XSLT“? Was ist XSLT? Wozu dient XSLT?

In welchem Verhältnis stehen XSLT und XPathzueinander?

Wozu dient XPath?

Wozu wird die Angabe<xsl:value-of select=”Xpath-Ausdruck”/>

verwendet - was geschieht hier?

Nennen und beschreiben Sie zwei XPath-Achsen.

…und die Klausur?

Gegeben sei die folgende XML-Datei:<buecher>

<buch><autor gender=“male“>

<name>Murakami</name><vorname>Haruki</vorname>

</autor><titel>Hard-boiled Wonderland</titel><gattung>Roman</gattung>

</buch><buecher>

Was liefern die folgenden XPath-Ausdrücke zurück / Was selektieren die folgenden XPath-Ausdrücke? <xsl:value-of select="/buecher/buch/autor/name" /> <xsl:value-of select="//titel" /> <xsl:value-of select="/buecher/buch/autor/@gender"/>

<xsl:for-each select="/buecher/buch"> <xsl:for-each select="/buecher/preis">

…und die Klausur?

VI. TEI Die Text Encoding Initiative

Frage- und Problemstellung:Wie lassen sich mit einem Standard

sämtliche in den Geisteswissenschaften

zu behandelnden Texte beschreiben?

Intention: 1987 entstanden als internationale Initiative von

Philologen

Dokumentenformat zur Repräsentation von Texten in

digitaler Form

Vielseitigkeit & Praxisnähe

„gekennzeichnet, von [der Bemühung,] ein Regelwerk

zu bestimmen, da[s] dem Anwender möglichst viel

Freiheit überläßt und möglichst wenige

Vorentscheidungen trifft“(http://computerphilologie.uni-muenchen.de/praxis/teiprax.html)

Text Encoding Initiative (TEI)

Versionsgeschichte 1990: TEI P1 (P => Proposal, Entwurf / Plan)

Basiert auf SGML

1992 / 1993: TEI P2

1994: TEI P3 ("Green Books")

2002: TEI P4 (XML-basiert)

2002: TEI Lite

2007 TEI P5

Standards und Guidelines Standards der TEI schränken die schier unendlichen

Auszeichnungsmöglichkeiten von XML ein. Dabei stellen

sich die folgenden Grundfragen:

Welche Tags und welche Attribute lassen sich verwenden,

um eigene Texte auszuzeichnen?

Wie lassen sich die Tags miteinander kombinieren /

verschachteln?

Überblick über Richtlinien, z.B. für TEI P5: http://www.tei-

c.org/release/doc/tei-p5-doc/en/Guidelines.pdf (1641

Seiten)

Die Text Encoding Initiative

Modularisierung Flexible Auswahl von TEI-Elementen aufgrund des

modularen Charakters der TEI. So muss ein eigenes

Schema nicht alle Elemente und Attribute der TEI

enthalten.

Module, u.a.:

core für Basiselemente

header für Metadaten

textstructure für grundlegende Textstrukturen

drama für Dramen

prose, poetry, etc.

Die Text Encoding Initiative

TEI-kodierter Text besteht aus mehreren

Abschnitten:

1. Kopf des Dokumentes (teiHeader) Informationen über den kodierten Text

TEI

TEI-kodierter Text besteht aus mehreren

Abschnitten:

2. Der eigentliche Text

TEI

Intention: u.a. Wahrung der Gedichtcharakteristika,

i.e. Strophen- und Verseinteilung

TEI

Hugo von Hofmannsthal – Die Beiden

Sie trug den Becher in der Hand

– Ihr Kinn und Mund glich seinem Rand –,

So leicht und sicher war ihr Gang,

Kein Tropfen aus dem Becher sprang.

So leicht und fest war seine Hand:

Er ritt auf einem jungen Pferde,

Und mit nachlässiger Gebärde

Erzwang er, daß es zitternd stand.

Jedoch, wenn er aus ihrer Hand

Den leichten Becher nehmen sollte,

So war es beiden allzu schwer:

Denn beide bebten sie so sehr,

Daß keine Hand die andre fand

Und dunkler Wein am Boden rollte.

Intention II: Eröffnen von Analyse- und

Retrievalmöglichkeiten, z.B. per XSLT:

„Gebe den zweiten Vers der dritten Strophe aus“.

Indexierung: Speichern von (relevanten)

Schlüsselwörtern

TEI

Worum geht„s? Intention der Initiative?

Was ist mit der Abkürzung „TEI“ signifiziert? Konsortium,

Standards

Ganz grob: Aufbau eines TEI-Dokumentes

…und die Klausur?

VII. Metadatenstandards im

„BAM“-Sektor

Sammlung digitaler Objekte Text Video Audio 3D Objekte Simulationen, VR, etc.

Bereitstellung von Zugriffsmöglichkeiten: Benutzerseite: Zugriff (access)

Abfrage (retrieval) von digitalen Objekten

Bibliothekarinnen-/Bibliothekarseite: Selection

Organization

Maintenance

Metadaten Kritisch für alle Formen organisierter digitaler Inhalte

Digitale Bibliothek

Arten von Metadaten: Administrative metadata for managing resources, such as

rights information

Descriptive metadata for describing resources (Beispiel: Zettel des Zettelkataloges)

Preservation metadata for describing resources, such as recording preservation actions

Technical metadata related to low-level system information, such as data formats and any data compression used

Usage metadata related to system use, such as tracking user behavior

“End user‟s view is only the tip of the iceberg: Much of the metadata is not intended for public display”

Metadaten

Arten von Metadaten (nach Witten et al.): Administrative metadata for managing resources, such as

rights information

Descriptive metadata for describing resources (Beispiel: Zettel des Zettelkataloges)

Preservation metadata for describing resources, such as recording preservation actions

Technical metadata related to low-level system information, such as data formats and any data compression used

Usage metadata related to system use, such as tracking user behavior

“End user‟s view is only the tip of the iceberg: Much of the metadata is not intended for public display”

Metadaten

MARC

MAB

MARCXML

Dublin Core (DC)

Metadata Object Description Schema: MODS

[…]

(OAI)

Bibliographische Metadaten: Standards

Satz von 15 Elementen zur Beschreibung von Ressourcen: Title Creator Subject Description Publisher Contributor Date Type Format Identifier Source Language Relation Coverage Rights

Alle Elemente sind optional und wiederholbar, die Reihenfolge ist beliebig

Dublin Core

METS / MODS

OAI / OAI-PMH

Worum geht„s? Worin besteht die

Herausforderung im „BAM“-Sektor? Was

ist eine digitale Bibliothek?

Arten von Metadaten im Kontext digitaler

Bibliotheken?

Verortung im Gesamtkontext: MARC,

MAB, MARCXML, Dublin Core, METS /

MODS

…und die Klausur?

VIII. Semantic Web

…die Nadel im Heuhaufen…?

Suchmaschinen: Google

Oh weh, was meint sie

/ er damit bloß???Den Computermechanismen mangelt„s an Wissen!

„knowledge gap“: Probleme im Verständnis

natürlicher Sprache Interpretation des Inhaltes von

Bildern oder anderen multimedialen Dingen

Computer verfügt nicht über Hintergrundwissen über das der Benutzer / die Benutzerin verfügt

Computer verfügt nicht über Hintergrundwissen über die Benutzerin / den Benutzer

Paradigmenwechsel: von passiver Rechenleistung

zu aktiver Rechenleistung (Verständnis der Inhalte)

Das Semantic Web will Computern helfen, die

Bedeutung hinter den Webseiten zu "verstehen“

Das derzeitige WWW dreht sich um Dokumente

Das Semantic Web dreht sich um Dinge

(Menschen, Musik, Filme), um Konzepte

Eine Möglichkeit: Einbettung semantischer

Information in HTML-Seiten

Semantic Web

Annotation – Beispiel: Mikroformat „hCard“ (vgl. http://de.wikipedia.org/wiki/Mikroformate):

XHTML, einfach:<div>

<div>Max Mustermann</div>

<div>Musterfirma</div<div>01234/56789</div><a href="http://example.com/">http://example.com/</a>

</div>

Im Mikroformat „hCard“:

<div class="vcard"><div class="fn">Max Mustermann</div><div class="org">Musterfirma</div>

<div class="tel">01234/56789</div><a class="url" href="http://example.com/">http://example.com/</a>

</div>

Ein Mikroformat: hCard

“Home pages typically say things such as:” "My name is..."

"I work for..."

"I'm interested in..."

"I live near..."

"My blog is..."

"I write in this weblog..."

"You can see me in this picture..."

"My Public Key is ..."

“FOAF is a way to say all those things, but so that computers can interpret it. Computers can't understand English yet, so we have to be a little more precise in how we say these things. FOAF is a way of saying these things for computers.”

Friend-of-A-Friend (FOAF)

The Resource Description Framework (RDF)

Erfunden, um Ressourcen im WWW zu

beschreiben

RDF ist domänenunabhängig, d.h. kann auch

dazu verwendet werden, Entitäten der realen Welt

zu beschreiben

RDF ist eine einfache Modellierungssprache, ist

jedoch die Grundlage für komplexere Sprachen

wie OWL

RDF

<?xml version="1.0"?>

<RDF>

<Description

about="http://www.hki.uni-koeln.de/wieners">

<author>Jan Wieners</author>

<homepage>

http://www.hki.uni-koeln.de

</homepage>

</Description>

</RDF>

RDF (reduziert, ohne Namensräume)

Ressource (resource)

Worum geht„s?

Eigenschaft (property)

Eigenschaftswert (property value)

Unterscheidung:

Ressourcen: Alles, was über einen Uniform

Resource Identifier (URI) referenziert werden kann

Eigenschaften (properties): Eigenschaften von

Ressourcen

Ausdrücke (Expressions) werden geformt mit

Tripeln in der Form (Subjekt, Prädikat, Objekt)

Ausdrücke (statements) = resource + properties

RDF

Visualisierung: Graphdarstellung

(http://de.wikipedia.org/wiki/Köln,lastModified,2011-10-23)

(urn:example:city:cologne,inhabitants,1007119)

(http://de.wikipedia.org/wiki/Köln,isAbout,urn:example:city:cologne)

RDF: Tripel

Semantic Web: Worin besteht das Problem des WWW? Was ist die

Vision des Semantic Web? „Knowledge Gap“

Annotation, Metadaten, etc.

Mikroformate: hCard

FOAF: Intention?

Woraus besteht ein RDF-Statement / ein RDF-Tripel?

URI, URL, URN?

…und die Klausur?

/