02 uri, xml und xml schema - semantic web technologien, ws2010/11
DESCRIPTION
TRANSCRIPT
Die nichtkommerzielle Vervielfältigung, Verbreitung und Bearbeitung dieser Folien ist zulässig (Lizenzbestimmungen CC-BY-NC).
VorlesungDr. Harald Sack
Hasso-Plattner-Institut für SoftwaresystemtechnikUniversität Potsdam
Wintersemester 2010/11
Semantic Web Technologien
Blog zur Vorlesung: http://web-flakes.blogspot.com/
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2 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. Linked Data und Semantic Web Anwendungen
Semantic Web Technologien Vorlesungsinhalt
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, 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 BasisarchitekturDie Sprachen des Semantic Web - Teil 1
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
4
2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
5
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?
Semantic Web Technologien Vorlesungsinhalt
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
6
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. 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)
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
7
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
8
2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI
Was ist das?
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
9
2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI
URI - Ressource - Repräsentation
http://www.tour-eiffel.fr/index.html
URI
Eiffelturm
Ressource
Metadaten: Content-type: text/htmlData:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <title>Le site officiel de la Tour Eiffel</title> ...</html>
Repräsentation
identifiziert
repräsentiert
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
10
2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI
Repräsentation und Präsentation
Metadaten: Content-type: text/htmlData:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <title>Le site officiel de la Tour Eiffel</title> ...</html>
Repräsentation
legt fest
Präsentation
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
11
2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI
HTTP Request / Response
Benutzer klickt
Browser sendetHTTP Request
GET http://www.tour-eiffel.fr/index.html HTTP/1.1Host: www.tour-eiffel.frAccept: text/html
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
12
2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI
HTTP Request / Response
Browser sendet HTTP Request
GET http://www.tour-eiffel.fr/index.html HTTP/1.1Host: www.tour-eiffel.frAccept: text/html
Web Server fürwww.tour-eiffel.fr
Web Server verarbeitetAnfrage
Web Server sendet HTTP Response
HTTP/1.1 200 OKContent-Length: 3134Content-Type: text/html; charset=utf-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <title>Le site officiel de la Tour Eiffel</title> ...</html>
Browser interpretiert Repräsentation und stellt Präsentation dar
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
13
2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI
Bezeichner und Bezeichnetes
Web Page beschreibt den Eiffelturm
≠
„der Eiffelturm“
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
14
2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI
Bezeichner und Bezeichnetes
René Megritte: La trahison des images (1928)
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
15
2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI
Bezeichner und Bezeichnetes
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
16
2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI
Bezeichner und Bezeichnetes
The distinguishing characteristic of [information] resources is that all of their essential characteristics can be conveyed in a message.
W3C: Architecture of the World Wide Web, Volume One
□ Eine Ressource wird durch ihre Metadaten beschrieben
□ Auch wenn eine Ressource nicht vom Web Server zurückgeliefert werden kann, ist eventuell dennoch die Repräsentation einer Ressource verfügbar, die die ursprüngliche Ressource hinreichend beschreibt.
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
17
2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI
Metadaten
• „Metadaten sind Daten, die Informationen über andere Daten enthalten“ und „Metadaten werden benötigt, um in der Lage zu sein, einen bestimmten Zweck zu erfüllen (oder) ein bestimmtes Ergebnis zu erreichen“ (informelle Definition, Wikipedia)
• „Metadaten sind strukturierte, kodierte Daten, die Charakteristika informationstragender Entitäten beschreiben, zum Zweck der Identifikation, Recherche, Beurteilung und der Verwaltung der damit beschriebenen Entitäten.“(W. R. Durrell: Data Administration: A practical Guide to Data Administration. McGraw – Hill, 1985)
• „Metadata is machine understandable information about web resources or other things“ (Tim Berners-Lee: Axioms of Web Architecture: Metadata, 1997)
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
18
2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
18
2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI
Metadaten
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
19
2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI
URI - Ressource - Metadaten
http://www.tour-eiffel.fr/index.html
URI
Information über den Eiffelturm
Ressource:Eiffelturm Metadaten
Metadaten: Content-type: text/htmlData:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <title>Le site officiel de la Tour Eiffel</title> ...</html>
Repräsentation
identifiziert
repräsentiert
beschreibt
Ressource:Eiffelturm
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
20 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
21 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
22 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
23 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
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
2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
24 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
25
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?
Semantic Web Technologien Vorlesungsinhalt
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
26
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
26
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
27
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
28
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
28
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
Fazit:HTML war zwar für das immense Wachstumstempo des WWW mitverantwortlich, behindert aber dessen Weiterentwicklung
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
29
µ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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
30
µ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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Semantic Web Architektur31
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
32
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
33
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
34 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)
(2008)SPARQL
(2008)RDFa
OWL2(2009)
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
35
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
35
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
36
XML – Extensible Markup Language■ Was XML alles kann
XMLHTML
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
36
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
36
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
37
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>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
37
XML Deklaration
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>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
37
XML DTD
XML Deklaration
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>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
37
XML Tags
XML DTD
XML Deklaration
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>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
37
XML Attribute
XML Tags
XML DTD
XML Deklaration
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>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
38
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
39
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
40
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
41
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
41
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
41
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
41
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
41
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
41
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
42
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
43
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
44
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, strasse, hausnummer, ort)>
<!ELEMENT vorname CDATA><!ELEMENT nachname CDATA><!ELEMENT straße CDATA>….
Document Type Definition (DTD)
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
45Schemata 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
46■ 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
46■ 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
47 XML Schema - Elementdeklaration■ Syntax: <element name=“Name“/>
■ Optionale Zusatzattribute:
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
47 XML Schema - Elementdeklaration■ Syntax: <element name=“Name“/>
■ Optionale Zusatzattribute:
□ Typ
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
47 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
47 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
47 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
47 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
47 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
47 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
47 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
47 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
47 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
47 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
47 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
48
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
49
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
50
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
51 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“/>
□ einfache Typen dürfen keine verschachtelten Elemente enthalten!
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
52 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
53
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
53
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
54
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
55 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
56
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
57
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
58 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
59 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)
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
<html xmlns="http://www.w3.org/1999/xhtml"> ... restliche HTML-Datei</html>
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
60 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
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
<html xmlns="http://www.w3.org/1999/xhtml"> ... XHTML-Elemente <math xmlns="http://www.w3.org/1998/Math/MathML"> ... MathML-Elemente </math> ... XHTML-Elemente</html>
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
61
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
62
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> <nachname>Sack</nachname> </name> <strasse>Prof.-Dr.-Helmert-Str.</strasse> <hausnummer>2-3</hausnummer> <plz>14482</plz> <ort>Potsdam</ort></adresse>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
63
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
64 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
65
Warum XML alleine noch nicht ausreicht…
<adresse> <name> <vorname>Harald</vorname> <name>Sack</nachname> </name> <strasse>Prof.-Dr.-Helmert-Str.</strasse> <hausnummer>2-3</hausnummer> <plz>14482</plz> <ort>Potsdam</ort></adresse>
<adresse> <name> <firstname>Harald</firstname>
<mi>H</mi> <surname>Sack</surname>
</name> <street>Prof.-Dr.-Helmert-Str.</street>
<number>2-3</number>
<zip>14482</zip>
<city>Potsdam</city>
<state>Brandenburg</state>
</adresse>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
65
Warum XML alleine noch nicht ausreicht…
<adresse> <name> <vorname>Harald</vorname> <name>Sack</nachname> </name> <strasse>Prof.-Dr.-Helmert-Str.</strasse> <hausnummer>2-3</hausnummer> <plz>14482</plz> <ort>Potsdam</ort></adresse>
<adresse> <name> <firstname>Harald</firstname>
<mi>H</mi> <surname>Sack</surname>
</name> <street>Prof.-Dr.-Helmert-Str.</street>
<number>2-3</number>
<zip>14482</zip>
<city>Potsdam</city>
<state>Brandenburg</state>
</adresse>Sind beide Inhalte miteinandervereinbar ?
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
66
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
67
Warum XML alleine noch nicht ausreicht…
Χς
ναµε
εδυχατιον
ωορκ
πριϖατε
< >
< >
< >
< >
< >
Dokument
XML-Dokument mit„sprechenden“ Bezeichnernaus der Sicht einesProgramms
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
68
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
69
Warum XML alleine noch nicht ausreicht…
Χς
εδυχατιον
ωορκ
πριϖατε
< >
< >
< >
Dokument 1
< >
< >
Dokument 2
<Χϖ>
<ναµε>…
SchemaDefinitionen
<>
<>
…
SchemaDefinitionen
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
69
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
70
Warum 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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Semantic Web Architektur71
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
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
72
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?
Semantic Web Technologien Vorlesungsinhalt
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
73
Wie geht‘s weiter...?
RDF
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
74
Literatur
• Ch. Meinel, H. Sack: WWW - Kommunikation, Internetworking, Webtechnologien, Springer, 2004.
• D. R. Hofstadter: Gödel, Escher, Bach - ein endlos geflochtenes Band, Dtv, 1992.
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Montag, 22. November 2010
Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
75
Materialien
□Bloghttp://web-flakes.blogspot.com/
□Materialien-Webseitehttp://www.hpi.uni-potsdam.de/meinel/lehre/lectures_classes/semanticweb_ws1011.html
□bibsonomy - Bookmarkshttp://www.bibsonomy.org/user/lysander07/swt1011_02
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Montag, 22. November 2010