Upload
harald-sack
View
2.163
Download
0
Embed Size (px)
DESCRIPTION
Jedes Ding muss einen Namen haben ... kurzer Abstecher in die Welt der URIs/URLs/URNs/IRIs So banal es auch klingen mag, die eindeutige Benennung von Entitäten bildet die Grundlage des Semantic Webs. Und zwar nicht nur die Benennung von Informationsressourcen, die über das WWW zugreifbar sind. Nein, es betrifft alle möglichen (und unmöglichen) Objekte der realen und abstrakten Welt, über die irgendwelche Aussagen getroffen werden können, und die mit irgendwelchen anderen Objekten in Zusammenhang stehen. Dabei müssen wir unterscheiden zwischen dem (realen) Objekt und seiner (informalen) Repräsentation im WWW. Bezeichnet die URI des "Eiffelturms" wirklich den Eiffelturm selbst oder nur eine Informationsdatei über den Eiffelturm (also z.B. die zugehörige Wikipediaseite, o.ä...). Dahinter steckt ein bereits altes Problem der Philosophie und Sprachwissenschaft (genauer, der Semiotik), die zwischen "Bezeichnetem" und "Bezeichnendem" unterscheidet. Eigentlich sollte jeder von Ihnen schon einmal etwas von XML und XML-Derivaten gehört haben. Der Vollständigkeit halber wiederholen wir morgen kurz XML- und XML-Schema-Grundlagen. Dies ist wichtig, da jeder weitere Dialekt zur Wissensrepräsentation im Semantic Web auf der Grundlage dieser Metasprache zur Definition von beliebigen Vokabularien beruht - zumindest in ihrer jeweiligen XML-Serialisierung. Später werden wir noch andere Repräsentationsformen für RDF/RDFS/OWL kennenlernen, z.B. N3, Turtle oder Description Logics. Die XML-Serialisierungen sind aber am weitesten verbreitet und - wenn auch schwieriger zu lesen - für den Rechner oft einfacher zu verarbeiten (dank bereits existierender Parser...). Zudem werden wir sehen, dass XML und XML-Schema alleine noch nicht ausreichen, um tatsächlich auch Semantik formal repräsentieren zu können. Warum? ... das erfahren Sie natürlich in der Vorlesung :)
Citation preview
Vorlesung
Dr. Harald Sack
Hasso-Plattner-Institut für Softwaresystemtechnik
Universität Potsdam
Wintersemester 2009/10
Semantic Web
Blog zur Vorlesung: http://sewe0910.blogspot.com/Die nichtkommerzielle Vervielfältigung, Verbreitung und Bearbeitung dieser Folien ist zulässig (Lizenzbestimmungen CC-BY-NC).
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
1. Einführung
2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1
3. Wissensrepräsentation und LogikDie Sprachen des Semantic Web - Teil 2
4. Ontology Engineering
5. Semantic Web Applications
2
Semantic Web - Vorlesungsinhalt
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Semantic Web Architektur3
URI / IRI
XML / XSDData Interchange: RDF
RDFS
Ontology: OWL Rule: RIF
Query:SPARQL
Proof
Unifying Logic
Cry
pto
Trust
Interface & Application
2. Semantic Web Basisarchitektur
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
427.10.2009 – Vorlesung Nr. 21 3 4 5 6 7 8 9 1110 12
13
2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1
2.1.Uniform Resource Identifier - URI
2.2.XML und XMLSchema
2.3.Resource Description Framework - RDF
2.4.RDF Schema
2.5.Wie kommt die Semantik ins WWW?
2.6.Abfragesprache SPARQL
2.7.Warum reicht RDF(S) noch nicht aus?
14
Semantic Web - Vorlesungsinhalt
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
5
2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI
Uniform Resource Identifier - URI■ Ein Uniform Resource Identifier (URI) definiert ein einfaches und
erweiterbares Schema zur weltweit eindeutigen Identifikation von abstrakten oder physikalischen Ressourcen (RFC 3986).
■ Ressource kann jedes Objekt sein, das (im Kontext der jeweiligen Anwendung) eine klare Identität besitzt ,
□ also z.B. (z.B. Webseiten, Bücher, Orte, Personen, Beziehungen zwischen diesen Dingen, abstrakte Konzepte usw.)
■ Das URI Konzept ist in verschiedenen Anwendungsbereichen bereits etabliert,
□ wie z.B. Web (URL, PRN, pURL), Bücher (ISBN), Digital Object Identifier (DOI)
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
6
2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI
Uniform Resource Identifier - URI■ „Uniform“
□ Unterschiedliche Typen von Ressourcen-Identifikatoren aufgebaut nach einem einheitlichem Schema
■ „Resource“
□Was auch immer über einen URI identifiziert werden kann
■ „Identifier“
□ zur Unterscheidung einer Ressource von einer anderen
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
7 Uniform Resource Identifier - URI■ URI umfasst sowohl
□ Adressangaben (Locator)
□Uniform Resource Locator (URL, RFC 1738)□gibt an, wo eine Web-Ressource zu finden ist indemihr primärer Zugriffsmechanismus beschrieben wird□kann sich im Lebenszyklus der Web-Ressource ändern
□ Identitätsbezeichner (Namen)
□Uniform Resource Name (URN, RFC 2141)□persistenter Bezeichner für eine Web-Ressource□bleibt für die gesamte Lebensdauer konstant
2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
8 URI - Generische Syntax■ US-ASCII Encoding
■ Percent Encoding für reservierte Zeichen, oder Zeichen, die nicht im US-ASCII Encoding existieren pct-encoded = "%" HEXDIG HEXDIG
■ Reservierte Zeichen mit funktionalen Aufgaben reserved = gen-delims / sub-delims gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@“ sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
■ Erlaubte Zeichen unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
■ Erweiterung auf Universal Character Code (Unicode/ISO 10646)
□ Internationalized Resource Identifier (IRI, RFC 3987)Bsp.:
2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
9 URI - Generische Syntax
URI = schema"://"[userinfo"@"]host[:port][path]["?"query]["#"fragment]
■ schema: z.B. http, ftp, mailto,...
■ userinfo: z.B. username:password
■ host: z.B. Domain-Name, IPv4/IPv6-Adressen
■ port: z.B. 80 für Standard http-Port
■ path: z.B. Pfadangabe im WWW-Server Filesystem
■ query: z.B. Parameter, die an Anwendung weitergegeben werden
■ fragment: z.B. Angabe eines bestimmten Dokumententeilbereichs
2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
10 Sonderfall Medienfragmente■ Multimedia-Ressourcen besitzen zeitliche (temporale) und räumliche
(spatiale) Dimension
■ Punktgenauer Zugriff via URI Fragmentidentifier (W3C Media Fragments URI 1.0, Juli 2009, Working Draft)
■ Bsp.:
■ Konsequenzen für Behandlung durch Client und Server, d.h. Änderungen an http-Protokoll werden ebenfalls notwendig
2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI
http://www.example.com/example.ogg#track=‘audio‘http://www.example.com/example.ogg#track=‘audio‘&t=10s,20shttp://www.example.com/example.ogg#track=‘video‘&xywh=160,120,320,240
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
11 URIs im Semantic Web■Was tun, wenn eine URI für eine Ressource noch nicht existiert?
■ Selbstdefinierte URIs
□ Zur Vermeidung von Überschneidungen Nutzung der eigenen Website
□ Ermöglicht auch Ablage von zugehöriger Dokumentation an gleicher Stelle ( Content Negotiation)
■ Trennung von URI für Ressource (Beschriebenes) und deren Dokumentation (Beschreibendes) durch URI-Referenzen (durch "#" angehängte Fragmente) oder Content Negotiation
z.B.: http://hpi.ui-potsdam.de/harald_foaf.rdf#me
2. Semantic Web Basisarchitektur2.1 Uniform Resource Identifier - URI
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
1227.10.2009 – Vorlesung Nr. 21 3 4 5 6 7 8 9 1110 12
13
2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1
2.1.Uniform Resource Identifier - URI
2.2.XML und XMLSchema
2.3.Resource Description Framework - RDF
2.4.RDF Schema
2.5.Wie kommt die Semantik ins WWW?
2.6.Abfragesprache SPARQL
2.7.Warum reicht RDF(S) noch nicht aus?
14
Semantic Web - Vorlesungsinhalt
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
13
Warum HTML alleine noch nicht ausreicht■ HTML diente ursprünglich zur Beschreibung der Struktur eines Hypermedia-
Dokuments
■ Browser-Wars – Browser-Hersteller (Netscape/MS) definierten eigenständig proprietäre Erweiterungen der HTML-Syntax zur Formatierung von Strukturelementen
□ z.B. Tabellen mit absoluten Maßangaben
□ z.B. Schrifttyp, Schriftauszeichnungen, Schriftgröße, Farbe, etc…
■ Problem: Formatierung vs. Semantik
<td width="261"><font color="#00ff00" face="Arial, Helvetica, sans-serif" size==“+1“>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
13
Warum HTML alleine noch nicht ausreicht■ HTML diente ursprünglich zur Beschreibung der Struktur eines Hypermedia-
Dokuments
■ Browser-Wars – Browser-Hersteller (Netscape/MS) definierten eigenständig proprietäre Erweiterungen der HTML-Syntax zur Formatierung von Strukturelementen
□ z.B. Tabellen mit absoluten Maßangaben
□ z.B. Schrifttyp, Schriftauszeichnungen, Schriftgröße, Farbe, etc…
■ Problem: Formatierung vs. Semantik
<td width="261"><font color="#00ff00" face="Arial, Helvetica, sans-serif" size==“+1“> fetter Text
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
14
Semantik und HTML■Meta-Tags können zusätzliche Semantik in das HTML-Dokument
einbringen
■ Problem:
□ Erweiterungen nicht standardisiert
□ leicht manipulierbar Missbrauch
<meta name="description" content="Homepage of Dr. Harald Sack, … “><meta name="keywords" content="homepage teaching … “><meta name="Autor" content="Harald Sack">
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
15
Semantik und HTML■ Semantik der Meta-Tags beruht ausschließlich auf der privaten
Vereinbarung zwischen Informationsanbieter und Informationskonsumenten
■ Problem:
□ Syntax und Semantik gilt nur für spezielle Vereinbarung
<meta name=“PLZ" content=“07743“><meta name=“Ort" content=“Jena“><meta name=“Strasse" content=“Ernst-Abbe-Platz“><meta name=„Hausnummer" content=“2">
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
15
Semantik und HTML■ Semantik der Meta-Tags beruht ausschließlich auf der privaten
Vereinbarung zwischen Informationsanbieter und Informationskonsumenten
■ Problem:
□ Syntax und Semantik gilt nur für spezielle Vereinbarung
<meta name=“PLZ" content=“07743“><meta name=“Ort" content=“Jena“><meta name=“Strasse" content=“Ernst-Abbe-Platz“><meta name=„Hausnummer" content=“2">
Fazit:HTML war zwar für das immense Wachstumstempo des WWW mitverantwortlich, behindert aber dessen Weiterentwicklung
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
16
µformats -- Microformate ■ XHTML Markup, mit dem es möglich ist, (in einem begrenzten Umfang)
Semantik in einem HTML-Dokument auszudrücken
■ Anwendungen können leichter Daten aus HTML-Dokumenten extrahieren
■ Verwendung in folgenden XHTML-Tag Attributen:
□ class
□ rel
□ rev
■ Vordefinierte Standard-Microformate:
□ hCard - Personendaten ( vCard, RFC2426)
□ hCalender – Events
□ rel-Tag – social tagging
□ XFN – XHTML Friends Network
□…
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
17
µFormats -- Microformate ■ Beispiel:
<span class="vcard"> <span class="fn">Joe Blow</span> <span class="org">The Example Company</span> <span class="tel">604-555-1234</span> <a class="url" href="http://example.com/"> http://example.com/</a></span>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Semantic Web Architektur18
URI / IRI
XML / XSDData Interchange: RDF
RDFS
Ontology: OWL Rule: RIF
Query:SPARQL
Proof
Unifying Logic
Cry
pto
Trust
Interface & Application
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
19
XML – Extensible Markup Language■Was XML alles kann
□ XML gestattet die Definition beliebiger neuer Tags(Metasprache zur Definition neuer Markupsprachen)
□ die Definition neuer Tags erfolgt in einem speziellen Dokument,der Document Type Definition (DTD) / XML Schema Definition
XML-Dokumenteninstanz
+
XML-DTD
kann von einemAnwendungsprogramm,das die XML-DTD/XML-XSD versteht, korrektverarbeitet werden
XML-XSD
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
20 XML Timeline
1970 200019901980
GML SGML(ISO8879 1986)
HTML 1.0CSS 1.0
XML 1.0 (1998)
1995
HTML 3.2
HTML 4.0
CSS 2.0
MathML
XSLT/XPath
XHTML 1.0
XSD
XLink
SMIL
x
XQuery
(1998)RDF
(1999)RDFS
(2004)OWL
GRDDL(2007)
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
(2008)SPARQL
(2008)RDFa
(OWL2)
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
21
XML – Extensible Markup Language■Was XML alles kann
<h2> Max Mustermann </h2>
<p> Sesamstr. 49a <br> <b>93123 Bad Sulzdetfurth </b></p>
HTML
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
21
XML – Extensible Markup Language■Was XML alles kann
<h2> Max Mustermann </h2>
<p> Sesamstr. 49a <br> <b>93123 Bad Sulzdetfurth </b></p>
HTML
<Adresse> <Vorname> Max </Vorname> <Nachname> Mustermann </Nachname> <Straße> Sesamstr. </Straße> <Hausnummer> 49a </Hausnummer> <PLZ> 93123 </PLZ> <Ort> Bad Sulzdetfurth </Ort></Adresse>
XML
XML als semistrukturiertes Austauschdatenformat (Vokabular) für beliebige Anwendungen
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
22
XML – Extensible Markup Language■Was XML alles kann
XMLHTML
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
22
XML – Extensible Markup Language■Was XML alles kann
XMLHTML
„HTML sagt Ihnen wie die Informationen aussehensollen, aber XML sagt Ihnen was sie bedeuten.“Quelle: Charles F. Goldfarb, „The XML Handbook“
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
22
XML – Extensible Markup Language■Was XML alles kann
XMLHTML
„HTML sagt Ihnen wie die Informationen aussehensollen, aber XML sagt Ihnen was sie bedeuten.“Quelle: Charles F. Goldfarb, „The XML Handbook“
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
23
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
XML – Extensible Markup Language
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE address SYSTEM "Beispiel.dtd">
<adresse>
<vorname> Max </vorname>
<nachname> Mustermann </nachname>
<straße> Sesamstr. </straße>
<hausnummer> 49a </hausnummer>
<plz prefix=“D“> 93123 </plz>
<ort> Bad Sulzdetfurth </ort>
</adresse>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
23
XML Deklaration
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
XML – Extensible Markup Language
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE address SYSTEM "Beispiel.dtd">
<adresse>
<vorname> Max </vorname>
<nachname> Mustermann </nachname>
<straße> Sesamstr. </straße>
<hausnummer> 49a </hausnummer>
<plz prefix=“D“> 93123 </plz>
<ort> Bad Sulzdetfurth </ort>
</adresse>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
23
XML DTD
XML Deklaration
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
XML – Extensible Markup Language
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE address SYSTEM "Beispiel.dtd">
<adresse>
<vorname> Max </vorname>
<nachname> Mustermann </nachname>
<straße> Sesamstr. </straße>
<hausnummer> 49a </hausnummer>
<plz prefix=“D“> 93123 </plz>
<ort> Bad Sulzdetfurth </ort>
</adresse>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
23
XML Tags
XML DTD
XML Deklaration
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
XML – Extensible Markup Language
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE address SYSTEM "Beispiel.dtd">
<adresse>
<vorname> Max </vorname>
<nachname> Mustermann </nachname>
<straße> Sesamstr. </straße>
<hausnummer> 49a </hausnummer>
<plz prefix=“D“> 93123 </plz>
<ort> Bad Sulzdetfurth </ort>
</adresse>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
23
XML Attribute
XML Tags
XML DTD
XML Deklaration
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
XML – Extensible Markup Language
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE address SYSTEM "Beispiel.dtd">
<adresse>
<vorname> Max </vorname>
<nachname> Mustermann </nachname>
<straße> Sesamstr. </straße>
<hausnummer> 49a </hausnummer>
<plz prefix=“D“> 93123 </plz>
<ort> Bad Sulzdetfurth </ort>
</adresse>
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
24
XML – Extensible Markup Language■ Veranschaulichung von XML-Daten als gerichteter Graph
<adresse>
<vorname> <nachname> <straße> <hausnummer> <plz> <ort>
<xml>
Max Mustermann
Sesamstr.
49a 93123
BadSulzdetfurth
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
25
XML – Deklaration■ XML-Prolog gibt Direktiven zur XML-Kodierung
□version: obligatorische Versionsnummer
□encoding: UTF-8/16/32 …
□standalone: yes/no (wird DTD benötigt?)
<?xml version=“1.0“ encoding=“UTF-8“ standalone=“yes“>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
26
XML – Deklaration■ XML-Referenzen:
□ Angabe des verwendeten XML-DTDs
□ Referenz auf externe Teilmenge (globale URI)
□ Referenz auf interne Teilmenge
<!DOCTYPE name SYSTEM/PUBLIC “URI“>
<!DOCTYPE name [DTD-Definitionen]>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
27
XML – Element■ Beschreibung eines Objekts, das durch passende Markierungen (tags) wie
<vorname> und </vorname> geklammert ist
■ Inhalt eines Elements: Text und/oder weitere Elemente (Unterelemente)
■ Elemente können beliebig geschachtelt sein
■ Leere Elemente: <plz></plz> kurz: <plz/>
<adresse> <vorname> Max </vorname> <nachname> Mustermann </nachname> <straße> Sesamstr. </straße> <hausnummer> 49a </hausnummer> Max Mustermann ist ein fleissiger Student…</adresse>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
27
XML – Element■ Beschreibung eines Objekts, das durch passende Markierungen (tags) wie
<vorname> und </vorname> geklammert ist
■ Inhalt eines Elements: Text und/oder weitere Elemente (Unterelemente)
■ Elemente können beliebig geschachtelt sein
■ Leere Elemente: <plz></plz> kurz: <plz/>
<adresse> <vorname> Max </vorname> <nachname> Mustermann </nachname> <straße> Sesamstr. </straße> <hausnummer> 49a </hausnummer> Max Mustermann ist ein fleissiger Student…</adresse>
Elementadresse
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
27
XML – Element■ Beschreibung eines Objekts, das durch passende Markierungen (tags) wie
<vorname> und </vorname> geklammert ist
■ Inhalt eines Elements: Text und/oder weitere Elemente (Unterelemente)
■ Elemente können beliebig geschachtelt sein
■ Leere Elemente: <plz></plz> kurz: <plz/>
<adresse> <vorname> Max </vorname> <nachname> Mustermann </nachname> <straße> Sesamstr. </straße> <hausnummer> 49a </hausnummer> Max Mustermann ist ein fleissiger Student…</adresse>
Elementadresse
Start-Tag
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
27
XML – Element■ Beschreibung eines Objekts, das durch passende Markierungen (tags) wie
<vorname> und </vorname> geklammert ist
■ Inhalt eines Elements: Text und/oder weitere Elemente (Unterelemente)
■ Elemente können beliebig geschachtelt sein
■ Leere Elemente: <plz></plz> kurz: <plz/>
<adresse> <vorname> Max </vorname> <nachname> Mustermann </nachname> <straße> Sesamstr. </straße> <hausnummer> 49a </hausnummer> Max Mustermann ist ein fleissiger Student…</adresse>
Elementadresse
Start-Tag
End-Tag
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
27
XML – Element■ Beschreibung eines Objekts, das durch passende Markierungen (tags) wie
<vorname> und </vorname> geklammert ist
■ Inhalt eines Elements: Text und/oder weitere Elemente (Unterelemente)
■ Elemente können beliebig geschachtelt sein
■ Leere Elemente: <plz></plz> kurz: <plz/>
<adresse> <vorname> Max </vorname> <nachname> Mustermann </nachname> <straße> Sesamstr. </straße> <hausnummer> 49a </hausnummer> Max Mustermann ist ein fleissiger Student…</adresse>
Elementadresse
Start-Tag
End-Tag
Unterelemente
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
27
XML – Element■ Beschreibung eines Objekts, das durch passende Markierungen (tags) wie
<vorname> und </vorname> geklammert ist
■ Inhalt eines Elements: Text und/oder weitere Elemente (Unterelemente)
■ Elemente können beliebig geschachtelt sein
■ Leere Elemente: <plz></plz> kurz: <plz/>
<adresse> <vorname> Max </vorname> <nachname> Mustermann </nachname> <straße> Sesamstr. </straße> <hausnummer> 49a </hausnummer> Max Mustermann ist ein fleissiger Student…</adresse>
Elementadresse
Start-Tag
End-TagFreitext
Unterelemente
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
28
XML – Attribute■ Name-Zeichenkettenwert-Paar
■ Assoziiert mit einem Element
■ Alternative Möglichkeit, Daten zu beschreiben
<adresse> <vorname> Max </vorname> <nachname> Mustermann </nachname> <ort plz=“01234“> Bad Sulzdetfurth </ort>…
Attribut plz
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
29
Wohlgeformtes und gültiges XML
Max MustermannSesamstr. 49a93123 Bad Sulzdetfurth
Wohlgeformte XML-Dokumente: Syntaktisch korrekt, d.h. alle angefangenen Tags werden wieder geschlossen und sind stets korrekt geschachtelt, keine Mehrfachattribute, nur ein Wurzelelement
<adresse> <vorname> Max </vorname> <nachname> Mustermann </nachname> <straße> Sesamstr. </straße> <hausnummer> 49a </hausnummer> <ort plz=“93123“>Bad Sulzdetfurth</ort></adresse>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
30
Wohlgeformtes und gültiges XML
<adresse> <vorname> Max </vorname> <nachname> Mustermann </nachname> <straße> Sesamstr. </straße> <hausnummer> 49a </hausnummer> <ort plz=“93123“>Bad Sulzdetfurth</ort></adresse>
gültige (valide) XML-Dokumente: wohlgeformt und zu einem assoziierten Schema uneingeschränkt konform
<!ELEMENT adresse (vorname+, nachname, straße, hausnummer, ort)>
<!ELEMENT vorname CDATA><!ELEMENT nachname CDATA><!ELEMENT straße CDATA>….
Document Type Definition (DTD)
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
31Schemata in XML
■ DTD – Document Type Definitions:
□Einfache Grammatik für ein XML-Dokument (EBNF)
□Deklaration von Elementen, Attributen, u.a.
□beschränkt die beliebige Verschachtelung von Elementen und Attributen
□Teil des XML-Standards (“Erbe“ von SGML)
■ XML-Schema:
□Komplexere Datendefinitionssprache
□standardisierte Basistypen, z.B. float, double, decimal, boolean
□Typen und typisierte Objektreferenzen
□Klassenhierarchien / Vererbung
□Konsistenzbedingungen
□Standard (W3C Recommendation) in Ergänzung zu XML
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
32■ Echter Schemamechanismus mit vielen Erweiterungen über DTDs hinaus
■ Benutzt selbst wieder XML-Syntax zur Schemadefinition
<?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:complexType name=“buchtyp“> <xsd:element name=“buch“/> <xsd:attribute name=“ISBN“ type=“xsd:string“ use=“required“/> <xsd:all> <xsd:element name=“titel“ type=“xsd:string“/> <xsd:element name=“subtitel“ type=“xsd:string“ minOccurs=“0“ maxOccurs=“1“/> <xsd:element name=“autor“ type=“xsd:string“ minOccurs=“1“/> <xsd:element name=“preis“ type=“xsd:decimal“/> </xsd:all></xsd:complexType>
</xsd:schema>XML SCHEMA
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
32■ Echter Schemamechanismus mit vielen Erweiterungen über DTDs hinaus
■ Benutzt selbst wieder XML-Syntax zur Schemadefinition
<?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:complexType name=“buchtyp“> <xsd:element name=“buch“/> <xsd:attribute name=“ISBN“ type=“xsd:string“ use=“required“/> <xsd:all> <xsd:element name=“titel“ type=“xsd:string“/> <xsd:element name=“subtitel“ type=“xsd:string“ minOccurs=“0“ maxOccurs=“1“/> <xsd:element name=“autor“ type=“xsd:string“ minOccurs=“1“/> <xsd:element name=“preis“ type=“xsd:decimal“/> </xsd:all></xsd:complexType>
</xsd:schema>XML SCHEMA
XSD Namespace
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
33 XML Schema - Elementdeklaration■ Syntax: <element name=“Name“/>
■ Optionale Zusatzattribute:
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
33 XML Schema - Elementdeklaration■ Syntax: <element name=“Name“/>
■ Optionale Zusatzattribute:
□ Typ
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
33 XML Schema - Elementdeklaration■ Syntax: <element name=“Name“/>
■ Optionale Zusatzattribute:
□ Typ
□ type = “Typ“ atomarer, einfacher oder komplexer Typ
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
33 XML Schema - Elementdeklaration■ Syntax: <element name=“Name“/>
■ Optionale Zusatzattribute:
□ Typ
□ type = “Typ“ atomarer, einfacher oder komplexer Typ
□ Kardinalitäten (Vorgabe [1,1]):
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
33 XML Schema - Elementdeklaration■ Syntax: <element name=“Name“/>
■ Optionale Zusatzattribute:
□ Typ
□ type = “Typ“ atomarer, einfacher oder komplexer Typ
□ Kardinalitäten (Vorgabe [1,1]):
□minOccurs = “x“ x ∈ { 0, 1, n }
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
33 XML Schema - Elementdeklaration■ Syntax: <element name=“Name“/>
■ Optionale Zusatzattribute:
□ Typ
□ type = “Typ“ atomarer, einfacher oder komplexer Typ
□ Kardinalitäten (Vorgabe [1,1]):
□minOccurs = “x“ x ∈ { 0, 1, n }
□maxOccurs = “y“ y ∈ { 1, n, unbounded }
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
33 XML Schema - Elementdeklaration■ Syntax: <element name=“Name“/>
■ Optionale Zusatzattribute:
□ Typ
□ type = “Typ“ atomarer, einfacher oder komplexer Typ
□ Kardinalitäten (Vorgabe [1,1]):
□minOccurs = “x“ x ∈ { 0, 1, n }
□maxOccurs = “y“ y ∈ { 1, n, unbounded }
□Wertvorgaben (schließen sich gegenseitig aus!):
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
33 XML Schema - Elementdeklaration■ Syntax: <element name=“Name“/>
■ Optionale Zusatzattribute:
□ Typ
□ type = “Typ“ atomarer, einfacher oder komplexer Typ
□ Kardinalitäten (Vorgabe [1,1]):
□minOccurs = “x“ x ∈ { 0, 1, n }
□maxOccurs = “y“ y ∈ { 1, n, unbounded }
□Wertvorgaben (schließen sich gegenseitig aus!):□ default = “v“ veränderliche Vorgabe
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
33 XML Schema - Elementdeklaration■ Syntax: <element name=“Name“/>
■ Optionale Zusatzattribute:
□ Typ
□ type = “Typ“ atomarer, einfacher oder komplexer Typ
□ Kardinalitäten (Vorgabe [1,1]):
□minOccurs = “x“ x ∈ { 0, 1, n }
□maxOccurs = “y“ y ∈ { 1, n, unbounded }
□Wertvorgaben (schließen sich gegenseitig aus!):□ default = “v“ veränderliche Vorgabe
□ fixed = “u“ unveränderliche Vorgabe
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
33 XML Schema - Elementdeklaration■ Syntax: <element name=“Name“/>
■ Optionale Zusatzattribute:
□ Typ
□ type = “Typ“ atomarer, einfacher oder komplexer Typ
□ Kardinalitäten (Vorgabe [1,1]):
□minOccurs = “x“ x ∈ { 0, 1, n }
□maxOccurs = “y“ y ∈ { 1, n, unbounded }
□Wertvorgaben (schließen sich gegenseitig aus!):□ default = “v“ veränderliche Vorgabe
□ fixed = “u“ unveränderliche Vorgabe
■ Beispiele:
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
33 XML Schema - Elementdeklaration■ Syntax: <element name=“Name“/>
■ Optionale Zusatzattribute:
□ Typ
□ type = “Typ“ atomarer, einfacher oder komplexer Typ
□ Kardinalitäten (Vorgabe [1,1]):
□minOccurs = “x“ x ∈ { 0, 1, n }
□maxOccurs = “y“ y ∈ { 1, n, unbounded }
□Wertvorgaben (schließen sich gegenseitig aus!):□ default = “v“ veränderliche Vorgabe
□ fixed = “u“ unveränderliche Vorgabe
■ Beispiele:
□<element name=“buch”/>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
33 XML Schema - Elementdeklaration■ Syntax: <element name=“Name“/>
■ Optionale Zusatzattribute:
□ Typ
□ type = “Typ“ atomarer, einfacher oder komplexer Typ
□ Kardinalitäten (Vorgabe [1,1]):
□minOccurs = “x“ x ∈ { 0, 1, n }
□maxOccurs = “y“ y ∈ { 1, n, unbounded }
□Wertvorgaben (schließen sich gegenseitig aus!):□ default = “v“ veränderliche Vorgabe
□ fixed = “u“ unveränderliche Vorgabe
■ Beispiele:
□<element name=“buch”/>
□<element name=“kapitel” minOccurs=“0” maxOccurs=“unbounded”/>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
33 XML Schema - Elementdeklaration■ Syntax: <element name=“Name“/>
■ Optionale Zusatzattribute:
□ Typ
□ type = “Typ“ atomarer, einfacher oder komplexer Typ
□ Kardinalitäten (Vorgabe [1,1]):
□minOccurs = “x“ x ∈ { 0, 1, n }
□maxOccurs = “y“ y ∈ { 1, n, unbounded }
□Wertvorgaben (schließen sich gegenseitig aus!):□ default = “v“ veränderliche Vorgabe
□ fixed = “u“ unveränderliche Vorgabe
■ Beispiele:
□<element name=“buch”/>
□<element name=“kapitel” minOccurs=“0” maxOccurs=“unbounded”/>
□<element name=“subtitel” type=“string” minOccurs=“0”/>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
34
XML Schema - Attributdeklaration■ Syntax: <attribute name=“Name“/>
■ Optionale Zusatzattribute:
□ Typ:
□ type = “Typ“□ Existenz:
□ use = “optional“ Kardinalität [0,1]□ use = “required“ Kardinalität [1,1]
□ Vorgabewerte:
□ use = “default“ value = “v“ veränderliche Vorgabe v□ use = “fixed“ value = “u“ unveränderliche Vorgabe u
□ Beispiele:
□<attribute name=“id” type=“ID” use=“required”/>□<attribute name=“alter” type=“string” use=“optional”/>□<attribute name=“sprache” type=“string” use=“default” value=“de”/>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
35
XML Schema - Elementtypen■ XML-Schema unterscheidet
□ Atomare Typen
□Eingebaute Elementartypen wie int oder string
□ Einfache Typen
□haben weder eingebettete Elemente noch Attribute□in der Regel von atomaren Typen abgeleitet
□ Komplexe Typen
□dürfen Elemente und Attribute besitzen
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
36
XML Schema - Elementtypen■ Atomare Typen
□ XML-Schema unterstützt eine große Menge (>40) interner Basistypen
□Numerisch: byte, short, int, long, float, double, decimal, …□ Zeitangaben: time, date, month, year, timeDuration, …□ Sonstige: string, boolean, uriReference, ID, …
■ Beispiele:
□<element name=“jahr“ type=“year“/>
□<element name=“seitenzahl“ type=“positiveInteger“/>
□<attribute name=“alter“ type=“unsignedShort“/>
□<attribute name=“homepage“ type=“anyURI“/>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
37 XML Schema - Elementtypen■ Einfache Typen
□ von bestehenden Typen können einfache Typen abgeleitet werden:
□ Typdefinition:
□<simpleType name=“autorAlter“ base=“unsignedShort“> <maxInclusive value=“200“/> </simpleType>
□ Dokumentdefinition: <attribute name=“age“ type=“autorAlter“/>
□ einfachen Typen dürfen keine verschachtelten Elemente enthalten!
□ In ähnlicher Weise können Listen definiert werden:
□ Typdefinition: <simpleType name=“autorTyp“ base=“string“ derivedBy=“list“/>
(Name eines Autors als mit Leerzeichen getrennte Liste von Zeichenketten)
□ Dokumentdefinition: <element name=“autor“ type=“autorTyp“/>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
38 XML Schema - Elementtypen■ Komplexe Typen
□ Komplexe Typen dürfen eingebettete Elemente und Attribute besitzen
□ Bsp. Typdefinition:
<complexType name=“autorTyp“>
□ <sequence>
<element name=“vorname“ type=“string“ minOccurs=“0“
maxOccurs=“unbounded“/>
<element name=“nachname“ type=“string“/>
</sequence>
<attribute name=“alter” type=“autorAlter” use=“optional”/>
</complexType>
□Gruppierungs-Bezeichner:□ <sequence> … </sequence> Feste Reihenfolge (a,b)□ <all>… </all> Beliebige Reihenfolge (a,b oder b,a)□ <choice> … </choice> Auswahl (entweder a oder b)
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
39
XML Schema - Elementtypen■Wie definiert man ein leeres Element?
●Bsp.: Telefonnr. soll nur ein Attribut haben und sonst leer sein
<telefonnr nr=“555-9-43221“ />
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
39
XML Schema - Elementtypen■Wie definiert man ein leeres Element?
●Bsp.: Telefonnr. soll nur ein Attribut haben und sonst leer sein
<telefonnr nr=“555-9-43221“ />
<element name=“telefonnr“> <complexType> <attribute name=“nr“ type=“string“/> </complexType></element>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
40
XML Schema - Typhierarchien■ Typdefinition kann ebenfalls erfolgen durch
□ Erweiterung (engl. extension) oder
□Restriktion (engl. restriction) einer bestehenden Typdefinition
■ Alle Typen in XML-Schema sind entweder
□ Atomare Typen (z.B. string) oder
□ Erweiterung bzw. Restriktion bestehender Typen
■ Alle Typen bilden eine Typhierarchie
□ Baum mit Wurzel: Typ Zeichenkette
□ Keine Mehrfachvererbung
■ Typen sind entlang der Typhierarchie abwärtskompatibel:
□ Für Typinstanzen gilt das Substituierbarkeitsprinzip
□ Elemente eines bestimmten Typs akzeptieren auch Daten einer Erweiterung oder Restriktion des geforderten Typs
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
41 XML Schema - Typhierarchien■ Typen können konstruktiv um weitere Elemente oder Attribute zu neuen Typen
erweitert werden
■ Beispiel:
<complexType name=“extendedAutorTyp“>
<extension base=“autorTyp“>
<sequence>
<element name=“email“ type=“string“ minOccurs=“0“ maxOccurs=“1“/> </sequence>
<attribute name=“homepage” type=“string” use=“optional”/>
</extension>
</complexType>
■ Erweitert den zuvor definierten Typ authorType um
□ ein optionales Element email
□ ein optionales Attribut homepage
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
42
XML Schema - Typhierarchien■ Typen können durch die Verschärfung von Zusatzangaben bei Typdefinitionen in
ihrer Wertemenge eingeschränkt werden
■ Beispiele für Restriktionen:
□ Bisher nicht angegebene type-, default- oder fixed-Attribute
□ Verschärfung der Kardinalitäten minOccurs, maxOccurs
■ Substituierbarkeit
□ Menge der Instanzen des eingeschränkten Untertyps muss immer eine Teilmenge des Obertyps sein!
■ Restriktion komplexer Typen
□ Struktur bleibt gleich: es dürfen keine Elemente oder Attribute weggelassen werden
■ Restriktion einfacher Typen
□ Restriktion ist (im Gegensatz zur Erweiterung) auch bei einfachen Typen erlaubt
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
43
XML Schema - Typhierarchien■ Beispiel (Restriktion eines Komplexen Typs):
<complexType name=“restrictedAutorTyp“>
<restriction base=“autorTyp“>
<sequence>
<element name=“vorname“ type=“string“ minOccurs=“0“ maxOccurs=“2“ />
<element name=“nachname“ type=“string“/>
</sequence>
<attribute name=“alter” type=“autorAlter” use=“required ”/>
</restriction>
</complexType>
■ Gegenüber dem ursprünglichen Typ wurde die Anzahl des Elements “vorname“ auf 2 begrenzt und das Attribut “autorAlter“ erzwungen
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
44 XML – NamensräumeXML-Autoren definieren eigene XML Element-Typen (Tags), die global für ein
Dokument gelten
■ XML-Tags mit demselben Namen, aber unterschiedlicher Bedeutung und unterschiedlichen Attributen
Ambiguität und Namenskonflikte
<compactDisk autor=“MisterX"> <titel>Das wohltemperierte Klavier</titel> <track Nummer=“1“> <titel>Fuge Nr. 1</titel> <autor>Johann Sebastian Bach</autor> </track></compactDisk>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
45 XML – NamensräumeXML Namensraum legt eindeutigen Kontext für XML Element-Typ fest
■ definiert Namen, die jeweils bestimmten Schemata zugeordnet werden (Vermeidung von Namenskonflikten)
■ benötigt keine formale Struktur
■ Zerlegung komplexer Strukturen in handhabbare Teilbereiche (vgl. Modulkonzept)
■ Mischung verschiedener Namensräume
■ jeweils eigene Namensräume für Elemente und XML-Entitäten pro Dokument / Dokumentenklasse (Gültigkeitsbereich)
■ jeweils eigener Namensraum für Attribute pro Element (Gültigkeitsbereich)
■ jeweils eigene universelle Namensräume für Fremddaten-Entitäten und Prozessanweisungen
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
46
XML – Namensräume
<cd:compactDisk xmlns:cd = “http://www.uni-jena.de/cd.dtd“ xmlns:tr = “http://www.beispiel.de/track.dtd“ autor=“MisterX“> <cd:titel>Das wohltemperierte Klavier</cd:titel> <tr:track nummer=“1“> <tr:titel>Fuge Nr. 1</tr:titel> <tr:autor>Johann Sebastian Bach</tr:autor> </tr:track></cd:compactDisk>
Namespace Binding
Prefix-Definition
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
47
XML und Semantik■ allgemeine, erweiterbare Meta-Markup-Sprache zur Repräsentation
von semi-strukturierten Daten
■ Aber: woher weiß man, dass <adresse> eine Adresse bezeichnet?
<adresse> <name> <vorname>Harald</vorname> <name>Sack</nachname> </name> <strasse>Ernst-Abbe-Platz</strasse> <hausnummer>2</hausnummer> <plz>07743</plz> <ort>Jena</ort>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
48
XML und Semantik■ XML instantiiert vorgegebene, vom Benutzer frei definierbare
Datentypen (customized tagging scheme)
■ dazu zählen
□ Typfestlegung einfacher (simpler) XML-Elemente
□ syntaktische Definition komplexer XML-Elemente
□ Definition von Eigenschaften (Attributen) von XML-Elementen
□ Definition von einfachen Restriktionen bzgl. XML-Elementtypen
■ Definition der XML-Syntax/Struktur via DTD oder XMLSchema
Fazit:XML bildet die Basis des Semantic Web
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
49 Syntaktische Definition mit XMLSchema■ XML-Schema als Template
□ XMLSchema definiert XML-Elemente (simple/complex), zugehörige Attribute und implementiert Restriktionen (Constraints)
□ XMLSchema implementiert Vererbungskonzept objektorientierter Programmiersprachen
□ XMLSchema erlaubt die Verwendung unterschiedlicher Namensräume □ global einheiltliche Identifikation von XML-Elementen□ Kombination unterschiedlicher XML-Vokabularien
■ XML-Schema als Validator
□ mit XMLSchema Definitionen können XML-Dokumente validiert werden Interoperabilität
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
50
Warum XML alleine noch nicht ausreicht…
<adresse> <name> <vorname>Harald</vorname> <name>Sack</nachname> </name> <strasse>Ernst-Abbe-Platz</strasse> <hausnummer>2</hausnummer> <plz>07743</plz> <ort>Jena</ort></adresse>
<adresse> <name> <firstname>Harald</firstname> <mi>H</mi> <surname>Sack</surname> </name> <street>Ernst-Abbe-Platz</street> <number>2</number> <zip>07743</zip> <city>Jena</city> <state>Thüringen</state></adresse>
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
50
Warum XML alleine noch nicht ausreicht…
<adresse> <name> <vorname>Harald</vorname> <name>Sack</nachname> </name> <strasse>Ernst-Abbe-Platz</strasse> <hausnummer>2</hausnummer> <plz>07743</plz> <ort>Jena</ort></adresse>
<adresse> <name> <firstname>Harald</firstname> <mi>H</mi> <surname>Sack</surname> </name> <street>Ernst-Abbe-Platz</street> <number>2</number> <zip>07743</zip> <city>Jena</city> <state>Thüringen</state></adresse>Sind beide Inhalte miteinander
vereinbar ?
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
51
Warum XML alleine noch nicht ausreicht…
CV
name
education
work
private
< >
< >
< >
< >
< >
Dokument
XML-Dokument mit„sprechenden“ Bezeichnern
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
52
Warum XML alleine noch nicht ausreicht…
Χς
ναµε
εδυχατιον
ωορκ
πριϖατε
< >
< >
< >
< >
< >
Dokument
XML-Dokument mit„sprechenden“ Bezeichnernaus der Sicht des einesProgramms
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
53
Warum XML noch nicht ausreicht…
Χς
ναµε
εδυχατιον
ωορκ
πριϖατε
< >
< >
< >
< >
< >
Dokument 1
Χς
ναµε
εδυχατιον
ωορκ
πριϖατε
< >
< >
< >
< >
< >
Dokument 2
<Χϖ>
<ναµε>…
Schema-Definition
Kommunikationspartner müssen sichüber die Semantik der Metadateneinigen
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
54
Warum XML alleine noch nicht ausreicht…
Χς
εδυχατιον
ωορκ
πριϖατε
< >
< >
< >
Dokument 1
< >
< >
Dokument 2
<Χϖ>
<ναµε>…
SchemaDefinitionen
<>
<>
…
SchemaDefinitionen
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
54
Warum XML alleine noch nicht ausreicht…
Χς
εδυχατιον
ωορκ
πριϖατε
< >
< >
< >
Dokument 1
< >
< >
Dokument 2
<Χϖ>
<ναµε>…
SchemaDefinitionen
<>
<>
…
SchemaDefinitionen
ναµε
< >
< >
< >
< >
< >
Ontologien BeschreibungslogikenRDF / OWL / SWRL
InferenzmechanismenTrust
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
55Warum XML noch nicht ausreicht…
■ Semantik eines XML-Dokuments erschließt sich nur dem menschlichen Benutzer
■ XML = syntaktisch standardisierte Meta-Sprache zur Kommunikation zwischen Systemen und zur Auszeichnung von Daten
■ XML dient der Beschreibung von Daten/Nachrichten im Semantic Web
■ Aber:
□ XML besitzt keine semantische Interoperabilität
□ Es ist stets ein Modell der Umgebung notwendig, d.h. Zusammenarbeit ist dann nur möglich, wenn sich die beteiligten Akteure über die Semantik der verwendeten XML-Syntax geeinigt haben
□ z.B. Agenten in abgeschlossenen homogenen Umgebungen ( WWW ist aber heterogen und dynamisch!)
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Semantic Web Architektur56
URI / IRI
XML / XSDData Interchange: RDF
RDFS
Ontology: OWL Rule: RIF
Query:SPARQL
Proof
Unifying Logic
Cry
pto
Trust
Interface & Application
2. Semantic Web Basisarchitektur2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
5727.10.2009 – Vorlesung Nr. 21 3 4 5 6 7 8 9 1110 12
13
2. Semantic Web BasisarchitekturDie Sprachen des Semantic Web - Teil 1
2.1.Uniform Resource Identifier - URI
2.2.XML und XMLSchema
2.3.Resource Description Framework - RDF
2.4.RDF Schema
2.5.Wie kommt die Semantik ins WWW?
2.6.Abfragesprache SPARQL
2.7.Warum reicht RDF(S) noch nicht aus?
14
Semantic Web - Vorlesungsinhalt
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
58
Literatur
• Ch. Meinel, H. Sack: WWW - Kommunikation, Internetworking, Webtechnologien, Springer, 2004.
2. Semantic Web Basisarchitektur2.1 URIs / 2.2 XML und XMLSchema
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
59
Literatur
□Bloghttp://sewe0910.blogspot.com/
□Materialien-Webseitehttp://www.hpi.uni-potsdam.de/meinel/teaching/semantic_web_ws0910.html
□bibsonomy - Bookmarkshttp://www.bibsonomy.org/user/lysander07/sw0910_02
2. Semantic Web Basisarchitektur2.1 URIs / 2.2 XML und XMLSchema