Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

RDF-Schema Seminar: „Semantic Web“ André Rosin,

Ähnliche Präsentationen


Präsentation zum Thema: "RDF-Schema Seminar: „Semantic Web“ André Rosin,"—  Präsentation transkript:

1 RDF-Schema Seminar: „Semantic Web“ André Rosin,
Humboldt-Universität zu Berlin, Fakultät der Informatik, Wintersemester 2002/2003

2 Inhalt Einleitung Das Klassenkonzept Syntax von RDF-Schema
Beispielanwendung Ausblick Vergleich mit anderen Metamodellen Einleitung Das Klassenkonzept Syntax von RDF-Schema Beispielanwendung Einleitung Das Klassenkonzept Vererbung Constraints RDF-Schema objektorientiert? I. Einleitung Was ist RDF-Schema? Schema Definition Language Einleitung Das Klassenkonzept Syntax von RDF-Schema Kern-Klassen und –Properties Container-Klassen und –Properties Utility-Klassen und -Properties

3 I. Einleitung Was ist RDF-Schema? RDF bietet keine Möglichkeit:
Eigenschaften und Beziehungen zwischen Eigenschaften und Ressourcen zu beschreiben. Ressourcenbeschreibungen benötigen die Fähigkeit bestimmte Dinge über Ressourcen zu sagen

4 RDF-Schema kein Schema?
RDF-Schema definiert einen Mechanismus, um die eigentlichen Schemata zu entwerfen: Die Vocabulary Defintion Language ist eine Reihe von Klassen und Eigenschaften zur Beschreibung anderer Klassen und Eigenschaften Die RDF-Schema-Spezifikation ist unter: zu finden und working draft des W3C.

5 RDF-Schema Spezifikation
Ein Schema legt für jede Eigenschaft fest: welche Werte erlaubt sind welche Ressource sie besitzen darf welche Beziehung sie zu anderen Eigenschaften hat RDF-Schema definiert die Semantik von Aussagen mittels RDF-Syntax

6 II. Das Klassenkonzept Einzug objektorientierter Paradigmen
Klassensystem vergleichbar zu OO-Programmiersprachen wie Java und C++ Instanziierung von Klassen, Typisierung Vererbung, Mehrfachvererbung, Spezialisierung Aber: Klassen von Objekten sind auch ohne spezielle Eigenschaften identifizierbar

7 III. Syntax von RDF-Schema
Kernvokabular der Vocabulary Description Language wird mit „rdfs“ bezeichnet und ist definiert im Namensraum: Definition der Kernklassen: rdfs:Resource - Alle in RDF beschriebenen Dinge sind Instanz dieser Klasse rdfs:Literal und rdfs:XMLLiteral - Klasse aller (XML-)Literale, z.B. Strings und Integers

8 Kernklassen rdfs:Class - Konzept der Klassen, jede Klasse hat rdf:type Eigenschaft mit dem Wert rdfs:Class, Unterklasse von rdfs:Resource, Anwendung mit: <rdfs:Class rdf:ID=“Klasse“> </rdfs:Class > rdfs:DataType - Klasse aller Ressourcen, die RDF-Datentypen sind

9 Kernklassen (cont.) rdfs:Property - Konzept der Eigenschaften analog zu rdfs:Class, Anwendung mit: <rdfs:Property rdf:ID=“Property“> </rdfs:Property> rdf:type - Eigenschaft besagt, dass Ressource Instanz einer Klasse ist, Anwendung mit: <rdf:type resource=“http://www.w3.org/ … 2000/01/rdf-schema#Class“/>

10 Kernproperties rdfs:subClassOf - Unterklassenrelation ermöglicht Vererbungsmechanismus und Modularisierung von Schemata, Anwendung: <rdfs:subClassOf rdf:resource=“#Basisklasse“/> rdfs:subPropertyOf - Spezialisierung von Eigenschaften analog zu rdfs:subClassOf <rdfs:subPropertyOf rdf:resource=“#Basisproperty“/>

11 Kernproperties (cont.)
rdfs:range - legt den Wertebereich einer Property fest und ermöglicht so Constraints rdfs:domain - legt den Definitionsbereich einer Eigenschaft fest – auf welche Klassen kann eine Eigenschaft angewandt werden? Jede Eigenschaft hat höchstens eine rdfs:range und rdfs:domain-Eigenschaft!

12 Beispiel (aus Spezifikation)
<rdf:Property rdf:about="http://www.w3. org/2000/01/rdf-schema#subPropertyOf"> <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ 2000/01/rdf-schema#"/> <rdfs:range rdf:resource="http:// ns#Property"/> <rdfs:domain rdf:resource="http:// </rdf:Property>

13 rdfs:range und rdfs:domain

14 Kernproperties (cont.)
rdfs:label - Eigenschaft definiert die menschlesbare Version des Namens einer Ressource rdfs:comment - Eigenschaft enthält die menschlesbare Beschreibung einer Ressource, Anwendung: <rdfs:comment> Kommentar… </rdfs:comment>

15 Containerklassen Containervokabular wird optional von RDF zur Verfügung gestellt. rdfs:Container - Superklasse für RDF-Container rdfs:ContainerMembershipProperty - Unterklasse von rdfs:Property, hat als Instanzen rdfs:member und _1, _2, ..., _n rdf:List - Klasse der RDF-Listen, wird mit rdf:first, rdf:rest und rdf:nil benutzt

16 Container (cont.) rdf:Bag - Klasse ungeordneter Listen
rdf:Seq - Klasse sequentieller Listen rdf:Alt - Klasse alternativer Listen Containerproperties: rdfs:member – Element eines Containers rdf:first, rdf:rest, rdf:nil – erstes Element einer Liste, Restliste und leere Liste

17 Statik von RDF-Schema Schemata sind statisch, Änderungen ziehen in der Regel Anpassungen vieler Dokumente nach sich Sind Änderungen erforderlich, wird ein neues Schema erforderlich, welches das alte erweitert, dies geschieht mit: <rdf:Description rdf:ID=”XY” rdfs:subClassOf= ”http://example.org/oldschema_XY”/>

18 Utitityklassen und -properties
Utilityklassen und –properties modellieren RDF-Statements. rdf:Statement - Klasse repräsentiert Statements über Eigenschaften von Ressourcen und ist einzige Utilityklasse rdfs:seeAlso und rdfs:isDefinedBy – spezifizieren jeweils eine Ressource, die zusätzliche RDF-Informationen über ein Subjekt bereitstellt, rdfs:seeAlso ist allgemeiner als rdfs:isDefinedBy

19 Utilityproperties rdf:value – identifiziert den Wert einer Ressource
rdf:subject – Eigenschaft repräsentiert das Subjekt eines Statements rdf:object – Eigenschaft repräsentiert das Objekt eines Statements rdf:predicate – Eigenschaft repräsentiert das Prädikat eines Statements Statement = {subject, object, predicate}

20 Hierarchien

21 IV. Beispiel #1 <rdf:RDF xml:lang=“de“ xmlns:rdf=
“http://www.w3.org/1999/02/22-rdf-syntax-ns#“ xmlns:rdfs=“http://www.w3.org/2000/01/rdf-schema#“> <rdfs:Class rdf:ID=“Person“> <rdfs:comment> Die Klasse aller Personen. </rdfs:comment> <rdfs:subClassOf rdf:resource= “http://www.classtypes.org/useful_classes#Animal“/> </rdfs:Class>

22 Beispiel #1 (cont.) <rdf:Property ID=“Geburtsdatum“>
<rdfs:range rdf:resource= “http://www.w3.org/2000/01/rdf-schema#Literal“/> <rdfs:domain rdf:resource=“#Person“/> </rdf:Property> <rdf:Property ID=“Alter“> <rdfs:subPropertyOf rdf:resource=“#Geburtsdatum“> “http://www.datatypes.org/useful_types#Integer“/>

23 Beispiel #1 (cont.) <rdf:Property ID=“statusPerson“>
<rdfs:range rdf:resource=“#Status“/> <rdfs:domain rdf:resource=“#Person“/> </rdf:Property> <rdfs:Class rdf:ID=“Status“/> <Status rdf:ID=“Student“/> <Status rdf:ID=“Leiter“/> <Status rdf:ID=“Assistent“/> </rdf:RDF>

24 Beispiel #2 (Auszug) … <rdf:Description ID=“Fahrzeug“>
<rdf:type resource=“http://www.w3.org/2000/01/... … rdf-schema#Class“/> <rdfs:subClassOf rdf:resource= “http://www.w3.org/2000/01/rdf-schema#Resource“/> </rdf:Description> <rdf:Description ID=“Personenkraftwagen“> rdf-schema#Class“/> <rdfs:subClassOf rdf:resource=“#Fahrzeug“/>

25 V. Ausblick Vorteile von RDF-Schema:
RDF-Schema ist ein mächtiges Mittel des Semantic Web um strukturierte Informationen über Webseiten zu liefern RDF-Schema stellt zur Verfügung: Einschränkung von Eigenschaften Aggregation durch Container Emulation von Schnittstellen, Methoden Kardinalitäten von Klassen und mehr

26 Ausblick (cont.) Nachteile von RDF-Schema:
Keine strikte Trennung der Abstraktionsschichten Problematische Rekursion zwischen rdfs:Class und rdfs:Resource Keine logischen Operatoren möglich RDF-Schema wird unübersichtlich -> Verwendung konkurrierender Metamodelle wie UML oder Topic Maps sollte in Betracht gezogen werden

27 Danke für die Aufmerksamkeit! Gibt es noch Fragen?
Ende Danke für die Aufmerksamkeit! Gibt es noch Fragen?


Herunterladen ppt "RDF-Schema Seminar: „Semantic Web“ André Rosin,"

Ähnliche Präsentationen


Google-Anzeigen