Post on 06-Aug-2020
transcript
Vorlesung
Dr. Harald Sack
Hasso-Plattner-Institut für Softwaresystemtechnik
Universität Potsdam
Wintersemester 2008/09
Semantic Semantic WebWeb
http://sw0809.blogspot.com/
Blog zur Vorlesung: http://sw0809.blogspot.com/
2
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Semantic Web - Vorlesungsinhalt
1. Einführung
2. Die Sprachen des Semantic Web
3. Wissensrepräsentation
4. Web of Trust
5. Ontology Engineering
6. Semantic Web Anwendungen
3
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web
Semantic Web Architecture
URI / IRI
XML / XSD
RDFS
Ontology (OWL)
Trust
Cry
pto
Unifying Logic
Proof
Data interchange:
RDF
Query:
SPARQLRule:
RIF
User Interface & Application
4
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Semantic Web
2. Die Sprachen des Semantic Web
2.1 Uniform Resource Identifier - URI
2.2 Universelle Vokabularien mit XML
2.3 Einfache semantische Strukturen mit RDF und RDFS
2.4 Abfragesprache SPARQL
2.5 Semantik im WWW - formats, RDFa, GRDDL
2.6 Warum RDF/RDFS noch nicht ausreicht
06.11.2008 – Vorlesung Nr. 21 3 4 5 6 7 8 9 1110 12
13
5
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.1 Uniform Resource Identifier - URI
Uniform Resource Identifier - URIEin Uniform Resource Identifier (URI) definiert ein einfachesund erweiterbares Schema zur weltweit eindeutigen Identifikationvon Ressourcen (RFC 3986).
Ressource kann jedes Objekt sein, das (im Kontext der jeweiligenAnwendung) eine klare Identität besitzt ,
also z.B. (z.B. Webseiten, Bücher, Orte, Personen,Beziehungen zwischen diesen Dingen, abstrakte Konzepteusw.)
Das URI Konzept ist in verschiedenen Anwendungsbereichenbereits etabliert,
wie z.B. Web (URL, PRN, pURL), Bücher (ISBN), Digital ObjectIdentifier (DOI)
6
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.1 Uniform Resource Identifier - URI
Uniform Resource Identifier - URIURI umfasst sowohl
Adressangaben (Locator)
Uniform Resource Locator (URL, RFC 1738)
gibt an, wo eine Web-Ressource zu finden ist
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
7
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.1 Uniform Resource Identifier - URI
URI - Generische SyntaxUS-ASCII Encoding
Percent Encoding für reservierte Zeichen, oder Zeichen, die nichtim US-ASCII Encoding existieren
pct-encoded = "%" HEXDIG HEXDIG
Reservierte Zeichen mit funktionalen Aufgabenreserved = gen-delims / sub-delims
gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@“sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
Erlaubte Zeichenunreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
Erweiterung auf Universal Character Code (Unicode/ISO 10646)
Internationalized Resource Identifier (IRI, RFC 3987)Bsp.:
8
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.1 Uniform Resource Identifier - URI
URI - Generische Syntax
URI = schema"://"[userinfo"@"]host[:port][path]["?"query]["#"fragment]
schema: z.B. http, ftp, mailto,...
userinfo: z.B. user: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
9
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.1 Uniform Resource Identifier - URI
URIs im Semantic WebWas tun, wenn eine URI für eine Ressource noch nicht existiert?
Selbstdefinierte URIs
Zur Vermeidung von Überschneidungen, Nutzung der eigenenWebsite
Ermöglicht auch Ablage von zugehöriger Dokumentation angleicher Stelle
Trennung von URI für Ressource (Beschriebenes) und derenDokumentation (Beschreibendes) durch URI-Referenzen (durch"#" angehängte Fragmente) oder content negotiation
z.B.: http://hpi.ui-potsdam.de/harald_foaf.rdf#URI
10
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Semantic Web
2. Die Sprachen des Semantic Web
2.1 Uniform Resource Identifier - URI
2.2 Universelle Vokabularien mit XML
2.2.0 Warum (X)HTML nicht ausreicht…
2.2.1 XML Sprachstandard
2.2.2 XML DTD
2.2.3 XML Schema (XSD)
2.2.4 XML Sprachfamilie
2.2.5 Warum XML noch nicht ausreicht…
2.3 Einfache semantische Strukturen mit RDF und RDFS
2.4 Abfragesprache SPARQL
2.5 Semantik im WWW - formats, RDFa, GRDDL
2.6 Warum RDF/RDFS noch nicht ausreicht
06.11.2008 – Vorlesung Nr. 21 3 4 5 6 7 8 9 1110 12
13
11
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.0 Warum HTML nicht ausreicht…
Semantik und HTMLHTML diente ursprünglich zur Beschreibung der Struktur einesHypermedia-Dokuments
Browser-Wars – Browser-Hersteller (Netscape/MS) definierteneigenständig proprietäre Erweiterungen der HTML-Syntax zurFormatierung 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 T
ext
12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.0 Warum HTML nicht ausreicht…
Semantik und HTMLMeta-Tags können zusätzliche Semantik in das HTML-Dokumenteinbringen
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">
13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.0 Warum HTML nicht ausreicht…
Semantik und HTMLSemantik der Meta-Tags beruht ausschließlich auf der privatenVereinbarung zwischen Informationsanbieter undInformationskonsumenten
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
14
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.0 Warum HTML nicht ausreicht…
formats -- MicroformateXHTML 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
…
15
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.0 Warum HTML nicht ausreicht…
Formats -- MicroformateBeispiel:
<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>
16
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Semantic Web
2. Die Sprachen des Semantic Web
2.1 Uniform Resource Identifier - URI
2.2 Universelle Vokabularien mit XML
2.2.0 Warum (X)HTML nicht ausreicht…
2.2.1 XML Sprachstandard
2.2.2 XML DTD
2.2.3 XML Schema (XSD)
2.2.4 XML Sprachfamilie
2.2.5 Warum XML noch nicht ausreicht…
2.3 Einfache semantische Strukturen mit RDF und RDFS
2.4 Abfragesprache SPARQL
2.5 Semantik im WWW - formats, RDFa, GRDDL
2.6 Warum RDF/RDFS noch nicht ausreicht
06.11.2008 – Vorlesung Nr. 21 3 4 5 6 7 8 9 1110 12
13
17
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard
Semantic Web Architecture
URI / IRI
XML / XSD
RDFS
Ontology (OWL)
Trust
Cry
pto
Unifying Logic
Proof
Data interchange:
RDF
Query:
SPARQLRule:
RIF
User Interface & Application
18
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard
XML – Extensible Markup LanguageWas 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 einem
Anwendungsprogramm,
das die
XML-DTD/XML-XSD
versteht, korrekt
interpretiert werden
XML-XSD
19
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard
XML
XML DTD
XSDXQuery
XPath
XPointer
XLink
XHTML
CSS
SGML
RDF
RDFS
OWLSPARLQ
SWRL
XML Namespaces
XSL
XSLT
XLS:FO
XForms
20
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard
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
SPARQL(2006)
(SWRL)
21
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard
XML – Extensible Markup LanguageWas 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 (Ein-/Ausgabe)
für beliebige Anwendungen
22
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard
XML – Extensible Markup LanguageWas XML alles kann
XMLHTML
„HTML sagt Ihnen wie die Informationen aussehen
sollen, aber XML sagt Ihnen was sie bedeuten.“
Quelle: Charles F. Goldfarb, „The XML Handbook“
23
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard
XML – Extensible Markup Language
SGMLSGML (Standard (Standard Generalized Markup LanguageGeneralized Markup Language))
HTMLHTML XMLXML
•• Instanz von SGMLInstanz von SGML
•• Vermischung von Inhalt Vermischung von Inhalt
und Layoutund Layout
•• Darstellung von InformationDarstellung von Information
•• Teilmenge von SGMLTeilmenge von SGML
•• Strikte Trennung von InhaltStrikte Trennung von Inhalt
und Layout und Layout
•• Beschreibung von InformationBeschreibung von Information
XHTML ist Instanz von XMLXHTML ist Instanz von XML
XHTMLXHTML
24
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard
XML – Extensible Markup LanguageHTML unterstützt stets nureinen vordefinierten Dokumententyp
XML erlaubt die Definitioneigener Dokumenten-Typen überdie Definition einer zugehörigenXML DTD (Document Type Definition)bzw. XML Schema Definition (XSD)
XSL Stylesheet
XML-Dokument XML DTD
XML Parser
XML SGML-Deklaration
Darstellung
XSD
25
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
XML Attribute
XML Tags
XML DTD
XML Deklaration
2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard
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>
26
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard
XML – Extensible Markup LanguageVeranschaulichung von XML-Daten als gerichteter Graph
<adresse>
<vorname> <nachname> <straße> <hausnummer> <plz> <ort>
<xml>
Max Mustermann
Sesamstr.
49a 93123
Bad Sulzdetfurth
27
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard
XML – DeklarationXML-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“>
28
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard
XML – DeklarationXML-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]>
29
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard
XML – ElementBeschreibung 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>
Element
adresse
Start-Tag
End-Tag
Freitext
Unterelemente
30
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard
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
31
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard
Wohlgeformtes und gültiges XML
Max Mustermann
Sesamstr. 49a
93123 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>
32
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard
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)
33
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.1 XML Sprachstandard
Schemata in XMLDTD – Document Type Definitions:
Einfache Grammatik für ein XML-Dokument
Deklaration von Elementen, Attributen, u.a.
beschränkt die beliebige Verschachtelung von Elementen undAttributen
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
34
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Semantic Web
2. Die Sprachen des Semantic Web
2.1 Uniform Resource Identifier - URI
2.2 Universelle Vokabularien mit XML
2.2.0 Warum (X)HTML nicht ausreicht…
2.2.1 XML Sprachstandard
2.2.2 XML DTD
2.2.3 XML Schema (XSD)
2.2.4 XML Sprachfamilie
2.2.5 Warum XML noch nicht ausreicht…
2.3 Einfache semantische Strukturen mit RDF und RDFS
2.4 Abfragesprache SPARQL
2.5 Semantik im WWW - formats, RDFa, GRDDL
2.6 Warum RDF/RDFS noch nicht ausreicht
06.11.2008 – Vorlesung Nr. 21 3 4 5 6 7 8 9 1110 12
13
35
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.2 Document Type Definition (DTD)
XML-DTD definiert eine kontextfreie Grammatik für ein XML-Dokument
Extended Backus-Naur Form (EBNF)
--> Spezieller Interpreter notwendig
XML-DTDs unterstützen lediglich den Datentyp “text“
XML-DTDs unterstützen nicht das Vererbungskonzept
<adresse>
<vorname> Max </vorname>
<nachname> Mustermann </nachname>
<straße> Sesamstr. </straße>
<hausnummer> 49a </hausnummer>
<ort plz=“93123“>Bad Sulzdetfurth</ort>
</adresse>
<!DOCTYPE adresse[
<!ELEMENT adresse (vorname+,
nachname, straße, hausnummer,
ort)>
<!ELEMENT vorname (#PCDATA)>
<!ELEMENT nachname (#PCDATA)>
<!ELEMENT straße (#PCDATA)>
<!ELEMENT ort (#PCDATA)>
<!ATTLIST ort plz CDATA #REQUIRED>
….
]>
XML
XML-DTD
36
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.2 Document Type Definition (DTD)
DTD Elementdeklarationbeschreibt die Einschränkungen des Inhalts eines Elements
Syntax:<!ELEMENT Name (Definition)>
Einziger atomarer Typ: #PCDATA(Parsed Character DATA)
(a,b,c) Liste von Unterelementen
(a|b|c) Alternativen
Kardinalitäten:
* keinmal oder beliebig oft
+ einmal oder beliebig oft
? kein- oder einmal
(ohne Angabe): genau einmal
EMPTY: Erzwingen von leeremElement
<!DOCTYPE adresse[
<!ELEMENT adresse (vorname+,
nachname, straße, hausnummer,
ort)>
<!ELEMENT vorname (#PCDATA)>
<!ELEMENT nachname (#PCDATA)>
<!ELEMENT straße (#PCDATA)>
<!ELEMENT ort (#PCDATA)>
<!ATTLIST ort plz CDATA #REQUIRED>
….
]> XML-DTD
37
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.2 Document Type Definition (DTD)
DTD AttributdeklarationName-Zeichenkettenwert-Paar
Assoziiert mit einem Element
Syntax: <!ATTLIST Element Attributname1 Typ1 Zusatz1 Attributname2 …>
Typ:
CDATA Zeichenkette
ID OID
IDREF Referenzen
IDREFS Menge von Referenzen
Zusatz:
REQUIRED zwingend
IMPLIED optional
(Initialwert)
<!DOCTYPE adresse[
<!ELEMENT adresse (vorname+,
nachname, straße, hausnummer,
ort)>
<!ELEMENT vorname (#PCDATA)>
<!ELEMENT nachname (#PCDATA)>
<!ELEMENT straße (#PCDATA)>
<!ELEMENT ort (#PCDATA)>
<!ATTLIST ort plz CDATA #REQUIRED>
….
]> XML-DTD
38
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
<family>
<person id=“jane” mother=“mary” father=“john”>
<name> Jane Doe </name>
</person>
<person id=“john” children=“jane jack”>
<name> John Doe </name>
</person>
<person id=“mary” children=“jane jack”>
<name> Mary Smith </name>
</person>
<person id=“jack” mother=“mary” father=“john”>
<name> Jack Smith </name>
</person>
</family>
<family>
<person id=“jane” mother=“mary” father=“john”>
<name> Jane Doe </name>
</person>
<person id=“john” children=“jane jack”>
<name> John Doe </name>
</person>
<person id=“mary” children=“jane jack”>
<name> Mary Smith </name>
</person>
<person id=“jack” mother=“mary” father=“john”>
<name> Jack Smith </name>
</person>
</family>
2. Die Sprachen des Semantic Web2.2 XML / 2.2.2 Document Type Definition (DTD)
DTD - OID und ReferenzenDTDs erlauben die Deklaration von OIDs, Referenzen undReferenzmengen als Attribute
<!DOCTYPE family [
<!ELEMENT family (person*)>
<!ELEMENT person (name)>
<!ELEMENT name (#PCDATA)>
<!ATTLIST person
id ID #REQUIRED
mother IDREF #IMPLIED
father IDREF #IMPLIED
children IDREFS #IMPLIED>
]>XML-DTD
XML
39
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.2 Document Type Definition (DTD)
DTDs - BewertungDTDs sind kontextfreie Grammatiken
rekursive Definitionen möglich
Probleme:
Ungewollte Festlegung der Reihenfolge:
<!ELEMENT person ( name, phone ) >
Workaround:
<!ELEMENT person ( (name, phone ) | ( phone, name ) ) >
Kann teilweise zu vage werden:
<!ELEMENT person ( ( name | phone | email )* ) >
Referenzen können nicht eingeschränkt (typisiert) werden
Alle Elementnamen sind global in einem Namensraum
<!DOCTYPE [
<!ELEMENT buch (titel,
subtitel?, autor+, preis)>
<!ATTLIST buch ISBN ID
#REQUIRED>
<!ELEMENT titel (#PCDATA)>
<!ELEMENT subtitel (#PCDATA)>
<!ELEMENT autor (#PCDATA)>
<!ELEMENT preis (#PCDATA)>
…]>
40
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Semantic Web
2. Die Sprachen des Semantic Web
2.1 Uniform Resource Identifier - URI
2.2 Universelle Vokabularien mit XML
2.2.0 Warum (X)HTML nicht ausreicht…
2.2.1 XML Sprachstandard
2.2.2 XML DTD
2.2.3 XML Schema (XSD)
2.2.4 XML Sprachfamilie
2.2.5 Warum XML noch nicht ausreicht…
2.3 Einfache semantische Strukturen mit RDF und RDFS
2.4 Abfragesprache SPARQL
2.5 Semantik im WWW - formats, RDFa, GRDDL
2.6 Warum RDF/RDFS noch nicht ausreicht
06.11.2008 – Vorlesung Nr. 21 3 4 5 6 7 8 9 1110 12
13
41
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)
Semantic Web Architecture
URI / IRI
XML / XSD
RDFS
Ontology (OWL)
Trust
Cry
pto
Unifying Logic
Proof
Data interchange:
RDF
Query:
SPARQLRule:
RIF
User Interface & Application
42
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)
Echter Schemamechanismus mit vielen Erweiterungen über DTDshinaus
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
43
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)
XML Schema - ElementdeklarationSyntax: <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”/>
44
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)
XML Schema - AttributdeklarationSyntax: <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 Vorgabeuse = “fixed“ value = “u“ unveränderliche Vorgabe
Beispiele:<attribute name=“id” type=“ID” use=“required”/><attribute name=“alter” type=“string” use=“optional”/><attribute name=“sprache” type=“string” use=“default” value=“de”/>
45
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)
XML Schema - ElementtypenXML-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
46
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)
XML Schema - ElementtypenAtomare 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“/>
47
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)
XML Schema - ElementtypenEinfache 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)
Dokumentdefiniton: <element name=“autor“ type=“autorTyp“/>
48
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)
XML Schema - ElementtypenKomplexe 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)
49
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)
XML Schema - ElementtypenKomplexe Typen
<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>
… Grundlage für weitere Beispiele!
50
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)
XML Schema - ElementtypenWie definiert man ein leeres Element?
Bsp.: Telefonnr. soll nur ein Attribut haben und sonst leer sein
<telefonnr nr=“555-9-43221“ />
<element name=“phone“> <complexType> <attribute name=“nr“ type=“string“/> </complexType></element>
51
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)
XML Schema - TyphierarchienTypdefinition kann ebenfalls erfolgen durch
Erweiterung (engl. extension) oder
Restriktion (engl. restriction) einer bestehenden Typdefinition
Alle Typen in XML-Schema sind entweder
AtomareTypen (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 einerErweiterung oder Restriktion des geforderten Typs
52
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)
XML Schema - TyphierarchienTypen können konstruktiv um weitere Elemente oder Attribute zu neuenTypen 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
53
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)
XML Schema - TyphierarchienTypen können durch die Verschärfung von Zusatzangaben bei Typdefinitionenin 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 eineTeilmenge des Obertyps sein!
Restriktion komplexer Typen
Struktur bleibt gleich: es dürfen keine Elemente oder Attributeweggelassen werden
Restriktion einfacher Typen
Restriktion ist (im Gegensatz zur Erweiterung) auch bei einfachen Typenerlaubt
54
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)
XML Schema - TyphierarchienBeispiel (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
55
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)
XML Schema – Bewertung
Mit XML-Schema können Datenstrukturen (XML-Schemata)einfacher als mit Hilfe von DTDs spezifiziert werden
XML Schema vermag mehr Semantik zu spezifizieren als DTDs
XML-Schema erfährt breite Unterstützung (Tendenz steigend) undwird DTDs sukzessive ablösen (W3C Standard)
Syntax und Ausdruckskraft von XML-Schema sind sehr umfangreich
einfachere XML Schema Variante RelaxNG
56
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)
XML – NamensräumeXML-Autoren definieren eigene XML Element-Typen (Tags), die global für ein
Dokument gelten
XML-Tags mit demselben Namen, aber unterschiedlicherBedeutung und unterschiedlichen Attributen
Ambiguität und Namenskonflikte
<compactDisk autor=“HS">
<titel>Das wohltemperierte Klavier</titel>
<track Nummer=“1“>
<titel>Fuge Nr. 1</titel>
<autor>Johann Sebastian Bach</autor>
</track>
</compactDisk>
57
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)
XML – NamensräumeXML Namensraum legt eindeutigen Kontext für XML Element-Typ fest
definiert Namen, die jeweils bestimmten Schemata zugeordnetwerden (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 proDokument / Dokumentenklasse (Gültigkeitsbereich)
jeweils eigener Namensraum für Attribute pro Element(Gültigkeitsbereich)
jeweils eigene universelle Namensräume für Fremddaten-Entitätenund Prozessanweisungen
58
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.3 XML Schema Definition (XSD)
XML – Namensräume
<cd:compactDisk
xmlns:cd = “http://www.uni-jena.de/cd.dtd“
xmlns:tr = “http://www.beispiel.de/track.dtd“
autor=“HS“>
<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
59
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Semantic Web
2. Die Sprachen des Semantic Web
2.1 Uniform Resource Identifier - URI
2.2 Universelle Vokabularien mit XML
2.2.0 Warum (X)HTML nicht ausreicht…
2.2.1 XML Sprachstandard
2.2.2 XML DTD
2.2.3 XML Schema (XSD)
2.2.4 XML Sprachfamilie
2.2.5 Warum XML noch nicht ausreicht…
2.3 Einfache semantische Strukturen mit RDF und RDFS
2.4 Abfragesprache SPARQL
2.5 Semantik im WWW - formats, RDFa, GRDDL
2.6 Warum RDF/RDFS noch nicht ausreicht
06.11.2008 – Vorlesung Nr. 31 2 4 5 6 7 8 9 1110 12
13
60
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 XML Sprachfamilie
XML
XML DTD
XSDXQuery
XPath
XPointer
XLink
XHTML
CSS
SGML
RDF
RDFS
OWLSPARLQ
SWRL
XML Namespaces
XSL
XSLT
XLS:FO
XForms
61
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie
XLink, XPath und XPointerXML dient der Strukturierung von Dokumenten im WWW
Notwendigkeit der Definition von Hyperlinks zurDokumentenverknüpfung im WWW
XML Linking Language – XLink
Definition von XML-Hyperlinks
XML Pointer Language – XPointer und XPath
Definition von Ankerpunkten in XML Dokumenten
Definition von Dokumentenfragmenten
<A HREF=“…“>
<A name=“…“>
62
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie
XLinkHTML <A> -Element
Unidirektionale Verknüpfung zwischen genau zweiInformationsressourcen
stets Bestandteil des Start-Dokuments
Darstellung hängt von Browser ab
<A HREF=“…“>
<A name=“…“>
Startdokument
Zieldokument
63
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie
XLinkXLink – Simple Links
entspricht HTML-Hyperlink
zusätzliche Attribute: typ / role / title / show / actuate
<publications
xmlns:xlink=“http//www.w3.org/1999/xlink“
xlink:type=“simple“
xlink:href=“publications.xml“
xlink:role=“http://www.bsp.de/bibliography“
xlink:title=“Veröffentlichungen“
xlink:show=“new“
xlink:actuate=“onRequest“
/>
64
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie
XLinkxlink:show
in welchem Kontext soll die verlinkte Ressource angezeigtwerden?
new / replaceembed / other / none
xlink:actuate
wann soll der Link aktiviert werden?onLoad / onRequest / other / none
xlink:title
Textuelle Information über den Link ( Tooltip)
xlink:role
Enthält URI mit Ressource, die Zusatzinformationen über dasverlinkte Dokument enthält
65
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie
XLinkXLink – Out-of-Line Links
Realisierung von bidirektionalen n:m Linkbeziehungen
Linkbasis ist nicht Bestandteil von Quell-/Zieldokument
Linkbasis
QuelldokumenteZieldokumente
66
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie
XLinkXLink – Out-of-Line Links
Beispiel:
Pizzaboden Mozarella Tomaten
Thunfisch BasilikumOliven
Pizza Tonno
from from from
toto to
67
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie
XLinkXLink – Out-of-Line Links
<xlink:extended
xmlns:xlink=“http//www.w3.org/1999/xlink/“
xlink:role=“http://www.pizza.de/pizzaworld“
xlink:title=“Pizza Tonno“>
<xlink:locator href=“Pizzaboden.xml“
role=“http://www.pizza.de/basis“
title=“Pizzaboden“/>
<xlink:locator href=“Basilikum.xml“
role=“http://www.pizza.de/spezial“
title=“Basilikum“/>
<xlink:arc from=“http://www.pizza.de/basis“
to=“http://www.pizza.de/spezial“ show=“new“
actuate=“onRequest“/>
<xlink:extended\>
68
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie
XML Pointer Language – XPointer und XPath
Festlegung eines Sprungziels innerhalb eines Dokuments
HTML: <A NAME=“…“>
Probleme von HTML-Ankern:
Einfügen von Sprungzielen in schreibgeschützte und fremdeDokumente nicht möglich
es muss stets das gesamte Zieldokument übertragen werden
Idee: • XML/XHTML-Dokument kann als Baumstruktur dargestellt werden• Adressierung durch Navigation im Dokumentenbaum
69
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie
XML Pointer Language – XPointer
URI#xpointer(ankerbeschreibung)
Bsp.: http://www.bsp.de/gedicht.xml#xpointer(id(‘zeile2‘))http://www.bsp.de/gedicht.xml#xpointer(//zeile[.=“zeile2“])http://www.bsp.de/gedicht.xml#element(/1/1/2)
<gedicht>
<strophe ID=“strophe1“>
<zeile ID=“zeile1“>Dreifach ist des Raumes Maß:</zeile>
<zeile ID=“zeile2“>Rastlos fort ohn‘ Unterlaß</zeile>
<zeile ID=“zeile3“>Strebt die Länge fort ins Weite,</zeile>
<zeile ID=“zeile4“>Endlos gießet sich die Breite,</zeile>
<zeile ID=“zeile5“>Grundlos senkt die Tiefe sich</zeile>
</strophe>
</gedicht>
70
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Achse Kontextknoten Prädikat
2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie
XPathNavigation innerhalb des abstrakten Dokumenten-Strukturbaumes
child descendant parent ancestor
z.B. gedicht.xml#xpointer(/child::gedicht[position()=3])
Kontextknoten
adressierte Knoten
71
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie
XSL und XSLTXML-Dokument ist hierarchisch strukturierte Informationssammlung
vergleichbar mit hierarchischer oder relationaler Datenbank
über Transformationen können XML-Dokumente für eine Vielzahl vonAnwendungen nutzbar gemacht werden
Strukturelle Transformationen
Filterung/Sortierung/Umformatierung für andere Anwendungen(XSLT)
Dynamische Dokumente
Oft interaktive Filterung /Reorganisation eines XML-Dokuments(XSLT)
Darstellungstransformationen
Layoutspezifische Transformation über Stylesheets (CSS) oderXSL-FO
72
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie
XSL und XSLTExtensible Style Language (XSL) zur Transformation von XML-Dokumenten ist in drei separate Sprachen aufgeteilt:
XSLT – Spezifikation der Transformationen
XSL-FO – Layout-Transformationen (Formatierung) mit XSL
XPath – Zugriff auf XML-Strukturen
DSSSL XSL
CSS
XSLT
XSL-FO
73
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie
XSL und XSLT
XML-Dokument
XSLT-
Prozessor
DTD/XSD
XSLT 1
HTML
XSLT 2
WML
74
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie
XSL und XSLTXSL arbeitet auf dem abstrakten Strukturbaum des XML-Dokuments (XPath)
Ein XSL-Stylesheet besteht aus einer Sammlung vonTransformationsregeln (Templates)
Strukturbaum wird durchlaufen, für jeden Knoten wird passendesTemplate aus XSL-Stylesheet gesucht und angewendet
XSL-
Stylesheet +
Strukturbaum
neues
Dokument
75
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie
XSL und XSLT
<xsl:template match = Suchabfrage
name = Name
priority = Prioritität
… >
… Template Instruktionen …
</xsl:template>
76
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie
XSL und XSLTBeispiel
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE movie SYSTEM "Beispiel.dtd">
<movie>
<title>North by Northwest</title>
<cast>
<director>Alfred Hitchcock</director>
<actor type=“protagonist”>Cary Grant</actor>
<actor>Eve Marie Saint</actor>
<actor type=“antagonist”> James Mason </actor>
</cast>
<year> 1959</year>
</movie>
XML-Dokument
77
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie
XSL und XSLTBeispiel
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/"><HTML>
<HEAD><TITLE> <xsl:value-of select="movie/titel" /> </TITLE> </HEAD>
<BODY> <H1> <xsl:value-of select="movie/titel" /> </H1>
<P> Darsteller: </P>
<UL>
<xsl:for-each select="movie/cast/actor">
<LI> <xsl:value-of /> </LI>
</xsl:for-each>
</UL>
</HTML>
</xsl:template> XSLT-Stylesheet
78
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.4 Die XML Sprachfamilie
XSL und XSLTBeispiel
<HTML>
<HEAD>
<TITLE> North by Northwest </TITLE>
</HEAD>
<BODY>
<H1> North by Northwest </H1>
<P> Darsteller: </P>
<UL>
<LI> Cary Grant</LI>
<LI> Eve Marie Saint</LI>
<LI> James Mason</LI>
</UL>
</HTML>
Ergebnis der
XSLT-Stylesheet
Transformation
79
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Semantic Web
2. Die Sprachen des Semantic Web
2.1 Uniform Resource Identifier - URI
2.2 Universelle Vokabularien mit XML
2.2.0 Warum (X)HTML nicht ausreicht…
2.2.1 XML Sprachstandard
2.2.2 XML DTD
2.2.3 XML Schema (XSD)
2.2.4 XML Sprachfamilie
2.2.5 Warum XML noch nicht ausreicht…
2.3 Einfache semantische Strukturen mit RDF und RDFS
2.4 Abfragesprache SPARQL
2.5 Semantik im WWW - formats, RDFa, GRDDL
2.6 Warum RDF/RDFS noch nicht ausreicht
13.11.2008 – Vorlesung Nr. 31 2 4 5 6 7 8 9 1110 12
13
80
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.5 Warum XML noch nicht ausreicht…
XML und Semantikallgemeine, erweiterbare Meta-Markup-Sprache zurReprä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>
</adresse>
81
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.5 Warum XML noch nicht ausreicht…
XML und SemantikXML instantiiert vorgegebene, vom Benutzer frei definierbareDatentypen (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, XMLSchema oderRelaxNG
Fazit:
XML bildet die Basis des Semantic Web
82
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.5 Warum XML noch nicht ausreicht…
Syntaktische Definition mit XMLSchemaXML-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 unterschiedlicherNamensräume
global einheiltliche Identifikation von XML-ElementenKombination unterschiedlicher XML-Vokabularien
XML-Schema als Validator
mit XMLSchema Definitionen können XML-Dokumentevalidiert werden Interoperabilität
83
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.5 Warum XML noch nicht ausreicht…
Warum XML 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 ?
84
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.5 Warum XML noch nicht ausreicht…
Warum XML noch nicht ausreicht…
CV
name
education
work
private
< >
< >
< >
< >
< >
Dokument
XML-Dokument mit
„sprechenden“ Bezeichnern
85
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.5 Warum XML noch nicht ausreicht…
Warum XML noch nicht ausreicht…
μ
< >
< >
< >
< >
< >
Dokument
XML-Dokument mit
„sprechenden“ Bezeichnern
aus der Sicht des eines
Programms
86
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.5 Warum XML noch nicht ausreicht…
Warum XML noch nicht ausreicht…
μ
< >
< >
< >
< >
< >
Dokument 1
μ
< >
< >
< >
< >
< >
Dokument 2
< >
< μ >…
Schema-Definition
Kommunikationspartner müssen sich
über die Semantik der Metadaten
einigen
87
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.5 Warum XML noch nicht ausreicht…
Warum XML noch nicht ausreicht…
μ
< >
< >
< >
< >
< >
Dokument 1
< >
< >
< >
< >
< >
Dokument 2
< >
< μ >…
Schema
Definitionen
< >
< >…
Schema
DefinitionenOntologien
Beschreibungslogiken
RDF / OWL / SWRL
Inferenzmechanismen
Trust
88
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.5 Warum XML noch nicht ausreicht…
Warum XML noch nicht ausreicht…Semantik eines XML-Dokuments erschließt sich nur dem menschlichen
Benutzer
XML = syntaktisch standardisierte Meta-Sprache zur Kommunikationzwischen 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. Zusammenarbeitist 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!)
89
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web2.2 XML / 2.2.5 Warum XML noch nicht ausreicht...
Semantic Web Architecture
URI / IRI
XML / XSD
RDFS
Ontology (OWL)
Trust
Cry
pto
Unifying Logic
Proof
Data interchange:
RDF
Query:
SPARQLRule:
RIF
User Interface & Application
90
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Semantic Web
2. Die Sprachen des Semantic Web
2.1 Uniform Resource Identifier - URI
2.2 Universelle Vokabularien mit XML
2.2.0 Warum (X)HTML nicht ausreicht…
2.2.1 XML Sprachstandard
2.2.2 XML DTD
2.2.3 XML Schema (XSD)
2.2.4 XML Sprachfamilie
2.2.5 Warum XML noch nicht ausreicht…
2.3 Einfache semantische Strukturen mit RDF und RDFS
2.4 Abfragesprache SPARQL
2.5 Semantik im WWW - formats, RDFa, GRDDL
2.6 Warum RDF/RDFS noch nicht ausreicht
13.11.2008 – Vorlesung Nr. 31 2 4 5 6 7 8 9 1110 12
13
91
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web
Literatur
» E. R. Harold, S. MeansXML in a Nutshell, O’Reilly, 2005.
» Ch. Meinel, H. Sack:WWW– Kommunikation, Internetworking, Web-Technologien,Springer, 2004.
92
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2. Die Sprachen des Semantic Web
Literatur
Bloghttp://sw0809.blogspot.com/
Materialien-Webseitehttp://www.hpi.uni-potsdam.de/meinel/teaching/semantic_web_ws08090.html
bibsonomy - Bookmarkshttp://www.bibsonomy.org/user/lysander07/sw0809-02