Semantisches Prozessmanagement und E-Business · • Ein XML-Dokument hat genau EIN Wurzelelement,...
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
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 &&&>gtgtgt;;;;
– Beliebige Sonderzeichen mit numerischen Entities, z.B. ÄÄÄÄ wird zu ääää
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
Semantisches Prozessmanagement und E-Business
conceptualization
shared
semantics
formal
menatal model
explicit
domain
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