Semantisches Prozessmanagement und E-Business · • Ein XML-Dokument hat genau EIN Wurzelelement,...

58
SBPM& EB — SS 2013 | Michael Fellmann Lehrveranstaltung im SS 2013 Michael Fellmann Institut für Informationsmanagement und Unternehmensführung [email protected] Semantisches Prozessmanagement und E-Business conceptualization shared semantics formal menatal model explicit domain

Transcript of Semantisches Prozessmanagement und E-Business · • Ein XML-Dokument hat genau EIN Wurzelelement,...

SBPM& EB — SS 2013 | Michael Fellmann

Lehrveranstaltung im SS 2013

Michael Fellmann

Institut für Informationsmanagement

und Unternehmensführung

[email protected]

Semantisches Prozessmanagement und E-Business

conceptualization

shared

semantics

formal

menatal model

explicit

domain

SBPM& EB — SS 2013 | Michael Fellmann 2

Agenda

XML-Einführung

– Grundbegriffe

– Von XML zu RDF

RDF als Rahmenwerk für Metadaten

– RDF-Komponenten

– RDF-Modell und Syntax

– RDF Schema

Aktuelle Entwicklungen in der Datenstrukturierung

SBPM& EB — SS 2013 | Michael Fellmann 3

Markierungssprachen

Konzept der Markierungssprachen

– Grundidee ist, dass Text mit Metainformation über den Text gemischt wird.

– Die Metainformationen werden durch Tags (Markierungen) hinzugefügt, diese sind sowohl durch Menschen, wie auch Maschinen lesbar.

Tags (Markierungen)

– Es werden für die Kennzeichnung von Tags reservierte Zeichenketten verwendet

– Tags umschließen die Informationen, d.h. es gibt einen öffnenden und einen schließenden Teil

– Beispiele anhand von HTML:

<b>fett</b> erscheint im Browser als fett

<i>kursiv</i> erscheint im Browser als kursiv

– Tags müssen nicht zwangsläufig durch eckige Klammern realisiert werden, LaTeX verwendet z.B. ein anderes Format: \textbf{fett} bzw. \textit{kursiv}.

– Tags müssen sich nicht auf die Darstellung beziehen.

XML

Idee der Markierungssprachen

SBPM& EB — SS 2013 | Michael Fellmann 4

Markierungssprachen

Historische Entwicklung

– 1967: Idee der Markup-Sprachen, William Tunnicliffe (CGA) „generic coding“

– 1969: GML: Formal definierter Datentyp (Goldfarb, Mosher und Lorie)

– 1986: SGML: Standard Generalized Markup Language (ISO-Standard)

– 1989: HTML: Hypertext Markup Language (Tim Berners-Lee)

– 1995: CSS: Cascaded Style Sheets

– 1998: XML 1.0: Extensible Markup Language (Bray, Paoli, Sperberg-McQueen)(Update 2008: XML 1.1)

– 1999: XSLT: Extensible Stylesheet Language Transformations (James Clark)(Update 2007: XSLT 2.0 und XPath 2.0)

– 1999: RDF, RDF(S): Resource Description Framework (Lassila, Swick) (Update 2004: Ende der Überarbeitung der ersten Version)

– 2004: OWL: Web Ontology Language (Smith, Welty, McGuinnes)

– 2009: OWL 2: Web Ontology Language Version 2 (W3C OWL Working Group)

– 201x: RDF 2 ???

XML

Historie im groben Überblick

SBPM& EB — SS 2013 | Michael Fellmann 5

XML-Grundlagen

Charakterisierung von XML

– XML = eXtensible Markup Language

– XML ist ein Basisstandard, der

• Ein Datenformat für Auszeichnungssprachen definiert.

Dieses besteht aus grundlegenden syntaktischen Regeln, denen alle XML-

konformen Markupsprachen genügen müssen.

• Die Definition beliebiger Auszeichnungssprachen erlaubt.

Beispiele für XML-basierte Sprachen

– XHTML, WSDL, SOAP, RSS

– OpenDocument (OpenOffice), Office Open XML (Microsoft Office)

XML

Was ist XML

SBPM& EB — SS 2013 | Michael Fellmann 6

XML-Grundlagen

Element

– Elemente enthalten Text, weitere Elemente, oder gar nichts.

• Beispiel: <student>Max Mustermann</student>

Attribut

– Attribute sind zusätzliche Informationen zu Elementen, ihre Reihenfolge ist im Gegensatz zur Reihenfolge von Elementen irrelevant.

– Attributwerte sind die Ausprägungen der Attribute, sie stehen in Anführungszeichen.

• Beispiel:<student geburtsdatum="01.01.1900" geschlecht="m">

Max Mustermann

</student>

Gemischter Inhalt (Mixed Content)

– Ein Element enthält Zeichendaten und Unterelemente gemischt.

• Beispiel: <text>Das ist <fett>wichtig</fett></text>

XML

Terminologie

SBPM& EB — SS 2013 | Michael Fellmann 7

XML-Grundlagen

Die Struktur eines XML-Dokuments

entspricht einer Hierarchie, es kann

zwischen Eltern- und Kind-Elementen

unterschieden werden. Man spricht auch

von einer Baumstruktur.

Das Wurzel- oder Dokument-Element

ist das oberste Element (die „Wurzel“ des Baumes).

Eltern- und Kind-Elemente

– Eltern-Element ist ein Synonym für ein Element, das in

der Hierarchie der Elemente eine Stufe höher steht.

– Kind-Element ist ein Synonym für ein Element, dass in

der Hierarchie der Elemente eine Stufe niedriger steht.

���� Es handelt sich um relative Begriffe

Beispiel:<?xml version="1.0"?>

<rootelement>

<elternelement>

<kindelement>

</kindelement>

</elternelement>

</rootelement>

XML

Struktur

SBPM& EB — SS 2013 | Michael Fellmann 8

XML-Grundlagen

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="person">

<xs:complexType>

<xs:sequence>

<xs:element name="name" type="xs:string" />

<xs:element name="alter" type="xs:decimal"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

Namensraum

Element-Deklaration

Inhaltsmodell (sequence, choice, all, any)

XML

<person><name>Max</name><alter>42</alter>

</person>

XML-Schema

Schema-Fragment zur Spezifikation eines Elements person Instanz-Daten

SBPM& EB — SS 2013 | Michael Fellmann 9

Validierung von XML

Zur Validierung allgemein

– Der Begriff der „Validierung“ bezeichnet die Konformität eines Dokumentes zu Regeln

(in anderen Kontexten wird dies auch als Verifikation bezeichnet).

– Hinsichtlich der Regeln kann zwischen Regeln für wohlgeformte und gültige

Dokumenten unterschieden werden.

Regeln zur Sicherstellung der Wohlgeformtheit

– Strukturelle Anforderungen

• Ein XML-Dokument hat genau EIN Wurzelelement, das sämtliche anderen

Element beinhaltet.

• Die Reihenfolge der öffnenden und schließenden Elemente ist wichtig.

– Das jeweils zuletzt geöffnete Element muss zuerst geschlossen werden.

– Beispiele (falsche Reihenfolgen):

<element1> <element2> </element1> </element2>

<element1> <element2> </element1>

XML

Wohlgeformtheit

SBPM& EB — SS 2013 | Michael Fellmann 10

Validierung von XML

Regeln zur Sicherstellung der Wohlgeformtheit (Fortsetzung)

– Namen

• Groß- und Kleinschreibung ist relevant (Case sensitive).

• Attribut-Namen dürfen keine Sonderzeichen enthalten

• Tag-Namen dürfen keine Sonderzeichen enthalten außer : - _

(Hinweis: In XML 1.1 sind zusätzliche Zeichen erlaubt!)

– Sonderzeichen

• Sonderzeichen bzw. die Zeichen, die XML selbst verwendet, müssen speziell behandelt („maskiert“) werden

– XML-eigene Zeichen mit Ersetzungen, z.B. >>>> wird zu &&&&gtgtgtgt;;;;

– Beliebige Sonderzeichen mit numerischen Entities, z.B. ÄÄÄÄ wird zu &#228;&#228;&#228;&#228;

XML

Wohlgeformtheit

SBPM& EB — SS 2013 | Michael Fellmann 11

Validierung von XML

Gültigkeit eines Dokuments

– Ein Dokument ist wohlgeformt und zusätzlich verweist es auf eine Grammatik, die die

Dokumentstruktur vorgibt. Bekannte Sprachen hierfür sind u. a.:

• DTD, Relax NG, XML-Schema (Sicherstellung struktureller Gültigkeit)

• Schematron (über Regeln sind auch Aspekte der Kohärenz überprüfbar)

– Gültigkeit bedeutet, dass die Regeln der Grammatik ebenfalls befolgt werden.

XML

Gültigkeit

SBPM& EB — SS 2013 | Michael Fellmann 12

Agenda

XML-Einführung

– Grundbegriffe

– Von XML zu RDF

RDF als Rahmenwerk für Metadaten

– RDF-Komponenten

– RDF-Modell und Syntax

– RDF Schema

Aktuelle Entwicklungen in der Datenstrukturierung

RDF

SBPM& EB — SS 2013 | Michael Fellmann 13

Eigenschaften von XML

Allgemeine Merkmale

– Anwendungsunabhängigkeit, Standardisierung und Lesbarkeit vereinfacht Austausch zwischen unterschiedlichen Systemen und die Entwicklung von Anwendungen.

– XML selbst trifft keine Annahmen über die Verwendung der Daten.

– Dominierendes Merkmal von XML ist die hierarchische Strukturierung der Daten.

Semantik

– Eine Semantik ist primär an die Interpretation der Hierarchie gebunden, kann jedoch auch aus dem Namensraum und den Element- und Attributnamen (allerdings nur vom Menschen!) abgeleitet werden.

– Die Beziehung zwischen über- und untergeordneten Elementen ist jedoch nicht be-schränkt und kann unterschiedliche Ausprägungen haben, z.B. part-of, is-a, etc.

� XML ist zur Repräsentation strukturierter Daten geeignet

� Die Bedeutung der Element-Hierarchie kann nicht expliziert werden!

Von XML zu RDF

Charakterisierung

SBPM& EB — SS 2013 | Michael Fellmann 14

Idee: Es gibt nur noch Subjekt, Prädikat und Objekt (!)

Von XML zu RDF

Explizit spezifizierte Relationen (Prädikate) verbinden ein Subjekt mit einem Objekt

Erläuterung des SPO-Ansatzes

• Die komplexe

hierarchische

Struktur wird

durch einfache

Aussagen mit

Subjekt, Prädikat, Objekt

ersetzt (bewusste Anlehnung an

Begriffe aus der Linguistik).

• Das Objekt einer Aussage kann

wiederum Subjekt einer

anderen Aussagen sein.

• Die Gesamtheit der Aussagen

bildet einen Graph.

SBPM& EB — SS 2013 | Michael Fellmann 15

Aufgabe

Graphstruktur

1. Wandeln Sie die XML-Hierarchie

in eine Graphstruktur um, wobei

Subjekte u. Objekte als Knoten (Ellipsen),

Prädikate als beschriftete Kanten (Pfeile)

dargestellt werden sollen.

Ausnahme: Wenn das Objekt eine

Zeichenfolge wie „Tina Muster“ ist,

verwenden Sie ein Rechteck.

Zeichnen Sie den Graphen!

2. Welche Vorteile sehen Sie in einer

Strukturierung von Metadaten

als Graph?

Von XML zu RDF

<firma>

<abteilung name="FuE">

<leitung>Max Muster</leitung>

<mitarbeiter>

<person>

<name>Tina Muster</name>

<adresse>

<strasse>Am Rosenberg 7</strasse>

</adresse>

</person>

...

</mitarbeiter>

</abteilung>

</firma>

SBPM& EB — SS 2013 | Michael Fellmann 16

Agenda

XML-Einführung

– Grundbegriffe

– Von XML zu RDF

RDF als Rahmenwerk für Metadaten

– RDF-Komponenten

– RDF-Modell und Syntax

– RDF Schema

Aktuelle Entwicklungen in der Datenstrukturierung

SBPM& EB — SS 2013 | Michael Fellmann 17

Relevanz von RDF und interoperablen Metadaten

Austausch von Metadaten

– Industrie: Daten werden zwischen verschiedenen Standorten ausgetauscht.

• Beispiel: Statoil nutzt RDF/XML, um Daten zwischen 40 Anlagen auszutauschen.

– E-Government: Daten werden länderübergreifend zwischen Behörden ausgetauscht.

• Beispiele: Es existieren zahlreiche Projekte wie SemanticGov, SERES, Tikesos, etc.

– Gesundheitswesen: Daten werden in medizinischen Prozessen weitergegeben.

• Beispiele: Vokabulare wie SNOMED-CT und HL7/RIM werden in RDF abgebildet.

– Medienindustrie: Inhalte werden semantisch beschrieben.

• Beispiele: New York Times, BBC etc. beschreiben Teile ihrer Angebote mit RDF.

– Handel: Daten über Produkte und Dienste werden in Webseiten eingebettet.

• Beispiel: BestBuy nutzt das RDF-Vokabular „GoodRelations“, um Produkte im Web

zu beschreiben.

� Im großen Rahmen werden Daten auch im Web als „Linked Open Data“ bereitgestellt,

wobei häufig RDF zum Einsatz kommt.

RDF

Metadatenaustausch in verschiedenen Domänen

SBPM& EB — SS 2013 | Michael Fellmann 18

Relevanz von RDF und interoperablen Metadaten

Prozessmodellierungswerkzeuge

– Signavio Process Editor (ERDF, RDF)

– SemTalk (OWL/RDF)

Prozesswikis – Prozessmodellierung

mit Wiki-Ansätzen kombiniert

– Moki Wiki (OWL/RDF)

– Wikiing Pro (RDF)

Semantic Web Services – Semantische Beschreibung von Diensten und Funktionen

– WSMO zur Beschreibung von Web Services (OWL/RDF-Mapping vorhanden)

– OWL-S zur Beschreibung von Web Services (OWL/RDF)

– SAWSDL zur Annotation von WSDL mit RDF- oder OWL-Beschreibungen (OWL/RDF)

RDF

RDF als Austauschformat für Prozessinformation

Beispiel: Moki-Wiki (moki.fbk.eu)

Que

lle: h

ttps:

//mok

i.fbk

.eu/

web

site

/use

rfile

s/im

age/

entm

od.p

ng

SBPM& EB — SS 2013 | Michael Fellmann 19

Relevanz von RDF und interoperablen Metadaten

RDF

Einordnung in das Schichtenmodell des Semantic Web

SBPM& EB — SS 2013 | Michael Fellmann 20

Agenda

XML-Einführung

– Grundbegriffe

– Von XML zu RDF

RDF als Rahmenwerk für Metadaten

– RDF-Komponenten

– RDF-Modell und Syntax

– RDF Schema

Aktuelle Entwicklungen in der Datenstrukturierung

RDF

SBPM& EB — SS 2013 | Michael Fellmann 21

RDF: Ein Rahmenwerk für Metadaten

RDF/XML

XML

UNICODE

Binärdaten

Que

lle: E

igen

e E

rste

llung

200

4, V

eröf

fent

licht

in W

ikip

edia

RDF

Zuordnung der RDF-Komponenten zur zuvor entwickelten Metadaten-Architektur

Semantik

Modell/Struktur

Syntax

Iden

tifi

kati

on

SBPM& EB — SS 2013 | Michael Fellmann 22

RDF: Ein Rahmenwerk für Metadaten

RDF ist ein Rahmenwerk, das festlegt, wie weitere

Metadaten-Vokabulare definiert werden können und ist

Bestandteil der Semantic-Web-Initative des

World Wide Web Consortiums (W3C).

RDF Besteht aus drei Komponenten:

– RDF-Modell: Generisches Modell für Metadaten, das im Wesentlichen

Tripeln aus Subjekt, Prädikat und Objekt vorsieht.

• Concepts and Abstract Syntax www.w3.org/TR/rdf-concepts/

• RDF Semantics www.w3.org/TR/rdf-mt/

– RDF/XML: Syntax zur Repräsentation eines Metadaten-Modells

• RDF/XML Syntax Specification www.w3.org/TR/rdf-syntax-grammar/

– RDF-Schema: Vokabular zur Definition von Metadaten-Vokabularen

• RDF Vocabulary Description Language 1.0: RDF Schema

www.w3.org/TR/rdf-schema/

www.w3.org/RDF

RDF

Erste Annäherung

SBPM& EB — SS 2013 | Michael Fellmann 23

RDF: Ein Rahmenwerk für Metadaten

URI als Adressierungs-Mechanismus für konkrete und abstrakte Ressourcen

– RFC 3986: „A Uniform Resource Identifier (URI) is a compact sequence of characters

that identifies an abstract or physical resource.“

– Aufbau: <uri-scheme>:<scheme-specific-string>

– IANA registriert die Schemata

Beispiele für Schemata und ihre Definitionen:

– http: RFC1630

– urn: RFC2141

Erlaubte Zeichen

– URI: Alle Zeichen, die im ASCII-Zeichensatz enthalten sind

– IRI (Internationalized Resource Idenitifier, RFC 3987): Auch Nicht-ASCII-Zeichen

sind zugelassen.

RDF

Eindeutige Identifikation von Ressourcen mit URIs

SBPM& EB — SS 2013 | Michael Fellmann 24

RDF: Ein Rahmenwerk für Metadaten

Anforderungen des RDF-Standards an URIs

– Lediglich syntaktische Korrektheit

– Ressourcen müssen nicht physikalisch vorhanden sein

���� Beschreibung physikalisch nicht zugreifbarer Ressourcen möglich

Wie behandeln RDF-Parser die URIs?

– Syntaktische Prüfung bei bekannten URI-Schemata (z.B. http)

– Bei „Webadressen“ (URLs) können durch Dereferenzierung des URI eventuell

physikalisch vorhandene Ressourcen geladen werden.

Gute Praxis:

Jeder URI eines Informationsobjekts sollte eine kurze

HTML- oder XML-Beschreibung hinterlegt werden

RDF

Verwendung von URIs in RDF

SBPM& EB — SS 2013 | Michael Fellmann 25

Agenda

XML-Einführung

– Grundbegriffe

– Von XML zu RDF

RDF als Rahmenwerk für Metadaten

– RDF-Komponenten

– RDF-Modell und Syntax

– RDF Schema

Aktuelle Entwicklungen in der Datenstrukturierung

RDF

SBPM& EB — SS 2013 | Michael Fellmann 26

Das RDF-Modell

Grundgedanke:

– Modellierung von Metadaten durch einfache Sätze

mit Subjekt, Prädikat und Objekt.

– Das RDF-Modell existiert unabhängig von einer konkreten Repräsentationsform.

Formale Beschreibung des RDF-Modells erfolgt in:

– „Concepts and Abstract Syntax“ — www.w3.org/TR/rdf-concepts/

– „RDF Semantics“ — www.w3.org/TR/rdf-mt/

Repräsentation / Serialisierung auf verschiedene Weisen möglich:

RDF-Modell

RDF-Graph RDF/XML(normativ)

Turtle, Manchester, Functional-Style

RDF > Modell und Syntax

…als Basisstruktur von Aussagen

SBPM& EB — SS 2013 | Michael Fellmann 27

Das RDF-Modell

Unterstützung von XML-Namensräumen

– Sicherstellung der weltweiten Eindeutigkeit von Beschreibungen.

– Außerdem: Erweiterbarkeit um Elemente aus fremden Vokabularen.

Datentypen

– Untypisierte Literale

– Typisierte Literale: Nutzung von XMLSchema-Datentypen

Bereitstellung spezieller Konstrukte

– Anonyme Knoten

– Behälterstrukturen

– Kollektionen

– Reifikation: Aussagen über Aussagen

RDF > Modell und Syntax

Weitere Eigenschaften

Werden im Rahmen der Vorlesung nicht betrachtet

SBPM& EB — SS 2013 | Michael Fellmann 28

Das RDF-Modell

RDF-Graph (Beispiel)

[Quelle: http://www.w3.org/TR/rdf-primer/]

RDF > Modell und Syntax

Repräsentationsformen

SBPM& EB — SS 2013 | Michael Fellmann 29

Das RDF-Modell

Turtle-Syntax (Beispiel)

RDF > Modell und Syntax

Repräsentationsformen

Default-Namensraum

WeitereNamensräume

Weiterführendes zu Turtle: http://www.w3.org/TR/2011/WD-turtle-20110809/

@prefix : <http://www.example.org/> . @prefix dc: <http://purl.org/dc/elements/1.1/> . @prefix exterms: <http://www.example.org/terms/> . @prefix exstaff: <http://www.example.org/staffid/> .

:index.html exterms:creation-date "August 16, 1999" ; dc:language "en" ;dc:creator exstaff:85740 .

SBPM& EB — SS 2013 | Michael Fellmann 30

Das RDF-Modell

<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:dc="http://purl.org/dc/elements/1.1/"

xmlns:exterms="http://www.example.org/terms/">

<rdf:Description rdf:about="http://www.example.org/index.html">

<exterms:creation-date>August 16, 1999</exterms:creation-date>

<dc:language>en</dc:language>

<dc:creator rdf:resource="http://www.example.org/staffid/85740"/>

</rdf:Description>

</rdf:RDF>

„Importierte“Vokabulare

���� Erweiterbarkeit ist gewährleistet!

RDF > Modell und Syntax

Repräsentationsformen

RDF/XML (Beispiel, mit Hervorhebung der Namensräume)

SBPM& EB — SS 2013 | Michael Fellmann 31

Datentypen

<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:exterms="http://www.example.org/terms/">

<rdf:Description rdf:about="http://www.example.org/staffid/85740">

<exterms:age>27</exterms:age>

</rdf:Description>

</rdf:RDF>

[Que

lle: h

ttp://

ww

w.w

3.or

g/T

R/r

df-p

rimer

/]

RDF > Modell und Syntax

Ungetypte Literale – Beispiel

SBPM& EB — SS 2013 | Michael Fellmann 32

Datentypen

���� Nutzung der XMLSchema Built-In Datentypen möglich

[Que

lle: h

ttp://

ww

w.w

3.or

g/T

R/r

df-p

rimer

/]

RDF > Modell und Syntax

Getypte Literale – Beispiel

exstaff:85740 exterms:age "27"^^xsd:integer

Beispiel in Turtle-Syntax:

SBPM& EB — SS 2013 | Michael Fellmann 33

Datentypen

<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:exterms="http://www.example.org/terms/">

<rdf:Description

rdf:about="http://www.example.org/staffid/85740">

<exterms:age

rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"

>27</exterms:age>

</rdf:Description>

</rdf:RDF>

RDF > Modell und Syntax

Getypte Literale – Beispiel in RDF/XML

SBPM& EB — SS 2013 | Michael Fellmann 34

Anonyme Knoten

Gründe für das Auftreten anonymer Knoten:

– Nicht atomare Objekt-Werte / Gruppierung mehrerer Werte

� „Umgehung“ des strengen Tripel-Konzeptes

vgl. Shelly Powers: „Practical RDF“, O´Reilly 2003

– Aggregation mehrerer Objekte zu einem Konzept, das als solches außerhalb des

Graphs (Modells) nicht von Interesse ist und daher nicht referenziert werden muss.

Beispiel: Adressevgl. www.w3.org/TR/rdf-primer/, Abschnitt 2.3

– Um eine bestimmte Bedeutung auszudrücken:

z.B. Empfehlung einer Gruppe von Büchern vs. Einzel-Empfehlung

eines jeden Buchs der Gruppe.

– “Natürliches” Auftreten bei Behälter-Strukturen

RDF > Modell und Syntax

Motivation

SBPM& EB — SS 2013 | Michael Fellmann 35

Anonyme Knoten

[Quelle: http://www.w3.org/TR/rdf-primer/]

RDF > Modell und Syntax

Beispiel als Graph

SBPM& EB — SS 2013 | Michael Fellmann 36

Anonyme Knoten

RDF > Modell und Syntax

Beispiel in Turtle-Syntax

@prefix ...(siehe Folie 30)...

exstaff:85740 exterms:address [ exterms:city "Bedford" ; exterms:street "1501 Grant Avenue" ; exterms:state "Massachusetts" ; exterms:postalCode "01730" ]

SBPM& EB — SS 2013 | Michael Fellmann 37

Anonyme Knoten

<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:dc="http://purl.org/dc/elements/1.1/"

xmlns:exterms="http://www.example.org/terms/">

<rdf:Description rdf:about="http://www.example.org/staffid/85740">

<exterms:address>

<rdf:Description>

<exterms:city>Bedford</exterms:city>

<exterms:street>1501 Grant Avenue</exterms:street>

<exterms:state>Massachusetts</exterms:state>

<exterms:postalCode>01730</exterms:postalCode>

</rdf:Description>

</exterms:address>

</rdf:Description>

</rdf:RDF> Anonymer Knoten

RDF > Modell und Syntax

Beispiel in RDF/XML

SBPM& EB — SS 2013 | Michael Fellmann 38

Agenda

XML-Einführung

– Grundbegriffe

– Von XML zu RDF

RDF als Rahmenwerk für Metadaten

– RDF-Komponenten

– RDF-Modell und Syntax

– RDF Schema

Aktuelle Entwicklungen in der Datenstrukturierung

RDF

SBPM& EB — SS 2013 | Michael Fellmann 39

RDF-Schema

Verhältnis Dokument, Schema

– RDF-Schemata verhalten sich zu RDF-Dokumenten ähnlich wie

XML-Schemata zu XML-Dokumenten

– Ein RDF Schema ist gleichzeitig ein gültiges RDF-Dokument (und XML-Dokument)

Unterschiede

– Im Gegensatz zu XML Schema werden jedoch nicht syntaktische Beschreibungen

wie Elementnamen und Häufigkeit des Auftretens definiert, sondern semantische

Aspekte.

– Beispiel:

• Das Attribut hasPublished darf nur auf Instanzen der Klasse Mensch

angewendet werden, nicht jedoch auf Instanzen der Klasse Tier.

• In der Schemasprache formuliert, hat das Attribut hasPublished die Domäne

Mensch.

���� RDF-Schemata betonen die Hierarchische Gliederung nicht so stark

RDF > RDF-Schema

Abgrenzung zu XML Schema

SBPM& EB — SS 2013 | Michael Fellmann 40

RDF-Schema

Vererbung

– Mehrfachvererbung auf Klassenebene mit dem Prädikat

rdfs:subClassOf.

– Vererbung auf Property-Ebene mit dem Prädikatrdfs:subPropertyOf.

Domänen und Wertebereiche sind für Properties definierbar

– Beschränkung des Auftretens (Domäne) von Attributen auf eine

oder mehrere Klassen möglich mit dem Prädikat

rdfs:domain.

– Wertebereich für Objekte definierbar:

Beschränkung des Objekt-Wertes auf eine Klasse

(durch Container-Klasse und Vererbung jedoch umgehbar) mit dem Prädikat rdfs:range

RDF > RDF-Schema

Kurzbeschreibung

SBPM& EB — SS 2013 | Michael Fellmann 41

RDF-Schema – Klassendefinitionen

[Que

lle: h

ttp://

ww

w.w

3.or

g/T

R/r

df-p

rimer

/]

RDF > RDF-Schema

Beispiel als Graph

SBPM& EB — SS 2013 | Michael Fellmann 42

RDF-Schema – Klassendefinitionen

RDF > RDF-Schema

Beispiel in Turtle-Syntax

@prefix : <http://www.example.org/schemas/vehicles/> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

:MiniVan rdfs:subClassOf :PassengerVehicle , :Van . :PassengerVehicle rdfs:subClassOf :MotorVehicle . :Truck rdfs:subClassOf :MotorVehicle . :Van rdfs:subClassOf :MotorVehicle .

SBPM& EB — SS 2013 | Michael Fellmann 43

RDF-Schema – Klassendefinitionen

<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"

xml:base="http://www.example.org/schemas/vehicles">

<rdfs:Class rdf:ID="MotorVehicle"/>

<rdfs:Class rdf:ID="PassengerVehicle">

<rdfs:subClassOf rdf:resource="#MotorVehicle"/>

</rdfs:Class>

<rdfs:Class rdf:ID="Truck">

<rdfs:subClassOf rdf:resource="#MotorVehicle"/>

</rdfs:Class>

<rdfs:Class rdf:ID="Van">

<rdfs:subClassOf rdf:resource="#MotorVehicle"/>

</rdfs:Class>

<rdfs:Class rdf:ID="MiniVan">

<rdfs:subClassOf rdf:resource="#Van"/>

<rdfs:subClassOf rdf:resource="#PassengerVehicle"/>

</rdfs:Class>

</rdf:RDF>

Klassen-Definitionen

RDF > RDF-Schema

Beispiel in RDF/XML

SBPM& EB — SS 2013 | Michael Fellmann 44

RDF(S)-Beispiel: Klassen, Properties, Instanzen

Instanzen-Ebene

Schema-Ebene

RDF > RDF-Schema

Beispiel als Graph

SBPM& EB — SS 2013 | Michael Fellmann 45

RDF-Schema – Klassendefinitionen

RDF > RDF-Schema

Beispiel in Turtle-Syntax

@prefix : <http://www.example.org/schemas/vehicles/> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

:MotorVehicle a rdfs:Class . :Fuel a rdfs:Class .

:consumes a rdf:Property ; rdfs:domain :MotorVehicle ;rdfs:range :Fuel .

:diesel a :Fuel .

:my_vehicle a :MotorVehicle ; :consumes :diesel .

SBPM& EB — SS 2013 | Michael Fellmann 46

RDF(S) – Beispiel: Klassen, Properties, Instanzen

<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"

xmlns:vec="http://www.example.org/schemas/vehicles#"

xml:base="http://www.example.org/schemas/vehicles">

<!-- - - - - - Klassen - - - - - -->

<rdfs:Class rdf:ID="MotorVehicle"/>

<rdfs:Class rdf:ID="Fuel"/>

<!-- - - - - - Properties - - - - - -->

<rdf:Property rdf:ID="consumes">

<rdfs:domain rdf:resource="#MotorVehicle"/>

<rdfs:range rdf:resource="#Fuel"/>

</rdf:Property>

<!-- - - - - - Instanzen - - - - - -->

<vec:Fuel rdf:ID="diesel"/>

<vec:MotorVehicle rdf:ID="my_vehicle">

<vec:consumes rdf:resource="#diesel"/>

</vec:MotorVehicle>

</rdf:RDF>

RDF > RDF-Schema

Beispiel in RDF/XML

SBPM& EB — SS 2013 | Michael Fellmann 47

Kritische Würdigung von RDF

Was kann RDF?

– Definiert ein Modell für einfache Aussagen über Ressourcen.

– Besitzt mit RDF Schema ein Vokabular zur Definition von Vokabularen inkl. Vererbungs- und Beschränkungsmechanismen.

– Definiert mit RDF/XML eine Syntax zur Repräsentation eine Modells.

– Semantik ist über Namensräume erweiterbar.

…und was nicht?

– RDF definiert keine domänenspezifische Semantik, diese muss extern definiert und über Namensräume werden.

– Über einfache Vererbungs-Mechanismen hinaus keine weiter-gehenden Beziehungen zwischen Klassen definierbar.

� RDF ist eine Art Datenmodell für Metadaten,vergleichbar dem Relationalen Datenmodell für Datenbanken

RDF

Abschließende Bemerkung

SBPM& EB — SS 2013 | Michael Fellmann 48

Agenda

XML-Einführung

– Grundbegriffe

– Von XML zu RDF

RDF als Rahmenwerk für Metadaten

– RDF-Komponenten

– RDF-Modell und Syntax

– RDF Schema

Aktuelle Entwicklungen in der Datenstrukturierung

RDF

SBPM& EB — SS 2013 | Michael Fellmann 49

Trend 1: Nutzerfreundliche Syntax

Beispiele für minimalistische Formate

– Für Graphstrukturen: N3, TURTLE, Manchester OWL, Functional-Style und Weitere.

– Für Hierarchien: JSON (JavaScript Object Notation) als Konkurrent zu XML.

Welche Vorteile besitzen die einfachen Formate?

– Schnelles Schreiben „von Hand“.

– Text-orientierte Nutzerschnittstellen mit Auto-Completion sind teils angenehmer/einfacher/schneller als eine aufwendige GUI.

– Weniger Ballast bei großen Datenmengen.

… und welche Nachteile?

– Im Vergleich zu XML schwächere Standardisierung

– Weniger Werkzeuge vorhanden zur Verarbeitung

Aktuelle Entwicklungen

XML wird als „Oberflächensyntax“ zugunsten einfacherer Formate zurückgedrängt

SBPM& EB — SS 2013 | Michael Fellmann 50

Trend 2: Direkte Verarbeitung der Daten

Beispiel: JSON

– Die JavaScript Object Notation erlaubt die Repräsentation einfacher Datenstrukturen.

– Die Daten können mittels der eval()-Funktion direkt innerhalb der Skriptsprache „JavaScript“ verarbeitet werden.

– Einfache Schemasprache (JSON Schema gegenwärtig [Frühjahr 2013] in der Entwicklung der IETF).

Was sind die Vor- und Nachteile?

– Einarbeitung in Programmierschnittstelle oder Bibliotheken kann weitgehend entfallen.

– Die Typisierung der Daten ist wenig präzise.

� XML wird auf absehbare Zeit die „Lingua franca“ zur Datenbeschreibung bleiben

Aktuelle Entwicklungen

Vermeidung von Programmierschnittstellen

SBPM& EB — SS 2013 | Michael Fellmann

Lehrveranstaltung im SS 2013

Michael Fellmann

Institut für Informationsmanagement

und Unternehmensführung

[email protected]

Semantisches Prozessmanagement und E-Business

conceptualization

shared

semantics

formal

menatal model

explicit

domain

SBPM& EB — SS 2013 | Michael Fellmann 52

ANHANG

Anhang

SBPM& EB — SS 2013 | Michael Fellmann 53

Syntax-Abkürzungsmechanismen (1/4)

Prinzip der XML-Entitäten (engl. XML Entities)

– Deklaration einer Zeichenkette zusammen mit einer Abkürzung vor dem

Wurzelelement eines XML-Dokumentes innerhalb der Dokumenttypdeklaration.

– An jeder Stelle, an der die Abkürzung verwendet wird, verhält sich der XML-Prozessor

so, also ob die gesamte Zeichenfolge gemeint wäre.

� Funktioniert wie ein Makro bzw. „Suchen & Ersetzen“

Beispiel

<?xml version="1.0"?>

<!DOCTYPE rdf:RDF [

<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">

]>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:exterms="http://example.org/terms/">

<rdf:Description rdf:about="http://example.org/staffid/85740">

<exterms:age rdf:datatype="&xsd;int">27</exterms:age>

</rdf:Description>

</rdf:RDF>

Entity-Deklaration

Entity-Referenzierung

ANHANG

Nutzung von XML-Entitäten zur Abkürzung beliebiger Zeichenfolgen

SBPM& EB — SS 2013 | Michael Fellmann 54

Syntax-Abkürzungsmechanismen (2/4)

Prinzip des XML-Base-Attributes

– Deklaration eines XML-Namensraumes innerhalb des Wurzelelementes eines XML-

Dokumentes.

– Bei den Attributen rdf:about, rdf:ID, rdf:resource, die als Werte URIs

aufnehmen, wird bei unvollständiger URI-Angabe der XML-Basis-URI zugrunde gelegt.

� Funktioniert wie eine unsichtbare „Auto-Vervollständigen“-Funktion

Beispiel

<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xml:base="http://example.com/2002/products">

<rdf:Description rdf:about="#z4">

...

</rdf:Description>

</rdf:RDF>

XML-Base-Deklaration

Abgekürzter URI, Langform: http://example.com/2002/products#z4

ANHANG

Nutzung des XML-Base-Attributes zur Abkürzung von URIs

SBPM& EB — SS 2013 | Michael Fellmann 55

Syntax-Abkürzungsmechanismen (3/4)

rdf:about

– Erlaubt die Angabe eines URI für eine zu beschreibende Ressource.

rdf:ID

– Gibt eine zu beschreibende Ressource an und impliziert eine Prüfung, dass dieser

Name im verwendeten Namensraum einmalig ist.

– Bei Verwendung von rdf:ID kann der Fragment-Identifizierer „#“ weggelassen werden,

dieser wird von der interpretierenden Software automatisch ergänzt.

Beispiel

<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xml:base="http://example.com/2002/products">

<rdf:Description rdf:ID="z4">

...

</rdf:Description>

</rdf:RDF>

Abgekürzter URI, Langform: http://example.com/2002/products#z4

XML-Base-Deklaration

rdf:about vs. rdf:ID – Erläuterung der Unterschiede

ANHANG

SBPM& EB — SS 2013 | Michael Fellmann 56

Syntax-Abkürzungsmechanismen (4/4)

Weitere Anmerkungen

– Wenn rdf:ID verwendet wird, dann sollte der xml:base-URI keinen Fragment-Identifizierer aufweisen, da dieser bei der Konkatenation (Zusammensetzung des URI aus dem Basis-URI und dem lokalen Wert) sonst verdoppelt wird.

– Wenn der xml:base-URI keinen Fragment-Identifizierer aufweist, sollte

• entweder bei rdf:about und rdf:resource-Angaben der Fragment-Identifizierer vorangestellt werden (sog. „dashed vocabularies“), um die sekundäre Ressource zu kennzeichnen,

• oder es wird ein Slash am Ende des Basis-URI verwendet (sog. „slashed vocabularies“). Dies führt allerdings bei über rdf:ID identifizierten Ressourcen zu einer unschönen Doppelung der Form „baseURI/#instanceName“.

– Siehe auch: http://www.w3.org/TR/cooluris/ sowiehttp://www.w3.org/TR/REC-rdf-syntax/#section-Syntax-ID-xml-base

���� Der intuitiven Verständlichkeit und Lesbarkeit wegen wird zur Definition von Ressourcen das Schema rdf:ID="id" verwendet, zur Referenzierung rdf:about="#id" bzw. rdf:resource="#id".

rdf:about vs. rdf:ID – Weitere Anmerkungen

ANHANG

SBPM& EB — SS 2013 | Michael Fellmann 57

Lang- und Kurzform der Instanziierung von RDF(S)-Klassen

<?xml version="1.0"?>

<rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"

xmlns:vec="http://www.example.org/schemas/vehicles#"

xml:base="http://www.example.org/schemas/vehicles">

<vec:MotorVehicle rdf:ID="my_vehicle"/>

<rdf:Description rdf:ID="my_vehicle">

<rdf:type rdf:resource="#MotorVehicle"/>

</rdf:Description>

</rdf:RDF>

���� Beide Formen der Instanziierung sind semantisch gleichwertig!

Kurzform der Instanziierung

Ausführliche Form der Instanziierung

ANHANG

Beispiel in RDF/XML

SBPM& EB — SS 2013 | Michael Fellmann 58

W3C-Validator

ANHANG

http://www.w3.org/RDF/Validator/rdfval

Wesentliche Funktionen:• Validierung von RDF• Ausgabe eines Graphen