Vorlesung Semantic Web Technologien - Sommersemester 2011 - Steffen Schlönvoigt

Übungsblatt 2


Aufgabe 1

Offene Liste (hier mit rdf:Bag)

<?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:ex="http://www.example.org/">

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

        <ex:vaterVon>

          <rdf:Bag>

            <rdf:li rdf:resource="http://www.example.org/Meggy" />

            <rdf:li rdf:resource="http://www.example.org/Lisa" />

             <rdf:li rdf:resource="http://www.example.org/Bart" />

           </rdf:Bag>

        </ex:vaterVon>

  </rdf:Description>

</rdf:RDF>

 

Geschlossene Liste (Collection)

<?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:ex="http://www.example.org/">

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

        <ex:vaterVon rdf:parseType="Collection">

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

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

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

        </ex:vaterVon>

  </rdf:Description>

</rdf:RDF>

 

Collections sind deswegen geschlossen, weil sie mit rdf:nil abgeschlossen werden. Bei einer offenen Liste können an den Blank Node beliebig viele weitere Elemente hinzugefügt werden. Da ein Triple, nachdem es einmal in der Datenbasis vorhanden ist für “immer” dort besteht, bekommen wir bei Collections das rdf:nil am Ende nicht mehr weg und damit auch keine weiteren Elemente zur Liste hinzu.

Aufgabe 2

Geben Sie an ob folgende Aussagen zutreffen:

  1. Will man Datentypen für RDF-Dokumente festlegen benötigt man ein RDF Schema
  1. In RDF Schema ist Mehrfachvererbung erlaubt
  1. Die rdfs:subClassOf Beziehung beschreibt eine Teil-Ganzes-Beziehung (wie Reifen ist ein Teil von Auto)
  1. Mit RDFS kann man komplexe Ontologien beschreiben
  1. Zur Modellierung der Aussage “John glaubt, dass Mary ihn heiraten möchte.” benötigen wir Reifikation

Aufgabe 3

Stellen Sie obige Darstellung eines RDF Graphen als RDF/XML oder Turtle dar.

<?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:ex="http://www.example.org/"

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

 xmlns="http://www.example.org/Vocabulary#">

<rdfs:Class rdf:about="http://www.example.org/Vocabulary#Golffahrer">

  <rdfs:subClassOf rdf:resource="http://www.example.org/Vocabulary#Person" />

</rdfs:Class>

<rdfs:Class rdf:about="http://www.example.org/Vocabulary#Pkw">

  <rdfs:subClassOf rdf:resource="http://www.example.org/Vocabulary#Kfz" />

</rdfs:Class>

<rdf:Property rdf:about="http://www.example.org/KfzProduziertVon">

   <rdfs:subPropertyOf rdf:resource="http://www.example.org/ProduziertVon" />

   <rdfs:domain rdf:resource="http://www.example.org/Vocabulary#Kfz" />

   <rdfs:range rdf:resource="http://www.example.org/Vocabulary#Autohersteller" />

</rdf:Property>

<Golffahrer rdf:about="http://www.example.org/Kai">

   <ex:faehrt>

         <Pkw rdf:about="http://www.example.org/Vocabulary#Golf" >

           <ex:KfzProduziertVon>

             <Autohersteller rdf:about="Volkswagen" />

           </ex:KfzProduziertVon>

         </Pkw>

   </ex:faehrt>

</Golffahrer>

</rdf:RDF>

<http://www.example.org/Vocabulary#Golffahrer> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Class> .

<http://www.example.org/Vocabulary#Golffahrer> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <http://www.example.org/Vocabulary#Person> .

<http://www.example.org/Vocabulary#Pkw> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Class> .

<http://www.example.org/Vocabulary#Pkw> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <http://www.example.org/Vocabulary#Kfz> .

<http://www.example.org/KfzProduziertVon> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Property> .

<http://www.example.org/KfzProduziertVon> <http://www.w3.org/2000/01/rdf-schema#subPropertyOf> <http://www.example.org/ProduziertVon> .

<http://www.example.org/KfzProduziertVon> <http://www.w3.org/2000/01/rdf-schema#domain> <http://www.example.org/Vocabulary#Kfz> .

<http://www.example.org/KfzProduziertVon> <http://www.w3.org/2000/01/rdf-schema#range> <http://www.example.org/Vocabulary#Autohersteller> .

<http://www.example.org/Kai> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.example.org/Vocabulary#Golffahrer> .

<http://www.example.org/Vocabulary#Golf> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.example.org/Vocabulary#Pkw> .

<http://www.example.org/Kai> <http://www.example.org/faehrt> <http://www.example.org/Vocabulary#Golf> .

<http://www.w3.org/RDF/Validator/run/Volkswagen> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.example.org/Vocabulary#Autohersteller> .

<http://www.example.org/Vocabulary#Golf> <http://www.example.org/KfzProduziertVon> <http://www.w3.org/RDF/Validator/run/Volkswagen> .

Welche Aussagen des Graphen sind dem Assertionalen (A-Box), welche dem terminologischen (T-Box) Wissen zuzurechnen?

Assertionales Wissen - Also Wissen über “Instanzen”

Terminologisches Wissen - Wissen über “Konzepte” - wird üblicherweise in zentralen Vokabularien zur Verfügung gestellt.

Interessant ist auch, dass durch die Semantik von RDFS zum Beispiel folgende weiteren Triple hinzukommen:

Die explizite Angabe des Triples “Volkswagen rdf:type Autohersteller” hätte man auch getrost weglassen können, da dies durch die Range Definition für ex:KfzProduziertVon implizit ausgedrückt wird.

Aufgabe 4

Entscheiden Sie, ob sich die folgenden Aussagen mittels RDF(S) zufriedenstellend modellieren lassen und geben Sie gegebenenfalls entsprechende RDF(S)-Spezifikationen an. Verwenden Sie dabei eine möglichst kompakte syntaktische Darstellung (auch bei der Wahl der URIs).

(a) Jede Pizza ist eine Speise.

        Pizza rdfs:subClassOf Speise .

(b) Pizzen haben immer mindestens zwei Beläge.

        In RDFS nicht semantisch darstellbar, da Kardinalitäten nicht vorhanden

(c) Jede Pizza der Klasse PizzaMargarita hat Tomate als Belag.

        Man kann in RDFS auch keine Subjektspezifischen Einschränkung für
        Properties festlegen

(d) Alles, was einen Belag hat, ist eine Pizza.

        Nehmen wir an es gibt die Property ex:hatBelag, dann können wir für diese
        definieren:

                ex:hatBelag rdfs:domain Pizza .

        und hätten hierdurch unsere Aussage bewiesen. Allerdings muss man dann
        aufpassen, dass man diese Beziehung nicht für etwas anderes (z.B ein belegtes
        Brötchen) verwendet, denn:

                MeinBrötchen ex:hatBelag Schinken .

        würde “MeinBrötchen” damit automatisch zu einer Pizza machen.

(e) Keine Pizza der Klasse PizzaMargarita hat Belag aus der Klasse Fleisch.

        Hier trifft die gleiche Aussage wie bei c zu.

(f) „Einen Belag haben“ ist eine Enthaltenseins-Beziehung.

        Hierfür haben wir zwei Möglichkeiten:

                ex:hatBelag rdf:type rdfs:ContainerMemberShipProperty .

        oder

                ex:hatBelag rdfs:subPropertyOf rdfs:member .

Aufgabe 5

Wo steckt die Semantik im Semantic Web? Lesen Sie hierzu folgenden Text:

http://www.starlab.vub.ac.be/WhereAreSemantics-AI-Mag-FinalSubmittedVersion2.pdf

Geben Sie Beispiele für verschiedene Arten von Semantic an.