Your browser doesn't support the features required by impress.mod.js, so you are presented with a simplified version of this presentation.
For the best experience please use the latest Chrome , Safari or Firefox browser.
12.10.2017 | ISS | Mainz
Semantische Annotation & Kodierung
Verstehen – Auszeichnen – Abfragen
Einführungskurs der 2. International Summer School des Studiengangs “Digitale Methodik in den Geistes- und Kulturwissenschaften”, 10.–13.10.2017
01
Verstehen
Was bedeutet Annotation & Kodierung?
Erklärung
Standardisierte Anbringung von Zusatzinformationen an ein digitales Primärobjekt
Art der Zusatzinformationen beispielsweise: deskriptiv , analytisch oder semantisch
gängige Begrifflichkeiten: Annotation, Auszeichnung, Tagging, Kodierung, Metadaten
Art des Markups :
Beispiel - Annotation
Weiterführendes
Welchem Zweck dient es?
Allgemein
Maschinenlesbarkeit ermöglichen
implizite Informationen explizit machen, z. B. durch …
… Beschreibung der formalen Struktur.
… Herstellung von Bezugssystemen (“Links”).
… Analyse linguistischer Merkmale.
… Erläuterung der inhaltlichen Bedeutung von Textpassagen.
Kategorisierung und Strukturierung durch …
… automatisierte Extraktion und Aggregierung von Metadaten.
… automatisierte Erstellung registerartiger Strukturen.
In unserem Kontext
Standardisierung
Datenkonversion
Data Mining
Information Retrieval
Interoperable Nutzung
Datenaustausch
Langzeitarchivierung
Digitales Publizieren
Was soll ausgezeichnet werden?
Die eine korrekte Auszeichnung gibt es nicht.
Jede Auszeichnung ist Interpretation .
Jede Auszeichnung ist kontextabhängig .
Vor jedem Auszeichnungsprozess, egal ob manuell oder maschinell, müssen mindestens die folgenden, eng verknüpften Fragen beantwortet werden:
Was ist das Ziel der Auszeichnung (Welche Informationen wollen wir maschinenlesbar explizit machen)?
Wie soll die Weiterverarbeitung der Daten vonstatten gehen?
Welche Auszeichnungssprache eignet sich für die eigenen Zwecke am besten?
Welches Datenformat eignet sich für die eigenen Zwecke am besten?
02
Auszeichnen
Konzepte und Sprache – XML
Beschreibung
Extensible Markup Language
umschließendes Tagging
hierarchische Baumstruktur
weit verbreitet und standardisiert
Hauptanwendungsgebiete
Datenaustausch, Digitales Publizieren, Digitale Edition, Langzeitarchivierung.
verknüpfte Abfrage- und Transformations-Technologien: XPath, XSLT, XQuery ...
Konzepte und Sprachen – XML
Code-Beispiel
Konzepte und Sprache – JSON
Beschreibung
JavaScript Object Notation
Objekte (Datencontainer), die Schlüssel-Wert-Paare enthalten (Key-Value-Prinzip)
mehr Datencontainer als Auszeichnungssprache
Hauptanwendungsgebiete
überwiegend Datenaustausch über Web-Schnittstellen
verknüpfte Technologie: JavaScript (JSON selbst ist in den meisten Fällen bereits valides JavaScript), JSONB, JSON-LD, Dictionaries und Hash-Tables in zahlreichen Programmiersprachen ...
Konzepte und Sprachen - JSON
Code-Beispiel
{"correspondences":
{"correspDesc": [ {
"key": "GB01_1_BR0030",
"ref": "http://id.www.goethe-biographica.de/letter/GB01_1_BR0030",
"correspAction": [
{
"type": "sent",
"persName": {
"key": "NDB37518",
"ref": "http://d-nb.info/gnd/118540238/",
"content": "Goethe, Johann Wolfgang"
},
"placeName": {
"ref": "http://www.geonames.org/2925533/",
"content": "Frankfurt a. M."
},
"date": {
"when": "1764-06-02"
}
},{
"type": "received",
"persName": {
"key": "NDB63170",
"ref": "http://d-nb.info/gnd/100063934",
"content": "Buri, Ludwig Ysenburg von"
},
"placeName": {
"ref": "http://www.geonames.org/2864940/",
"content": "⟨Neuhof⟩"
}}] […] }]}}
Konzepte und Sprache – RDF
Beschreibung
Resource Description Framework => Stichwort: strukturierte Daten
Abstraktes Datenmodell
Strukturierte Formulierung logischer Aussagen über Dinge
Dinge werden als Ressourcen bezeichnet und als URIs notiert
Triple im Sinne einer Subjekt-Prädikat-Objekt-Notation
In verschiedenen Serialisierungen notierbar, die bspw. auf XML & JSON basieren
Einführung und Grundbegriffe, gestern in Grundlagen von Linked Open Data , bes. Step 27-33.
Hauptanwendungsgebiete
Hauptanwendungsgebiete: Datenaustausch, Verknüpfung von Ressourcen im Semantic Web, Structured Data, Linked Open Data.
verknüpfte Technologie: SPARQL, OWL, ...
Konzepte und Sprachen – RDF
Code-Beispiel (Turtle)
@prefix rdfs: .
@prefix g: .
@prefix foaf: .
@prefix cmi: .
[…]
a foaf:Person .
a foaf:Person .
rdfs:label "Goethe, Johann Wolfgang"@de .
rdfs:label "Buri, Ludwig Ysenburg von"@de .
rdfs:seeAlso .
rdfs:seeAlso .
cmi:sent g:GB01_1_BR0010 .
g:GB01_1_BR0010 cmi:received ;
a foaf:Document ;
cmi:sentFrom ;
cmi:sentTo .
rdfs:label "Frankfurt a. M."@de .
rdfs:label "Neuhof"@de .
RDF-Serialisierungen (Auswahl)
Name
Einsatz
Bereitstellung
MIME-Type
RDF/XML
Import/Export
Schnittstelle
application/rdf+xml
Turtle
Import/Export
Schnittstelle
text/turtle
JSON-LD
HTML-Seite (head)
Web crawler, Scraping, Schnittstelle
application/ld+json
HTML5 RDFa
HTML-Seite (body)
Web crawler, Scraping
In HTML eingebunden.
HTML5 Microformat
HTML-Seite (body)
Web crawler, Scraping
In HTML eingebunden.
Verbreitete Software und Technologien (XML)
eXist – Native XML-Datenbank
Verwaltungssystem für XML-Dokumente
Datenbankmanagementsystem
Web-Applikations-Engine
javabasiert – wird in JVM ausgeführt
Oxygen XML Editor
Entwicklungs-Umgebung für X-Technologien (XML, XPath, XQuery, XSLT)
XML-Editor
volle TEI-Unterstützung
Schnittstelle für eXist-db
XML und TEI
Überblick
Was ist XML?
Syntax – Elemente, Attribute und Werte, Kommentare
Wohlgeformtheit
Validität
TEI
Was ist XML?
XML = Extensible Markup Language
Dokumentformat --> allgemeines Datenformat
entwickelt vom World-Wide-Web-Konsortium (W3C), 1996
plattformen- und anwendungsunabhängige Beschreibung und Strukturierung von Daten
Inhaltsbeschreibungssprache, keine Programmiersprache
Syntax
Allgemein
Ein XML-Dokument besteht aus zwei Datenklassen :
XML-Markup besteht aus drei Notationseinheiten :
Elementen
Attribute und Wertzuweisungen in Elementen
Namespace-Präfixen zur Disambiguierung von Elementen
Grundlegende Syntax-Regeln :
Hierarchische Baumstruktur (Verschachtelung)
Keine Überlappung von Element-Paaren
Syntax – Elemente
Definition von Tags: Anfangs-Tag: <elementName>
Ende-Tag: </elementName>
Gesamt: <elementName>Text</elementName>
enthält Text, andere Elemente oder eine Kombination aus beiden: <tag-1><tag-2>Kursiver</tag-2> Text</tag-1>
case-sensitive: <elementName>
≠ <elementname>
Code-Beispiel: Elemente
|
| |
| | | Goethe, Johann Wolfgang
| |
| |
| | | Frankfurt a. M.
| |
| |
|
|
| |
| | | Buri, Ludwig Ysenburg von
| |
| |
| | | ⟨Neuhof⟩
| |
|
Syntax – Attribute und Werte
Attribute spezifizieren ein Element weiter und bringen Metadaten an: <element attribut="wert">text</element>
Werden als Schlüssel-Wert-Paare notiert: <person age="adult">text</person>
--> Attribut-Schlüssel age mit dem Wert adult
keine zwei Attribute desselben Namens innerhalb eines Elements
Code-Beispiel: Attribute
|
| |
| | | Goethe, Johann Wolfgang
| |
| |
| | | Frankfurt a. M.
| |
| |
|
|
| |
| | | Buri, Ludwig Ysenburg von
| |
| |
| | | ⟨Neuhof⟩
| |
|
Exkurs: Normdateien I
Eine Normdatei [existiert in] Form eines kontrollierten Vokabulars , in dem festgelegt wird, welche Ansetzung bei der Erschließung zu verwenden ist. Im Englischen werden Normdateien als „authority files “
bezeichnet.
Normierte Begriffe können Personennamen […] und beliebige andere Mengen von Bezeichnungen von [Entitäten] sein. Der Bildung von Normbegriffen liegt eine Ontologie zugrunde, die die jeweils zu normierenden Begriffe und die Art der Normierung festlegt.
Wikipedia: Normdatei unter ID 163718592
Exkurs: Normdateien II
Beispiel: Gemeinsame Normdatei (GND)
Die Gemeinsame Normdatei (GND) ist eine Normdatei für Personen , […] Geografika , […] und Werktitel , die vor allem zur Katalogisierung von Literatur in Bibliotheken dient, zunehmend
aber auch von Archiven , Museen , Projekten und in Web-Anwendungen genutzt wird.
Wikipedia: Gemeinsame Normdatei unter ID 167122528
DNB-Suchformular
Exkurs: Normdateien III
Schlüssel
Wert(e)
Link
http://d-nb.info/gnd/118540238
Person
Goethe, Johann Wolfgang von
Geschlecht
männlich
Andere Namen
Goethe, Johan Wolphgang Goethe, João Wolfgang von Yohan-Bolpeugang-pon-Goete Гёте, Йоҳанн Волфганг 約翰・沃爾夫岡・馮・歌德 …
Zeit
Lebensdaten: 1749-1832
Auszug Personennormdatensatz GND
DNB-Suchformular
Code-Beispiel: Normdaten
|
| |
| | | Goethe, Johann Wolfgang
| |
| |
| | | Frankfurt a. M.
| |
| |
|
|
| |
| | | Buri, Ludwig Ysenburg von
| |
| |
| | | ⟨Neuhof⟩
| |
|
Syntax – Namespaces und Präfixe
<root xmlns:book="http://url/to/book/namespace" >
Disambiguierung von gleichlautenden Tags
Spezialisierung von Markups in Schemata
URL muss nicht resolvable sein
Wichtig : TEI-Dokumente stehen immer im TEI-Namespace.
Code-Beispiel: Namespaces
Brief Goethes an Ludwig Buri
[…]
Gestern las ich ein erstaunliches Buch mit dem Titel
Neues aus der Welt der Farbenlehre
.
[…]
Syntax – Kommentare
<!-- This is a comment. -->
Beschreibung der Dokumentstruktur
Auskommentierung in Entwicklungs- und Testphase
keine Elemente, daher kein endTag
Wohlgeformtheit
Ein XML-Dokument ist dann wohlgeformt (well formed), wenn die allgemeinen Syntax- und Namenskonventionen eingehalten werden.
Validität
Ein XML-Dokument ist dann valide (valid), wenn die in einem Schema beschriebenen speziellen Syntax- und Namenskonventionen eingehalten werden.
Damit ein XML-Dokument valide sein kann, muss es wohlgeformt sein.
Praxisteil I
Analoge Annotation eines Goethe-Briefes
Bitte machen Sie die für Sie relevante Information auf dem Handout durch Hervorhebung (bspw. farbige Markierung, Steuerzeichen, Tags) explizit.
Faksimile Goethebrief
Praxisteil I
Annotierte Briefbeispiele
Text Encoding Initiative (TEI)
1987 gegründet und von der Community getragen.
Personell aktiv an der Entwicklung von XML und des WWW beteiligt.
Organisation und gleichnamiges Dokumentenformat zur Kodierung und zum Austausch von Texten.
TEI-XML De facto -Standard innerhalb der Geisteswissenschaften.
03
Abfragen
XPath
Erklärung
Beschreibt einen Pfad durch den XML-Baum zu einem bestimmten Element.
Basiert auf dem Achsenmodell des XML-Baumes.
Kenntnisse sind Voraussetzung zum Einsatz von XSLT und XQuery
Hilfreiches:
Code-Beispiel: Attribute
|
| |
| | | Goethe, Johann Wolfgang
| |
| |
| | | Frankfurt a. M.
| |
| |
| | | Wiesbaden
| |
| |
|
-------------
//correspAction/persName => Goethe, Johann Wolfgangp
//correspAction/persName/@key => NDB37518
//correspAction/placeName[1] => Frankfurt a. M.
//correspAction/placeName[@type="False"] => Wiesbaden
Aufgaben
eXide starten und die Datei GB01_1_CMI_certain_all.xml
öffnen,
alles markieren und kopieren und in das XML-Input-Feld des XPath-Testers einfügen.
Dann folgendes via XPath auswählen/ermitteln:
Alle Keys von Briefen – Lösung
Alle unterschiedlichen Empfänger – Lösung
Neue Datei: GB03_1_BR0700.xml
öffnen, dann folgendes via XPath auswählen:
Den Text-Absatz des Kommentars Nr. 12 – Lösung
XQuery
Erklärung
Die Abfragesprache für XML-Daten (Dateien und Datenbanken)
basiert auf XPath
XQuery-Abfragen können direkt mit HMTL umschlossen ausgegeben werden
Prinzip FLWOR ("For, Let, Where, Order by, Return")
For – Wählt eine Sequenz von Knoten aus
Let – Bindet eine Sequenz an eine Variable
Where – Filterkritieren
Order by – Sortierkriterien
Return – Ausgabe
Hilfreiches: XQuery Einführung
Beispiele für XQueries finden sich in unserer eXist-db unter db/data/xql
bezogen auf den DIO-Bestand (db/data/dio
), erreichbar über die eXide-Umgebung
Praxisteil II
Automatisierte Extraktion strukturierter Daten aus XML-Annotation mit dem XTriples-Webservice
Praxisteil II
Was ist ein Web-Service?
Ein Webservice […] ermöglicht die Maschine-zu-Maschine-Kommunikation […] über […] das Internet. Dabei werden Daten ausgetauscht und auf entfernten Computern Funktionen aufgerufen. Jeder Webservice
besitzt einen Uniform Resource Identifier (URI), über den er eindeutig identifizierbar ist, sowie eine Schnittstellenbeschreibung […] wie mit dem Webservice zu interagieren ist. Die Kommunikation kann […] über […] HTTP laufen und kann XML oder JSON basiert sein
Wikipedia: Webservice unter ID 168449611
Praxisteil II
Aufgabe und Aufruf des XTriples-Webservices
Aufgabe
Mapping von ‘impliziten’ XML-Daten auf eine ‘explizite’ RDF-Triple-Notation .
Aufruf
http://xtriples.spatialhumanities.de/extract.xql?
configuration =url/to/config.xml &
format =format *
* E.g. SVG.
Praxisteil II
Die XTriples-Konfigurations-Datei
[…]
/xpath/to/personID
type
Person
XTriples Input-Feld
Praxisteil II
Extraktion mit XTriples
Bitte ergänzen Sie die XPath-Ausdrücke in der XTriples-Konfigurations-Datei . Übergeben Sie diese im Anschluss an den Webservice und fordern sie das Rückgabe-Format SVG an.
Lösung
Vielen Dank für Ihre Aufmerksamkeit
Literature
Markup & Datenformate
Jannidis, Fotis: Grundlagen der Datenmodellierung. In: Jannides et al.: Digital Humanities. Eine Einführung. Stuttgart 2016, S. 99–108.
Pomerantz, Jeffrey: Metadata. Cambridge 2016.
Basset, Lindsey: Introduction to JavaScript Object Notation. A To-the-Point Guide to JSON. Sebastopol 2015.
XML & eXist
Vogeler, Georg und Sahle, Patrick: XML. In: Jannides et al.: Digital Humanities. Eine Einführung. Stuttgart 2016, S. 128–146.
Kurz, Susanne: Digital Humanities - Grundlagen und Technologien für die Praxis. Wiesbaden, 2. Aufl. 2016 [E-Book]
Siegel, Erik / Retter, Adam: eXist - A NoSQL Document Database and Application Platform. Sebastopol 2014 (O'Reilly Media)
Vonhoegen, Helmut: Einstieg in XML. Grundlagen, Praxis, Referenz. Bonn, 8. Aufl. 2015.
RDF
Rehbein, Malte: Ontologien. In: Jannides et al.: Digital Humanities. Eine Einführung. Stuttgart 2016, S. 162–176.
Hitzler, Pascal; Krötzsch, Markus; Rudolph, Sebastian; Sure, York: Semantic Web: Grundlagen. 2007.
Web Resources, Tutorials & Presentations
Software
Erwähnt
Verwendet
Rechte
Die Abbildung correspDesc.png stammt von: http://correspsearch.net/index.xql?id=participate_cmi-format&l=de
Alle weiteren Inhalte, Illustrationen und Bilder sind frei zur Weiterverwendung und Modifikation. Lizenz: CC-BY 4.0 , Digitale Akademie der Akademie der Wissenschaften und der Literatur
| Mainz