27.10.2009, 02-URI und XML/XSD, Vorlesung Semantic Web - Presentation Transcript
Semantic Web
Vorlesung
Dr. Harald Sack
Hasso-Plattner-Institut für Softwaresystemtechnik
Universität Potsdam
Wintersemester 2009/10
Blog zur Vorlesung: http://sewe0910.blogspot.com/
Die nichtkommerzielle Vervielfältigung, Verbreitung und Bearbeitung dieser Folien ist zulässig
(Lizenzbestimmungen CC-BY-NC).
Semantic Web - Vorlesungsinhalt
2
1. Einführung
2. Semantic Web Basisarchitektur
Die Sprachen des Semantic Web - Teil 1
3. Wissensrepräsentation und Logik
Die Sprachen des Semantic Web - Teil 2
4. Ontology Engineering
5. Semantic Web Applications
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
3
Semantic Web Architektur
Interface & Application
Trust
Proof
Unifying Logic
Query: Ontology: OWL
Rule: RIF
Crypto
SPARQL
RDFS
Data Interchange: RDF
XML / XSD
URI / IRI
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Semantic Web - Vorlesungsinhalt
4
1 27.10.2009 – Vorlesung Nr. 2 3 4 5 6 7 8 9 10 11 12
13
14
2. Semantic Web Basisarchitektur
Die 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?
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.1 Uniform Resource Identifier - URI
5
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)
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.1 Uniform Resource Identifier - URI
6
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
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.1 Uniform Resource Identifier - URI
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 indem
ihr 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
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.1 Uniform Resource Identifier - URI
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.:
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.1 Uniform Resource Identifier - URI
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
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.1 Uniform Resource Identifier - URI
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.:
http://www.example.com/example.ogg#track=‘audio‘
http://www.example.com/example.ogg#track=‘audio‘&t=10s,20s
http://www.example.com/example.ogg#track=‘video‘&xywh=160,120,320,240
■ Konsequenzen für Behandlung durch Client und Server, d.h. Änderungen
an http-Protokoll werden ebenfalls notwendig
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.1 Uniform Resource Identifier - URI
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
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Semantic Web - Vorlesungsinhalt
12
1 27.10.2009 – Vorlesung Nr. 2 3 4 5 6 7 8 9 10 11 12
13
14
2. Semantic Web Basisarchitektur
Die 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?
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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“>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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">
Te xt
<font color="#00ff00" face="Arial, Helvetica, sans-serif"
e tt er
size==“+1“> f
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
14
Semantik und HTML
■ Meta-Tags können zusätzliche Semantik in das HTML-Dokument
einbringen
<meta name="description"
content="Homepage of Dr. Harald Sack, … “>
<meta name="keywords" content="homepage teaching … “>
<meta name="Autor" content="Harald Sack">
■ Problem:
□ Erweiterungen nicht standardisiert
□ leicht manipulierbar Missbrauch
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
15
Semantik und HTML
■ Semantik der Meta-Tags beruht ausschließlich auf der privaten
Vereinbarung zwischen Informationsanbieter und Informationskonsumenten
<meta name=“PLZ" content=“07743“>
<meta name=“Ort" content=“Jena“>
<meta name=“Strasse" content=“Ernst-Abbe-Platz“>
<meta name=„Hausnummer" content=“2">
■ Problem:
□ Syntax und Semantik gilt nur für spezielle Vereinbarung
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
15
Semantik und HTML
■ Semantik der Meta-Tags beruht ausschließlich auf der privaten
Vereinbarung zwischen Informationsanbieter und Informationskonsumenten
<meta name=“PLZ" content=“07743“>
<meta name=“Ort" content=“Jena“>
<meta name=“Strasse" content=“Ernst-Abbe-Platz“>
<meta name=„Hausnummer" content=“2">
■ Problem:
□ Syntax und Semantik gilt nur für spezielle Vereinbarung
Fazit:
HTML war zwar für das immense Wachstumstempo des WWW
mitverantwortlich, behindert aber dessen Weiterentwicklung
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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
□…
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
18
Semantic Web Architektur
Interface & Application
Trust
Proof
Unifying Logic
Query: Ontology: OWL
Rule: RIF
Crypto
SPARQL
RDFS
Data Interchange: RDF
XML / XSD
URI / IRI
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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
kann von einem
Anwendungsprogramm,
das die
+
XML-DTD/XML-XSD
versteht, korrekt
verarbeitet werden
XML-Dokumenteninstanz XML-DTD
XML-XSD
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
20
XML Timeline XQuery
XLink (2004)
(1999)
OWL
XSD (2008)
RDFS RDFa
XHTML 1.0
(1998) (2008)
RDF SPARQL
1970 1980 1990 1995 2000
x
GML SGML HTML 3.2 CSS 2.0 SMIL (OWL2)
(ISO8879 1986)
CSS 1.0 HTML 4.0 MathML
HTML 1.0
XSLT/XPath
XML 1.0
(1998) GRDDL
(2007)
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
21
XML – Extensible Markup Language
■ Was XML alles kann
<h2>
Max Mustermann
</h2>
<p>
Sesamstr. 49a <br>
<b>93123 Bad Sulzdetfurth </b>
</p>
HTML
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
21
XML – Extensible Markup Language
■ Was XML alles kann
<h2> <Adresse>
Max Mustermann <Vorname> Max </Vorname>
</h2> <Nachname> Mustermann </Nachname>
<Straße> Sesamstr. </Straße>
<p> <Hausnummer> 49a </Hausnummer>
Sesamstr. 49a <br> <PLZ> 93123 </PLZ>
<b>93123 Bad Sulzdetfurth </b> <Ort> Bad Sulzdetfurth </Ort>
</p> </Adresse>
HTML XML
XML als semistrukturiertes Austauschdatenformat (Vokabular)
für beliebige Anwendungen
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
22
XML – Extensible Markup Language
■ Was XML alles kann
HTML XML
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
22
XML – Extensible Markup Language
■ Was XML alles kann
„HTML sagt Ihnen wie die Informationen aussehen
sollen, aber XML sagt Ihnen was sie bedeuten.“
HTML XML
Quelle: Charles F. Goldfarb, „The XML Handbook“
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
22
XML – Extensible Markup Language
■ Was XML alles kann
„HTML sagt Ihnen wie die Informationen aussehen
sollen, aber XML sagt Ihnen was sie bedeuten.“
HTML XML
Quelle: Charles F. Goldfarb, „The XML Handbook“
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
23
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>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
23
XML – Extensible Markup Language
<?xml version="1.0" encoding="iso-8859-1"?> XML Deklaration
<!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>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
23
XML – Extensible Markup Language
<?xml version="1.0" encoding="iso-8859-1"?> XML Deklaration
<!DOCTYPE address SYSTEM "Beispiel.dtd">
<adresse>
XML DTD
<vorname> Max </vorname>
<nachname> Mustermann </nachname>
<straße> Sesamstr. </straße>
<hausnummer> 49a </hausnummer>
<plz prefix=“D“> 93123 </plz>
<ort> Bad Sulzdetfurth </ort>
</adresse>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
23
XML – Extensible Markup Language
<?xml version="1.0" encoding="iso-8859-1"?> XML Deklaration
<!DOCTYPE address SYSTEM "Beispiel.dtd">
<adresse>
XML DTD
<vorname> Max </vorname>
<nachname> Mustermann </nachname>
XML Tags
<straße> Sesamstr. </straße>
<hausnummer> 49a </hausnummer>
<plz prefix=“D“> 93123 </plz>
<ort> Bad Sulzdetfurth </ort>
</adresse>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
23
XML – Extensible Markup Language
<?xml version="1.0" encoding="iso-8859-1"?> XML Deklaration
<!DOCTYPE address SYSTEM "Beispiel.dtd">
<adresse>
XML DTD
<vorname> Max </vorname>
<nachname> Mustermann </nachname>
XML Tags
<straße> Sesamstr. </straße>
<hausnummer> 49a </hausnummer>
<plz prefix=“D“> 93123 </plz> XML Attribute
<ort> Bad Sulzdetfurth </ort>
</adresse>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
24
XML – Extensible Markup Language
■ Veranschaulichung von XML-Daten als gerichteter Graph
<xml>
<adresse>
<vorname> <nachname> <straße> <hausnummer> <plz> <ort>
Max Mustermann 49a 93123
Sesamstr.
Bad
Sulzdetfurth
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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“>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
26
XML – Deklaration
■ XML-Referenzen:
□ Angabe des verwendeten XML-DTDs
□ Referenz auf externe Teilmenge (globale URI)
<!DOCTYPE name SYSTEM/PUBLIC “URI“>
□ Referenz auf interne Teilmenge
<!DOCTYPE name [DTD-Definitionen]>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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> Element
<hausnummer> 49a </hausnummer> adresse
Max Mustermann ist ein fleissiger Student…
</adresse>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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/>
Start-Tag <adresse>
<vorname> Max </vorname>
<nachname> Mustermann </nachname>
<straße> Sesamstr. </straße> Element
<hausnummer> 49a </hausnummer> adresse
Max Mustermann ist ein fleissiger Student…
</adresse>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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/>
Start-Tag <adresse>
<vorname> Max </vorname>
<nachname> Mustermann </nachname>
<straße> Sesamstr. </straße> Element
<hausnummer> 49a </hausnummer> adresse
Max Mustermann ist ein fleissiger Student…
</adresse>
End-Tag
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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/>
Start-Tag <adresse>
<vorname> Max </vorname>
<nachname> Mustermann </nachname>
Unterelemente Element
<straße> Sesamstr. </straße>
<hausnummer> 49a </hausnummer> adresse
Max Mustermann ist ein fleissiger Student…
</adresse>
End-Tag
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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/>
Start-Tag <adresse>
<vorname> Max </vorname>
<nachname> Mustermann </nachname>
Unterelemente Element
<straße> Sesamstr. </straße>
<hausnummer> 49a </hausnummer> adresse
Freitext Max Mustermann ist ein fleissiger Student…
</adresse>
End-Tag
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
29
Wohlgeformtes und gültiges XML
Max Mustermann <adresse>
Sesamstr. 49a <vorname> Max </vorname>
93123 Bad Sulzdetfurth <nachname> Mustermann </nachname>
<straße> Sesamstr. </straße>
<hausnummer> 49a </hausnummer>
<ort plz=“93123“>Bad Sulzdetfurth</ort>
</adresse>
Wohlgeformte XML-Dokumente:
Syntaktisch korrekt, d.h. alle angefangenen Tags werden wieder
geschlossen und sind stets korrekt geschachtelt,
keine Mehrfachattribute, nur ein Wurzelelement
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
30
Wohlgeformtes und gültiges XML
<!ELEMENT adresse (vorname+,
<adresse>
nachname, straße, hausnummer,
<vorname> Max </vorname>
ort)>
<nachname> Mustermann </nachname>
<straße> Sesamstr. </straße> <!ELEMENT vorname CDATA>
<hausnummer> 49a </hausnummer> <!ELEMENT nachname CDATA>
<ort plz=“93123“>Bad Sulzdetfurth</ort> <!ELEMENT straße CDATA>
</adresse> ….
Document Type Definition (DTD)
gültige (valide) XML-Dokumente:
wohlgeformt und zu einem assoziierten Schema uneingeschränkt konform
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
31
Schemata 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
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
32
■ Echter Schemamechanismus mit vielen Erweiterungen über DTDs hinaus
■ Benutzt selbst wieder XML-Syntax zur Schemadefinition
XSD Namespace
<?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
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
33
XML Schema - Elementdeklaration
■ Syntax: <element name=“Name“/>
■ Optionale Zusatzattribute:
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
33
XML Schema - Elementdeklaration
■ Syntax: <element name=“Name“/>
■ Optionale Zusatzattribute:
□ Typ
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
33
XML Schema - Elementdeklaration
■ Syntax: <element name=“Name“/>
■ Optionale Zusatzattribute:
□ Typ
□ type = “Typ“ atomarer, einfacher oder komplexer Typ
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
33
XML Schema - Elementdeklaration
■ Syntax: <element name=“Name“/>
■ Optionale Zusatzattribute:
□ Typ
□ type = “Typ“ atomarer, einfacher oder komplexer Typ
□ Kardinalitäten (Vorgabe [1,1]):
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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 }
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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 }
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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!):
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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:
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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”/>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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”/>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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”/>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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”/>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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“/>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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“/>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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)
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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“ />
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
44
XML – Namensräume
XML-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>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
45
XML – Namensräume
XML 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
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
46
XML – Namensräume Namespace Binding
Prefix-
Definition
<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>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
47
XML und Semantik
■ allgemeine, erweiterbare Meta-Markup-Sprache zur Repräsentation
von semi-strukturierten Daten
<adresse>
<name>
<vorname>Harald</vorname>
<name>Sack</nachname>
</name>
<strasse>Ernst-Abbe-Platz</
strasse>
<hausnummer>2</hausnummer>
<plz>07743</plz>
<ort>Jena</ort>
■ Aber: woher weiß man, dass <adresse> eine Adresse bezeichnet?
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
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
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
50
Warum XML alleine noch nicht ausreicht…
<adresse>
<name>
<vorname>Harald</vorname> <adresse>
<name>Sack</nachname> <name>
</name> <firstname>Harald</firstname>
<strasse>Ernst-Abbe-Platz</strasse> <mi>H</mi>
<hausnummer>2</hausnummer> <surname>Sack</surname>
<plz>07743</plz> </name>
<ort>Jena</ort> <street>Ernst-Abbe-Platz</street>
</adresse> <number>2</number>
<zip>07743</zip>
<city>Jena</city>
<state>Thüringen</state>
</adresse>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
50
Warum XML alleine noch nicht ausreicht…
<adresse>
<name>
<vorname>Harald</vorname> <adresse>
<name>Sack</nachname> <name>
</name> <firstname>Harald</firstname>
<strasse>Ernst-Abbe-Platz</strasse> <mi>H</mi>
<hausnummer>2</hausnummer> <surname>Sack</surname>
<plz>07743</plz> </name>
<ort>Jena</ort> <street>Ernst-Abbe-Platz</street>
</adresse> <number>2</number>
<zip>07743</zip>
<city>Jena</city>
<state>Thüringen</state>
Sind beide Inhalte miteinander </adresse>
vereinbar ?
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
51
Warum XML alleine noch nicht ausreicht…
< name >
< education>
< CV >
< work>
XML-Dokument mit
„sprechenden“ Bezeichnern
< private >
Dokument
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
52
Warum XML alleine noch nicht ausreicht…
< ναµε >
<εδυχατιον
>
< Χς >
<ωορκ>
XML-Dokument mit
„sprechenden“ Bezeichnern
<
πριϖατε
> aus der Sicht des eines
Programms
Dokument
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
53
Warum XML noch nicht ausreicht…
< ναµε > < ναµε >
<εδυχατιον
> <εδυχατιον
>
< Χς > < Χς >
<ωορκ> <ωορκ>
<
πριϖατε
> <
πριϖατε
>
Dokument 1 Dokument 2
Kommunikationspartner müssen sich
<Χϖ>
über die Semantik der Metadaten
einigen …
<ναµε>
Schema-Definition
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
54
Warum XML alleine noch nicht ausreicht…
<>
<εδυχατιον
>
Χς < >
<ωορκ>
<
πριϖατε
>
Dokument 1 Dokument 2
Schema
Definitionen
<Χϖ> <>
… …
<ναµε> <>
Schema
Definitionen
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
54
Warum XML alleine noch nicht ausreicht…
< ναµε > <>
<εδυχατιον
> <>
< Χς > < >
<ωορκ> <>
<
πριϖατε
> <>
Dokument 1 Dokument 2
Schema
Definitionen
<Χϖ> Ontologien <>
… Beschreibungslogiken …
<ναµε> RDF / OWL / SWRL <>
Inferenzmechanismen
Schema Trust
Definitionen
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
55
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!)
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.2 XML und XMLSchema
56
Semantic Web Architektur
Interface & Application
Trust
Proof
Unifying Logic
Query: Ontology: OWL
Rule: RIF
Crypto
SPARQL
RDFS
Data Interchange: RDF
XML / XSD
URI / IRI
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Semantic Web - Vorlesungsinhalt
57
1 27.10.2009 – Vorlesung Nr. 2 3 4 5 6 7 8 9 10 11 12
13
14
2. Semantic Web Basisarchitektur
Die 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?
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.1 URIs / 2.2 XML und XMLSchema
58
Literatur
• Ch. Meinel, H. Sack:
WWW - Kommunikation, Internetworking,
Webtechnologien,
Springer, 2004.
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Semantic Web Basisarchitektur
2.1 URIs / 2.2 XML und XMLSchema
59
Literatur
□Blog
http://sewe0910.blogspot.com/
□Materialien-Webseite
http://www.hpi.uni-potsdam.de/meinel/teaching/semantic_web_ws0910.html
□bibsonomy - Bookmarks
http://www.bibsonomy.org/user/lysander07/sw0910_02
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Jedes Ding muss einen Namen haben ... kurzer Abstec more
Jedes Ding muss einen Namen haben ... kurzer Abstecher in die Welt der URIs/URLs/URNs/IRIs
So banal es auch klingen mag, die eindeutige Benennung von Entitäten bildet die Grundlage des Semantic Webs. Und zwar nicht nur die Benennung von Informationsressourcen, die über das WWW zugreifbar sind. Nein, es betrifft alle möglichen (und unmöglichen) Objekte der realen und abstrakten Welt, über die irgendwelche Aussagen getroffen werden können, und die mit irgendwelchen anderen Objekten in Zusammenhang stehen. Dabei müssen wir unterscheiden zwischen dem (realen) Objekt und seiner (informalen) Repräsentation im WWW. Bezeichnet die URI des "Eiffelturms" wirklich den Eiffelturm selbst oder nur eine Informationsdatei über den Eiffelturm (also z.B. die zugehörige Wikipediaseite, o.ä...). Dahinter steckt ein bereits altes Problem der Philosophie und Sprachwissenschaft (genauer, der Semiotik), die zwischen "Bezeichnetem" und "Bezeichnendem" unterscheidet.
Eigentlich sollte jeder von Ihnen schon einmal etwas von XML und XML-Derivaten gehört haben. Der Vollständigkeit halber wiederholen wir morgen kurz XML- und XML-Schema-Grundlagen. Dies ist wichtig, da jeder weitere Dialekt zur Wissensrepräsentation im Semantic Web auf der Grundlage dieser Metasprache zur Definition von beliebigen Vokabularien beruht - zumindest in ihrer jeweiligen XML-Serialisierung. Später werden wir noch andere Repräsentationsformen für RDF/RDFS/OWL kennenlernen, z.B. N3, Turtle oder Description Logics. Die XML-Serialisierungen sind aber am weitesten verbreitet und - wenn auch schwieriger zu lesen - für den Rechner oft einfacher zu verarbeiten (dank bereits existierender Parser...).
Zudem werden wir sehen, dass XML und XML-Schema alleine noch nicht ausreichen, um tatsächlich auch Semantik formal repräsentieren zu können. Warum? ... das erfahren Sie natürlich in der Vorlesung :) less
0 comments
Post a comment