Transcript
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