Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

02 URI, XML und XML Schema - Semantic Web Technologien, WS2010/11

on

  • 1,744 views

 

Statistics

Views

Total Views
1,744
Views on SlideShare
1,715
Embed Views
29

Actions

Likes
1
Downloads
72
Comments
0

2 Embeds 29

http://www.yovisto.com 19
http://yovisto.de 10

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

02 URI, XML und XML Schema - Semantic Web Technologien, WS2010/11 02 URI, XML und XML Schema - Semantic Web Technologien, WS2010/11 Presentation Transcript

  • Semantic Web Technologien Vorlesung Dr. Harald Sack Hasso-Plattner-Institut für Softwaresystemtechnik Universität Potsdam Wintersemester 2010/11 Blog zur Vorlesung: http://web-flakes.blogspot.com/ Die nichtkommerzielle Vervielfältigung, Verbreitung und Bearbeitung dieser Folien ist zulässig (Lizenzbestimmungen CC-BY-NC). Montag, 22. November 2010
  • Semantic Web Technologien Vorlesungsinhalt 2 1. Einführung 2. Semantic Web Basisarchitektur Die Sprachen des Semantic Web - Teil 1 3. Wissensrepräsentation und Logik Die Sprachen des Semantic Web - Teil 2 4. Ontology Engineering 5. Linked Data und Semantic Web Anwendungen Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur Die Sprachen des Semantic Web - Teil 1 3 Semantic Web Architektur Interface & Application Trust Proof Unifying Logic Query: Ontology: OWL Rule: RIF Crypto SPARQL RDFS Data Interchange: RDF XML / XSD URI / IRI Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010 View slide
  • 2. Semantic Web Basisarchitektur Die Sprachen des Semantic Web - Teil 1 4 Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010 View slide
  • Semantic Web Technologien Vorlesungsinhalt 5 2. Semantic Web Basisarchitektur Die Sprachen des Semantic Web - Teil 1 2.1. Uniform Resource Identifier - URI 2.2. XML und XMLSchema 2.3. Resource Description Framework - RDF 2.4. RDF Schema 2.5. Wie kommt die Semantik ins WWW? 2.6. Abfragesprache SPARQL 2.7. Warum reicht RDF(S) noch nicht aus? Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.1 Uniform Resource Identifier - URI 6 Uniform Resource Identifier - URI ■ Ein Uniform Resource Identifier (URI) definiert ein einfaches und erweiterbares Schema zur weltweit eindeutigen Identifikation von abstrakten oder physikalischen Ressourcen (RFC 3986). ■ Ressource kann jedes Objekt sein, das (im Kontext der jeweiligen Anwendung) eine klare Identität besitzt, □ also z.B. Webseiten, Bücher, Orte, Personen, Beziehungen zwischen diesen Dingen, abstrakte Konzepte usw. ■ Das URI Konzept ist in verschiedenen Anwendungsbereichen bereits etabliert, □ wie z.B. Web (URL, PRN, pURL), □ Bücher (ISBN), □ Digital Object Identifier (DOI) Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.1 Uniform Resource Identifier - URI 7 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.1 Uniform Resource Identifier - URI 8 Was ist das? Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.1 Uniform Resource Identifier - URI 9 URI - Ressource - Repräsentation URI http://www.tour-eiffel.fr/index.html Ressource identifiziert Eiffelturm repräsentiert Repräsentation Metadaten: Content-type: text/html Data: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Le site officiel de la Tour Eiffel</title> ... </html> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.1 Uniform Resource Identifier - URI 10 Repräsentation und Präsentation Präsentation Repräsentation Metadaten: Content-type: text/html Data: <!DOCTYPE HTML PUBLIC "-//W3C//DTD legt fest HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Le site officiel de la Tour Eiffel</title> ... </html> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.1 Uniform Resource Identifier - URI 11 HTTP Request / Response Browser sendet HTTP Request GET http://www.tour-eiffel.fr/index.html HTTP/1.1 Host: www.tour-eiffel.fr Accept: text/html Benutzer klickt Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.1 Uniform Resource Identifier - URI 12 HTTP Request / Response Browser sendet HTTP Request Web Server verarbeitet GET http://www.tour-eiffel.fr/index.html HTTP/1.1 Anfrage Host: www.tour-eiffel.fr Accept: text/html Browser interpretiert Repräsentation und stellt Präsentation dar Web Server sendet HTTP Response HTTP/1.1 200 OK Content-Length: 3134 Web Server für Content-Type: text/html; charset=utf-8 www.tour-eiffel.fr <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Le site officiel de la Tour Eiffel</title> ... </html> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.1 Uniform Resource Identifier - URI 13 Bezeichner und Bezeichnetes ≠ Web Page beschreibt den Eiffelturm „der Eiffelturm“ Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.1 Uniform Resource Identifier - URI 14 Bezeichner und Bezeichnetes René Megritte: La trahison des images (1928) Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.1 Uniform Resource Identifier - URI 15 Bezeichner und Bezeichnetes Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.1 Uniform Resource Identifier - URI 16 Bezeichner und Bezeichnetes The distinguishing characteristic of [information] resources is that all of their essential characteristics can be conveyed in a message. W3C: Architecture of the World Wide Web, Volume One □ Eine Ressource wird durch ihre Metadaten beschrieben □ Auch wenn eine Ressource nicht vom Web Server zurückgeliefert werden kann, ist eventuell dennoch die Repräsentation einer Ressource verfügbar, die die ursprüngliche Ressource hinreichend beschreibt. Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.1 Uniform Resource Identifier - URI 17 Metadaten • „Metadaten sind Daten, die Informationen über andere Daten enthalten“ und „Metadaten werden benötigt, um in der Lage zu sein, einen bestimmten Zweck zu erfüllen (oder) ein bestimmtes Ergebnis zu erreichen“ (informelle Definition, Wikipedia) • „Metadaten sind strukturierte, kodierte Daten, die Charakteristika informationstragender Entitäten beschreiben, zum Zweck der Identifikation, Recherche, Beurteilung und der Verwaltung der damit beschriebenen Entitäten.“ (W. R. Durrell: Data Administration: A practical Guide to Data Administration. McGraw – Hill, 1985) • „Metadata is machine understandable information about web resources or other things“ (Tim Berners-Lee: Axioms of Web Architecture: Metadata, 1997) Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.1 Uniform Resource Identifier - URI 18 Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.1 Uniform Resource Identifier - URI 18 Metadaten Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.1 Uniform Resource Identifier - URI 19 URI - Ressource - Metadaten Ressource: URI Eiffelturm http://www.tour-eiffel.fr/index.html identifiziert Repräsentation beschreibt Metadaten: Content-type: text/html Data: <!DOCTYPE HTML PUBLIC "-//W3C//DTD repräsentiert Ressource: HTML 4.01 Transitional//EN" Information über Eiffelturm "http://www.w3.org/TR/html4/loose.dtd"> den Eiffelturm <html> Metadaten <head> <title>Le site officiel de la Tour Eiffel</title> ... </html> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.1 Uniform Resource Identifier - URI 20 Uniform Resource Identifier - URI ■ URI umfasst sowohl □ Adressangaben (Locator) □ Uniform Resource Locator (URL, RFC 1738) □ gibt an, wo eine Web-Ressource zu finden ist, indem ihr primärer Zugriffsmechanismus beschrieben wird □ kann sich im Lebenszyklus der Web-Ressource ändern □ Identitätsbezeichner (Namen) □ Uniform Resource Name (URN, RFC 2141) □ persistenter Bezeichner für eine Web-Ressource □ bleibt für die gesamte Lebensdauer konstant Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.1 Uniform Resource Identifier - URI 21 URI - Generische Syntax ■ US-ASCII Encoding ■ Percent Encoding für reservierte Zeichen, oder Zeichen, die nicht im US-ASCII Encoding existieren pct-encoded = "%" HEXDIG HEXDIG ■ Reservierte Zeichen mit funktionalen Aufgaben reserved = gen-delims / sub-delims gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@“ sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" ■ Erlaubte Zeichen unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" ■ Erweiterung auf Universal Character Code (Unicode/ISO 10646) □ Internationalized Resource Identifier (IRI, RFC 3987) Bsp.: Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.1 Uniform Resource Identifier - URI 22 URI - Generische Syntax URI = schema"://"[userinfo"@"]host[:port][path]["?"query]["#"fragment] ■ schema: z.B. http, ftp, mailto,... ■ userinfo: z.B. username:password ■ host: z.B. Domain-Name, IPv4/IPv6-Adressen ■ port: z.B. 80 für Standard http-Port ■ path: z.B. Pfadangabe im WWW-Server Filesystem ■ query: z.B. Parameter, die an Anwendung weitergegeben werden ■ fragment: z.B. Angabe eines bestimmten Dokumententeilbereichs Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.1 Uniform Resource Identifier - URI 23 Sonderfall Medienfragmente ■ Multimedia-Ressourcen besitzen zeitliche (temporale) und räumliche (spatiale) Dimension ■ Punktgenauer Zugriff via URI Fragmentidentifier (W3C Media Fragments URI 1.0, Juli 2009, Working Draft) ■ Bsp.: http://www.example.com/example.ogg#track=‘audio‘ http://www.example.com/example.ogg#track=‘audio‘&t=10s,20s http://www.example.com/example.ogg#track=‘video‘&xywh=160,120,320,240 ■ Konsequenzen für Behandlung durch Client und Server, d.h. Änderungen an http- Protokoll werden ebenfalls notwendig Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.1 Uniform Resource Identifier - URI 24 URIs im Semantic Web ■ Was tun, wenn eine URI für eine Ressource noch nicht existiert? ■ Selbstdefinierte URIs □ Zur Vermeidung von Überschneidungen  Nutzung der eigenen Website □ Ermöglicht auch Ablage von zugehöriger Dokumentation an gleicher Stelle ( Content Negotiation) ■ Trennung von URI für Ressource (Beschriebenes) und deren Dokumentation (Beschreibendes) durch URI-Referenzen (durch "#" angehängte Fragmente) oder Content Negotiation z.B.: http://hpi.ui-potsdam.de/harald_foaf.rdf#me Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • Semantic Web Technologien Vorlesungsinhalt 25 2. Semantic Web Basisarchitektur Die Sprachen des Semantic Web - Teil 1 2.1. Uniform Resource Identifier - URI 2.2. XML und XMLSchema 2.3. Resource Description Framework - RDF 2.4. RDF Schema 2.5. Wie kommt die Semantik ins WWW? 2.6. Abfragesprache SPARQL 2.7. Warum reicht RDF(S) noch nicht aus? Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 26 Warum HTML alleine noch nicht ausreicht ■ HTML diente ursprünglich zur Beschreibung der Struktur eines Hypermedia-Dokuments ■ Browser-Wars – Browser-Hersteller (Netscape/MS) definierten eigenständig proprietäre Erweiterungen der HTML-Syntax zur Formatierung von Strukturelementen □ z.B. Tabellen mit absoluten Maßangaben □ z.B. Schrifttyp, Schriftauszeichnungen, Schriftgröße, Farbe, etc… ■ Problem: Formatierung vs. Semantik <td width="261"> <font color="#00ff00" face="Arial, Helvetica, sans-serif" size==“+1“> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 26 Warum HTML alleine noch nicht ausreicht ■ HTML diente ursprünglich zur Beschreibung der Struktur eines Hypermedia-Dokuments ■ Browser-Wars – Browser-Hersteller (Netscape/MS) definierten eigenständig proprietäre Erweiterungen der HTML-Syntax zur Formatierung von Strukturelementen □ z.B. Tabellen mit absoluten Maßangaben □ z.B. Schrifttyp, Schriftauszeichnungen, Schriftgröße, Farbe, etc… ■ Problem: Formatierung vs. Semantik <td width="261"> Te xt <font color="#00ff00" face="Arial, Helvetica, sans-serif" e tt er size==“+1“> f Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 27 Semantik und HTML ■ Meta-Tags können zusätzliche Semantik in das HTML-Dokument einbringen <meta name="description" content="Homepage of Dr. Harald Sack, … “> <meta name="keywords" content="homepage teaching … “> <meta name="Autor" content="Harald Sack"> ■ Problem: □ Erweiterungen nicht standardisiert □ leicht manipulierbar --> Missbrauch Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 28 Semantik und HTML ■ Semantik der Meta-Tags beruht ausschließlich auf der privaten Vereinbarung zwischen Informationsanbieter und Informationskonsumenten <meta name=“PLZ" content=“07743“> <meta name=“Ort" content=“Jena“> <meta name=“Strasse" content=“Ernst-Abbe-Platz“> <meta name=„Hausnummer" content=“2"> ■ Problem: □ Syntax und Semantik gilt nur für spezielle Vereinbarung Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 28 Semantik und HTML ■ Semantik der Meta-Tags beruht ausschließlich auf der privaten Vereinbarung zwischen Informationsanbieter und Informationskonsumenten <meta name=“PLZ" content=“07743“> <meta name=“Ort" content=“Jena“> <meta name=“Strasse" content=“Ernst-Abbe-Platz“> <meta name=„Hausnummer" content=“2"> ■ Problem: □ Syntax und Semantik gilt nur für spezielle Vereinbarung Fazit: HTML war zwar für das immense Wachstumstempo des WWW mitverantwortlich, behindert aber dessen Weiterentwicklung Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 29 µformats -- Microformate ■ XHTML Markup, mit dem es möglich ist, (in einem begrenzten Umfang) Semantik in einem HTML-Dokument auszudrücken ■ Anwendungen können leichter Daten aus HTML-Dokumenten extrahieren ■ Verwendung in folgenden XHTML-Tag Attributen: □ class □ rel □ rev ■ Vordefinierte Standard-Microformate: □ hCard - Personendaten ( vCard, RFC2426) □ hCalender – Events □ rel-Tag – social tagging □ XFN – XHTML Friends Network □… Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 30 µFormats -- Microformate ■ Beispiel: <span class="vcard"> <span class="fn">Joe Blow</span> <span class="org">The Example Company</span> <span class="tel">604-555-1234</span> <a class="url" href="http://example.com/"> http://example.com/</a> </span> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 31 Semantic Web Architektur Interface & Application Trust Proof Unifying Logic Query: Ontology: OWL Rule: RIF Crypto SPARQL RDFS Data Interchange: RDF XML / XSD URI / IRI Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 32 Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 33 XML – Extensible Markup Language ■ Was XML alles kann □ XML gestattet die Definition beliebiger neuer Tags (Metasprache zur Definition neuer Markupsprachen) □ die Definition neuer Tags erfolgt in einem speziellen Dokument, der Document Type Definition (DTD) / XML Schema Definition kann von einem Anwendungsprogramm, das die + XML-DTD/XML-XSD versteht, korrekt verarbeitet werden XML-Dokumenteninstanz XML-DTD XML-XSD Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 34 XML Timeline XQuery XLink (2004) (1999) OWL XSD (2008) RDFS RDFa XHTML 1.0 (1998) (2008) RDF SPARQL 1970 1980 1990 1995 2000 x GML SGML HTML 3.2 CSS 2.0 SMIL OWL2 (ISO8879 1986) (2009) CSS 1.0 HTML 4.0 MathML HTML 1.0 XSLT/XPath XML 1.0 (1998) GRDDL (2007) Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 35 XML – Extensible Markup Language ■ Was XML alles kann <h2> Max Mustermann </h2> <p> Sesamstr. 49a <br> <b>93123 Bad Sulzdetfurth </b> </p> HTML Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 35 XML – Extensible Markup Language ■ Was XML alles kann <h2> <Adresse> Max Mustermann <Vorname> Max </Vorname> </h2> <Nachname> Mustermann </Nachname> <Straße> Sesamstr. </Straße> <p> <Hausnummer> 49a </Hausnummer> Sesamstr. 49a <br> <PLZ> 93123 </PLZ> <b>93123 Bad Sulzdetfurth </b> <Ort> Bad Sulzdetfurth </Ort> </p> </Adresse> HTML XML XML als semistrukturiertes Austauschdatenformat (Vokabular) für beliebige Anwendungen Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 36 XML – Extensible Markup Language ■ Was XML alles kann HTML XML Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 36 XML – Extensible Markup Language ■ Was XML alles kann „HTML sagt Ihnen wie die Informationen aussehen sollen, aber XML sagt Ihnen was sie bedeuten.“ HTML XML Quelle: Charles F. Goldfarb, „The XML Handbook“ Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 36 XML – Extensible Markup Language ■ Was XML alles kann „HTML sagt Ihnen wie die Informationen aussehen sollen, aber XML sagt Ihnen was sie bedeuten.“ HTML XML Quelle: Charles F. Goldfarb, „The XML Handbook“ Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 37 XML – Extensible Markup Language <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE address SYSTEM "Beispiel.dtd"> <adresse> <vorname> Max </vorname> <nachname> Mustermann </nachname> <straße> Sesamstr. </straße> <hausnummer> 49a </hausnummer> <plz prefix=“D“> 93123 </plz> <ort> Bad Sulzdetfurth </ort> </adresse> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 37 XML – Extensible Markup Language <?xml version="1.0" encoding="iso-8859-1"?> XML Deklaration <!DOCTYPE address SYSTEM "Beispiel.dtd"> <adresse> <vorname> Max </vorname> <nachname> Mustermann </nachname> <straße> Sesamstr. </straße> <hausnummer> 49a </hausnummer> <plz prefix=“D“> 93123 </plz> <ort> Bad Sulzdetfurth </ort> </adresse> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 37 XML – Extensible Markup Language <?xml version="1.0" encoding="iso-8859-1"?> XML Deklaration <!DOCTYPE address SYSTEM "Beispiel.dtd"> <adresse> XML DTD <vorname> Max </vorname> <nachname> Mustermann </nachname> <straße> Sesamstr. </straße> <hausnummer> 49a </hausnummer> <plz prefix=“D“> 93123 </plz> <ort> Bad Sulzdetfurth </ort> </adresse> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 37 XML – Extensible Markup Language <?xml version="1.0" encoding="iso-8859-1"?> XML Deklaration <!DOCTYPE address SYSTEM "Beispiel.dtd"> <adresse> XML DTD <vorname> Max </vorname> <nachname> Mustermann </nachname> XML Tags <straße> Sesamstr. </straße> <hausnummer> 49a </hausnummer> <plz prefix=“D“> 93123 </plz> <ort> Bad Sulzdetfurth </ort> </adresse> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 37 XML – Extensible Markup Language <?xml version="1.0" encoding="iso-8859-1"?> XML Deklaration <!DOCTYPE address SYSTEM "Beispiel.dtd"> <adresse> XML DTD <vorname> Max </vorname> <nachname> Mustermann </nachname> XML Tags <straße> Sesamstr. </straße> <hausnummer> 49a </hausnummer> <plz prefix=“D“> 93123 </plz> XML Attribute <ort> Bad Sulzdetfurth </ort> </adresse> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 38 XML – Extensible Markup Language ■ Veranschaulichung von XML-Daten als gerichteter Graph <xml> <adresse> <vorname> <nachname> <straße> <hausnummer> <plz> <ort> Max Mustermann 49a 93123 Sesamstr. Bad Sulzdetfurth Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 39 XML – Deklaration ■ XML-Prolog gibt Direktiven zur XML-Kodierung □ version: obligatorische Versionsnummer □ encoding: UTF-8/16/32 … □ standalone: yes/no (wird DTD benötigt?) <?xml version=“1.0“ encoding=“UTF-8“ standalone=“yes“> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 40 XML – Deklaration ■ XML-Referenzen: □ Angabe des verwendeten XML-DTDs □ Referenz auf externe Teilmenge (globale URI) <!DOCTYPE name SYSTEM/PUBLIC “URI“> □ Referenz auf interne Teilmenge <!DOCTYPE name [DTD-Definitionen]> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 41 XML – Element ■ Beschreibung eines Objekts, das durch passende Markierungen (tags) wie <vorname> und </vorname> geklammert ist ■ Inhalt eines Elements: Text und/oder weitere Elemente (Unterelemente) ■ Elemente können beliebig geschachtelt sein ■ Leere Elemente: <plz></plz> kurz: <plz/> <adresse> <vorname> Max </vorname> <nachname> Mustermann </nachname> <straße> Sesamstr. </straße> <hausnummer> 49a </hausnummer> Max Mustermann ist ein fleissiger Student… </adresse> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 41 XML – Element ■ Beschreibung eines Objekts, das durch passende Markierungen (tags) wie <vorname> und </vorname> geklammert ist ■ Inhalt eines Elements: Text und/oder weitere Elemente (Unterelemente) ■ Elemente können beliebig geschachtelt sein ■ Leere Elemente: <plz></plz> kurz: <plz/> <adresse> <vorname> Max </vorname> <nachname> Mustermann </nachname> <straße> Sesamstr. </straße> Element <hausnummer> 49a </hausnummer> adresse Max Mustermann ist ein fleissiger Student… </adresse> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 41 XML – Element ■ Beschreibung eines Objekts, das durch passende Markierungen (tags) wie <vorname> und </vorname> geklammert ist ■ Inhalt eines Elements: Text und/oder weitere Elemente (Unterelemente) ■ Elemente können beliebig geschachtelt sein ■ Leere Elemente: <plz></plz> kurz: <plz/> Start-Tag <adresse> <vorname> Max </vorname> <nachname> Mustermann </nachname> <straße> Sesamstr. </straße> Element <hausnummer> 49a </hausnummer> adresse Max Mustermann ist ein fleissiger Student… </adresse> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 41 XML – Element ■ Beschreibung eines Objekts, das durch passende Markierungen (tags) wie <vorname> und </vorname> geklammert ist ■ Inhalt eines Elements: Text und/oder weitere Elemente (Unterelemente) ■ Elemente können beliebig geschachtelt sein ■ Leere Elemente: <plz></plz> kurz: <plz/> Start-Tag <adresse> <vorname> Max </vorname> <nachname> Mustermann </nachname> <straße> Sesamstr. </straße> Element <hausnummer> 49a </hausnummer> adresse Max Mustermann ist ein fleissiger Student… </adresse> End-Tag Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 41 XML – Element ■ Beschreibung eines Objekts, das durch passende Markierungen (tags) wie <vorname> und </vorname> geklammert ist ■ Inhalt eines Elements: Text und/oder weitere Elemente (Unterelemente) ■ Elemente können beliebig geschachtelt sein ■ Leere Elemente: <plz></plz> kurz: <plz/> Start-Tag <adresse> <vorname> Max </vorname> <nachname> Mustermann </nachname> Unterelemente Element <straße> Sesamstr. </straße> <hausnummer> 49a </hausnummer> adresse Max Mustermann ist ein fleissiger Student… </adresse> End-Tag Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 41 XML – Element ■ Beschreibung eines Objekts, das durch passende Markierungen (tags) wie <vorname> und </vorname> geklammert ist ■ Inhalt eines Elements: Text und/oder weitere Elemente (Unterelemente) ■ Elemente können beliebig geschachtelt sein ■ Leere Elemente: <plz></plz> kurz: <plz/> Start-Tag <adresse> <vorname> Max </vorname> <nachname> Mustermann </nachname> Unterelemente Element <straße> Sesamstr. </straße> <hausnummer> 49a </hausnummer> adresse Freitext Max Mustermann ist ein fleissiger Student… </adresse> End-Tag Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 42 XML – Attribute ■ Name-Zeichenkettenwert-Paar ■ Assoziiert mit einem Element ■ Alternative Möglichkeit, Daten zu beschreiben <adresse> <vorname> Max </vorname> <nachname> Mustermann </nachname> <ort plz=“01234“> Bad Sulzdetfurth </ort> … Attribut plz Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 43 Wohlgeformtes und gültiges XML Max Mustermann <adresse> Sesamstr. 49a <vorname> Max </vorname> 93123 Bad Sulzdetfurth <nachname> Mustermann </nachname> <straße> Sesamstr. </straße> <hausnummer> 49a </hausnummer> <ort plz=“93123“>Bad Sulzdetfurth</ort> </adresse> Wohlgeformte XML-Dokumente: Syntaktisch korrekt, d.h. alle angefangenen Tags werden wieder geschlossen und sind stets korrekt geschachtelt, keine Mehrfachattribute, nur ein Wurzelelement Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 44 Wohlgeformtes und gültiges XML <!ELEMENT adresse (vorname+, <adresse> nachname, strasse, hausnummer, <vorname> Max </vorname> ort)> <nachname> Mustermann </nachname> <straße> Sesamstr. </straße> <!ELEMENT vorname CDATA> <hausnummer> 49a </hausnummer> <!ELEMENT nachname CDATA> <ort plz=“93123“>Bad Sulzdetfurth</ort> <!ELEMENT straße CDATA> </adresse> …. Document Type Definition (DTD) gültige (valide) XML-Dokumente: wohlgeformt und zu einem assoziierten Schema uneingeschränkt konform Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 45 Schemata in XML ■ DTD – Document Type Definitions: □ Einfache Grammatik für ein XML-Dokument (EBNF) □ Deklaration von Elementen, Attributen, u.a. □ beschränkt die beliebige Verschachtelung von Elementen und Attributen □ Teil des XML-Standards (“Erbe“ von SGML) ■ XML-Schema: □ Komplexere Datendefinitionssprache □ standardisierte Basistypen, z.B. float, double, decimal, boolean □ Typen und typisierte Objektreferenzen □ Klassenhierarchien / Vererbung □ Konsistenzbedingungen □ Standard (W3C Recommendation) in Ergänzung zu XML Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 46 ■ Echter Schemamechanismus mit vielen Erweiterungen über DTDs hinaus ■ Benutzt selbst wieder XML-Syntax zur Schemadefinition <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:complexType name=“buchtyp“> <xsd:element name=“buch“/> <xsd:attribute name=“ISBN“ type=“xsd:string“ use=“required“/> <xsd:all> <xsd:element name=“titel“ type=“xsd:string“/> <xsd:element name=“subtitel“ type=“xsd:string“ minOccurs=“0“ maxOccurs=“1“/> <xsd:element name=“autor“ type=“xsd:string“ minOccurs=“1“/> <xsd:element name=“preis“ type=“xsd:decimal“/> </xsd:all> </xsd:complexType> </xsd:schema> XML SCHEMA Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 46 ■ Echter Schemamechanismus mit vielen Erweiterungen über DTDs hinaus ■ Benutzt selbst wieder XML-Syntax zur Schemadefinition XSD Namespace <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:complexType name=“buchtyp“> <xsd:element name=“buch“/> <xsd:attribute name=“ISBN“ type=“xsd:string“ use=“required“/> <xsd:all> <xsd:element name=“titel“ type=“xsd:string“/> <xsd:element name=“subtitel“ type=“xsd:string“ minOccurs=“0“ maxOccurs=“1“/> <xsd:element name=“autor“ type=“xsd:string“ minOccurs=“1“/> <xsd:element name=“preis“ type=“xsd:decimal“/> </xsd:all> </xsd:complexType> </xsd:schema> XML SCHEMA Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 47 XML Schema - Elementdeklaration ■ Syntax: <element name=“Name“/> ■ Optionale Zusatzattribute: Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 47 XML Schema - Elementdeklaration ■ Syntax: <element name=“Name“/> ■ Optionale Zusatzattribute: □ Typ Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 47 XML Schema - Elementdeklaration ■ Syntax: <element name=“Name“/> ■ Optionale Zusatzattribute: □ Typ □ type = “Typ“ atomarer, einfacher oder komplexer Typ Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 47 XML Schema - Elementdeklaration ■ Syntax: <element name=“Name“/> ■ Optionale Zusatzattribute: □ Typ □ type = “Typ“ atomarer, einfacher oder komplexer Typ □ Kardinalitäten (Vorgabe [1,1]): Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 47 XML Schema - Elementdeklaration ■ Syntax: <element name=“Name“/> ■ Optionale Zusatzattribute: □ Typ □ type = “Typ“ atomarer, einfacher oder komplexer Typ □ Kardinalitäten (Vorgabe [1,1]): □ minOccurs = “x“ x ∈ { 0, 1, n } Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 47 XML Schema - Elementdeklaration ■ Syntax: <element name=“Name“/> ■ Optionale Zusatzattribute: □ Typ □ type = “Typ“ atomarer, einfacher oder komplexer Typ □ Kardinalitäten (Vorgabe [1,1]): □ minOccurs = “x“ x ∈ { 0, 1, n } □ maxOccurs = “y“ y ∈ { 1, n, unbounded } Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 47 XML Schema - Elementdeklaration ■ Syntax: <element name=“Name“/> ■ Optionale Zusatzattribute: □ Typ □ type = “Typ“ atomarer, einfacher oder komplexer Typ □ Kardinalitäten (Vorgabe [1,1]): □ minOccurs = “x“ x ∈ { 0, 1, n } □ maxOccurs = “y“ y ∈ { 1, n, unbounded } □ Wertvorgaben (schließen sich gegenseitig aus!): Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 47 XML Schema - Elementdeklaration ■ Syntax: <element name=“Name“/> ■ Optionale Zusatzattribute: □ Typ □ type = “Typ“ atomarer, einfacher oder komplexer Typ □ Kardinalitäten (Vorgabe [1,1]): □ minOccurs = “x“ x ∈ { 0, 1, n } □ maxOccurs = “y“ y ∈ { 1, n, unbounded } □ Wertvorgaben (schließen sich gegenseitig aus!): □ default = “v“ veränderliche Vorgabe Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 47 XML Schema - Elementdeklaration ■ Syntax: <element name=“Name“/> ■ Optionale Zusatzattribute: □ Typ □ type = “Typ“ atomarer, einfacher oder komplexer Typ □ Kardinalitäten (Vorgabe [1,1]): □ minOccurs = “x“ x ∈ { 0, 1, n } □ maxOccurs = “y“ y ∈ { 1, n, unbounded } □ Wertvorgaben (schließen sich gegenseitig aus!): □ default = “v“ veränderliche Vorgabe □ fixed = “u“ unveränderliche Vorgabe Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 47 XML Schema - Elementdeklaration ■ Syntax: <element name=“Name“/> ■ Optionale Zusatzattribute: □ Typ □ type = “Typ“ atomarer, einfacher oder komplexer Typ □ Kardinalitäten (Vorgabe [1,1]): □ minOccurs = “x“ x ∈ { 0, 1, n } □ maxOccurs = “y“ y ∈ { 1, n, unbounded } □ Wertvorgaben (schließen sich gegenseitig aus!): □ default = “v“ veränderliche Vorgabe □ fixed = “u“ unveränderliche Vorgabe ■ Beispiele: Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 47 XML Schema - Elementdeklaration ■ Syntax: <element name=“Name“/> ■ Optionale Zusatzattribute: □ Typ □ type = “Typ“ atomarer, einfacher oder komplexer Typ □ Kardinalitäten (Vorgabe [1,1]): □ minOccurs = “x“ x ∈ { 0, 1, n } □ maxOccurs = “y“ y ∈ { 1, n, unbounded } □ Wertvorgaben (schließen sich gegenseitig aus!): □ default = “v“ veränderliche Vorgabe □ fixed = “u“ unveränderliche Vorgabe ■ Beispiele: □ <element name=“buch”/> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 47 XML Schema - Elementdeklaration ■ Syntax: <element name=“Name“/> ■ Optionale Zusatzattribute: □ Typ □ type = “Typ“ atomarer, einfacher oder komplexer Typ □ Kardinalitäten (Vorgabe [1,1]): □ minOccurs = “x“ x ∈ { 0, 1, n } □ maxOccurs = “y“ y ∈ { 1, n, unbounded } □ Wertvorgaben (schließen sich gegenseitig aus!): □ default = “v“ veränderliche Vorgabe □ fixed = “u“ unveränderliche Vorgabe ■ Beispiele: □ <element name=“buch”/> □ <element name=“kapitel” minOccurs=“0” maxOccurs=“unbounded”/> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 47 XML Schema - Elementdeklaration ■ Syntax: <element name=“Name“/> ■ Optionale Zusatzattribute: □ Typ □ type = “Typ“ atomarer, einfacher oder komplexer Typ □ Kardinalitäten (Vorgabe [1,1]): □ minOccurs = “x“ x ∈ { 0, 1, n } □ maxOccurs = “y“ y ∈ { 1, n, unbounded } □ Wertvorgaben (schließen sich gegenseitig aus!): □ default = “v“ veränderliche Vorgabe □ fixed = “u“ unveränderliche Vorgabe ■ Beispiele: □ <element name=“buch”/> □ <element name=“kapitel” minOccurs=“0” maxOccurs=“unbounded”/> □ <element name=“subtitel” type=“string” minOccurs=“0”/> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 48 XML Schema - Attributdeklaration ■ Syntax: <attribute name=“Name“/> ■ Optionale Zusatzattribute: □ Typ: □ type = “Typ“ □ Existenz: □ use = “optional“ Kardinalität [0,1] □ use = “required“ Kardinalität [1,1] □ Vorgabewerte: □ use = “default“ value = “v“ veränderliche Vorgabe v □ use = “fixed“ value = “u“ unveränderliche Vorgabe u □ Beispiele: □ <attribute name=“id” type=“ID” use=“required”/> □ <attribute name=“alter” type=“string” use=“optional”/> □ <attribute name=“sprache” type=“string” use=“default” value=“de”/> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 49 XML Schema - Elementtypen ■ XML-Schema unterscheidet □ Atomare Typen □Eingebaute Elementartypen wie int oder string □ Einfache Typen □haben weder eingebettete Elemente noch Attribute □in der Regel von atomaren Typen abgeleitet □ Komplexe Typen □dürfen Elemente und Attribute besitzen Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 50 XML Schema - Elementtypen ■ Atomare Typen □ XML-Schema unterstützt eine große Menge (>40) interner Basistypen □ Numerisch: byte, short, int, long, float, double, decimal, … □ Zeitangaben: time, date, month, year, timeDuration, … □ Sonstige: string, boolean, uriReference, ID, … ■ Beispiele: □ <element name=“jahr“ type=“year“/> □ <element name=“seitenzahl“ type=“positiveInteger“/> □ <attribute name=“alter“ type=“unsignedShort“/> □ <attribute name=“homepage“ type=“anyURI“/> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 51 XML Schema - Elementtypen ■ Einfache Typen □ von bestehenden Typen können einfache Typen abgeleitet werden: □ Typdefinition: □<simpleType name=“autorAlter“ base=“unsignedShort“> <maxInclusive value=“200“/> </simpleType> □ Dokumentdefinition: <attribute name=“age“ type=“autorAlter“/> □ einfache Typen dürfen keine verschachtelten Elemente enthalten! Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 52 XML Schema - Elementtypen ■ Komplexe Typen □ Komplexe Typen dürfen eingebettete Elemente und Attribute besitzen □ Bsp. Typdefinition: <complexType name=“autorTyp“> <sequence> <element name=“vorname“ type=“string“ minOccurs=“0“ maxOccurs=“unbounded“/> <element name=“nachname“ type=“string“/> </sequence> <attribute name=“alter” type=“autorAlter” use=“optional”/> </complexType> □ Gruppierungs-Bezeichner: □ <sequence> … </sequence> Feste Reihenfolge (a,b) □ <all>… </all> Beliebige Reihenfolge (a,b oder b,a) □ <choice> … </choice> Auswahl (entweder a oder b) Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 53 XML Schema - Elementtypen ■ Wie definiert man ein leeres Element? ● Bsp.: Telefonnr. soll nur ein Attribut haben und sonst leer sein <telefonnr nr=“555-9-43221“ /> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 53 XML Schema - Elementtypen ■ Wie definiert man ein leeres Element? ● Bsp.: Telefonnr. soll nur ein Attribut haben und sonst leer sein <telefonnr nr=“555-9-43221“ /> <element name=“telefonnr“> <complexType> <attribute name=“nr“ type=“string“/> </complexType> </element> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 54 XML Schema - Typhierarchien ■ Typdefinition kann ebenfalls erfolgen durch □ Erweiterung (engl. extension) oder □ Restriktion (engl. restriction) einer bestehenden Typdefinition ■ Alle Typen in XML-Schema sind entweder □ Atomare Typen (z.B. string) oder □ Erweiterung bzw. Restriktion bestehender Typen ■ Alle Typen bilden eine Typhierarchie □ Baum mit Wurzel: Typ Zeichenkette □ Keine Mehrfachvererbung ■ Typen sind entlang der Typhierarchie abwärtskompatibel: □ Für Typinstanzen gilt das Substituierbarkeitsprinzip □ Elemente eines bestimmten Typs akzeptieren auch Daten einer Erweiterung oder Restriktion des geforderten Typs Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 55 XML Schema - Typhierarchien ■ Typen können konstruktiv um weitere Elemente oder Attribute zu neuen Typen erweitert werden ■ Beispiel: <complexType name=“extendedAutorTyp“> <extension base=“autorTyp“> <sequence> <element name=“email“ type=“string“ minOccurs=“0“ maxOccurs=“1“/> </sequence> <attribute name=“homepage” type=“string” use=“optional”/> </extension> </complexType> ■ Erweitert den zuvor definierten Typ authorType um □ ein optionales Element email □ ein optionales Attribut homepage Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 56 XML Schema - Typhierarchien ■ Typen können durch die Verschärfung von Zusatzangaben bei Typdefinitionen in ihrer Wertemenge eingeschränkt werden ■ Beispiele für Restriktionen: □ Bisher nicht angegebene type-, default- oder fixed-Attribute □ Verschärfung der Kardinalitäten minOccurs, maxOccurs ■ Substituierbarkeit □ Menge der Instanzen des eingeschränkten Untertyps muss immer eine Teilmenge des Obertyps sein! ■ Restriktion komplexer Typen □ Struktur bleibt gleich: es dürfen keine Elemente oder Attribute weggelassen werden ■ Restriktion einfacher Typen □ Restriktion ist (im Gegensatz zur Erweiterung) auch bei einfachen Typen erlaubt Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 57 XML Schema - Typhierarchien ■ Beispiel (Restriktion eines Komplexen Typs): <complexType name=“restrictedAutorTyp“> <restriction base=“autorTyp“> <sequence> <element name=“vorname“ type=“string“ minOccurs=“0“ maxOccurs=“2“ /> <element name=“nachname“ type=“string“/> </sequence> <attribute name=“alter” type=“autorAlter” use=“required ”/> </restriction> </complexType> ■ Gegenüber dem ursprünglichen Typ wurde die Anzahl des Elements “vorname“ auf 2 begrenzt und das Attribut “autorAlter“ erzwungen Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 58 XML – Namensräume XML-Autoren definieren eigene XML Element-Typen (Tags), die global für ein Dokument gelten ■ XML-Tags mit demselben Namen, aber unterschiedlicher Bedeutung und unterschiedlichen Attributen Ambiguität und Namenskonflikte <compactDisk autor=“MisterX"> <titel>Das wohltemperierte Klavier</titel> <track Nummer=“1“> <titel>Fuge Nr. 1</titel> <autor>Johann Sebastian Bach</autor> </track> </compactDisk> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 59 XML – Namensräume XML Namensraum legt eindeutigen Kontext für XML Element-Typ fest ■ definiert Namen, die jeweils bestimmten Schemata zugeordnet werden (Vermeidung von Namenskonflikten) ■ benötigt keine formale Struktur ■ Zerlegung komplexer Strukturen in handhabbare Teilbereiche (vgl. Modulkonzept) <html xmlns="http://www.w3.org/1999/xhtml"> ... restliche HTML-Datei </html> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 60 XML – Namensräume XML Namensraum legt eindeutigen Kontext für XML Element-Typ fest ■ definiert Namen, die jeweils bestimmten Schemata zugeordnet werden (Vermeidung von Namenskonflikten) ■ benötigt keine formale Struktur ■ Zerlegung komplexer Strukturen in handhabbare Teilbereiche (vgl. Modulkonzept) ■ Mischung verschiedener Namensräume <html xmlns="http://www.w3.org/1999/xhtml"> ... XHTML-Elemente <math xmlns="http://www.w3.org/1998/Math/MathML"> ... MathML-Elemente </math> ... XHTML-Elemente </html> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 61 XML – Namensräume Namespace Binding Prefix- Definition <cd:compactDisk xmlns:cd = “http://www.uni-jena.de/cd.dtd“ xmlns:tr = “http://www.beispiel.de/track.dtd“ autor=“MisterX“> <cd:titel>Das wohltemperierte Klavier</cd:titel> <tr:track nummer=“1“> <tr:titel>Fuge Nr. 1</tr:titel> <tr:autor>Johann Sebastian Bach</tr:autor> </tr:track> </cd:compactDisk> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 62 XML und Semantik ■ allgemeine, erweiterbare Meta-Markup-Sprache zur Repräsentation von semi- strukturierten Daten <adresse> <name> <vorname>Harald</vorname> <nachname>Sack</nachname> </name> <strasse>Prof.-Dr.-Helmert-Str.</strasse> <hausnummer>2-3</hausnummer> <plz>14482</plz> <ort>Potsdam</ort> </adresse> ■ Aber: woher weiß man, dass <adresse> eine Adresse bezeichnet? Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 63 XML und Semantik ■ XML instantiiert vorgegebene, vom Benutzer frei definierbare Datentypen (customized tagging scheme) ■ dazu zählen □ Typfestlegung einfacher (simpler) XML-Elemente □ syntaktische Definition komplexer XML-Elemente □ Definition von Eigenschaften (Attributen) von XML-Elementen □ Definition von einfachen Restriktionen bzgl. XML-Elementtypen ■ Definition der XML-Syntax/Struktur via DTD oder XMLSchema Fazit: XML bildet die Basis des Semantic Web Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 64 Syntaktische Definition mit XMLSchema ■ XML-Schema als Template □ XMLSchema definiert XML-Elemente (simple/complex), zugehörige Attribute und implementiert Restriktionen (Constraints) □ XMLSchema implementiert Vererbungskonzept objektorientierter Programmiersprachen □ XMLSchema erlaubt die Verwendung unterschiedlicher Namensräume □ global einheiltliche Identifikation von XML-Elementen □ Kombination unterschiedlicher XML-Vokabularien ■ XML-Schema als Validator □ mit XMLSchema Definitionen können XML-Dokumente validiert werden  Interoperabilität Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 65 Warum XML alleine noch nicht ausreicht… <adresse> <name> <vorname>Harald</v orname> <adresse> <name>Sack</nach name> <name> ld</firstname > ara </name> <firstname>H <strasse>Prof.-Dr.-H <mi>H</mi> e> elmert-Str.</strasse> ack</surnam <hausnummer>2-3< /hausnummer> <surname>S </name> t> <plz>14482</plz> -Helm ert-Str.</stree <ort>Potsdam</ort> <str eet>Prof.-Dr. er> </adresse> <numbe r>2-3</numb <zip >14482</zip> /city> <city>Potsdam< te> <state>Bran denburg</sta </adresse> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 65 Warum XML alleine noch nicht ausreicht… <adresse> <name> <vorname>Harald</v orname> <adresse> <name>Sack</nach name> <name> ld</firstname > ara </name> <firstname>H <strasse>Prof.-Dr.-H <mi>H</mi> e> elmert-Str.</strasse> ack</surnam <hausnummer>2-3< /hausnummer> <surname>S </name> t> <plz>14482</plz> -Helm ert-Str.</stree <ort>Potsdam</ort> <str eet>Prof.-Dr. er> </adresse> <numbe r>2-3</numb <zip >14482</zip> /city> <city>Potsdam< te> <state>Bran denburg</sta Sind beide Inhalte miteinander </adresse> vereinbar ? Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 66 Warum XML alleine noch nicht ausreicht… < name > < education> < CV > < work> XML-Dokument mit „sprechenden“ Bezeichnern < private > Dokument Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 67 Warum XML alleine noch nicht ausreicht… < ναµε > <εδυχατιον > < Χς > <ωορκ> XML-Dokument mit „sprechenden“ Bezeichnern < πριϖατε > aus der Sicht eines Programms Dokument Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 68 Warum XML noch nicht ausreicht… < ναµε > < ναµε > <εδυχατιον > <εδυχατιον > < Χς > < Χς > <ωορκ> <ωορκ> < πριϖατε > < πριϖατε > Dokument 1 Dokument 2 Kommunikationspartner müssen sich <Χϖ> über die Semantik der Metadaten einigen … <ναµε> Schema-Definition Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 69 Warum XML alleine noch nicht ausreicht… <> <εδυχατιον > Χς <  > <ωορκ> < πριϖατε > Dokument 1 Dokument 2 Schema Definitionen <Χϖ> <> … … <ναµε> <> Schema Definitionen Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 69 Warum XML alleine noch nicht ausreicht… < ναµε > <> <εδυχατιον > <> < Χς > <  > <ωορκ> <> < πριϖατε > <> Dokument 1 Dokument 2 Schema Definitionen <Χϖ> Ontologien <> … Beschreibungslogiken … <ναµε> RDF / OWL / SWRL <> Inferenzmechanismen Schema Trust Definitionen Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 70 Warum XML noch nicht ausreicht… ■ Semantik eines XML-Dokuments erschließt sich nur dem menschlichen Benutzer ■ XML = syntaktisch standardisierte Meta-Sprache zur Kommunikation zwischen Systemen und zur Auszeichnung von Daten ■ XML dient der Beschreibung von Daten/Nachrichten im Semantic Web ■ Aber: □ XML besitzt keine semantische Interoperabilität □ Es ist stets ein Modell der Umgebung notwendig, d.h. Zusammenarbeit ist dann nur möglich, wenn sich die beteiligten Akteure über die Semantik der verwendeten XML-Syntax geeinigt haben □ z.B. Agenten in abgeschlossenen homogenen Umgebungen ( WWW ist aber heterogen und dynamisch!) Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 71 Semantic Web Architektur Interface & Application Trust Proof Unifying Logic Query: Ontology: OWL Rule: RIF Crypto SPARQL RDFS Data Interchange: RDF XML / XSD URI / IRI Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • Semantic Web Technologien Vorlesungsinhalt 72 2. Semantic Web Basisarchitektur Die Sprachen des Semantic Web - Teil 1 2.1. Uniform Resource Identifier - URI 2.2. XML und XMLSchema 2.3. Resource Description Framework - RDF 2.4. RDF Schema 2.5. Wie kommt die Semantik ins WWW? 2.6. Abfragesprache SPARQL 2.7. Warum reicht RDF(S) noch nicht aus? Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • Wie geht‘s weiter...? 73 D F R Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 74 Literatur • Ch. Meinel, H. Sack: WWW - Kommunikation, Internetworking, Webtechnologien, Springer, 2004. • D. R. Hofstadter: Gödel, Escher, Bach - ein endlos geflochtenes Band, Dtv, 1992. Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010
  • 2. Semantic Web Basisarchitektur 2.2 XML und XMLSchema 75 Materialien □Blog http://web-flakes.blogspot.com/ □Materialien-Webseite http://www.hpi.uni-potsdam.de/meinel/lehre/lectures_classes/ semanticweb_ws1011.html □bibsonomy - Bookmarks http://www.bibsonomy.org/user/lysander07/swt1011_02 Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam Montag, 22. November 2010