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