Semantic Web Technologien Lehrveranstaltung Semantic Web Technologien WS 2009/10  HTWG Konstanz
Sprachen des Semantic Web XML Syntaktische Grundlagen für das Semantic Web
Sprachen des Semantic Web - XML <ul><li>eXtensible Markup Language
Offizielle Recommendation des W3C </li><ul><li>Maschinenlesbare Dokumente
Klasse von Objekten -> XML Dokumente
Verhalten von Software, die XML Dokumente verarbeitet </li></ul></ul>
Sprachen des Semantic Web - XML <ul><li>Markup-Sprachen: </li><ul><li>Versehen von Text-Dokumenten mit zusätzlichen Inform...
Auszeichnen / Annotieren -> Metadaten </li></ul><li>Tags (engl. Etikett / Schild ) zeichnen Teile eines Dokuments aus
Beispiel HTML: </li><ul><li>Formatierung z.B. mit <i> (kursiv) und <b> (fettgedruckt) </li><ul><li><i> Diese Vorlesung </i...
Diese Vorlesung  hat das Thema  Semantic Web . </li></ul><li>HTML hat eine feste Menge von Tags (Vokabular)
Programme verwenden  genau  diese Tags </li></ul></ul>
Sprachen des Semantic Web - XML <ul><li>XML verwendet wie HTML Tags
HTML definiert Darstellung/Formatierung
XML definiert die  logische Struktur  von Dokumenten
Mit XML kann man (beliebige) Markup-Sprachen definieren
Beispiel:  XHTML = XML basiertes HTML
Bei XML können die Tags selbst/frei definiert werden </li></ul>
Sprachen des Semantic Web - XML <ul><li>Beispiel:
<Vorlesung> Diese Vorlesung </Vorlesung> behandelt das Thema <Thema> Semantic Web Technologien </Thema> </li></ul>
Sprachen des Semantic Web - XML <ul><li>XML bietet eine einfache und universell einsetzbare Möglichkeit, Daten zu  speiche...
XML ist ein  universelles  Daten-Austauschformat
Praktisch jedes Datenmodell kann nach XML  serialisiert  werden. </li></ul>
Sprachen des Semantic Web - XML <ul><li>Jede Programmiersprache bietet Konstrukte oder Bibliotheken zum Umgang mit XML
Es gibt eine große Anzahl an XML-Anwendungen und XML Vokabularien </li><ul><li>Die meisten neu eingeführten Dateiformate b...
Beispiel: Neues MS Office-Dateiformat </li></ul><li>Bezug zum Semantic Web: </li><ul><li>Syntax-Definitionen von RDF(S) un...
Sprachen des Semantic Web - XML <ul><li>Aufbau von XML-Dokumenten </li><ul><li>XML-Deklaration: </li><ul><li><?xml version...
Öffnen des XML-Wurzelelement (bei (X)HTML:  <html>  ) </li><ul><li>Inhalt </li></ul><li>Schließen des XML-Wurzelelements (...
Sprachen des Semantic Web - XML <ul><li>XML-Elemente </li><ul><li>Beginnen mit einem  Start-Tag
Enden mit einem  End-Tag
Tags sind  XML!-Namen,  welche in spitze Klammern eingeschlossen sind
Alles zwischen Start-Tag und End-Tag nennt man  Inhalt
Beispiel: </li><ul><li><Person> Steffen Schloenvoigt </Person> </li></ul></ul></ul>
Sprachen des Semantic Web - XML <ul><li>XML-Elemente können Daten enthalten, aber auch andere Elemente
Beliebig tiefe Verschachtelung der Elemente möglich
XML-Elemente ohne Inhalt können zumeist mit selbstschließenden Tags gekennzeichnet werden </li><ul><li>Beispiel: <Person><...
Sprachen des Semantic Web - XML <ul><li>Syntaktisches zu XML: </li><ul><li>Jedes XML-Dokument hat genau ein Wurzelelement
Alles andere (weitere Elemente, Texte, Daten ) muss sich innerhalb dieses Wurzelelements befinden!
Jedes geöffnete Element muss wieder geschlossen werden! (Ausnahme: selbstschließende Elemente) </li></ul></ul>
Sprachen des Semantic Web - XML <ul><li>Syntaktisches zu XML-Namen: </li><ul><li>Müssen mit einem Buchstaben oder mit _ be...
Dürfen neben Buchstaben u.a. auch Zahlen enthalten
Keine Längenbeschränkung
Unterscheidung zwischen Groß-/ Kleinschreibung: <Person>  ‡  <person>  ‡  <PERSON>
Empfehlung:  XML-Namen immer klein schreiben
Upcoming SlideShare
Loading in...5
×

2 - Sprachen Des Semantic Web - XML

1,155

Published on

Vorlesung Semantic Web Technologien, HTWG Konstanz WS 2009/2010.

Veranstaltung #2

Anhand der Markup-Sprache XML wird in einige der syntaktischen Grundlagen des Semantic Web eingeführt. Es wir der grundsätzliche Aufbau von XML Dokumenten erklärt, die Festlegung von Vokabularen mit DOCTYPE-Definitionen und XSDs sowie die Modularisierung von XML mit Hilfe von Namespaces. Ein Exkurs gibt Einblick in den Aufbau und die Verwendung von Uniform Resource Identifiers (URI).

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,155
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

2 - Sprachen Des Semantic Web - XML

  1. 1. Semantic Web Technologien Lehrveranstaltung Semantic Web Technologien WS 2009/10 HTWG Konstanz
  2. 2. Sprachen des Semantic Web XML Syntaktische Grundlagen für das Semantic Web
  3. 3. Sprachen des Semantic Web - XML <ul><li>eXtensible Markup Language
  4. 4. Offizielle Recommendation des W3C </li><ul><li>Maschinenlesbare Dokumente
  5. 5. Klasse von Objekten -> XML Dokumente
  6. 6. Verhalten von Software, die XML Dokumente verarbeitet </li></ul></ul>
  7. 7. Sprachen des Semantic Web - XML <ul><li>Markup-Sprachen: </li><ul><li>Versehen von Text-Dokumenten mit zusätzlichen Informationen
  8. 8. Auszeichnen / Annotieren -> Metadaten </li></ul><li>Tags (engl. Etikett / Schild ) zeichnen Teile eines Dokuments aus
  9. 9. Beispiel HTML: </li><ul><li>Formatierung z.B. mit <i> (kursiv) und <b> (fettgedruckt) </li><ul><li><i> Diese Vorlesung </i> hat das Thema <b> Semantic Web </b> .
  10. 10. Diese Vorlesung hat das Thema Semantic Web . </li></ul><li>HTML hat eine feste Menge von Tags (Vokabular)
  11. 11. Programme verwenden genau diese Tags </li></ul></ul>
  12. 12. Sprachen des Semantic Web - XML <ul><li>XML verwendet wie HTML Tags
  13. 13. HTML definiert Darstellung/Formatierung
  14. 14. XML definiert die logische Struktur von Dokumenten
  15. 15. Mit XML kann man (beliebige) Markup-Sprachen definieren
  16. 16. Beispiel: XHTML = XML basiertes HTML
  17. 17. Bei XML können die Tags selbst/frei definiert werden </li></ul>
  18. 18. Sprachen des Semantic Web - XML <ul><li>Beispiel:
  19. 19. <Vorlesung> Diese Vorlesung </Vorlesung> behandelt das Thema <Thema> Semantic Web Technologien </Thema> </li></ul>
  20. 20. Sprachen des Semantic Web - XML <ul><li>XML bietet eine einfache und universell einsetzbare Möglichkeit, Daten zu speichern , elektronisch zu verbreiten und zu verarbeiten .
  21. 21. XML ist ein universelles Daten-Austauschformat
  22. 22. Praktisch jedes Datenmodell kann nach XML serialisiert werden. </li></ul>
  23. 23. Sprachen des Semantic Web - XML <ul><li>Jede Programmiersprache bietet Konstrukte oder Bibliotheken zum Umgang mit XML
  24. 24. Es gibt eine große Anzahl an XML-Anwendungen und XML Vokabularien </li><ul><li>Die meisten neu eingeführten Dateiformate basieren auf XML
  25. 25. Beispiel: Neues MS Office-Dateiformat </li></ul><li>Bezug zum Semantic Web: </li><ul><li>Syntax-Definitionen von RDF(S) und OWL </li></ul></ul>
  26. 26. Sprachen des Semantic Web - XML <ul><li>Aufbau von XML-Dokumenten </li><ul><li>XML-Deklaration: </li><ul><li><?xml version=”1.0” encoding=”utf-8”?> </li></ul><li>Optional: DOCTYPE-Definition
  27. 27. Öffnen des XML-Wurzelelement (bei (X)HTML: <html> ) </li><ul><li>Inhalt </li></ul><li>Schließen des XML-Wurzelelements (bei (X)HTML: </html> ) </li></ul></ul>
  28. 28. Sprachen des Semantic Web - XML <ul><li>XML-Elemente </li><ul><li>Beginnen mit einem Start-Tag
  29. 29. Enden mit einem End-Tag
  30. 30. Tags sind XML!-Namen, welche in spitze Klammern eingeschlossen sind
  31. 31. Alles zwischen Start-Tag und End-Tag nennt man Inhalt
  32. 32. Beispiel: </li><ul><li><Person> Steffen Schloenvoigt </Person> </li></ul></ul></ul>
  33. 33. Sprachen des Semantic Web - XML <ul><li>XML-Elemente können Daten enthalten, aber auch andere Elemente
  34. 34. Beliebig tiefe Verschachtelung der Elemente möglich
  35. 35. XML-Elemente ohne Inhalt können zumeist mit selbstschließenden Tags gekennzeichnet werden </li><ul><li>Beispiel: <Person></Person> = <Person /> </li></ul></ul>
  36. 36. Sprachen des Semantic Web - XML <ul><li>Syntaktisches zu XML: </li><ul><li>Jedes XML-Dokument hat genau ein Wurzelelement
  37. 37. Alles andere (weitere Elemente, Texte, Daten ) muss sich innerhalb dieses Wurzelelements befinden!
  38. 38. Jedes geöffnete Element muss wieder geschlossen werden! (Ausnahme: selbstschließende Elemente) </li></ul></ul>
  39. 39. Sprachen des Semantic Web - XML <ul><li>Syntaktisches zu XML-Namen: </li><ul><li>Müssen mit einem Buchstaben oder mit _ beginnen
  40. 40. Dürfen neben Buchstaben u.a. auch Zahlen enthalten
  41. 41. Keine Längenbeschränkung
  42. 42. Unterscheidung zwischen Groß-/ Kleinschreibung: <Person> ‡ <person> ‡ <PERSON>
  43. 43. Empfehlung: XML-Namen immer klein schreiben
  44. 44. Umlaute nicht verwenden ! </li></ul></ul>
  45. 45. Sprachen des Semantic Web - XML <ul><li>XML-Attribute </li><ul><li>Angabe von Eigenschaften bzw. zusätzlichen Informationen zu einem XML-Element
  46. 46. Verwendung innerhalb von Start-Tags oder selbstschließenden Elementen (nicht in End-Tags)
  47. 47. Namen der Attribute sind ebenfalls XML-Namen </li><ul><li>-> selbe syntaktische Einschränkungen </li></ul><li>Beispiel: </li><ul><li><Person status=”Lehrbeauftragter” >Steffen Schloenvoigt</Person> </li></ul></ul><li>Spezielles Attribut xml:lang </li><ul><li>Vordefiniert in XML
  48. 48. Spezifiziert die Sprache eines Elements
  49. 49. Werte sind die üblichen Ländercodes (de, en, fr, it, … ) </li></ul></ul>
  50. 50. Sprachen des Semantic Web - XML <ul><li>Beispiel: </li><ul><li><?xml version=”1.0” encoding=”utf-8”?> <Personen> <Person status=”Lehrbeauftrager” > <Name> Steffen Schloenvoigt </Name> <Organisation xml:lang=”de” > Hochschule Konstanz (HTWG) </Organisation> <Organisation xml:lang=”en” > University of Applied Sciences, Constance </Organisation> </Person> </Personen> </li></ul></ul>
  51. 51. Sprachen des Semantic Web - XML <ul><li>Übung – Wo sind die Fehler? </li><ul><li><Liste laenge=”4”> <ListenEintrag pos=”1”> <Element/>Lorem ipsum<element/> </Listeneintrag> <listeneintrag pos=”3”/> </Liste> </li></ul></ul>
  52. 52. Sprachen des Semantic Web - XML <ul><li>Daten als Elemente oder als Attribut speichern? </li><ul><li>Oft unklar, was besser ist </li><ul><li><Person name=”Steffen Schloenvoigt” />
  53. 53. <Person> Steffen Schloenvoigt </Person> </li></ul><li>Faustregel: </li><ul><li>Falls Daten bereits eine eigene Struktur aufweisen: Verschachtelte Element nehmen! </li></ul><li>Attribute besitzen keinerlei Struktur
  54. 54. Attributen kann nichts hinzugefügt werden
  55. 55. Attribute am besten dann nehmen, wenn etwas über ein Element ausgesagt werden soll
  56. 56. Attribut-Namen gelten immer nur für das Element, in dem sie definiert sind </li></ul></ul>
  57. 57. Sprachen des Semantic Web - XML <ul><li>Wohlgeformtheit von XML: </li><ul><li>Syntaktisch richtiges XML wird als wellformed/wohlgeformt bezeichnet. Dazu gehört: </li><ul><li>XML-Deklaration
  58. 58. Wurzelelement
  59. 59. Korrekte Verschachtelung
  60. 60. Korrekte Benamung </li></ul><li>Alle XML-Dokumente müssen wohlgeformt sein, damit sie von Software problemlos verarbeitet werden können </li></ul></ul>
  61. 61. Sprachen des Semantic Web - XML <ul><li>Übung: </li><ul><li><?xml version=”1.0” encoding=”UTF-8”?> <!DOCTYPE html PUBLIC “-//W3C/DTD XHTML 1.0 Transitional//EN” “ http://www.w3.org/TR/xhtml1/DTD/xhtml1/transitional.dtd ”> <html xmlns=” http://www.w3.org/1999/xhtml ”> <head> <title>Kontrollieren Sie Ihr HTML!</title> </head> <body> <h3>HTML-Check des W3C</h3> <b>Kostenloser HTML-Check:<br/> <i>http://validator.w3.org/</b></i> </body> </html> </li></ul></ul>
  62. 62. Sprachen des Semantic Web - XML <ul><li>Datenmodell von XML: Baumstruktur
  63. 63. Jeder Tag entspricht einem benamten Knoten
  64. 64. Jedes verschachtelte Tag entspricht einem Kindknoten
  65. 65. Beispiel DOM-Baum einer HTML Datei: </li></ul>html head title meta body h1 p Klick a hier style Beispiel wenn du dich traust. Gefahr ! Klick <html> <head> <title> Beispiel </title> <meta name=”... /> <style type=... /> </head> <body> <h1> Gefahr! </h1> <p> Klick <a href=... >h ier </a> wenn du dich traust. </p> </body> </html>
  66. 66. Sprachen des Semantic Web - XML <ul><li>Wie kann man die Struktur / das Vokabular eines XML Dokuments vorgeben?
  67. 67. -> DOCTYPE Definition </li><ul><li>Einfache Möglichkeit, eine kontextfreie Grammatik in Backus-Naur-Form zu definieren </li></ul><li>-> XML-Schema Dokumente </li><ul><li>XML-basiert, neuer und mehr Möglichkeiten als bei DTDs </li></ul></ul>
  68. 68. Sprachen des Semantic Web - XML <ul><li>DOCTYPE Definition: </li><ul><li>Welche Elemente und Attribute sind überhaupt erlaubt
  69. 69. Wie dürfen Elemente ineinander verschachtelt werden
  70. 70. Welche Attribute sind für welches Element zulässig </li></ul><li>Überprüfung durch spezielle Parser möglich </li><ul><li>-> validierender XML-Parser
  71. 71. Beispielsweise: W3C (X)HTML Validator </li><ul><li>Prüft neben Wohlgeformtheit auch korrekte Verschachtelung </li></ul></ul></ul>
  72. 72. Sprachen des Semantic Web - XML <ul><li>Beispiel DTD: </li><ul><li><!ELEMENT Personen (Person+)> <!ELEMENT Person (Name?, Organisation*)> <!ELEMENT Name (#PCDATA)> <!ELEMENT Organisation (#PCDATA)> <!ATTLIST Person status CDATA #REQUIRED> <!ATTLIST Organisation xml:lang CDATA “de”> </li></ul><li>Modifikatoren: </li></ul>Modifikator Auftreten der Kindelemente + Mindestens einmal * Keinmal oder beliebig oft ? Keinmal oder genau einmal
  73. 73. Sprachen des Semantic Web - XML <ul><li>PCDATA: “Parsable Character DATA” </li><ul><li>Textueller Inhalt </li></ul><li>CDATA: Character Data </li><ul><li>Beliebige Zeichenketten </li></ul><li>Zusätze zu Attributen: </li><ul><li>#REQUIRED: Attribut muss unbedingt angegeben werden
  74. 74. #FIXED “...”: Feste Vorgabe eines Attribut-Werts
  75. 75. #IMPLIED Attribut muss keinen Wert besitzen </li></ul></ul>
  76. 76. Sprachen des Semantic Web - XML <ul><li>XML-Entitäten </li><ul><li>Definition von Abkürzungen, Sonderzeichen
  77. 77. Wird durch Name- / Wertpaar spezifiziert
  78. 78. &name; referenziert den Wert
  79. 79. Beispiel: </li><ul><li><!ENTITY htwg “Hochschule Konstanz – Hochschule für Technik, Wirtschaft und Gestaltung” >
  80. 80. Im XML-Dokument kann nun &htwg; verwendet werden, um den langen Text zu referenzieren. </li></ul><li>Oft werden auch Sonderzeichen auf diese Weise “escaped” </li></ul></ul>Entity Wert &lt; bzw &gt; < bzw > &nbsp; Leerzeichen &szlig; ß &copy; ©
  81. 81. Sprachen des Semantic Web - XML <ul><li>Einbindung von DTDs: </li><ul><li>Direkt im XML-Dokument nach der XML-Deklaration
  82. 82. Form: </li><ul><li><!DOCTYPE WurzelElement [...]>
  83. 83. Statt “...” die Definition einfügen </li></ul><li>Alternativ: </li><ul><li><!DOCTYPE WurzelElement SYSTEM “definitionfile.dtd”>
  84. 84. Auslagerung der Definition in separate Datei Vorteil: Wiederverwendbar </li></ul></ul></ul>
  85. 85. Sprachen des Semantic Web - XML <ul><li>XML-Schema-Definition (XSD) </li><ul><li>Soll DTDs mittelfristig ersetzen
  86. 86. Ähnliche Grundfunktionalitäten wie DTDs
  87. 87. Viel zusätzliche Funktionalität. Beispielsweise: </li><ul><li>Angabe der exakten Anzahl von erlaubten verschachtelten Elementen (statt +,*,?)
  88. 88. Gruppierung von Elementen, sodass immer nur eines dieser Elemente auftreten darf
  89. 89. XML-Schema-Datentypen (integer, string, date …) nutzen und erweitern
  90. 90. Einbindung externer Definition -> Modularisierung </li></ul><li>XML-Schema-Definitionen werden selbst in XML verfasst!!! </li><ul><li>-> Infrastuktur für die Verarbeitung von XML kann genutzt werden </li></ul></ul></ul>
  91. 91. Sprachen des Semantic Web - XML <ul><li>Beispiel einer XML-Schema-Definition:
  92. 92. <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <schema targetNamespace=&quot;http://www.example.com/api/schema/contact/1.0&quot; xmlns=&quot; http://www.w3.org/2001/XMLSchema &quot; xmlns:tns=&quot;http://www.example.com/api/schema/contact/1.0&quot; xmlns:general=&quot;http://www.example.com/api/schema/general/1.0&quot; elementFormDefault=&quot;qualified&quot; attributeFormDefault=&quot;unqualified&quot;> <import namespace=&quot;http://www.example.com/api/schema/general/1.0&quot; schemaLocation=&quot;general.xsd&quot;/> <simpleType name=&quot;ContactMethodType&quot;> <restriction base=&quot;string&quot;> <enumeration value=&quot;Telefon&quot;/> <enumeration value=&quot;Mobil&quot;/> <enumeration value=&quot;EMail&quot;/> <enumeration value=&quot;Brief&quot;/> </restriction> </simpleType> <complexType name=&quot;ContactFormRequest&quot;> <annotation><documentation>Daten eines Kontaktforumlars</documentation></annotation> <sequence> <element name=&quot;salutation&quot; type=&quot;string&quot;> <annotation><documentation>Anrede</documentation></annotation> </element> <element name=&quot;firstName&quot; type=&quot;string&quot; minOccurs=&quot;0&quot;> <annotation><documentation>Vorname</documentation></annotation> </element> <element name=&quot;lastName&quot; type=&quot;string&quot;> <annotation><documentation>Nachname</documentation></annotation> </element> ... <element name=&quot;preferredContact&quot; type=&quot;tns:ContactMethodType&quot;> <annotation><documentation>Bevorzugte Kontaktmethode</documentation></annotation> </element> <element name=&quot;Address&quot; type=&quot;general:Address&quot; minOccurs=&quot;0&quot;> <annotation><documentation>Adresse</documentation></annotation> </element> </sequence> </complexType> </schema> </li></ul>
  93. 93. Sprachen des Semantic Web - XML <ul><li>Übung: </li><ul><li><!DOCTYPE kochbuch [ <!ELEMENT kochbuch (rezept)+ > <!ELEMENT rezept (rezepttyp, titel, zutat+, arbeitsschritt+) > <!ELEMENT titel (#PCDATA) > <!ELEMENT zutat (#PCDATA) > <!ELEMENT arbeitsschritt (#PCDATA) > <!ATTLIST arbeitsschritt nummer CDATA #REQUIRED > <!ELEMENT rezepttyp EMPTY > <!ATTLIST rezepttyp name CDATA #REQUIRED > ]> </li></ul></ul>
  94. 94. Sprachen des Semantic Web - XML <ul><li>Übung: </li><ul><li><!DOCTYPE kochbuch [ <!ELEMENT kochbuch (rezept)+ > <!ELEMENT rezept (rezepttyp, titel, zutat+, arbeitsschritt+) > <!ELEMENT titel (#PCDATA) > <!ELEMENT zutat (#PCDATA) > <!ELEMENT arbeitsschritt (#PCDATA) > <!ATTLIST arbeitsschritt nummer CDATA #REQUIRED > <!ELEMENT rezepttyp EMPTY > <!ATTLIST rezepttyp name CDATA #REQUIRED > ]> <?xml version=”1.0” encoding=”utf-8”?> <kochbuch> <rezept> <rezepttyp name=”Torten” /> <titel>Schwarzwälder Kirschtorte</titel> <arbeitsschritt nummer=”19”> Schokostreusel draufmachen </arbeitsschritt> <zutat>Sahne</zutat> <zutat>Schokostreusel</zutat> </rezept> </kochbuch> </li></ul></ul>
  95. 95. Sprachen des Semantic Web - XML <ul><li>Modularisierung von XML </li><ul><li>Oft sollen XML-Namen wiederverwendet werden -> Einbindung externer Vokabularien erwünscht
  96. 96. Vermischung von Vokabularien kann zu Überschneidungen führen -> Namenskonflikte
  97. 97. Namenskonflikte entstehen meist durch Mehrdeutigkeit </li><ul><li>Beispiel: Titel </li><ul><li>Akademischer Titel ?
  98. 98. Titel eines Buchs ? </li></ul></ul></ul></ul>
  99. 99. Sprachen des Semantic Web - XML <ul><li>Beispiel: </li><ul><li><?xml version=”1.0” encoding=”utf-8”> <Buch> <Titel>Semantic Web Grundlagen</Titel> <Autor> <Name>Pascal Hitzler</Name> <Titel>Dr.</Titel> </Autor> <Autor> <Name>York Sure</Name> <Titel>Dr.</Titel> </Autor> </Buch> </li></ul></ul>
  100. 100. Sprachen des Semantic Web - XML <ul><li>Lösung: </li><ul><li>XML-Namensräume = Namespaces
  101. 101. XML-Namespaces sind vom W3C standardisiert
  102. 102. XML-Namen können in sinnvolle Unterräume aufgeteilt/modularisiert werden
  103. 103. XML-Namen werden durch URIs </li><ul><li>Eindeutig und
  104. 104. Einheitlich </li></ul><li>identifiziert
  105. 105. Dadurch (Wieder-/Weiter-)Verwendung in beliebigen XML-Dokumenten möglich </li></ul></ul>
  106. 106. Sprachen des Semantic Web - XML <ul><li>URIs – Uniform Resource Identifiers </li><ul><li>Einheitlicher Bezeichner für Ressourcen
  107. 107. Verwendung im WWW, um Webseiten oder andere Dateien zu bezeichnen. Aber auch für Webdienste oder E-Mail.
  108. 108. URIs sind aber nicht abhängig vom WWW
  109. 109. Ursprünglich Trennung in </li><ul><li>URLs (Uniform Resource Locators) zur Identifikation von Web-adressierbaren Ressourcen – also alles, was per HTTP oder FTP übertragen werden kann.
  110. 110. URNs (Uniform Resource Names), um Ressourcen mittels einem vorhandenem oder frei zu vergebenden Namens zu identifizieren. Ursprünglich für weltweit eindeutige Bezeichner, wie etwa ISBNs </li></ul><li>Heute wird eigentlich nicht mehr unterschieden
  111. 111. Wichtig: Eine URI muss kein Dokument referenzieren! (Kann aber) </li></ul></ul>
  112. 112. Sprachen des Semantic Web - XML <ul><li>Syntax von URIs: </li><ul><li>Allgemein: </li><ul><li>Schema:FolgenderTeil
  113. 113. Oft verwendete Schemata: http, ftp, mailto
  114. 114. Beispiele: http://example.com/blog/1 ftp://ftp.example.com/pub/rfc/rfc1808.txt mailto:steffen@schloenvoigt.de isbn:978-3-540-33993-9 </li></ul></ul></ul>
  115. 115. Sprachen des Semantic Web - XML <ul><li>Syntax von URIs </li><ul><li>Viele Schemata besitzen einen hierarchischen Aufbau
  116. 116. Insbesondere auch http und ftp
  117. 117. Syntax: </li><ul><li>schema:// [login[:password]@] server [:port] / [path] [?query]
  118. 118. Optionale Login-Parameter
  119. 119. Optional TCP Port (per Def. wird der Standarport des Schema verwendet – HTTP:80, FTP:21 … )
  120. 120. Pfad innerhalb der Server-Domain
  121. 121. Mit Query können mehrere Anfrage-Parameter übergeben werden. Aufbau von Query: param1=value1&param2=value2... </li></ul></ul></ul>
  122. 122. Sprachen des Semantic Web - XML <ul><li>Syntax von URIs – Fragment </li><ul><li>Getrennt durch # kann an URIs ein sogenanntes Fragement angehängt werden: </li><ul><li>schema://server/[path][?query][#fragment] </li></ul><li>Das Fragment kann auf eine Stelle innerhalb des Antwortdokuments einer Anfrage referenzieren
  123. 123. Der Browser schneidet in der Regel das Fragment ab, bevor er die Anfrage an den Server sendet
  124. 124. Im zurückgegebenen Dokument wird an die mit dem Fragment gekennzeichnete Stelle gesprungen
  125. 125. URIs mit Fragmenten nennt man URI-Referenz </li></ul><li>URI-Referenzen werden im Semantic Web häufig zur Identifizierung von Ressourcen verwendet.
  126. 126. URIs können auch relativ zum aktuellen Dokument angegeben werden -> Schema, Server usw. entfallen </li></ul>
  127. 127. Sprachen des Semantic Web - XML <ul><li>XML-Namespaces </li><ul><li>Setzen sich zusammen aus einer Menge von XML-Namen, die in einem XML Dokument verwendet werden
  128. 128. Sie werden folgendermaßen spezifiziert: </li><ul><li><ElementName xmlns[:prefix]=”URI” > </li></ul><li>Angabe erfolgt in einem Start-Tag und ist dann innerhalb dieses Elements gültig
  129. 129. Meistens werden Namespaces im Wurzel-Element angegeben und sind damit für den Rest des Dokuments gültig
  130. 130. Optional ist die Angabe eines Präfixes möglich </li><ul><li>Kann im Geltungsbereich als Abkürzung verwendet werden
  131. 131. Wenn kein Präfix -> Default Namespace (Es kann nur einen geben!) </li></ul><li>Attribute können nicht mit Namensräumen modularisiert werden </li><ul><li>Aber: Ihr Name gilt lediglich lokal für das definierende Element. Sie können deswegen mehrfach in einem Dokument verwendet werden, ohne dass es zu Namenskonflikten kommt </li></ul></ul></ul>
  132. 132. Sprachen des Semantic Web - XML <ul><li>Beispiel (aus Buch Semantic Web Grundlagen) </li><ul><li><?xml version=”1.0” encoding=”utf-8” ?> <Buch xmlns=”http://www.semanticweb-grundlagen.de/” xmlns:aifb=”http://www.aifb.uni-karlsruhe.de/”> <Titel>Semantic Web Grundlagen</Titel> <aifb:Autor> <aifb:Name>Pascal Hitzler</aifb:Name> <aifb:Titel>Dr.</aifb:Titel> </aifb:Autor> <aifb:Autor> <aifb:Name>York Sure</aifb:Name> <aifb:Titel>Dr.</aifb:Titel> </aifb:Autor> </Buch>
  133. 133. Titel ist nun sauber getrennt
  134. 134. Die beiden Versionen von Titel lauten nun eigentlich: http://www.semanticweb-grundlagen.de/Titel http://www.aifb.uni-karlsruhe.de/Titel </li></ul></ul>
  135. 135. Sprachen des Semantic Web - XML <ul><li>Weitere Techniken im Zusammenhang mit XML: </li><ul><li>XSLT: Transformation von XML-Dokumenten in beliebige Ausgabeformate
  136. 136. XPATH: Referenzierung von Stellen in einem XML-Dokument über die Angabe der auf dem Weg zur Stelle liegenden Elemente
  137. 137. XQuery: Anfragesprache, mit der es möglich ist, Daten aus XML-Dokumenten zu extrahieren </li></ul><li>Dazu gibt es Unmengen an Software, die XML lesen, verarbeiten, ausgeben, transformieren usw. kann.
  138. 138. Kurz: XML ist eine standardisierte und weitverbreitete Meta-Sprache, die von Maschinen lesbar ist. </li></ul>
  139. 139. Sprachen des Semantic Web - XML <ul><li>Warum reicht XML dann nicht aus? </li><ul><li>XML-Tags sind nicht viel besser als natürliche Sprache </li><ul><li>Zumindest aus Sicht des Semantic Web </li></ul><li>XML-Tags sind einfach nur Wörter </li><ul><li>Können mehrdeutig sein
  140. 140. Beziehung zueinander ist nicht eindeutig definiert </li></ul><li>Für Menschen ergibt sich meist eine Bedeutung
  141. 141. Für Maschinen bleiben Tags ohne Semantik
  142. 142. Es fehlt die Möglichkeit, die Bedeutung von Tags auf eine Art zu codieren, die Verarbeitung durch Maschinen ermöglicht. </li></ul><li>XML dient primär als syntaktische Grundlage zur Definition der weiteren Sprachen des Semantic Web </li></ul>
  143. 143. Sprachen des Semantic Web - XML Noch Fragen ?
  144. 144. Sprachen des Semantic Web - XML <ul><li>Literatur: </li><ul><li>Buch “Semantic Web Grundlagen”, Springer Verlag 2008 Pascal Hitzler, Markus Krötzsch, Sebastian Rudolph, York Sure ISBN: 978-3-540-33993-9
  145. 145. Extensible Markup Language (XML) 1.0 (third edition) F. Yergeau, T. Bray, J. Paoli, C.M.Sperberg-McQueen, E. Maler W3C Recommendation, 4 th February 2004 http://www.w3.org/TR/REC-xml
  146. 146. Namespaces in XML T. Bray, D. Hollander, A. Layman, R. Tobin W3C Recommendation, 4 th February 2004 http://www.w3.org/TR/xml-names11
  147. 147. XML Schema Part 0: Primer Second Edition D.C. Fallside und P. Walmsley W3C Recommendation, 28 th October 2004 http://www.w3.org/TR/xmlschema-0/ </li></ul></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×