52
Institut für Softwarewissenschaft - Universität Wien P.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel. : 01/4277 38825 E-mail : [email protected] Sprechstunde: Mittwoch 13-14

Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Embed Size (px)

Citation preview

Page 1: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 1

Semantisches Web

Peter BrezanyInstitut für Softwarewissenschaft

Universität Wien

Tel. : 01/4277 38825E-mail : [email protected]

Sprechstunde: Mittwoch 13-14

Page 2: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 2

Einführung• In der letzten Dekade – neues Forschungsgebiet,

bekannt als Semantic Web.• Dieser Begriff wurde von Tim Berners-Lee, den

Erfinder des Web, eingeführt.• Motivation:

– Momentan existieren mehrere Billionen Dokumenten im WWW, die von mehr als 300 Millionen benutzt werden, und Millionen Seiten in Firmen-Intranets (ein Beispiel ist auf den folgenden Folie – Internet-Suche: Jaguar = Jaguar? oder Tomaten = Paradeiser!).

– Es wird immer schwieriger, die vom Anwendern verlangte Information zu finden, organisieren, zugreifen und warten.

. Semantic Web bietet vorteilhafteren Zugriff auf die Information an; dieser Zugriff ist basiert auf der Ausnutzung von meta-daten, die mit Maschinen bearbeitet werden können.

Page 4: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 4

tomate = paradeiser! (und mehr)

Page 5: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 5

Einführung• Man kann sich Semantic Web (SWeb) als eine

Erweiterung des existierenden Web vorzustellen, wo zusätzlich Dokumente mit Meta-Information annotiert sind.

• Die Meta-Information definiert, worüber die Information (Dokumente) sind – in einer Form, die durch Maschinen bearbeitet werden kann.

• Die explizite Repräsentation der Information, begleitet mit Domänen-Theorien (d.h. Ontologien), wird ein Web ermöglichen, das eine qulitativ neue Dienstebene anbieten wird.

• Neue SWeb Sprachen (RDF, XML, DAML+OIL usw.) bringen mächtige AI Techniken in die Berührung mit der Web Infrastruktur.

• SWeb wird ein unglaublich großes Netz von knowledge zusammenweben und es um maschinelle Bearbeitbarkeit.

Page 6: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 6

Ontologien

• Ontologien strukturieren Informationen und beschreiben dessen Gegenstände und Beziehungen formal, damit sie für Menschen und auch für Computer verständlich sind.

• Sie ermöglichen ein shared und common Verständnis einer Domäne, das zwischen Leuten und Anwendungssystemen kommuniziert werden kann.

Page 7: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 7

Sprachen für Semantisches WebIn den letzten Jahren, mehrere markup Sprachen wurden mit dem Ziel entwickelt,

das Semantische Web zu realisieren.

In XML fehlt Semantik; zB, ein Computer-Programm ist nich fähig zu identifizieren,dass <SALARY> Daten sich auf dieselbe Information wie <WAGE> Daten beziehen.

Der RDF wurde als ein Standard für Metadaten entwickelt, um eine formale Semantik ins Web anzuschließen. RDFS (RDF Schema) – ein OO TypSystem – kann als eine minimale Sprache für OntologieModellierung betrachtet werden.

DAML+OIL überwindet mehrere Ausdruckunzulänglichkeiten von RDFS.

OWL ist von DAML+OIL abgeleitet und baut auf RDF.

HTML XML (Extensible Markup Language)XHTML RDF (Resource Description Framework)

OWL (Web Ontology Language – Draft 12 November 2002)

RDFS (Resource Description Framework Schema)DAML+OIL (Ontology Description Language)

Page 8: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 8

RDF

Page 9: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 9

RDF - Resource Description Framework

Das Resource Description Framework (RDF) ist eine Anwedung von XML. Es dient der Beschreibung von Informationen einer Webressource (z. B. einer Webseite oder auch einer ganzen Site). RDF erlaubt die Codie-rung, den Austausch und die Wiederverwendung von strukturierten Meta-daten (Daten über Daten). Langfristig soll RDF und auf dem RDF ba-sierte verschiedene Anwendungen und Ressourcen zu einem webbasierten semantischen Netz (semantic Web) verbinden. Hierdurch soll der Informa-tionsaustausch zwischen Menschen und Anwendungen, aber insbesondere auch zwischen Anwendungen verbessert werden. In Konkurrenz zur W3C Empfehlung RDF gibt es noch die ISO-standardisierten Topic Maps, die ähnliches leisten sollen.

Page 10: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 10

Metadaten• Metadaten – Daten über Daten (Beispiel:

Katalogisierung in herkömmlichen Biblotheken)• Die Strukturierte Beschreibung und Verwaltung

von Metadaten is für eine effiziente Nutzung von verteilten Datenquellen von großer Bedeutung.

• Für HTML-Dokumente gibt es sogenannte Meta-Tags, die im Header des Dokuments stehen und von zahlreichen Suchdiensten verarbeitet werden. Das folgende Beispiel zeigt, wie mit einem Meta-Tag der Titel eines Dokuments angegeben werden kann.

<META NAME="Title" CONTENT=“Vorlesung Metadaten

unserer Gruppe“ LANG=de)>

Nicht so einfach bei Dokumenten, die nicht im HTML- Format sind.

Page 11: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 11

Anforderungen an ein Metadatenformat• Zur Steigerung der Effizienz sollten Metadaten maschinell

verarbeitbar aber trotzdem vom Menschen lesbar sein, d. h. in Textform vorliegen.

• Die Daten sollten für den Austausch über Computernetze, insbesondere das Internet geeignet sein und durch verschiedene Applikationen genutzt werden können.

• Die Unabhängigkeit von einer bestimmten Anwendungsdo-mäne sollte ebenso gegeben sein.

• Skalierbarkeit im Hinblick auf die Verarbeitungsgeschwindig-keit und Erweiterungsfähigkeit.

• Das W3C hat versucht mit dem RDF (Resource Description Framework) diesen Forderungen Rechnung zu tragen.

• Die in RDF ausgedrückte Representation von Metadaten kann ohne Semantikverlust zwischen Anwendungen ausgetauscht werden.

Page 12: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 12

Ziele des RDF RDF soll für den Einsatz in unterschiedlichen

Anwendungen probate Mittel zur Verfügung stellen, angefangen bei der Verbesserung von Suchmaschinen in Bezug auf die Qualität der Suchergebnisse, über den Einsatz bei der Katalogisie-rung von Datenquellen zur Beschreibung von Inhalten und Beziehungen zu anderen Dokumenten bis hin zur Klassifizie-rung und Bewertung von Werken im Internet. Darüberhinaus sollen intelligente Software Agenten beim „knowledge sharing“ und dem Austausch von Informationen unterstützt sowie die Dokumentation der Rechte an Web-Inhalten erleichtert werden. Schließlich soll der Einsatz von digitalen Signaturen zusammen mit RDF die Sicherheit im Internet für electronic commerce und ähnliche sicherheits- relevante Anwendungen fördern.

Page 13: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 13

Was ist RDF?• RDF ist eine deklarative Sprache zur Beschreibung von

elektronischen Ressourcen -- Dingen, die mit einem URI (Uniform Resource Identifier) referenzierbar sind.

• RDF kennt keinen speziellen vordefinierten Wortschatz zur Beschreibung von Metadaten, sondern bietet die Möglichkeit verschiedene Standards einzubinden oder gar neue Schemata zu definieren.

• Der grundlegende Gedanke bei RDF ist der einer Sprache, mit der man Aussagen über Dinge trifft, die mittels gerichteter Graphen modelliert werden können.

• Diese Graphen bestehen aus Knoten, zugehörigen Paaren von Attributen und Werten.

• Knoten sind beispielsweise Quellen (Resources) im Internet, Attribute sind die Eigenschaften der Knoten, derenWerte entweder atomar sind (also Text Strings oder Zahlen) oder wiederum Quellen bzw. Dokumente mit Attributen.

Page 14: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 14

Was ist RDF? (2)

• RDF Modelle werden dann mittels XML (eXtensible Markup Language) speicherbar und austauschbar repräsentiert.

• RDF bedient sich der Syntax von XML ohne dabei Annahmen über ein bestimmtes Anwendungsgebiet vorauszusetzen.

Page 15: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 15

Das grundlegende RDF ModellEigenschaften von Ressourcen werden durch Paare von Attributen und Werten beschrieben. Eigenschaften können außerdem Beziehungen zwischen Ressourcen repräsentieren.

Das grundlegende RDF Modell kennt drei verschiedene Objekttypen:Resources: Alles, was mittels RDF Ausdrücken beschrieben wird, wird

als Ressource bezeichnet. Das kann ein HTML-Dokument, mehrere verknüpfte Internetseiten oder nur ein Teil einer Seite sein. Ebenso sind beispielsweise gedruckte Bücher Ressourcen. Allgemein wird in RDF jedes Werk, das mit einem URI referenziert werden kann, als Ressource bezeichnet.

Properties: Als Eigenschaft einer Ressource können spezielle Charakteristika, Attribute oder Beziehungen zu anderen Ressourcen gelten. Die spezifischen Bedeutungen der Eigenschaften legen fest, welche Werte sie annehmen können.

Statement: Eine Ressource zusammen mit ihren benannten Eigenschaften und den zugehörigen Werten bildet schließlich ein sogenanntes RDF Statement. Die drei Teile eines Statements werden in Anlehnung an die Grammatik mit Subjekt, Prädikat und Objekt bezeichnet. Das Objekt (der Wert der Eigenschaft) eines RDF Statements kann also eine andere Ressource, ein einfacher Text String, ein Literal oder ein anderer einfacher Datentyp sein.

Page 16: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 16

Das grundlegende RDF Modell (2)

Page 17: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 17

Beispiele für RDF Statements

Page 18: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 18

Beispiele für RDF Statements (2)Das vorige Beispiel unter Verwendung der XML

Syntax lautet:

<?xml version="1.0"?> <rdf:RDF xmlns:rdf= "http://w3.org/TR/1999/PR-rdf-syntax-19990105#" xmlns:s="http://description.org/schema/"> <rdf:Description about="http://www.muster.de/home/index.html"> <s:Autor>Werner Muster</s:Autor> <s:Datum>1999-11-11</s:Datum> </rdf:Description></rdf:RDF>

Die folgende Folie bringt eine Erklärung.

Page 19: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 19

Beispiele für RDF Statements (3)

Die erste Zeile bezeichnet die zu verwendende XML Version.

Dann wird der XML-namespace (xmlns) referenziert, der in der RDF Syntax-definition unter der angegebenen URL beschrieben ist.

Das Metadatenschema wird durch das Präfix ’s’ gekennzeichnet und der xmlns assoziiert es mit der Internetadresse der ’description organisation’ (die frei erfunden ist).

’Description about’ bezeichnet die Ressource, über die Informationen angegeben werden.

Das ’s’ vor den Tags ’Autor’ und ’Date’ referenziert dann das Schema in dem die Eigenschaften Autor und Datum und ihre zulässigen Werte spezifiziert sind.

Page 20: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 20

Beispiele für RDF Statements (4)

Das zweite Beispiel in Abb. 4 zeigt die Modellierung der Verwendung von Ressourcen als Werte der Eigenschaften einer ersten Ressource.

Page 21: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 21

Beispiele für RDF Statements (5)Das Beispiel 2 unter Verwendung der XML Syntax lautet:

<?xml version="1.0"?> <rdf:RDF xmlns:rdf= "http://w3.org/TR/1999/PR-rdf-syntax-19990105#"

xmlns:s="http://description.org/schema/"> <rdf:Description about="http://www.muster.de/home/index.html"> <s:Autor rdf:resource="http://www.job.de/mitarbeiter/M12345"/>

</rdf:Description> <rdf:Description about="http://www.job.de/mitarbeiter/M12345"/>

<s:Name>Werner Muster</s:Name> <s:E-Mail>[email protected]</s:E-Mail> </rdf:Description> </rdf:RDF>

Hier wird deutlich, dass es sich bei der Eigenschaft Autor um eine Ressource handelt, die mittels einer URI referenziert wird und so wiederum detailliert beschrieben werden kann.

Page 22: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 22

Hilfskonzepte des RDF Die bisher vorgestellten Mittel scheinen wenig komfortabel zu

sein, um beispielsweise ganze Sammlungen von Ressourcen eines Autors zu beschreiben.

Allgemein lassen sich verschiedene Ressourcen mit der gleichen Eigenschaft ohne Hilfsmittel nur umständlich beschreiben. Glei-ches gilt für eine Ressource mit einer Eigenschaft mit verschiede-nen Werten. Hierzu wurde das Container Model entwickelt, das drei Typen von Containern als Sammelobjekte unterscheidet.

Bag Eine ungeordnete Menge von Elementen. Wenn die Reihenfol-ge von Ressourcen keine Rolle spielt wird dieser Typ verwendet.

Sequence Eine geordnete Menge. Dieser Typ kommt zur Anwendung, wenn eine spezielle Ordnung der Werte einer Eigenschaft ausgedrückt werden soll, beispielsweise bei der Auflistung von Publikationen eines Autor nach dem Zeitpunkt ihrer Veröffentlichung.

Alternative Eine ungeordnete Menge von Alternativen. Dieser Typ drückt aus, dass es keine Role spielt welcher Wert zur weiteren Verarbeitung herangezogen wird.

Page 23: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 23

Hilfskonzepte des RDF (2)Zur Modellierung einer Sammlung wird eine zusätzliche Ressource benutzt, die dazu dient, den Container selbst (seine Instanz) zu identifizieren. Diese Ressource ist dann Instanz eines der Containerobjekttypen. Die folgenden Beispiele sollen die Anwendung von Containern verdeutlichen.Die erste Aussage, die mittels RDF/XML modelliert werden soll, lässt sich verbal mit dem Satz: „Die Studenten des Seminars Datenbanken im WWW sind Stefan, Karl, Maik, Katrin und Sonja.“ beschreiben.

<rdf:RDF<rdf:Description about= "http://www.universitaet.de/seminare/wwwdatenbanken"> <s:students><rdf:bag><rdf:li Stefan> <rdf:li Karl> <rdf:li Maik><rdf:li Katrin> <rdf:li Sonja></rdf:bag> </s:students>

</rdf:Description></rdf:RDF>

Page 24: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 24

Hilfskonzepte des RDF (3) Bag Container

Ungeordnete Gruppe von Ressourcen oder Literalen Kann Duplikate enthaltenRDF/XML:<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://example.edu/students/vocab#"> <rdf:Description rdf:about="http://example.edu/courses/6.001"><s:students><rdf:Bag><rdf:li rdf:resource="http://example.edu/students/Amy"/><rdf:li rdf:resource="http://example.edu/students/Tim"/><rdf:li rdf:resource="http://example.edu/students/John"/><rdf:li rdf:resource="http://example.edu/students/Mary"/><rdf:li rdf:resource="http://example.edu/students/Sue"/></rdf:Bag></s:students></rdf:Description></rdf:RDF>

Page 25: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 25

Hilfskonzepte des RDF (4)Alt Container

Gruppe von Ressourcen oder Literalen Enthält unterschiedliche Elemente (Alternativen)RDF/XML:<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://example.org/packages/vocab#"> <rdf:RDF><rdf:Description rdf:about="http://example.org/packages/X11"><s:DistributionSite><rdf:Alt><rdf:li rdf:resource="ftp://ftp.example.org"/><rdf:li rdf:resource="ftp://ftp.example1.org"/><rdf:li rdf:resource="ftp://ftp.example2.org"/></rdf:Alt></s:DistributionSite></rdf:Description></rdf:RDF>

Page 26: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 26

Hilfskonzepte des RDF (5) Collection

ungeordnete Gruppe Vordefinierte Eigenschaften

wie „list“, „first“, „rest“ und „nil“ werden verwendet

RDF/XML:<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://example.edu/students/vocab#"> <rdf:Description rdf:about="http://example.edu/courses/6.001"><s:students rdf:parseType="Collection" ><s:student rdf:resource="http://example.edu/students/Amy"/><s:student rdf:resource="http://example.edu/students/Tim"/><s:student rdf:resource="http://example.edu/students/John"/></s:students></rdf:Description></rdf:RDF>

Page 27: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 27

Hilfskonzepte des RDF (6)

Für den Fall, dass eine Aussage über die Elemente in einem Container getroffen wird, muss eine syntaktische und semantische Feinheit etwas näher untersucht werden.

Zur Referenzierung des zu beschreibenden Objekts (der Ressource) dient das about-Attribut.

Auf diese Weise wird jedoch lediglich eine Aussage über das Containerobjekt getroffen, jedoch nicht über die Elemente in dem Container. Ein neues Attribut aboutEach behebt dieses Problem. Im folgenden Beispiel soll dies verdeutlicht werden.

Page 28: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 28

Hilfskonzepte des RDF (7)<rdf:RDF

<rdf:bag ID="pages"><rdf:li resource="http://www.edu.de/home.htm"<rdf:li resource="http://www.uni.de/index.htm"</rdf:bag>

<rdf:Description aboutEach=#pages<s:Autor>Werner Muster</s:Autor></rdf:Description>

</rdf:RDF>

Die Aussage, die hier über die beiden HTML Dokumente gemacht wird könnte genauso durch zwei eigenständige Statements getroffen werden. Man ist jedoch auf die Verwendung von Containern angewiesen, wenn die Beschreibung zwar auf alle Containerelemente als Gruppe, jedoch nicht auf jedes einzelne Element für sich zutrifft. Soll beispielsweise die nicht einstimmige Entscheidung der Mitglieder eines Rates modelliert werden, so können alle Mitglieder in ein Containerobjekt aufgenommen werden, das den Rat repräsentiert.

Page 29: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 29

RDF Schema

Page 30: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 30

Einführung zum RDF Schema (RDFS)Die eindeutige Belegung von Ausdrücken mit einer

wohldefinierten Semantik ist für die maschinelle Verarbeitung von Informationen außerordentlich wichtig. Dies wird in RDF durch Referenzen auf Schemata sichergestellt, wie sie in den vorangegangenen Beispielen zu sehen waren.

Diese Schema definieren die Ausdrücke, die in den Statements gebraucht werden und versehen sie mit einer eindeutigen Semantik.

RDF ist dabei nicht auf ein Schema festgelegt, sondern bietet die Möglichkeit verschiedene Schemata zu entwickeln und auch gleichzeitig zu verwenden.

Dies wird erreicht, indem im RDF die Mittel der XML-namespaces genutzt werden, die die Verwendung eines Wortes in den Kontext eines Schemas stellen, indem die gewünschte Bedeutung festgelegt ist.

Ein RDF-Schema bietet neben Semantikdefinition des Vokabulars aber noch die Möglichkeit, Restriktionen in Bezug auf die Verwendung von Eigenschaften (Properties) zu modellieren.

Page 31: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 31

Einführung zum RDF Schema (RDFS) (2)

• RDFS erfüllt eine andere Rolle als XML Schema– XML Schema (und auch DTD) schreibt die Reihenfolge und

Kombination von tags in einem XML Dokument.– RDFS gibt nur die Information über die Interpretierung der in

einem RDF Modell gegebenen statements aber gibt keine Beschränkung auf die syntaktische Gestaltung einer RDF Definition.

• RDFS ermöglicht ein bestimmtes Vokabular für RDFDaten (zB. hasName) zu definieren und die Art von Objekten zu spezifizieren, an die diese Attribute angewendet werden können.

• Der RDFS Mechanism bietet ein fundamentales TypSystem für RDF Modelle.

• Dieses TypSystem benutzt bestimmte vordefinierte Begriffe, wie Class, subProprertyOf, und subClassOf (emöglicht die hierarschische Organisation solcher Klassen zu spezifizieren); Beispiel: nächste Folie.

Page 32: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 32

Einführung zum RDF Schema (RDFS) (3)<rdfs:Class rdf:about=“Book“/>

<rdfs:Class rdf:about=“HardCover“> <rdfs: subClassOf rdf:resource=“#Book“/></rdfs:Class

<Hardcover rdf:resource=“http://www.books.org/ISBN0062515861“/>

Properties können mit ihrem domain und range definiert werden, und in einer property Hierarchie organisiert werden – durch subPropertyOf:

<rdfs:Property rdf:about=“hasPrice“> <rdfs:domain rdf:resource=“#Book“/></rdfs:Property

Page 33: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 33

Klassen und EigenschaftenRDF verfolgt eine Art Klassenkonzept, dass sich jedoch in einem wesentlichen Punkt von dem in den meisten Objekt-modellierungssprachen unterscheidet. Eigenschaften werden im RDF als Kernklassen-Objekte betrachtet. Beim herkömmliche Ansatz sind Eigenschaften Attribute einer Klasse.Laut RDF Modell und Syntax Spezifikation können Ressourcen Instanzen einer oder mehrerer Klassen sein. Diese Zuordnung wird mittels einer type Eigenschaft ausgedrückt.Auch im RDF sind Klassen häufig hierarchisch organisiert, was durch eine spezielle Eigenschaft angezeigt wird. Eine Klasse Literatur kann beispielsweise die Unterklassen Roman und Gedicht haben. Eine Ressource vom Typ Roman ist dann auch vom Typ Literatur.

Page 34: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 34

Klassen und Eigenschaften (2)

Daneben gibt es eine Reihe weiterer Ressourcen und Eigenschaften, mit denen Statements bezüglich Einschränkungen zur konsistenten Verwendung von Elementen des RDF modelliert werden können. Einen Überblick über alle Klassen und Ressourcen soll die folgende Abbildung 5 geben. Abgerundete Rechtecke symbolisieren Klassen, Punkte Ressourcen und ein Pfeil weist jeweils ausgehend von einer Ressource auf die sie definierende Klasse. Elemente mit dem Präfix rdf: und rdfs: sind bzw. werden in anderen Dokumenten formal definiert. In den folgenden Abschnitten sollen einige der Klassen und Eigenschaften näher erläutert werden.

Page 35: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 35

Klassen und Eigenschaften (3)

Page 36: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 36

Kern-Klassen im RDFrdfs:Resource Alles, was mittels RDF beschrieben

werden kann, wird als Instanz dieser Klasse betrachtet. Diese Klasse repräsentiert die Menge der Ressourcen wie sie in der Modell- und Syntax-Spezifikation des RDF formal eingeführt werden, hat aber nichts mit dem syntaktischen Element resource zu tun, das in der RDF/XML-Syntax verwendet wird.

rdf:Property Diese Klasse repräsentiert eine Untermenge von Ressourcen, die Eigenschaften sind. Die Tatsache, dass Eigenschaften auch Ressourcen sind ermöglicht ihre Beschreibung durch RDF selbst.

rdfs:Class Ein Typ oder eine Kategorie, die ähnlich des Klassenkonzepts in OO-Modellierungssprachen eine Menge kennzeichnet, in der Elemente gleicher Art vertreten sind, wird von dieser Klasse abgeleitet. Wann immer ein RDF-Schema eine neue Klasse definiert, hat diese die Eigenschaft rdf:type mit dem Wert rdfs:Class. Die Zugehörigkeit von Ressourcen zu einer Klasse wird ebenso mit der Eigenschaft rdf:type markiert, deren Wert die Klasse ist.

Page 37: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 37

Kern-Eingeschaften im RDFrdf:type Diese Eigenschaft zeigt an, dass eine Ressource

zu einer Klasse gehört. Handelt es sich um eine spezielle Klasse, so wird die Ressource als Instanz dieser Klasse betrachtet.

rdfs:subClassOf Mit dieser Eigenschaft werden hierarchische Beziehungen zwischen Klassen spezifiziert. Die oberste Klasse ist hierbei immer die Klasse rdf:Resource und nur Instanzen von rdfs:Class können die Eigenschaft rdf:subClassOf haben. Die Zuordnung einer Klasse zu mehreren Oberklassen ist möglich. Außerdem handelt es sich um eine transitive Eigenschaft, was bedeutet, dass eine Klasse C, die Unterklasse von einer Klasse B ist auch Unterklasse von A ist, wenn B Unterklasse von A ist.

Page 38: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 38

Kern-Eingeschaften im RDF (2)

rdfs:subPropertyOf Spezialisierungen einer Eigenschaft werden durch dieses Attribut definiert. Auch hier handelt es sich um eine transitive Eigenschaft. D.h., dass eine Ressource R mit der Eigenschaft E2 mit dem Wert W auch die Eigenschaft E1 mit dem Wert What, wenn E2 die Eigenschaft rdfs:subPropertyOf mit dem Wert E1 hat. Im Gegensatz zu rdfs:subClassOf können zyklische Beziehungen aufgebaut werden, die eine Äquivalenz-Beziehung zwischen Eigenschaften ausdrücken.

Page 39: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 39

ConstraintsDie Einschränkung der Domäne und des Wertebereichs einer Eigenschaft erfolgt in einem RDFSchema durch zwei Ressourcen die Instanzen der Klasse rdfs:ConstraintProperty sind.

rdfs:range Diese Eigenschaft beschränkt den Wertebereich, den eine Eigenschaft annehmen kann, auf die rdfs:range angewandt wird. Es ist hierbei maximal ein Wert zulässig. Beispielsweise könnte als Wert zu rdfs:range für die Eigenschaft geschlechtDesEhemannes „männlich“ definiert werden. Als Wert einer Eigenschaft kommt also nur eine Ressource einer bestimmten Klasse in Frage. Der Wertebereich wird außerdem an Sub-Klassen vererbt.

rdfs:domain Die Ressourcen, auf die eine bestimmte Eigenschaft angewendet werden darf, wird durch rdfs:domain auf Instanzen bestimmter Klassen beschränkt. Dabei können beliebig viele Klassen angegeben werden.

Page 40: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 40

Simple RDF – Example (instance of the vCard ontology)

<?xml version='1.0' encoding='UTF-8'?>

<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:vCard='http://www.w3.org/2001/vcard-rdf/3.0#' >

<rdf:Description rdf:about="http://somewhere/JohnSmith/"> <vCard:FN>John Smith</vCard:FN> <vCard:N rdf:parseType="Resource">

<vCard:Family>Smith</vCard:Family><vCard:Given>John</vCard:Given>

</vCard:N> </rdf:Description>

</rdf:RDF>

Page 41: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 41

Graph of the data model

Page 42: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 42

Triples of the Data Model

Subject Predicate Object

http://somewhere/JohnSmith http://www.w3.org/2001/vcard-rdf/3.0#FN John Smith

genid:001 http://www.w3.org/2001/vcard-rdf/3.0#Family Smith

genid:001 http://www.w3.org/2001/vcard-rdf/3.0#Given John

http://somewhere/JohnSmith http://www.w3.org/2001/vcard-rfd/3.0#N genid:001

Page 43: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 43

RDF/RDFS Anfragesprachen• 3 Abstraktionsebenen für RDF-Dokumente

und RDF-Schemen:1. syntaktische Ebene (XML/RDF Dokumente)2. struktuelle Ebene (eine Menge von Tripeln)3. semantische Ebene (ein oder mehrere Graphen mit

teilweise vordefinierter Semantik)• Diese Dokumente können an beliebiger

Ebene abgefragt werden– für 1.: Anfragesprachen basiert XML Anfragesprachen– für 2. und 3.: Anfragesprachen basiert auf SQL z.B.

SELECT ?xFROM somesourceWHERE (rdf::type ?x VicePresident)

Page 44: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 44

RDQL - Query

Example 1Query:

SELECT ?x WHERE (?x, <http://www.w3.org/2001/vcard-rdf/3.0#FN>, "John Smith")

Result:http://somewhere/JohnSmith/

Example 2Query:

SELECT ?x WHERE (“http://www.w3.org/2001/vcard-rdf/3.0#FN”, ?x , "John Smith")

Result:http://www.w3.org/2001/vcard-rdf/3.0#FN

Page 45: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 45

RDF Schema - part 1 – ontology for vCard<?xml version="1.0" encoding="UTF-8" ?>

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

<rdf:Description ID="FN"> <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/> <rdfs:label>Formatted Name</rdfs:label> </rdf:Description>

<rdfs:Class rdf:ID="NPROPERTIES"/> <-- ! It could be extended --- >

<rdf:Description ID="N"> <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/> <rdfs:label>Name</rdfs:label> <rdfs:range rdf:resource="#NPROPERTIES"/> </rdf:Description>

Page 46: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 46

RDF Schema – part 2<rdf:Description ID="Family"> <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/> <rdfs:label>Family Name</rdfs:label> <rdfs:subClassOf rdf:resource="#NPROPERTIES"/> </rdf:Description>

<rdf:Description ID="Given"> <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/> <rdfs:label>Given Name</rdfs:label> <rdfs:subClassOf rdf:resource="#NPROPERTIES"/> </rdf:Description>

</rdf:RDF>

Page 47: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 47

DAML+OIL

DAML = DARPA Agent Markup Language (USA Projekt) OIL = Ontology Interchange Language (EU Projekt)

RDFS can be regarded as a very simple ontology language. However, many types of knowledge cannot be expressed in this simple language. Just a few exammples of useful things we cannot say in RDFS are:

– stating that every book has exactly one price, but at least one author;

– stating that titles of books are strings and prices of books are numbers;

– stating that no bok can be both hardcover and softcover;– stating that every book is either hardcover or softcover (i.e. there is

no other option than these two).

Page 48: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 48

DAML+OIL Beispiel – part 1<?xml version="1.0" encoding="UTF-8" ?>

<rdf:RDF xmlns:daml='http://www.daml.org/2001/03/daml+oil#' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'> <daml:Ontology daml:versionInfo='3.0'> <daml:comment>This is an ontology for vCards.</daml:comment> </daml:Ontology>

<rdfs:Class rdf:ID='NPROPERTIES'/>

<rdfs:Class rdf:ID='VCARD'/>

Page 49: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 49

DAML+OIL – part 2

<daml:ObjectProperty rdf:ID='N' rdf:type='http://www.daml.org/2001/03/daml+oil#UniqueProperty'> <daml:range rdf:resource='#NPROPERTIES'/> <daml:domain rdf:resource='#VCARD'/> </daml:ObjectProperty> <daml:DatatypeProperty rdf:ID='FN' rdf:type='http://www.daml.org/2001/03/daml+oil#UniqueProperty'> <daml:range rdf:resource='http://www.w3.org/2000/10/XMLSchema#string'/> <daml:domain rdf:resource='#VCARD'/> </daml:DatatypeProperty>

Page 50: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 50

DAML+OIL – part 3 <daml:DatatypeProperty rdf:ID='Given' rdf:type='http://www.daml.org/2001/03/daml+oil#UniqueProperty'> <daml:label>Given Name</daml:label> <daml:range rdf:resource='http://www.w3.org/2000/10/XMLSchema#string'/> <daml:domain rdf:resource='#NPROPERTIES'/> </daml:DatatypeProperty>

<daml:DatatypeProperty rdf:ID='Family' rdf:type='http://www.daml.org/2001/03/daml+oil#UniqueProperty'> <daml:label>Family Name</daml:label> <daml:range rdf:resource='http://www.w3.org/2000/10/XMLSchema#string'/> <daml:domain rdf:resource='#NPROPERTIES'/> </daml:DatatypeProperty>

</rdf:RDF>

Page 51: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 51

OWL

OWL has only minor changes from DAML+OIL.

Even the abstract syntax can be viewed as an abstract syntax for DAML+OIL.

There are a number of minor differences between OWL and DAML+OIL including a number of changes to the names of the various constructs.

Page 52: Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Semantisches Web Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel

Institut für Softwarewissenschaft - Universität Wien

P.Brezany 52

Eine auf DAML Basierte RDF Anfragesprache

<Query> <select rdf:resource="property1"/> <select rdf:resource="property2"/>

... <from rdf:resource="class"/> </Query> The result of this query is the set of all

statements with a subject of type class and a predicate of property1 or property2 etc.