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 | International Summer School (ISS)
Digitale Methodik in den Geistes- und Kulturwissenschaften
Webtechnologien und -annotationen
Strukturierte Daten im Web
Inhalt
-
Webtechnologien – ein Ausschnitt
-
HTML, CSS, JavaScript
-
RDFa, JSON-LD
01
Webtechnologien – ein Ausschnitt
Webtechnologien – ein Ausschnitt
- HTML – gibt den Inhalten Struktur
- CSS – sorgt für die Darstellung
- JavaScript – für Interaktion und Dynamik
02
HTML
Was ist HTML?
HTML - HyperText Markup Language
- Auszeichungssprache
- beschreibt die semantische Struktur von Webseiten (nicht Darstellung und Formatierung! → CSS)
- Grundlage des World Wide Web
- Internationaler Standard, entwickelt und gepflegt vom W3C und der WHATWG
- Aktuelle Version: HTML5 (seit 28.10.2014)
- Dateiendung: .html oder .htm
Aufbau und Elemente
Aufbau eines HTML-Elements
<p>Ein Text-Element</p>
<p>Ein <em>verschachteltes</em> Text-Element</p>
Ein Text-Element
Ein verschachteltes Text-Element
Eigenschaften eines HTML-ELements:
- Öffnendes (
<p>
) und schließendes Tag (</p>
) - Ausnahme: Selbstschließende Elemente wie <img>
- Nested Structure
- Vorsicht vor veralteten (deprecated) Elementen!
Attribute
<a href="#" title="Demo-Link">Ein Link</a>
Ein Link
Eigenschaften von Attributen:
- Immer innerhalb des öffnenden Tags
- Bestehen aus name und value, getrennt durch "="
- Globale (z. B.
title
, id
, class
) und elementspezifische Attribute (z. B. href
)
Block-Level- und Inline-Elemente
Block-Level-Elemente beginnen eine neue Zeile und erstrecken sich über die Breite der kompletten Zeile, während Inline-Elemente
keine neue Zeile starten und nur so viel Platz einnehmen wie nötig:
<p>Ein Block-level-Textelement mit einem <em>Inline-Auszeichnungselement</em>.</p>
Ein Block-Level-Textelement mit einem Inline-Element darin.
Basisstruktur eines HTML-Dokuments
<!DOCTYPE html>
<html>
<head>
<!-- this is a comment -->
<!-- metadata -->
<title>Sample page</title>
</head>
<body>
<!-- content -->
<h1>Sample page</h1>
<p>This is a <a href="demo.html">simple</a> sample.</p>
</body>
</html>
Wichtige Elemente
<!DOCTYPE html>
- Sagt dem Browser, welche Version von HTML verwendet wird
<html>
- Das Wurzelelement (root) eines HTML-Dokuments. Umschließt alle anderen Elemente
<head>
- Enthält Metadaten und generelle Informationen über das Dokument, z. B. Autor, Titel und Zeichensatz, außerdem Verlinkungen zu externen Stylsheets und Skripten.
<body>
- Enthält den Inhalt eines HTML-Dokuments, der auf der Webseite angezeigt wird.
Wichtige Elemente (2)
<h1>
, <h2>
, ..., <h6>
- Überschriften unterschiedlicher Hierarchie
<p>
- Absatz (engl. paragraph)
<ul>
- Aufzählung (engl. unordered list)
<img>
- Bild
02
CSS
Was ist CSS?
CSS - Cascading Style Sheets
- Stylesheet-Sprache: gibt Anweisungen für die Darstellung eines Dokuments
- Anwendbar auf alle Dokumente, die in Auszeichnungssprachen (markup languages) verfasst sind, z. B. HTML, XML, SVG, etc.
- "Living standard" des W3C: CSS 2.1 empfohlen, CSS3 in Module aufgeteilt und im Prozess der Standardisierungs → Can I use ___?
- Beschreibt Präsentation nicht nur auf dem Bildschirm, sondern auch in anderen Medien, z. B. Print, oder spezielle Regeln für verschiedene Geräte (Smartphone, Tablet, etc.)
- Kaskade: Prioritätsgefälle und Vererbung von Eigenschaften
- Dateiendung: .css
Aufbau und Funktionsweise
Aufbau einer CSS-Regel
body {
font-family: "Arial", sans-serif;
font-size: 1.6em;
background-color: #eeeeee;
/* This is a comment */
}
- Mehrere Deklarationen getrennt durch Semikolon
- Kaskade: Alle Kind-Elemente des
<body>
-Elements erben die für <body>
deklarierten Eigenschaften
Praktische Übung
Jetzt sag endlich:
Was ist denn nun JavaScript?
- Programmiersprache, genauer: Skriptsprache
- wird im Browser ausgeführt*
- für dynamische Änderungen auf Webseiten, z.B.
- Interaktion mit Benutzern
- Ändern von Inhalten
- Nachladen von Inhalten (Stichwort: AJAX)
* Inzwischen gibt es JavaScript auch auf dem Server, siehe node.js
Strukturierte Daten im Web
RDFa, JSON-LD
Worum geht es?
- Maschinelle Weiterverarbeitung und Verknüpfung von Daten
- Bereitstellung von strukturierten, semantischen Daten im Web
- HTML nur bedingt geeignet
- Daher: Konzepte des Semantic Web
Möglichkeiten der RDF Einbindung
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. |
RDFa
Resource Description Framework in Attribute
Entwicklung
- 2007 W3C-Entwurf für RDFa-Standard
- 2008 offizielle W3C-Empfehlung
- RDFa 1.0 nur mit XHTML nutzbar
- 2012 RDFa 1.1 und RDFa Lite kann in HTML und XML Dialekten eingesetzt werden
RDFa Lite und RDFa
Attribute
RDFa Lite Attribute
vocab
: legt Standard-Vokabular fest
prefix
: legt weitere Namensräume fest
typeof
: Typ des Subjekts
resource
: Subjekt oder Objekt der Aussage (about)
property
: Eigenschaften
RDFa Attribute
- RDFa enthält weitergehendes tagset, insbesondere zur Beschreibung von Relationen
content
: formatierter Inhalt
rel
, rev
: Bestimmung des Prädikats
src
: persistente Identifizierung mit IRI
Vokabulare
Dublin Core, FOAF, SKOS, schema.org
- Legen Begriffe fest, die genutzt werden können
- Dublin Core: bibliographisches Datenformat
- FOAF: Modellierung von Personen und Netzwerken
- SKOS (Simple Knowledge Organization System): Modellierung von Klassifikationen, Taxonomien
- schema.org: Initiatve zur Strukturierung von Daten auf Websites
schema.org
Idee und Entwicklung
- 2011 begonnene Initiative von Suchmaschinenbetreibern
- Ausgangspunkt: bestehende Möglichkeiten der Einbindung von Daten zu kompliziert
- Ziel: einfaches, einheitliches Vokabular zur optimierten Aufbereitung von Webseiten für Suchmaschinen
- Schema = Set von Typen mit Eigenschaften
- Basiert auf bestehenden Vokabularen, Mitarbeit von Experten
schema.org
Was bringt es?
- Gezielte Verknüpfung von Inhalten
- Bessere Inhaltliche Auswertung in der Suche, v.a. Produktsuche
Beispiel: RDFa mit schema.org
Strukturierte Auszeichnung eines Buches: Objekttyp und Properties
Dokumentation von schema.org
HTML-Code
Testing Tool
Angabe von Objekttyp und Properties
Erweiterte Auszeichnung von Personen
Weitere Auszeichnung:
- Einsatz zusätzlicher Vokabulare
- Einsatz von Normdaten
JSON-LD
JSON Linked Data
- JSON-basierte Serialisierung für verlinkte Daten
- JSON: bevorzugtes Austauschformat für Webservices und Webapplikationen
- Attributpaare: property und value
Beispiel
JSON-LD basierte Auszeichnung für ein Buch
Wann welches Format?
- Abhängig von Inhalt und Umfang
- Abhängig vom Ziel der Datenbereitstelllung
- Bereitstellung auf mehrere Arten
Zusammenfassung Strukturierte Daten im Web
Mehrwert, Nutzung
- Nutzung durch Suchmaschinen
- Nutzung durch Applikationen
- Übergreifende Verwendung ohne zentralisierte Datenbank
- Und für geisteswissenschaftliche Projekte?
Metasuche über Musikkataloge
Anwendungsbeispiel in den Digitalen Geisteswissenschaften
- Digitale Musikeditionen, Quellensammlungen, Kataloge
- Ziel: Plattform für übergreifende Suchmöglichkeiten
- Anhand der charakteristischen Melodien ("incipits")
Anforderungen an strukturierte Metadaten
- Daten aggregieren und bereitstellen
- Einfaches Format für Anschlussmöglichkeit anderer Repositorien
- Verschiedene Formate: JSON-LD, schema.org
THE END
Vielen Dank für Ihre Aufmerksamkeit