27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

89
Vorlesung Dr. Harald Sack Hasso-Plattner-Institut für Softwaresystemtechnik Universität Potsdam Wintersemester 2009/10 Semantic Web Blog zur Vorlesung: http://sewe0910.blogspot.com/ Die nichtkommerzielle Vervielfältigung, Verbreitung und Bearbeitung dieser Folien ist zulässig (Lizenzbestimmungen CC-BY-NC ).

description

Jedes Ding muss einen Namen haben ... kurzer Abstecher in die Welt der URIs/URLs/URNs/IRIs So banal es auch klingen mag, die eindeutige Benennung von Entitäten bildet die Grundlage des Semantic Webs. Und zwar nicht nur die Benennung von Informationsressourcen, die über das WWW zugreifbar sind. Nein, es betrifft alle möglichen (und unmöglichen) Objekte der realen und abstrakten Welt, über die irgendwelche Aussagen getroffen werden können, und die mit irgendwelchen anderen Objekten in Zusammenhang stehen. Dabei müssen wir unterscheiden zwischen dem (realen) Objekt und seiner (informalen) Repräsentation im WWW. Bezeichnet die URI des "Eiffelturms" wirklich den Eiffelturm selbst oder nur eine Informationsdatei über den Eiffelturm (also z.B. die zugehörige Wikipediaseite, o.ä...). Dahinter steckt ein bereits altes Problem der Philosophie und Sprachwissenschaft (genauer, der Semiotik), die zwischen "Bezeichnetem" und "Bezeichnendem" unterscheidet. Eigentlich sollte jeder von Ihnen schon einmal etwas von XML und XML-Derivaten gehört haben. Der Vollständigkeit halber wiederholen wir morgen kurz XML- und XML-Schema-Grundlagen. Dies ist wichtig, da jeder weitere Dialekt zur Wissensrepräsentation im Semantic Web auf der Grundlage dieser Metasprache zur Definition von beliebigen Vokabularien beruht - zumindest in ihrer jeweiligen XML-Serialisierung. Später werden wir noch andere Repräsentationsformen für RDF/RDFS/OWL kennenlernen, z.B. N3, Turtle oder Description Logics. Die XML-Serialisierungen sind aber am weitesten verbreitet und - wenn auch schwieriger zu lesen - für den Rechner oft einfacher zu verarbeiten (dank bereits existierender Parser...). Zudem werden wir sehen, dass XML und XML-Schema alleine noch nicht ausreichen, um tatsächlich auch Semantik formal repräsentieren zu können. Warum? ... das erfahren Sie natürlich in der Vorlesung :)

Transcript of 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

Page 1: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

Vorlesung

Dr. Harald Sack

Hasso-Plattner-Institut für Softwaresystemtechnik

Universität Potsdam

Wintersemester 2009/10

Semantic Web

Blog zur Vorlesung: http://sewe0910.blogspot.com/Die nichtkommerzielle Vervielfältigung, Verbreitung und Bearbeitung dieser Folien ist zulässig (Lizenzbestimmungen CC-BY-NC).

Page 2: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

1. Einführung

2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1

3. Wissensrepräsentation und LogikDie Sprachen des Semantic Web - Teil 2

4. Ontology Engineering

5. Semantic Web Applications

2

Semantic Web - Vorlesungsinhalt

Page 3: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

Semantic Web Architektur3

URI / IRI

XML / XSDData Interchange: RDF

RDFS

Ontology: OWL Rule: RIF

Query:SPARQL

Proof

Unifying Logic

Cry

pto

Trust

Interface & Application

2. Semantic Web Basisarchitektur

Page 4: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

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

13

2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1

2.1.Uniform Resource Identifier - URI

2.2.XML und XMLSchema

2.3.Resource Description Framework - RDF

2.4.RDF Schema

2.5.Wie kommt die Semantik ins WWW?

2.6.Abfragesprache SPARQL

2.7.Warum reicht RDF(S) noch nicht aus?

14

Semantic Web - Vorlesungsinhalt

Page 5: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

5

2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI

Uniform Resource Identifier - URI■ Ein Uniform Resource Identifier (URI) definiert ein einfaches und

erweiterbares Schema zur weltweit eindeutigen Identifikation von abstrakten oder physikalischen Ressourcen (RFC 3986).

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

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

■ Das URI Konzept ist in verschiedenen Anwendungsbereichen bereits etabliert,

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

Page 6: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

6

2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI

Uniform Resource Identifier - URI■ „Uniform“

□ Unterschiedliche Typen von Ressourcen-Identifikatoren aufgebaut nach einem einheitlichem Schema

■ „Resource“

□Was auch immer über einen URI identifiziert werden kann

■ „Identifier“

□ zur Unterscheidung einer Ressource von einer anderen

Page 7: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

7 Uniform Resource Identifier - URI■ URI umfasst sowohl

□ Adressangaben (Locator)

□Uniform Resource Locator (URL, RFC 1738)□gibt an, wo eine Web-Ressource zu finden ist indemihr primärer Zugriffsmechanismus beschrieben wird□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

2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI

Page 8: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

8 URI - Generische Syntax■ US-ASCII Encoding

■ Percent Encoding für reservierte Zeichen, oder Zeichen, die nicht im US-ASCII Encoding existieren pct-encoded = "%" HEXDIG HEXDIG

■ Reservierte Zeichen mit funktionalen Aufgaben reserved = gen-delims / sub-delims gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@“ sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="

■ Erlaubte Zeichen unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"

■ Erweiterung auf Universal Character Code (Unicode/ISO 10646)

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

2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI

Page 9: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

9 URI - Generische Syntax

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

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

■ userinfo: z.B. username: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

2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI

Page 10: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

10 Sonderfall Medienfragmente■ Multimedia-Ressourcen besitzen zeitliche (temporale) und räumliche

(spatiale) Dimension

■ Punktgenauer Zugriff via URI Fragmentidentifier (W3C Media Fragments URI 1.0, Juli 2009, Working Draft)

■ Bsp.:

■ Konsequenzen für Behandlung durch Client und Server, d.h. Änderungen an http-Protokoll werden ebenfalls notwendig

2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI

http://www.example.com/example.ogg#track=‘audio‘http://www.example.com/example.ogg#track=‘audio‘&t=10s,20shttp://www.example.com/example.ogg#track=‘video‘&xywh=160,120,320,240

Page 11: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

11 URIs im Semantic Web■Was tun, wenn eine URI für eine Ressource noch nicht existiert?

■ Selbstdefinierte URIs

□ Zur Vermeidung von Überschneidungen Nutzung der eigenen Website

□ Ermöglicht auch Ablage von zugehöriger Dokumentation an gleicher Stelle ( Content Negotiation)

■ Trennung von URI für Ressource (Beschriebenes) und deren Dokumentation (Beschreibendes) durch URI-Referenzen (durch "#" angehängte Fragmente) oder Content Negotiation

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

2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI

Page 12: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

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

13

2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1

2.1.Uniform Resource Identifier - URI

2.2.XML und XMLSchema

2.3.Resource Description Framework - RDF

2.4.RDF Schema

2.5.Wie kommt die Semantik ins WWW?

2.6.Abfragesprache SPARQL

2.7.Warum reicht RDF(S) noch nicht aus?

14

Semantic Web - Vorlesungsinhalt

Page 13: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

13

Warum HTML alleine noch nicht ausreicht■ HTML diente ursprünglich zur Beschreibung der Struktur eines Hypermedia-

Dokuments

■ Browser-Wars – Browser-Hersteller (Netscape/MS) definierten eigenständig proprietäre Erweiterungen der HTML-Syntax zur Formatierung 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“>

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 14: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

13

Warum HTML alleine noch nicht ausreicht■ HTML diente ursprünglich zur Beschreibung der Struktur eines Hypermedia-

Dokuments

■ Browser-Wars – Browser-Hersteller (Netscape/MS) definierten eigenständig proprietäre Erweiterungen der HTML-Syntax zur Formatierung 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 Text

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 15: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

14

Semantik und HTML■Meta-Tags können zusätzliche Semantik in das HTML-Dokument

einbringen

■ 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">

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 16: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

15

Semantik und HTML■ Semantik der Meta-Tags beruht ausschließlich auf der privaten

Vereinbarung zwischen Informationsanbieter und Informationskonsumenten

■ 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">

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 17: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

15

Semantik und HTML■ Semantik der Meta-Tags beruht ausschließlich auf der privaten

Vereinbarung zwischen Informationsanbieter und Informationskonsumenten

■ 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

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 18: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

16

µformats -- Microformate ■ XHTML 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

□…

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 19: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

17

µFormats -- Microformate ■ Beispiel:

<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>

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 20: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

Semantic Web Architektur18

URI / IRI

XML / XSDData Interchange: RDF

RDFS

Ontology: OWL Rule: RIF

Query:SPARQL

Proof

Unifying Logic

Cry

pto

Trust

Interface & Application

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 21: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

19

XML – Extensible Markup Language■Was 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 einemAnwendungsprogramm,das die XML-DTD/XML-XSD versteht, korrektverarbeitet werden

XML-XSD

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 22: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

20 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

GRDDL(2007)

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

(2008)SPARQL

(2008)RDFa

(OWL2)

Page 23: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

21

XML – Extensible Markup Language■Was XML alles kann

<h2> Max Mustermann </h2>

<p> Sesamstr. 49a <br> <b>93123 Bad Sulzdetfurth </b></p>

HTML

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 24: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

21

XML – Extensible Markup Language■Was 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 (Vokabular) für beliebige Anwendungen

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 25: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

22

XML – Extensible Markup Language■Was XML alles kann

XMLHTML

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 26: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

22

XML – Extensible Markup Language■Was XML alles kann

XMLHTML

„HTML sagt Ihnen wie die Informationen aussehensollen, aber XML sagt Ihnen was sie bedeuten.“Quelle: Charles F. Goldfarb, „The XML Handbook“

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 27: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

22

XML – Extensible Markup Language■Was XML alles kann

XMLHTML

„HTML sagt Ihnen wie die Informationen aussehensollen, aber XML sagt Ihnen was sie bedeuten.“Quelle: Charles F. Goldfarb, „The XML Handbook“

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 28: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

23

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

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 29: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

23

XML Deklaration

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

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 30: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

23

XML DTD

XML Deklaration

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

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 31: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

23

XML Tags

XML DTD

XML Deklaration

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

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 32: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

23

XML Attribute

XML Tags

XML DTD

XML Deklaration

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

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 33: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

24

XML – Extensible Markup Language■ Veranschaulichung von XML-Daten als gerichteter Graph

<adresse>

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

<xml>

Max Mustermann

Sesamstr.

49a 93123

BadSulzdetfurth

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 34: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

25

XML – Deklaration■ XML-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“>

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 35: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

26

XML – Deklaration■ XML-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]>

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 36: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

27

XML – Element■ Beschreibung 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>

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 37: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

27

XML – Element■ Beschreibung 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>

Elementadresse

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 38: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

27

XML – Element■ Beschreibung 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>

Elementadresse

Start-Tag

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 39: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

27

XML – Element■ Beschreibung 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>

Elementadresse

Start-Tag

End-Tag

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 40: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

27

XML – Element■ Beschreibung 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>

Elementadresse

Start-Tag

End-Tag

Unterelemente

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 41: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

27

XML – Element■ Beschreibung 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>

Elementadresse

Start-Tag

End-TagFreitext

Unterelemente

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 42: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

28

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

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 43: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

29

Wohlgeformtes und gültiges XML

Max MustermannSesamstr. 49a93123 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>

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 44: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

30

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)

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 45: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

31Schemata in XML

■ DTD – Document Type Definitions:

□Einfache Grammatik für ein XML-Dokument (EBNF)

□Deklaration von Elementen, Attributen, u.a.

□beschränkt die beliebige Verschachtelung von Elementen und Attributen

□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

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 46: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

32■ Echter Schemamechanismus mit vielen Erweiterungen über DTDs hinaus

■ 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

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 47: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

32■ Echter Schemamechanismus mit vielen Erweiterungen über DTDs hinaus

■ 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

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 48: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

33 XML Schema - Elementdeklaration■ Syntax: <element name=“Name“/>

■ Optionale Zusatzattribute:

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 49: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

33 XML Schema - Elementdeklaration■ Syntax: <element name=“Name“/>

■ Optionale Zusatzattribute:

□ Typ

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 50: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

33 XML Schema - Elementdeklaration■ Syntax: <element name=“Name“/>

■ Optionale Zusatzattribute:

□ Typ

□ type = “Typ“ atomarer, einfacher oder komplexer Typ

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 51: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

33 XML Schema - Elementdeklaration■ Syntax: <element name=“Name“/>

■ Optionale Zusatzattribute:

□ Typ

□ type = “Typ“ atomarer, einfacher oder komplexer Typ

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

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 52: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

33 XML Schema - Elementdeklaration■ Syntax: <element name=“Name“/>

■ Optionale Zusatzattribute:

□ Typ

□ type = “Typ“ atomarer, einfacher oder komplexer Typ

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

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

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 53: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

33 XML Schema - Elementdeklaration■ Syntax: <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 }

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 54: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

33 XML Schema - Elementdeklaration■ Syntax: <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!):

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 55: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

33 XML Schema - Elementdeklaration■ Syntax: <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

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 56: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

33 XML Schema - Elementdeklaration■ Syntax: <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

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 57: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

33 XML Schema - Elementdeklaration■ Syntax: <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:

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 58: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

33 XML Schema - Elementdeklaration■ Syntax: <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”/>

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 59: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

33 XML Schema - Elementdeklaration■ Syntax: <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”/>

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 60: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

33 XML Schema - Elementdeklaration■ Syntax: <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”/>

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 61: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

34

XML Schema - Attributdeklaration■ Syntax: <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 Vorgabe v□ use = “fixed“ value = “u“ unveränderliche Vorgabe u

□ Beispiele:

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

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 62: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

35

XML Schema - Elementtypen■ XML-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

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 63: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

36

XML Schema - Elementtypen■ Atomare 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“/>

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 64: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

37 XML Schema - Elementtypen■ Einfache 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)

□ Dokumentdefinition: <element name=“autor“ type=“autorTyp“/>

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 65: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

38 XML Schema - Elementtypen■ Komplexe 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)

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 66: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

39

XML Schema - Elementtypen■Wie definiert man ein leeres Element?

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

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

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 67: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

39

XML Schema - Elementtypen■Wie definiert man ein leeres Element?

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

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

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

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 68: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

40

XML Schema - Typhierarchien■ Typdefinition kann ebenfalls erfolgen durch

□ Erweiterung (engl. extension) oder

□Restriktion (engl. restriction) einer bestehenden Typdefinition

■ Alle Typen in XML-Schema sind entweder

□ Atomare Typen (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 einer Erweiterung oder Restriktion des geforderten Typs

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 69: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

41 XML Schema - Typhierarchien■ Typen können konstruktiv um weitere Elemente oder Attribute zu neuen Typen

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

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 70: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

42

XML Schema - Typhierarchien■ Typen können durch die Verschärfung von Zusatzangaben bei Typdefinitionen in

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 eine Teilmenge des Obertyps sein!

■ Restriktion komplexer Typen

□ Struktur bleibt gleich: es dürfen keine Elemente oder Attribute weggelassen werden

■ Restriktion einfacher Typen

□ Restriktion ist (im Gegensatz zur Erweiterung) auch bei einfachen Typen erlaubt

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 71: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

43

XML Schema - Typhierarchien■ Beispiel (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

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 72: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

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

Dokument gelten

■ XML-Tags mit demselben Namen, aber unterschiedlicher Bedeutung und unterschiedlichen Attributen

Ambiguität und Namenskonflikte

<compactDisk autor=“MisterX"> <titel>Das wohltemperierte Klavier</titel> <track Nummer=“1“> <titel>Fuge Nr. 1</titel> <autor>Johann Sebastian Bach</autor> </track></compactDisk>

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 73: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

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

■ definiert Namen, die jeweils bestimmten Schemata zugeordnet werden (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 pro Dokument / Dokumentenklasse (Gültigkeitsbereich)

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

■ jeweils eigene universelle Namensräume für Fremddaten-Entitäten und Prozessanweisungen

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 74: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

46

XML – Namensräume

<cd:compactDisk xmlns:cd = “http://www.uni-jena.de/cd.dtd“ xmlns:tr = “http://www.beispiel.de/track.dtd“ autor=“MisterX“> <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

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 75: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

47

XML und Semantik■ allgemeine, erweiterbare Meta-Markup-Sprache zur Reprä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>

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 76: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

48

XML und Semantik■ XML instantiiert vorgegebene, vom Benutzer frei definierbare

Datentypen (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 oder XMLSchema

Fazit:XML bildet die Basis des Semantic Web

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 77: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

49 Syntaktische Definition mit XMLSchema■ XML-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 unterschiedlicher Namensräume □ global einheiltliche Identifikation von XML-Elementen□ Kombination unterschiedlicher XML-Vokabularien

■ XML-Schema als Validator

□ mit XMLSchema Definitionen können XML-Dokumente validiert werden Interoperabilität

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 78: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

50

Warum XML alleine 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>

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 79: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

50

Warum XML alleine 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 ?

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 80: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

51

Warum XML alleine noch nicht ausreicht…

CV

name

education

work

private

< >

< >

< >

< >

< >

Dokument

XML-Dokument mit„sprechenden“ Bezeichnern

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 81: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

52

Warum XML alleine noch nicht ausreicht…

Χς

ναµε

εδυχατιον

ωορκ

πριϖατε

< >

< >

< >

< >

< >

Dokument

XML-Dokument mit„sprechenden“ Bezeichnernaus der Sicht des einesProgramms

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 82: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

53

Warum XML noch nicht ausreicht…

Χς

ναµε

εδυχατιον

ωορκ

πριϖατε

< >

< >

< >

< >

< >

Dokument 1

Χς

ναµε

εδυχατιον

ωορκ

πριϖατε

< >

< >

< >

< >

< >

Dokument 2

<Χϖ>

<ναµε>…

Schema-Definition

Kommunikationspartner müssen sichüber die Semantik der Metadateneinigen

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 83: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

54

Warum XML alleine noch nicht ausreicht…

Χς

εδυχατιον

ωορκ

πριϖατε

< >

< >

< >

Dokument 1

< >

< >

Dokument 2

<Χϖ>

<ναµε>…

SchemaDefinitionen

<>

<>

SchemaDefinitionen

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 84: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

54

Warum XML alleine noch nicht ausreicht…

Χς

εδυχατιον

ωορκ

πριϖατε

< >

< >

< >

Dokument 1

< >

< >

Dokument 2

<Χϖ>

<ναµε>…

SchemaDefinitionen

<>

<>

SchemaDefinitionen

ναµε

< >

< >

< >

< >

< >

Ontologien BeschreibungslogikenRDF / OWL / SWRL

InferenzmechanismenTrust

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 85: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

55Warum XML noch nicht ausreicht…

■ Semantik eines XML-Dokuments erschließt sich nur dem menschlichen Benutzer

■ XML = syntaktisch standardisierte Meta-Sprache zur Kommunikation zwischen 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. Zusammenarbeit ist 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!)

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 86: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

Semantic Web Architektur56

URI / IRI

XML / XSDData Interchange: RDF

RDFS

Ontology: OWL Rule: RIF

Query:SPARQL

Proof

Unifying Logic

Cry

pto

Trust

Interface & Application

2. Semantic Web Basisarchitektur2.2 XML und XMLSchema

Page 87: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

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

13

2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1

2.1.Uniform Resource Identifier - URI

2.2.XML und XMLSchema

2.3.Resource Description Framework - RDF

2.4.RDF Schema

2.5.Wie kommt die Semantik ins WWW?

2.6.Abfragesprache SPARQL

2.7.Warum reicht RDF(S) noch nicht aus?

14

Semantic Web - Vorlesungsinhalt

Page 88: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

58

Literatur

• Ch. Meinel, H. Sack: WWW - Kommunikation, Internetworking, Webtechnologien, Springer, 2004.

2. Semantic Web Basisarchitektur2.1 URIs / 2.2 XML und XMLSchema

Page 89: 27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web

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

59

Literatur

□Bloghttp://sewe0910.blogspot.com/

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

□bibsonomy - Bookmarkshttp://www.bibsonomy.org/user/lysander07/sw0910_02

2. Semantic Web Basisarchitektur2.1 URIs / 2.2 XML und XMLSchema