Semantic Web - Hasso Plattner...

Preview:

Citation preview

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

Recommended