Semantic Web - Hasso Plattner...

92
Vorlesung Dr. Harald Sack Hasso-Plattner-Institut für Softwaresystemtechnik Universität Potsdam Wintersemester 2008/09 Semantic Semantic Web Web http://sw0809.blogspot.com/ Blog zur Vorlesung: http://sw0809.blogspot.com/

Transcript of Semantic Web - Hasso Plattner...

Page 1: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

Vorlesung

Dr. Harald Sack

Hasso-Plattner-Institut für Softwaresystemtechnik

Universität Potsdam

Wintersemester 2008/09

Semantic Semantic WebWeb

http://sw0809.blogspot.com/

Blog zur Vorlesung: http://sw0809.blogspot.com/

Page 2: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

Semantic Web - Vorlesungsinhalt

1. Einführung

2. Die Sprachen des Semantic Web

3. Wissensrepräsentation

4. Web of Trust

5. Ontology Engineering

6. Semantic Web Anwendungen

Page 3: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

3

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web

Semantic Web Architecture

URI / IRI

XML / XSD

RDFS

Ontology (OWL)

Trust

Cry

pto

Unifying Logic

Proof

Data interchange:

RDF

Query:

SPARQLRule:

RIF

User Interface & Application

Page 4: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

4

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

Semantic Web

2. Die Sprachen des Semantic Web

2.1 Uniform Resource Identifier - URI

2.2 Universelle Vokabularien mit XML

2.3 Einfache semantische Strukturen mit RDF und RDFS

2.4 Abfragesprache SPARQL

2.5 Semantik im WWW - formats, RDFa, GRDDL

2.6 Warum RDF/RDFS noch nicht ausreicht

06.11.2008 – Vorlesung Nr. 21 3 4 5 6 7 8 9 1110 12

13

Page 5: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

5

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.1 Uniform Resource Identifier - URI

Uniform Resource Identifier - URIEin Uniform Resource Identifier (URI) definiert ein einfachesund erweiterbares Schema zur weltweit eindeutigen Identifikationvon Ressourcen (RFC 3986).

Ressource kann jedes Objekt sein, das (im Kontext der jeweiligenAnwendung) eine klare Identität besitzt ,

also z.B. (z.B. Webseiten, Bücher, Orte, Personen,Beziehungen zwischen diesen Dingen, abstrakte Konzepteusw.)

Das URI Konzept ist in verschiedenen Anwendungsbereichenbereits etabliert,

wie z.B. Web (URL, PRN, pURL), Bücher (ISBN), Digital ObjectIdentifier (DOI)

Page 6: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

6

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.1 Uniform Resource Identifier - URI

Uniform Resource Identifier - URIURI umfasst sowohl

Adressangaben (Locator)

Uniform Resource Locator (URL, RFC 1738)

gibt an, wo eine Web-Ressource zu finden ist

kann sich im Lebenszyklus der Web-Ressource ändern

Identitätsbezeichner (Namen)

Uniform Resource Name (URN, RFC 2141)

persistenter Bezeichner für eine Web-Ressource

bleibt für die gesamte Lebensdauer konstant

Page 7: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

7

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.1 Uniform Resource Identifier - URI

URI - Generische SyntaxUS-ASCII Encoding

Percent Encoding für reservierte Zeichen, oder Zeichen, die nichtim US-ASCII Encoding existieren

pct-encoded = "%" HEXDIG HEXDIG

Reservierte Zeichen mit funktionalen Aufgabenreserved = gen-delims / sub-delims

gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@“sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="

Erlaubte Zeichenunreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"

Erweiterung auf Universal Character Code (Unicode/ISO 10646)

Internationalized Resource Identifier (IRI, RFC 3987)Bsp.:

Page 8: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

8

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.1 Uniform Resource Identifier - URI

URI - Generische Syntax

URI = schema"://"[userinfo"@"]host[:port][path]["?"query]["#"fragment]

schema: z.B. http, ftp, mailto,...

userinfo: z.B. user:password

host: z.B. Domain-Name, IPv4/IPv6-Adressen

port: z.B. 80 für Standard http-Port

path: z.B. Pfadangabe im WWW-Server Filesystem

query: z.B. Parameter, die an Anwendung weitergegeben werden

fragment: z.B. Angabe eines bestimmten Dokumententeilbereichs

Page 9: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

9

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.1 Uniform Resource Identifier - URI

URIs im Semantic WebWas tun, wenn eine URI für eine Ressource noch nicht existiert?

Selbstdefinierte URIs

Zur Vermeidung von Überschneidungen, Nutzung der eigenenWebsite

Ermöglicht auch Ablage von zugehöriger Dokumentation angleicher Stelle

Trennung von URI für Ressource (Beschriebenes) und derenDokumentation (Beschreibendes) durch URI-Referenzen (durch"#" angehängte Fragmente) oder content negotiation

z.B.: http://hpi.ui-potsdam.de/harald_foaf.rdf#URI

Page 10: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

10

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

Semantic Web

2. Die Sprachen des Semantic Web

2.1 Uniform Resource Identifier - URI

2.2 Universelle Vokabularien mit XML

2.2.0 Warum (X)HTML nicht ausreicht…

2.2.1 XML Sprachstandard

2.2.2 XML DTD

2.2.3 XML Schema (XSD)

2.2.4 XML Sprachfamilie

2.2.5 Warum XML noch nicht ausreicht…

2.3 Einfache semantische Strukturen mit RDF und RDFS

2.4 Abfragesprache SPARQL

2.5 Semantik im WWW - formats, RDFa, GRDDL

2.6 Warum RDF/RDFS noch nicht ausreicht

06.11.2008 – Vorlesung Nr. 21 3 4 5 6 7 8 9 1110 12

13

Page 11: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

11

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.0 Warum HTML nicht ausreicht…

Semantik und HTMLHTML diente ursprünglich zur Beschreibung der Struktur einesHypermedia-Dokuments

Browser-Wars – Browser-Hersteller (Netscape/MS) definierteneigenständig proprietäre Erweiterungen der HTML-Syntax zurFormatierung von Strukturelementen

z.B. Tabellen mit absoluten Maßangaben

z.B. Schrifttyp, Schriftauszeichnungen, Schriftgröße, Farbe, etc…

Problem: Formatierung vs. Semantik

<td width="261">

<font color="#00ff00" face="Arial, Helvetica, sans-serif„

size==“+1“> fetter T

ext

Page 12: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

12

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.0 Warum HTML nicht ausreicht…

Semantik und HTMLMeta-Tags können zusätzliche Semantik in das HTML-Dokumenteinbringen

Problem:

Erweiterungen nicht standardisiert

leicht manipulierbar Missbrauch

<meta name="description"

content="Homepage of Dr. Harald Sack, … “>

<meta name="keywords" content="homepage teaching … “><meta name="Autor" content="Harald Sack">

Page 13: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

13

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.0 Warum HTML nicht ausreicht…

Semantik und HTMLSemantik der Meta-Tags beruht ausschließlich auf der privatenVereinbarung zwischen Informationsanbieter undInformationskonsumenten

Problem:

Syntax und Semantik gilt nur für spezielle Vereinbarung

<meta name=“PLZ" content=“07743“>

<meta name=“Ort" content=“Jena“>

<meta name=“Strasse" content=“Ernst-Abbe-Platz“>

<meta name=„Hausnummer" content=“2">

Fazit:

HTML war zwar für das immense Wachstumstempo des WWW

mitverantwortlich, behindert aber dessen Weiterentwicklung

Page 14: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

14

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.0 Warum HTML nicht ausreicht…

formats -- MicroformateXHTML Markup, mit dem es möglich ist, (in einem begrenzten Umfang)Semantik in einem HTML-Dokument auszudrücken

Anwendungen können leichter Daten aus HTML-Dokumenten extrahieren

Verwendung in folgenden XHTML-Tag Attributen:

class

rel

rev

Vordefinierte Standard-Microformate:

hCard - Personendaten ( vCard, RFC2426)

hCalender – Events

rel-Tag – social tagging

XFN – XHTML Friends Network

Page 15: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

15

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.0 Warum HTML nicht ausreicht…

Formats -- MicroformateBeispiel:

<span class="vcard">

<span class="fn">Joe Blow</span>

<span class="org">The Example Company</span>

<span class="tel">604-555-1234</span>

<a class="url" href="http://example.com/">

http://example.com/</a>

</span>

Page 16: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

16

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

Semantic Web

2. Die Sprachen des Semantic Web

2.1 Uniform Resource Identifier - URI

2.2 Universelle Vokabularien mit XML

2.2.0 Warum (X)HTML nicht ausreicht…

2.2.1 XML Sprachstandard

2.2.2 XML DTD

2.2.3 XML Schema (XSD)

2.2.4 XML Sprachfamilie

2.2.5 Warum XML noch nicht ausreicht…

2.3 Einfache semantische Strukturen mit RDF und RDFS

2.4 Abfragesprache SPARQL

2.5 Semantik im WWW - formats, RDFa, GRDDL

2.6 Warum RDF/RDFS noch nicht ausreicht

06.11.2008 – Vorlesung Nr. 21 3 4 5 6 7 8 9 1110 12

13

Page 17: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

17

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard

Semantic Web Architecture

URI / IRI

XML / XSD

RDFS

Ontology (OWL)

Trust

Cry

pto

Unifying Logic

Proof

Data interchange:

RDF

Query:

SPARQLRule:

RIF

User Interface & Application

Page 18: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

18

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard

XML – Extensible Markup LanguageWas XML alles kann

XML gestattet die Definition beliebiger neuer Tags(Metasprache zur Definition neuer Markupsprachen)

die Definition neuer Tags erfolgt in einem speziellen Dokument,der Document Type Definition (DTD) / XML Schema Definition

XML-Dokumenteninstanz

+

XML-DTD

kann von einem

Anwendungsprogramm,

das die

XML-DTD/XML-XSD

versteht, korrekt

interpretiert werden

XML-XSD

Page 19: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

19

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard

XML

XML DTD

XSDXQuery

XPath

XPointer

XLink

XHTML

CSS

SGML

RDF

RDFS

OWLSPARLQ

SWRL

XML Namespaces

XSL

XSLT

XLS:FO

XForms

Page 20: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

20

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard

XML Timeline

1970 200019901980

GML SGML(ISO8879 1986)

HTML 1.0CSS 1.0

XML 1.0(1998)

1995

HTML 3.2

HTML 4.0

CSS 2.0

MathML

XSLT/XPath

XHTML 1.0

XSD

XLink

SMIL

x

XQuery

(1998)

RDF

(1999)

RDFS(2004)

OWL

SPARQL(2006)

(SWRL)

Page 21: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

21

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard

XML – Extensible Markup LanguageWas XML alles kann

<h2>

Max Mustermann

</h2>

<p>

Sesamstr. 49a <br>

<b>93123 Bad Sulzdetfurth </b>

</p>

HTML

<Adresse>

<Vorname> Max </Vorname>

<Nachname> Mustermann </Nachname>

<Straße> Sesamstr. </Straße>

<Hausnummer> 49a </Hausnummer>

<PLZ> 93123 </PLZ>

<Ort> Bad Sulzdetfurth </Ort>

</Adresse>

XML

XML als semistrukturiertes Austauschdatenformat (Ein-/Ausgabe)

für beliebige Anwendungen

Page 22: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

22

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard

XML – Extensible Markup LanguageWas XML alles kann

XMLHTML

„HTML sagt Ihnen wie die Informationen aussehen

sollen, aber XML sagt Ihnen was sie bedeuten.“

Quelle: Charles F. Goldfarb, „The XML Handbook“

Page 23: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

23

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard

XML – Extensible Markup Language

SGMLSGML (Standard (Standard Generalized Markup LanguageGeneralized Markup Language))

HTMLHTML XMLXML

•• Instanz von SGMLInstanz von SGML

•• Vermischung von Inhalt Vermischung von Inhalt

und Layoutund Layout

•• Darstellung von InformationDarstellung von Information

•• Teilmenge von SGMLTeilmenge von SGML

•• Strikte Trennung von InhaltStrikte Trennung von Inhalt

und Layout und Layout

•• Beschreibung von InformationBeschreibung von Information

XHTML ist Instanz von XMLXHTML ist Instanz von XML

XHTMLXHTML

Page 24: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

24

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard

XML – Extensible Markup LanguageHTML unterstützt stets nureinen vordefinierten Dokumententyp

XML erlaubt die Definitioneigener Dokumenten-Typen überdie Definition einer zugehörigenXML DTD (Document Type Definition)bzw. XML Schema Definition (XSD)

XSL Stylesheet

XML-Dokument XML DTD

XML Parser

XML SGML-Deklaration

Darstellung

XSD

Page 25: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

25

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

XML Attribute

XML Tags

XML DTD

XML Deklaration

2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard

XML – Extensible Markup Language

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

<!DOCTYPE address SYSTEM "Beispiel.dtd">

<adresse>

<vorname> Max </vorname>

<nachname> Mustermann </nachname>

<straße> Sesamstr. </straße>

<hausnummer> 49a </hausnummer>

<plz prefix=“D“> 93123 </plz>

<ort> Bad Sulzdetfurth </ort>

</adresse>

Page 26: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

26

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard

XML – Extensible Markup LanguageVeranschaulichung von XML-Daten als gerichteter Graph

<adresse>

<vorname> <nachname> <straße> <hausnummer> <plz> <ort>

<xml>

Max Mustermann

Sesamstr.

49a 93123

Bad Sulzdetfurth

Page 27: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

27

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard

XML – DeklarationXML-Prolog gibt Direktiven zur XML-Kodierung

version: obligatorische Versionsnummer

encoding: UTF-8/16/32 …

standalone: yes/no (wird DTD benötigt?)

<?xml version=“1.0“ encoding=“UTF-8“ standalone=“yes“>

Page 28: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

28

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard

XML – DeklarationXML-Referenzen:

Angabe des verwendeten XML-DTDs

Referenz auf externe Teilmenge (globale URI)

Referenz auf interne Teilmenge

<!DOCTYPE name SYSTEM/PUBLIC “URI“>

<!DOCTYPE name [DTD-Definitionen]>

Page 29: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

29

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard

XML – ElementBeschreibung eines Objekts, das durch passende Markierungen (tags)wie <vorname> und </vorname> geklammert ist

Inhalt eines Elements: Text und/oder weitere Elemente(Unterelemente)

Elemente können beliebig geschachtelt sein

Leere Elemente: <plz></plz> kurz: <plz/>

<adresse>

<vorname> Max </vorname>

<nachname> Mustermann </nachname>

<straße> Sesamstr. </straße>

<hausnummer> 49a </hausnummer>

Max Mustermann ist ein fleissiger Student…

</adresse>

Element

adresse

Start-Tag

End-Tag

Freitext

Unterelemente

Page 30: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

30

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard

XML – Attribute Name-Zeichenkettenwert-Paar

Assoziiert mit einem Element

Alternative Möglichkeit, Daten zu beschreiben

<adresse>

<vorname> Max </vorname>

<nachname> Mustermann </nachname>

<ort plz=“01234“> Bad Sulzdetfurth </ort>

Attribut plz

Page 31: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

31

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard

Wohlgeformtes und gültiges XML

Max Mustermann

Sesamstr. 49a

93123 Bad Sulzdetfurth

Wohlgeformte XML-Dokumente:

Syntaktisch korrekt, d.h. alle angefangenen Tags werden wieder

geschlossen und sind stets korrekt geschachtelt,

keine Mehrfachattribute, nur ein Wurzelelement

<adresse>

<vorname> Max </vorname>

<nachname> Mustermann </nachname>

<straße> Sesamstr. </straße>

<hausnummer> 49a </hausnummer>

<ort plz=“93123“>Bad Sulzdetfurth</ort>

</adresse>

Page 32: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

32

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard

Wohlgeformtes und gültiges XML

<adresse>

<vorname> Max </vorname>

<nachname> Mustermann </nachname>

<straße> Sesamstr. </straße>

<hausnummer> 49a </hausnummer>

<ort plz=“93123“>Bad Sulzdetfurth</ort>

</adresse>

gültige (valide) XML-Dokumente:

wohlgeformt und zu einem assoziierten Schema uneingeschränkt konform

<!ELEMENT adresse (vorname+,

nachname, straße, hausnummer,

ort)>

<!ELEMENT vorname CDATA>

<!ELEMENT nachname CDATA>

<!ELEMENT straße CDATA>….

Document Type Definition (DTD)

Page 33: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

33

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard

Schemata in XMLDTD – Document Type Definitions:

Einfache Grammatik für ein XML-Dokument

Deklaration von Elementen, Attributen, u.a.

beschränkt die beliebige Verschachtelung von Elementen undAttributen

Teil des XML-Standards (“Erbe“ von SGML)

XML-Schema:

Komplexere Datendefinitionssprache

standardisierte Basistypen, z.B. float, double, decimal, boolean

Typen und typisierte Objektreferenzen

Klassenhierarchien / Vererbung

Konsistenzbedingungen

Standard (W3C Recommendation) in Ergänzung zu XML

Page 34: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

34

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

Semantic Web

2. Die Sprachen des Semantic Web

2.1 Uniform Resource Identifier - URI

2.2 Universelle Vokabularien mit XML

2.2.0 Warum (X)HTML nicht ausreicht…

2.2.1 XML Sprachstandard

2.2.2 XML DTD

2.2.3 XML Schema (XSD)

2.2.4 XML Sprachfamilie

2.2.5 Warum XML noch nicht ausreicht…

2.3 Einfache semantische Strukturen mit RDF und RDFS

2.4 Abfragesprache SPARQL

2.5 Semantik im WWW - formats, RDFa, GRDDL

2.6 Warum RDF/RDFS noch nicht ausreicht

06.11.2008 – Vorlesung Nr. 21 3 4 5 6 7 8 9 1110 12

13

Page 35: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

35

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.2 Document Type Definition (DTD)

XML-DTD definiert eine kontextfreie Grammatik für ein XML-Dokument

Extended Backus-Naur Form (EBNF)

--> Spezieller Interpreter notwendig

XML-DTDs unterstützen lediglich den Datentyp “text“

XML-DTDs unterstützen nicht das Vererbungskonzept

<adresse>

<vorname> Max </vorname>

<nachname> Mustermann </nachname>

<straße> Sesamstr. </straße>

<hausnummer> 49a </hausnummer>

<ort plz=“93123“>Bad Sulzdetfurth</ort>

</adresse>

<!DOCTYPE adresse[

<!ELEMENT adresse (vorname+,

nachname, straße, hausnummer,

ort)>

<!ELEMENT vorname (#PCDATA)>

<!ELEMENT nachname (#PCDATA)>

<!ELEMENT straße (#PCDATA)>

<!ELEMENT ort (#PCDATA)>

<!ATTLIST ort plz CDATA #REQUIRED>

….

]>

XML

XML-DTD

Page 36: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

36

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.2 Document Type Definition (DTD)

DTD Elementdeklarationbeschreibt die Einschränkungen des Inhalts eines Elements

Syntax:<!ELEMENT Name (Definition)>

Einziger atomarer Typ: #PCDATA(Parsed Character DATA)

(a,b,c) Liste von Unterelementen

(a|b|c) Alternativen

Kardinalitäten:

* keinmal oder beliebig oft

+ einmal oder beliebig oft

? kein- oder einmal

(ohne Angabe): genau einmal

EMPTY: Erzwingen von leeremElement

<!DOCTYPE adresse[

<!ELEMENT adresse (vorname+,

nachname, straße, hausnummer,

ort)>

<!ELEMENT vorname (#PCDATA)>

<!ELEMENT nachname (#PCDATA)>

<!ELEMENT straße (#PCDATA)>

<!ELEMENT ort (#PCDATA)>

<!ATTLIST ort plz CDATA #REQUIRED>

….

]> XML-DTD

Page 37: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

37

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.2 Document Type Definition (DTD)

DTD AttributdeklarationName-Zeichenkettenwert-Paar

Assoziiert mit einem Element

Syntax: <!ATTLIST Element Attributname1 Typ1 Zusatz1 Attributname2 …>

Typ:

CDATA Zeichenkette

ID OID

IDREF Referenzen

IDREFS Menge von Referenzen

Zusatz:

REQUIRED zwingend

IMPLIED optional

(Initialwert)

<!DOCTYPE adresse[

<!ELEMENT adresse (vorname+,

nachname, straße, hausnummer,

ort)>

<!ELEMENT vorname (#PCDATA)>

<!ELEMENT nachname (#PCDATA)>

<!ELEMENT straße (#PCDATA)>

<!ELEMENT ort (#PCDATA)>

<!ATTLIST ort plz CDATA #REQUIRED>

….

]> XML-DTD

Page 38: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

38

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

<family>

<person id=“jane” mother=“mary” father=“john”>

<name> Jane Doe </name>

</person>

<person id=“john” children=“jane jack”>

<name> John Doe </name>

</person>

<person id=“mary” children=“jane jack”>

<name> Mary Smith </name>

</person>

<person id=“jack” mother=“mary” father=“john”>

<name> Jack Smith </name>

</person>

</family>

<family>

<person id=“jane” mother=“mary” father=“john”>

<name> Jane Doe </name>

</person>

<person id=“john” children=“jane jack”>

<name> John Doe </name>

</person>

<person id=“mary” children=“jane jack”>

<name> Mary Smith </name>

</person>

<person id=“jack” mother=“mary” father=“john”>

<name> Jack Smith </name>

</person>

</family>

2. Die Sprachen des Semantic Web2.2 XML / 2.2.2 Document Type Definition (DTD)

DTD - OID und ReferenzenDTDs erlauben die Deklaration von OIDs, Referenzen undReferenzmengen als Attribute

<!DOCTYPE family [

<!ELEMENT family (person*)>

<!ELEMENT person (name)>

<!ELEMENT name (#PCDATA)>

<!ATTLIST person

id ID #REQUIRED

mother IDREF #IMPLIED

father IDREF #IMPLIED

children IDREFS #IMPLIED>

]>XML-DTD

XML

Page 39: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

39

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.2 Document Type Definition (DTD)

DTDs - BewertungDTDs sind kontextfreie Grammatiken

rekursive Definitionen möglich

Probleme:

Ungewollte Festlegung der Reihenfolge:

<!ELEMENT person ( name, phone ) >

Workaround:

<!ELEMENT person ( (name, phone ) | ( phone, name ) ) >

Kann teilweise zu vage werden:

<!ELEMENT person ( ( name | phone | email )* ) >

Referenzen können nicht eingeschränkt (typisiert) werden

Alle Elementnamen sind global in einem Namensraum

<!DOCTYPE [

<!ELEMENT buch (titel,

subtitel?, autor+, preis)>

<!ATTLIST buch ISBN ID

#REQUIRED>

<!ELEMENT titel (#PCDATA)>

<!ELEMENT subtitel (#PCDATA)>

<!ELEMENT autor (#PCDATA)>

<!ELEMENT preis (#PCDATA)>

…]>

Page 40: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

40

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

Semantic Web

2. Die Sprachen des Semantic Web

2.1 Uniform Resource Identifier - URI

2.2 Universelle Vokabularien mit XML

2.2.0 Warum (X)HTML nicht ausreicht…

2.2.1 XML Sprachstandard

2.2.2 XML DTD

2.2.3 XML Schema (XSD)

2.2.4 XML Sprachfamilie

2.2.5 Warum XML noch nicht ausreicht…

2.3 Einfache semantische Strukturen mit RDF und RDFS

2.4 Abfragesprache SPARQL

2.5 Semantik im WWW - formats, RDFa, GRDDL

2.6 Warum RDF/RDFS noch nicht ausreicht

06.11.2008 – Vorlesung Nr. 21 3 4 5 6 7 8 9 1110 12

13

Page 41: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

41

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)

Semantic Web Architecture

URI / IRI

XML / XSD

RDFS

Ontology (OWL)

Trust

Cry

pto

Unifying Logic

Proof

Data interchange:

RDF

Query:

SPARQLRule:

RIF

User Interface & Application

Page 42: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

42

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)

Echter Schemamechanismus mit vielen Erweiterungen über DTDshinaus

Benutzt selbst wieder XML-Syntax zur Schemadefinition

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

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<xsd:complexType name=“buchtyp“>

<xsd:element name=“buch“/>

<xsd:attribute name=“ISBN“ type=“xsd:string“ use=“required“/>

<xsd:all>

<xsd:element name=“titel“ type=“xsd:string“/>

<xsd:element name=“subtitel“ type=“xsd:string“ minOccurs=“0“

maxOccurs=“1“/>

<xsd:element name=“autor“ type=“xsd:string“ minOccurs=“1“/>

<xsd:element name=“preis“ type=“xsd:decimal“/>

</xsd:all>

</xsd:complexType>

</xsd:schema> XML SCHEMA

XSD Namespace

Page 43: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

43

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)

XML Schema - ElementdeklarationSyntax: <element name=“Name“/>

Optionale Zusatzattribute:

Typ

type = “Typ“ atomarer, einfacher oder komplexer Typ

Kardinalitäten (Vorgabe [1,1]):

minOccurs = “x“ x { 0, 1, n }

maxOccurs = “y“ y { 1, n, unbounded }

Wertvorgaben (schließen sich gegenseitig aus!):

default = “v“ veränderliche Vorgabe

fixed = “u“ unveränderliche Vorgabe

Beispiele:

<element name=“buch”/>

<element name=“kapitel” minOccurs=“0” maxOccurs=“unbounded”/>

<element name=“subtitel” type=“string” minOccurs=“0”/>

Page 44: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

44

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)

XML Schema - AttributdeklarationSyntax: <attribute name=“Name“/>

Optionale Zusatzattribute:

Typ:type = “Typ“

Existenz:use = “optional“ Kardinalität [0,1]use = “required“ Kardinalität [1,1]

Vorgabewerte:use = “default“ value = “v“ veränderliche Vorgabeuse = “fixed“ value = “u“ unveränderliche Vorgabe

Beispiele:<attribute name=“id” type=“ID” use=“required”/><attribute name=“alter” type=“string” use=“optional”/><attribute name=“sprache” type=“string” use=“default” value=“de”/>

Page 45: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

45

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)

XML Schema - ElementtypenXML-Schema unterscheidet

Atomare Typen

Eingebaute Elementartypen wie int oder string

Einfache Typen

haben weder eingebettete Elemente noch Attribute

in der Regel von atomaren Typen abgeleitet

Komplexe Typen

dürfen Elemente und Attribute besitzen

Page 46: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

46

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)

XML Schema - ElementtypenAtomare Typen

XML-Schema unterstützt eine große Menge (>40) interner Basistypen

Numerisch: byte, short, int, long, float, double, decimal, …

Zeitangaben: time, date, month, year, timeDuration, …

Sonstige: string, boolean, uriReference, ID, …

Beispiele:

<element name=“jahr“ type=“year“/>

<element name=“seitenzahl“ type=“positiveInteger“/>

<attribute name=“alter“ type=“unsignedShort“/>

<attribute name=“homepage“ type=“anyURI“/>

Page 47: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

47

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)

XML Schema - ElementtypenEinfache Typen

von bestehenden Typen können einfache Typen abgeleitet werden:

Typdefinition:<simpleType name=“autorAlter“ base=“unsignedShort“>

<maxInclusive value=“200“/></simpleType>

Dokumentdefinition: <attribute name=“age“ type=“autorAlter“/>

einfachen Typen dürfen keine verschachtelten Elemente enthalten!

In ähnlicher Weise können Listen definiert werden:

Typdefinition: <simpleType name=“autorTyp“ base=“string“ derivedBy=“list“/>

(Name eines Autors als mit Leerzeichen getrennte Liste von Zeichenketten)

Dokumentdefiniton: <element name=“autor“ type=“autorTyp“/>

Page 48: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

48

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)

XML Schema - ElementtypenKomplexe Typen

Komplexe Typen dürfen eingebettete Elemente und Attribute besitzen

Bsp. Typdefinition:

<complexType name=“autorTyp“>

<sequence>

<element name=“vorname“ type=“string“ minOccurs=“0“

maxOccurs=“unbounded“/>

<element name=“nachname“ type=“string“/>

</sequence>

<attribute name=“alter” type=“autorAlter” use=“optional”/>

</complexType>

Gruppierungs-Bezeichner:<sequence> … </sequence> Feste Reihenfolge (a,b)<all>… </all> Beliebige Reihenfolge (a,b oder b,a)<choice> … </choice> Auswahl (entweder a oder b)

Page 49: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

49

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)

XML Schema - ElementtypenKomplexe Typen

<complexType name=“autorTyp“>

<sequence>

<element name=“vorname“ type=“string“ minOccurs=“0“

maxOccurs=“unbounded“/>

<element name=“nachname“ type=“string“/>

</sequence>

<attribute name=“alter” type=“autorAlter” use=“optional”/>

</complexType>

… Grundlage für weitere Beispiele!

Page 50: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

50

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)

XML Schema - ElementtypenWie definiert man ein leeres Element?

Bsp.: Telefonnr. soll nur ein Attribut haben und sonst leer sein

<telefonnr nr=“555-9-43221“ />

<element name=“phone“> <complexType> <attribute name=“nr“ type=“string“/> </complexType></element>

Page 51: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

51

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)

XML Schema - TyphierarchienTypdefinition kann ebenfalls erfolgen durch

Erweiterung (engl. extension) oder

Restriktion (engl. restriction) einer bestehenden Typdefinition

Alle Typen in XML-Schema sind entweder

AtomareTypen (z.B. string) oder

Erweiterung bzw. Restriktion bestehender Typen

Alle Typen bilden eine Typhierarchie

Baum mit Wurzel: Typ Zeichenkette

Keine Mehrfachvererbung

Typen sind entlang der Typhierarchie abwärtskompatibel:

Für Typinstanzen gilt das Substituierbarkeitsprinzip

Elemente eines bestimmten Typs akzeptieren auch Daten einerErweiterung oder Restriktion des geforderten Typs

Page 52: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

52

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)

XML Schema - TyphierarchienTypen können konstruktiv um weitere Elemente oder Attribute zu neuenTypen erweitert werden

Beispiel:

<complexType name=“extendedAutorTyp“>

<extension base=“autorTyp“>

<sequence>

<element name=“email“ type=“string“ minOccurs=“0“ maxOccurs=“1“/> </sequence>

<attribute name=“homepage” type=“string” use=“optional”/>

</extension>

</complexType>

Erweitert den zuvor definierten Typ authorType um

ein optionales Element email

ein optionales Attribut homepage

Page 53: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

53

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)

XML Schema - TyphierarchienTypen können durch die Verschärfung von Zusatzangaben bei Typdefinitionenin ihrer Wertemenge eingeschränkt werden

Beispiele für Restriktionen:

Bisher nicht angegebene type-, default- oder fixed-Attribute

Verschärfung der Kardinalitäten minOccurs, maxOccurs

Substituierbarkeit

Menge der Instanzen des eingeschränkten Untertyps muss immer eineTeilmenge des Obertyps sein!

Restriktion komplexer Typen

Struktur bleibt gleich: es dürfen keine Elemente oder Attributeweggelassen werden

Restriktion einfacher Typen

Restriktion ist (im Gegensatz zur Erweiterung) auch bei einfachen Typenerlaubt

Page 54: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

54

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)

XML Schema - TyphierarchienBeispiel (Restriktion eines Komplexen Typs):

<complexType name=“restrictedAutorTyp“>

<restriction base=“autorTyp“>

<sequence>

<element name=“vorname“ type=“string“ minOccurs=“0“maxOccurs=“2“ />

<element name=“nachname“ type=“string“/>

</sequence>

<attribute name=“alter” type=“autorAlter” use=“required ”/>

</restriction>

</complexType>

Gegenüber dem ursprünglichen Typ wurde die Anzahl des Elements “vorname“auf 2 begrenzt und das Attribut “autorAlter“ erzwungen

Page 55: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

55

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)

XML Schema – Bewertung

Mit XML-Schema können Datenstrukturen (XML-Schemata)einfacher als mit Hilfe von DTDs spezifiziert werden

XML Schema vermag mehr Semantik zu spezifizieren als DTDs

XML-Schema erfährt breite Unterstützung (Tendenz steigend) undwird DTDs sukzessive ablösen (W3C Standard)

Syntax und Ausdruckskraft von XML-Schema sind sehr umfangreich

einfachere XML Schema Variante RelaxNG

Page 56: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

56

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)

XML – NamensräumeXML-Autoren definieren eigene XML Element-Typen (Tags), die global für ein

Dokument gelten

XML-Tags mit demselben Namen, aber unterschiedlicherBedeutung und unterschiedlichen Attributen

Ambiguität und Namenskonflikte

<compactDisk autor=“HS">

<titel>Das wohltemperierte Klavier</titel>

<track Nummer=“1“>

<titel>Fuge Nr. 1</titel>

<autor>Johann Sebastian Bach</autor>

</track>

</compactDisk>

Page 57: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

57

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)

XML – NamensräumeXML Namensraum legt eindeutigen Kontext für XML Element-Typ fest

definiert Namen, die jeweils bestimmten Schemata zugeordnetwerden (Vermeidung von Namenskonflikten)

benötigt keine formale Struktur

Zerlegung komplexer Strukturen in handhabbare Teilbereiche(vgl. Modulkonzept)

Mischung verschiedener Namensräume

jeweils eigene Namensräume für Elemente und XML-Entitäten proDokument / Dokumentenklasse (Gültigkeitsbereich)

jeweils eigener Namensraum für Attribute pro Element(Gültigkeitsbereich)

jeweils eigene universelle Namensräume für Fremddaten-Entitätenund Prozessanweisungen

Page 58: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

58

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)

XML – Namensräume

<cd:compactDisk

xmlns:cd = “http://www.uni-jena.de/cd.dtd“

xmlns:tr = “http://www.beispiel.de/track.dtd“

autor=“HS“>

<cd:titel>Das wohltemperierte Klavier</cd:titel>

<tr:track nummer=“1“>

<tr:titel>Fuge Nr. 1</tr:titel>

<tr:autor>Johann Sebastian Bach</tr:autor>

</tr:track>

</cd:compactDisk>

Namespace Binding

Prefix-

Definition

Page 59: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

59

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

Semantic Web

2. Die Sprachen des Semantic Web

2.1 Uniform Resource Identifier - URI

2.2 Universelle Vokabularien mit XML

2.2.0 Warum (X)HTML nicht ausreicht…

2.2.1 XML Sprachstandard

2.2.2 XML DTD

2.2.3 XML Schema (XSD)

2.2.4 XML Sprachfamilie

2.2.5 Warum XML noch nicht ausreicht…

2.3 Einfache semantische Strukturen mit RDF und RDFS

2.4 Abfragesprache SPARQL

2.5 Semantik im WWW - formats, RDFa, GRDDL

2.6 Warum RDF/RDFS noch nicht ausreicht

06.11.2008 – Vorlesung Nr. 31 2 4 5 6 7 8 9 1110 12

13

Page 60: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

60

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 XML Sprachfamilie

XML

XML DTD

XSDXQuery

XPath

XPointer

XLink

XHTML

CSS

SGML

RDF

RDFS

OWLSPARLQ

SWRL

XML Namespaces

XSL

XSLT

XLS:FO

XForms

Page 61: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

61

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie

XLink, XPath und XPointerXML dient der Strukturierung von Dokumenten im WWW

Notwendigkeit der Definition von Hyperlinks zurDokumentenverknüpfung im WWW

XML Linking Language – XLink

Definition von XML-Hyperlinks

XML Pointer Language – XPointer und XPath

Definition von Ankerpunkten in XML Dokumenten

Definition von Dokumentenfragmenten

<A HREF=“…“>

<A name=“…“>

Page 62: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

62

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie

XLinkHTML <A> -Element

Unidirektionale Verknüpfung zwischen genau zweiInformationsressourcen

stets Bestandteil des Start-Dokuments

Darstellung hängt von Browser ab

<A HREF=“…“>

<A name=“…“>

Startdokument

Zieldokument

Page 63: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

63

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie

XLinkXLink – Simple Links

entspricht HTML-Hyperlink

zusätzliche Attribute: typ / role / title / show / actuate

<publications

xmlns:xlink=“http//www.w3.org/1999/xlink“

xlink:type=“simple“

xlink:href=“publications.xml“

xlink:role=“http://www.bsp.de/bibliography“

xlink:title=“Veröffentlichungen“

xlink:show=“new“

xlink:actuate=“onRequest“

/>

Page 64: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

64

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie

XLinkxlink:show

in welchem Kontext soll die verlinkte Ressource angezeigtwerden?

new / replaceembed / other / none

xlink:actuate

wann soll der Link aktiviert werden?onLoad / onRequest / other / none

xlink:title

Textuelle Information über den Link ( Tooltip)

xlink:role

Enthält URI mit Ressource, die Zusatzinformationen über dasverlinkte Dokument enthält

Page 65: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

65

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie

XLinkXLink – Out-of-Line Links

Realisierung von bidirektionalen n:m Linkbeziehungen

Linkbasis ist nicht Bestandteil von Quell-/Zieldokument

Linkbasis

QuelldokumenteZieldokumente

Page 66: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

66

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie

XLinkXLink – Out-of-Line Links

Beispiel:

Pizzaboden Mozarella Tomaten

Thunfisch BasilikumOliven

Pizza Tonno

from from from

toto to

Page 67: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

67

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie

XLinkXLink – Out-of-Line Links

<xlink:extended

xmlns:xlink=“http//www.w3.org/1999/xlink/“

xlink:role=“http://www.pizza.de/pizzaworld“

xlink:title=“Pizza Tonno“>

<xlink:locator href=“Pizzaboden.xml“

role=“http://www.pizza.de/basis“

title=“Pizzaboden“/>

<xlink:locator href=“Basilikum.xml“

role=“http://www.pizza.de/spezial“

title=“Basilikum“/>

<xlink:arc from=“http://www.pizza.de/basis“

to=“http://www.pizza.de/spezial“ show=“new“

actuate=“onRequest“/>

<xlink:extended\>

Page 68: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

68

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie

XML Pointer Language – XPointer und XPath

Festlegung eines Sprungziels innerhalb eines Dokuments

HTML: <A NAME=“…“>

Probleme von HTML-Ankern:

Einfügen von Sprungzielen in schreibgeschützte und fremdeDokumente nicht möglich

es muss stets das gesamte Zieldokument übertragen werden

Idee: • XML/XHTML-Dokument kann als Baumstruktur dargestellt werden• Adressierung durch Navigation im Dokumentenbaum

Page 69: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

69

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie

XML Pointer Language – XPointer

URI#xpointer(ankerbeschreibung)

Bsp.: http://www.bsp.de/gedicht.xml#xpointer(id(‘zeile2‘))http://www.bsp.de/gedicht.xml#xpointer(//zeile[.=“zeile2“])http://www.bsp.de/gedicht.xml#element(/1/1/2)

<gedicht>

<strophe ID=“strophe1“>

<zeile ID=“zeile1“>Dreifach ist des Raumes Maß:</zeile>

<zeile ID=“zeile2“>Rastlos fort ohn‘ Unterlaß</zeile>

<zeile ID=“zeile3“>Strebt die Länge fort ins Weite,</zeile>

<zeile ID=“zeile4“>Endlos gießet sich die Breite,</zeile>

<zeile ID=“zeile5“>Grundlos senkt die Tiefe sich</zeile>

</strophe>

</gedicht>

Page 70: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

70

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

Achse Kontextknoten Prädikat

2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie

XPathNavigation innerhalb des abstrakten Dokumenten-Strukturbaumes

child descendant parent ancestor

z.B. gedicht.xml#xpointer(/child::gedicht[position()=3])

Kontextknoten

adressierte Knoten

Page 71: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

71

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie

XSL und XSLTXML-Dokument ist hierarchisch strukturierte Informationssammlung

vergleichbar mit hierarchischer oder relationaler Datenbank

über Transformationen können XML-Dokumente für eine Vielzahl vonAnwendungen nutzbar gemacht werden

Strukturelle Transformationen

Filterung/Sortierung/Umformatierung für andere Anwendungen(XSLT)

Dynamische Dokumente

Oft interaktive Filterung /Reorganisation eines XML-Dokuments(XSLT)

Darstellungstransformationen

Layoutspezifische Transformation über Stylesheets (CSS) oderXSL-FO

Page 72: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

72

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie

XSL und XSLTExtensible Style Language (XSL) zur Transformation von XML-Dokumenten ist in drei separate Sprachen aufgeteilt:

XSLT – Spezifikation der Transformationen

XSL-FO – Layout-Transformationen (Formatierung) mit XSL

XPath – Zugriff auf XML-Strukturen

DSSSL XSL

CSS

XSLT

XSL-FO

Page 73: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

73

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie

XSL und XSLT

XML-Dokument

XSLT-

Prozessor

DTD/XSD

XSLT 1

HTML

XSLT 2

WML

Page 74: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

74

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie

XSL und XSLTXSL arbeitet auf dem abstrakten Strukturbaum des XML-Dokuments (XPath)

Ein XSL-Stylesheet besteht aus einer Sammlung vonTransformationsregeln (Templates)

Strukturbaum wird durchlaufen, für jeden Knoten wird passendesTemplate aus XSL-Stylesheet gesucht und angewendet

XSL-

Stylesheet +

Strukturbaum

neues

Dokument

Page 75: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

75

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie

XSL und XSLT

<xsl:template match = Suchabfrage

name = Name

priority = Prioritität

… >

… Template Instruktionen …

</xsl:template>

Page 76: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

76

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie

XSL und XSLTBeispiel

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

<!DOCTYPE movie SYSTEM "Beispiel.dtd">

<movie>

<title>North by Northwest</title>

<cast>

<director>Alfred Hitchcock</director>

<actor type=“protagonist”>Cary Grant</actor>

<actor>Eve Marie Saint</actor>

<actor type=“antagonist”> James Mason </actor>

</cast>

<year> 1959</year>

</movie>

XML-Dokument

Page 77: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

77

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie

XSL und XSLTBeispiel

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

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

<xsl:template match="/"><HTML>

<HEAD><TITLE> <xsl:value-of select="movie/titel" /> </TITLE> </HEAD>

<BODY> <H1> <xsl:value-of select="movie/titel" /> </H1>

<P> Darsteller: </P>

<UL>

<xsl:for-each select="movie/cast/actor">

<LI> <xsl:value-of /> </LI>

</xsl:for-each>

</UL>

</HTML>

</xsl:template> XSLT-Stylesheet

Page 78: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

78

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie

XSL und XSLTBeispiel

<HTML>

<HEAD>

<TITLE> North by Northwest </TITLE>

</HEAD>

<BODY>

<H1> North by Northwest </H1>

<P> Darsteller: </P>

<UL>

<LI> Cary Grant</LI>

<LI> Eve Marie Saint</LI>

<LI> James Mason</LI>

</UL>

</HTML>

Ergebnis der

XSLT-Stylesheet

Transformation

Page 79: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

79

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

Semantic Web

2. Die Sprachen des Semantic Web

2.1 Uniform Resource Identifier - URI

2.2 Universelle Vokabularien mit XML

2.2.0 Warum (X)HTML nicht ausreicht…

2.2.1 XML Sprachstandard

2.2.2 XML DTD

2.2.3 XML Schema (XSD)

2.2.4 XML Sprachfamilie

2.2.5 Warum XML noch nicht ausreicht…

2.3 Einfache semantische Strukturen mit RDF und RDFS

2.4 Abfragesprache SPARQL

2.5 Semantik im WWW - formats, RDFa, GRDDL

2.6 Warum RDF/RDFS noch nicht ausreicht

13.11.2008 – Vorlesung Nr. 31 2 4 5 6 7 8 9 1110 12

13

Page 80: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

80

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.5 Warum XML noch nicht ausreicht…

XML und Semantikallgemeine, erweiterbare Meta-Markup-Sprache zurRepräsentation von semi-strukturierten Daten

Aber: woher weiß man, dass <adresse> eine Adresse bezeichnet?

<adresse>

<name>

<vorname>Harald</vorname>

<name>Sack</nachname>

</name>

<strasse>Ernst-Abbe-Platz</strasse>

<hausnummer>2</hausnummer>

<plz>07743</plz>

<ort>Jena</ort>

</adresse>

Page 81: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

81

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.5 Warum XML noch nicht ausreicht…

XML und SemantikXML instantiiert vorgegebene, vom Benutzer frei definierbareDatentypen (customized tagging scheme)

dazu zählen

Typfestlegung einfacher (simpler) XML-Elemente

syntaktische Definition komplexer XML-Elemente

Definition von Eigenschaften (Attributen) von XML-Elementen

Definition von einfachen Restriktionen bzgl. XML-Elementtypen

Definition der XML-Syntax/Struktur via DTD, XMLSchema oderRelaxNG

Fazit:

XML bildet die Basis des Semantic Web

Page 82: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

82

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.5 Warum XML noch nicht ausreicht…

Syntaktische Definition mit XMLSchemaXML-Schema als Template

XMLSchema definiert XML-Elemente (simple/complex),zugehörige Attribute und implementiert Restriktionen

(Constraints)

XMLSchema implementiert Vererbungskonzept

objektorientierter Programmiersprachen

XMLSchema erlaubt die Verwendung unterschiedlicherNamensräume

global einheiltliche Identifikation von XML-ElementenKombination unterschiedlicher XML-Vokabularien

XML-Schema als Validator

mit XMLSchema Definitionen können XML-Dokumentevalidiert werden Interoperabilität

Page 83: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

83

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.5 Warum XML noch nicht ausreicht…

Warum XML noch nicht ausreicht…

<adresse>

<name>

<vorname>Harald</vorname>

<name>Sack</nachname>

</name>

<strasse>Ernst-Abbe-Platz</strasse>

<hausnummer>2</hausnummer>

<plz>07743</plz>

<ort>Jena</ort>

</adresse>

<adresse>

<name>

<firstname>Harald</firstname>

<mi>H</mi>

<surname>Sack</surname>

</name>

<street>Ernst-Abbe-Platz</street>

<number>2</number>

<zip>07743</zip>

<city>Jena</city>

<state>Thüringen</state>

</adresse>Sind beide Inhalte miteinander

vereinbar ?

Page 84: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

84

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.5 Warum XML noch nicht ausreicht…

Warum XML noch nicht ausreicht…

CV

name

education

work

private

< >

< >

< >

< >

< >

Dokument

XML-Dokument mit

„sprechenden“ Bezeichnern

Page 85: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

85

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.5 Warum XML noch nicht ausreicht…

Warum XML noch nicht ausreicht…

μ

< >

< >

< >

< >

< >

Dokument

XML-Dokument mit

„sprechenden“ Bezeichnern

aus der Sicht des eines

Programms

Page 86: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

86

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.5 Warum XML noch nicht ausreicht…

Warum XML noch nicht ausreicht…

μ

< >

< >

< >

< >

< >

Dokument 1

μ

< >

< >

< >

< >

< >

Dokument 2

< >

< μ >…

Schema-Definition

Kommunikationspartner müssen sich

über die Semantik der Metadaten

einigen

Page 87: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

87

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.5 Warum XML noch nicht ausreicht…

Warum XML noch nicht ausreicht…

μ

< >

< >

< >

< >

< >

Dokument 1

< >

< >

< >

< >

< >

Dokument 2

< >

< μ >…

Schema

Definitionen

< >

< >…

Schema

DefinitionenOntologien

Beschreibungslogiken

RDF / OWL / SWRL

Inferenzmechanismen

Trust

Page 88: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

88

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.5 Warum XML noch nicht ausreicht…

Warum XML noch nicht ausreicht…Semantik eines XML-Dokuments erschließt sich nur dem menschlichen

Benutzer

XML = syntaktisch standardisierte Meta-Sprache zur Kommunikationzwischen Systemen und zur Auszeichnung von Daten

XML dient der Beschreibung von Daten/Nachrichten im Semantic Web

Aber:

XML besitzt keine semantische Interoperabilität

Es ist stets ein Modell der Umgebung notwendig, d.h. Zusammenarbeitist dann nur möglich, wenn sich die beteiligten Akteure über die

Semantik der verwendeten XML-Syntax geeinigt haben

z.B. Agenten in abgeschlossenen homogenen Umgebungen

( WWW ist aber heterogen und dynamisch!)

Page 89: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

89

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web2.2 XML / 2.2.5 Warum XML noch nicht ausreicht...

Semantic Web Architecture

URI / IRI

XML / XSD

RDFS

Ontology (OWL)

Trust

Cry

pto

Unifying Logic

Proof

Data interchange:

RDF

Query:

SPARQLRule:

RIF

User Interface & Application

Page 90: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

90

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

Semantic Web

2. Die Sprachen des Semantic Web

2.1 Uniform Resource Identifier - URI

2.2 Universelle Vokabularien mit XML

2.2.0 Warum (X)HTML nicht ausreicht…

2.2.1 XML Sprachstandard

2.2.2 XML DTD

2.2.3 XML Schema (XSD)

2.2.4 XML Sprachfamilie

2.2.5 Warum XML noch nicht ausreicht…

2.3 Einfache semantische Strukturen mit RDF und RDFS

2.4 Abfragesprache SPARQL

2.5 Semantik im WWW - formats, RDFa, GRDDL

2.6 Warum RDF/RDFS noch nicht ausreicht

13.11.2008 – Vorlesung Nr. 31 2 4 5 6 7 8 9 1110 12

13

Page 91: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

91

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web

Literatur

» E. R. Harold, S. MeansXML in a Nutshell, O’Reilly, 2005.

» Ch. Meinel, H. Sack:WWW– Kommunikation, Internetworking, Web-Technologien,Springer, 2004.

Page 92: Semantic Web - Hasso Plattner Institutehpi.de/fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web/sw...Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

92

Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

2. Die Sprachen des Semantic Web

Literatur

Bloghttp://sw0809.blogspot.com/

Materialien-Webseitehttp://www.hpi.uni-potsdam.de/meinel/teaching/semantic_web_ws08090.html

bibsonomy - Bookmarkshttp://www.bibsonomy.org/user/lysander07/sw0809-02