Semantic Technologies
     Übung, Wintersemester 2011/12
   23. November 2011 - RDFS+ / OWL
Aufgabe 1

• Gegeben seien die folgenden RDF-Daten.
• Notieren sie alle Tripel, die daraus durch
  Anwendung der zu RDF Schema
  gehörenden Regeln abgeleitet werden
  können.
@prefix   rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix   rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix   xsd: <http://www.w3.org/2001/XMLSchema#>.
@prefix   lib: <http://example.org/library#>.
@prefix   ub: <http://ub.uni-koeln.de/inventar/>.

# Klassen
lib:Document a rdfs:Class.

lib:Book a rdfs:Class;
!    rdfs:subClassOf lib:Document.                     # Abgeleitet
                                                       ub:42
lib:Article a rdfs:Class;                              !     a lib:EArticle; # über domain von webVersion
!    rdfs:subClassOf lib:Document.                     !     a lib:Article; # über subClassOf von EArticle
!                                                      !     a lib:EDocument; # über subClassOf von EArticle
lib:EDocument a rdfs:Class;                            !     a lib:Document; # über subClassOf von Article/Document
!    rdfs:subClassOf lib:Document.                     !     a rdfs:Resource. # über domain von rdf:type

lib:EArticle a rdfs:Class;                             ub:23
!    rdfs:subClassOf lib:Article, lib:EDocument.       !     a lib:Book; # über domain von isbn
!                                                      !     a lib:Document; # über subClassOf von Book
lib:Author a rdfs:Class.                               !     a rdfs:Resource. # über domain von rdf:type
                                                       !
lib:author a rdfs:Property;                            <http://dbpedia.org/resource/Donald_Ervin_Knuth>
!    rdfs:domain lib:Document;                         !     a lib:Author; # über range von author
!    rdfs:range lib:Author.                            !     a rdfs:Resource. # über domain von rdf:type

lib:title a rdfs:Property;                             <http://www.w3.org/People/Berners-Lee/card#i>
!    rdfs:domain lib:Document;                         !    a lib:Author; # über range von author
!    rdfs:range xsd:string.                            !    a rdfs:Resource. # über domain von rdf:type
!
lib:isbn a rdfs:Property;                              lib:isbn
!    rdfs:domain lib:Book;                             !    rdfs:domain lib:Document; # über domain von
!    rdfs:range xsd:string.                            !    !    !     !    !         # isbn & subClassOf von Book
!                                                      ...
lib:webVersion a rdfs:Property;
!    rdfs:domain lib:EArticle.

# Instanzen
ub:42 lib:title "The Semantic Web";
!    lib:author <http://www.w3.org/People/Berners-Lee/card#i>;
!    lib:webVersion <http://www.scientificamerican.com/article.cfm?id=the-semantic-web>.

ub:23 lib:title "The Art of Computer Programming";
!    lib:isbn "978-0321751041";
!    lib:author <http://dbpedia.org/resource/Donald_Ervin_Knuth>.
Aufgabe 2

 • Welche Tripel können zusätzlich abgeleitet
     werden, wenn folgende Aussagen
     hinzugefügt werden?


lib:Document rdfs:subClassOf <http://xmlns.com/foaf/0.1/Document>.
<http://xmlns.com/foaf/0.1/Document> rdfs:subClassOf lib:Document.
lib:title rdfs:subPropertyOf <http://purl.org/dc/elements/1.1/title>.
lib:author rdfs:subPropertyOf <http://xmlns.com/foaf/0.1/maker>.
Zusammenfassung
                RDFS
• Klassenhierachien
• Eigenschaftshierarchien
• domain und range
➡Eingeschränkte Ausdruckskraft
Introducing: OWL
OWL
      Web Ontology Language

•   Reichhaltige                    rdfs:Resource



    Ontologiesprache
                       rdfs:Class                     rdf:Property



• erweitert RDF-
    Schema             owl:Class
                                              owl:Object
                                               Property
                                                                owl:Datatype
                                                                 Property
OWL
Web Ontology Language

               rdfs:Resource




  rdfs:Class                     rdf:Property




                         owl:Object        owl:Datatype
  owl:Class                                 Property
                          Property
OWL
     Web Ontology Language
• Verschiedene Varianten mit
  unterschiedlicher Ausdruckskraft:
 •   OWL Full

     •   OWL DL            Subset
         •   OWL Lite


 •   Informell: RDFS-Plus (RDFS + ein bisschen OWL)
Namespace


http://www.w3.org/2002/07/owl#
Klassen und Properties

•   owl:Class     <owl:Class rdf:about="http://example.org/uni-vokabular#Dozent"/>




                                    <owl:DatatypeProperty rdf:about="&uni;name">
•   owl:DatatypeProperty                <rdfs:domain rdf:resource="&uni;Dozent"/>
                                        <rdfs:range rdf:resource="&xsd;string"/>
                                    </owl:DatatypeProperty>




                             <owl:ObjectProperty rdf:about="&uni;wirdGehaltenVon">

•   owl:ObjectProperty           <rdfs:domain rdf:resource="&uni;Veranstaltung"/>
                                 <rdfs:range rdf:resource="&uni;Dozent"/>
                             </owl:ObjectProperty>
Umkehrung
• owl:inverseOf
 • Eigenschaft einer Property
 • Gibt eine andere Property an, die die gleiche
     Bedeutung hat, bei der aber Subjekt und
     Objekt vertauscht sind.


    <owl:ObjectProperty rdf:about="&uni;wirdGehaltenVon"/>

    <owl:ObjectProperty rdf:about="&uni;haelt">
        <owl:inverseOf rdf:resource="&uni;wirdGehaltenVon"/>
    </owl:ObjectProperty>
Umkehrung
                 IF ?x ?P ?y
• Regel:         AND ?Q owl:inverseOf ?P
                 THEN ?y ?Q ?x.




   @prefix owl: <http://www.w3.org/2002/07/owl#>.
   @prefix uni: <http://example.org/uni-vokabular#>.
   @prefix hki: <http://hki.uni-koeln.de/stundenplan/>.

   hki:5 uni:wirdGehaltenVon staff:thaller.

   uni:haelt owl:inverseOf uni:wirdGehaltenVon.

   # abgeleitete Tripel
   hki:thaller uni:haelt hki:5.
Symmetrische
              Eigenschaften
• owl:SymmetricProperty
 • Klasse von Properties
 • Gibt an, dass bei der gleichen Eigenschaft
     Subjekt und Objekt vertauscht werden
     können.


     <owl:ObjectProperty rdf:about="&ex;worksWith">
         <rdf:type rdf:resource="&owl;SymmetricProperty"/>
     </owl:ObjectProperty>
Symmetrische
                Eigenschaften
• Regel:           IF ?P rdf:type owl:SymmetricProperty
                   THEN ?P owl:inverseOf ?P.




   @prefix   rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
   @prefix   owl: <http://www.w3.org/2002/07/owl#>.
   @prefix   ex: <http://example.org/work-relations#>.
   @prefix   staff: <http://hki.uni-koeln.de/staff/>.

   staff:cuy ex:worksWith staff:de-oliveira.

   ex:worksWith a owl:SymmetricProperty.

   # abgeleitete Tripel
   ex:worksWith owl:inverseOf ex:worksWith.
   staff:de-oliveira ex:worksWith staff:cuy.
Transitivität
• owl:TransitiveProperty
 • Klasse von Properties
 • Mathematisches Konzept der Transitivität:
   • wenn R(a,b) und R(b,c), dann R(a,c)

     <owl:ObjectProperty rdf:about="&uni;vorfahreVon">
         <rdf:type rdf:resource="&owl;TransitiveProperty"/>
     </owl:ObjectProperty>
Transitivität
                   IF ?x ?P ?y

• Regel:           AND ?y ?P ?z
                   AND ?P rdf:type owl:TransitiveProperty
                   THEN ?x ?P ?z.



   @prefix   rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
   @prefix   owl: <http://www.w3.org/2002/07/owl#>.
   @prefix   ex: <http://example.org/family-relations#>.
   @prefix   sw: <http://example.org/star-wars/>.

   sw:shmi.skywalker ex:vorfahreVon sw:anakin.skywalker.
   sw:anakin.skywalker ex:vorfahreVon sw:luke.skywalker.

   ex:vorfahreVon a owl:TransitiveProperty.

   # abgeleitete Tripel
   sw:shmi.skywalker ex:vorfahreVon sw:luke.skywalker.
Äquivalenz
• owl:equivalentClass
• owl:equivalentProperty
•    Besonders nützlich beim Zusammenführen
     unterschiedlicher Vokabulare (Mapping).

    <owl:Class rdf:about="&klips;Veranstaltung">
        <owl:equivalentClass rdf:resource="&hki;Kurs"/>
    </owl:Class>

    <owl:ObjectProperty rdf:about="&klips;wirdGehaltenVon">
        <owl:equivalentProperty rdf:resource="&hki;unterrichtetVon"/>
    </owl:ObjectProperty>
Äquivalenz
• Regeln:
                 IF ?A owl:equivalentClass ?B      IF ?A owl:equivalentClass ?B
                 AND ?y rdf:type ?A                AND ?y rdf:type ?B
                 THEN ?y rdf:type ?B.              THEN ?y rdf:type ?A.


                 owl:equivalentClass rdf:type owl:SymmetricProperty.




      @prefix   rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
      @prefix   owl: <http://www.w3.org/2002/07/owl#>.
      @prefix   klips: <http://klips.uni-koeln.de/vokabular#>.
      @prefix   hki: <http://hki.uni-koeln.de/kursverwaltung#>.
      @prefix   course: <http://hki.uni-koeln.de/courses/>.

      course:7 a hki:Kurs.
      hki:unterrichtetVon rdfs:domain hki:Kurs.

      klips:Veranstaltung owl:equivalentClass hki:Kurs.

      # abgeleitete Tripel
      course:7 a klips:Veranstaltung.
      hki:unterrichtetVon rdfs:domain hki:Kurs.
Äquivalenz

• owl:sameAs
 • Gibt an, dass zwei Individuen identisch sind.

     <movie:Character rdf:about="&sw;anakin.skywalker"/>

     <movie:Character rdf:about="&sw;darth.vader">
         <owl:sameAs rdf:resource="&sw;anakin.skywalker"/>
     </movie:Character>
Äquivalenz
• Regeln:
                     IF ?s ?P ?x             IF ?x ?P ?o
                     AND ?x owl:sameAs ?y    AND ?x owl:sameAs ?y
                     THEN ?s ?P ?y.          THEN ?y ?P ?o.

                     owl:sameAs rdf:type owl:SymmetricProperty.



       @prefix   owl: <http://www.w3.org/2002/07/owl#>.
       @prefix   klips: <http://klips.uni-koeln.de/vokabular#>.
       @prefix   kv: <http://klips.uni-koeln.de/veranstaltungen/>.
       @prefix   hc: <http://hki.uni-koeln.de/courses/>.
       @prefix   staff: <http://hki.uni-koeln.de/staff/>.


       kv:2342 klips:titel "Semantic Technologies";
       !   a klips:Uebung.
       staff:cuy klips:haelt hc:5.

       hc:5 owl:sameAs kv:2342.

       # abgeleitete Tripel
       hc:5 klips:titel "Semantic Technologies";
       !   a klips:Uebung.
       staff:cuy klips:haelt kv:2342.
Funktionale Eigenschaften

• owl:FunctionalProperty
 • Klasse von Properties
 • Gibt an, dass eine Property für eine Instanz nur
     einen einzigen Wert annehmen kann.


     <owl:ObjectProperty rdf:about="&uni;wirdGehaltenVon">
         <rdf:type rdf:resource="&owl;FunctionalProperty"/>
     </owl:ObjectProperty>
Funktionale Eigenschaften
                   IF ?x ?P ?a

• Regel:           AND ?x ?P ?p
                   AND ?P rdf:type owl:FunctionalProperty
                   THEN ?a owl:sameAs ?b.



   @prefix   rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
   @prefix   owl: <http://www.w3.org/2002/07/owl#>.
   @prefix   ex: <http://example.org/family-relations#>.
   @prefix   sw: <http://example.org/star-wars/>.

   sw:luke.skywalker ex:hatVater sw:anakin.skywalker.
   sw:luke.skywalker ex:hatVater sw:darth.vader.

   ex:hatVater a owl:FunctionalProperty.

   # abgeleitete Tripel
   sw:anakin.skywalker owl:sameAs sw:darth.vader.
Invers-funktionale
            Eigenschaften
• owl:InverseFunctionalProperty
 • Klasse von Properties
 • Gibt an, dass eine Property für jede Instanz
     einen anderen Wert annimmt.


   <owl:ObjectProperty rdf:about="&uni;matrikelNr">
       <rdf:type rdf:resource="&owl;InverseFunctionalProperty"/>
   </owl:ObjectProperty>
Invers-funktionale
           Eigenschaften
               IF ?x ?P ?a

• Regel:       AND ?y ?P ?a
               AND ?P rdf:type owl:InverseFunctionalProperty
               THEN ?x owl:sameAs ?y.


   @prefix   rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
   @prefix   owl: <http://www.w3.org/2002/07/owl#>.
   @prefix   ex: <http://example.org/family-relations#>.
   @prefix   sw: <http://example.org/star-wars/>.

   staff:cuy foaf:mbox <mailto:sebastian.cuy@uni-koeln.de>.
   person:523 foaf:mbox <mailto:sebastian.cuy@uni-koeln.de>.

   foaf:mbox a owl:InverseFunctionalProperty.

   # abgeleitete Tripel
   person:523 owl:sameAs staff:cuy.
Aufgaben
Aufgabe 1
• Gegeben ist folgende Ontologie für die
  Verwaltung von Musik:
 ‣   http://www.hki.uni-koeln.de/sites/all/files/courses/
     5899/11-11-23_music-ontology_simple.owl


• Erweitern Sie diese Ontologie mit den
  Konstrukten aus RDFS+ so, dass dadurch
  möglichst viele Schlüsse automatisch
  gezogen werden können.
Aufgabe 2


• Erstellen Sie mit Hilfe der Klassen und
  Properties aus RDFS+ ein Mapping der
  Ontologie aus Aufgabe 1 auf FOAF.

Sitzung 7

  • 1.
    Semantic Technologies Übung, Wintersemester 2011/12 23. November 2011 - RDFS+ / OWL
  • 2.
    Aufgabe 1 • Gegebenseien die folgenden RDF-Daten. • Notieren sie alle Tripel, die daraus durch Anwendung der zu RDF Schema gehörenden Regeln abgeleitet werden können.
  • 3.
    @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix xsd: <http://www.w3.org/2001/XMLSchema#>. @prefix lib: <http://example.org/library#>. @prefix ub: <http://ub.uni-koeln.de/inventar/>. # Klassen lib:Document a rdfs:Class. lib:Book a rdfs:Class; ! rdfs:subClassOf lib:Document. # Abgeleitet ub:42 lib:Article a rdfs:Class; ! a lib:EArticle; # über domain von webVersion ! rdfs:subClassOf lib:Document. ! a lib:Article; # über subClassOf von EArticle ! ! a lib:EDocument; # über subClassOf von EArticle lib:EDocument a rdfs:Class; ! a lib:Document; # über subClassOf von Article/Document ! rdfs:subClassOf lib:Document. ! a rdfs:Resource. # über domain von rdf:type lib:EArticle a rdfs:Class; ub:23 ! rdfs:subClassOf lib:Article, lib:EDocument. ! a lib:Book; # über domain von isbn ! ! a lib:Document; # über subClassOf von Book lib:Author a rdfs:Class. ! a rdfs:Resource. # über domain von rdf:type ! lib:author a rdfs:Property; <http://dbpedia.org/resource/Donald_Ervin_Knuth> ! rdfs:domain lib:Document; ! a lib:Author; # über range von author ! rdfs:range lib:Author. ! a rdfs:Resource. # über domain von rdf:type lib:title a rdfs:Property; <http://www.w3.org/People/Berners-Lee/card#i> ! rdfs:domain lib:Document; ! a lib:Author; # über range von author ! rdfs:range xsd:string. ! a rdfs:Resource. # über domain von rdf:type ! lib:isbn a rdfs:Property; lib:isbn ! rdfs:domain lib:Book; ! rdfs:domain lib:Document; # über domain von ! rdfs:range xsd:string. ! ! ! ! ! # isbn & subClassOf von Book ! ... lib:webVersion a rdfs:Property; ! rdfs:domain lib:EArticle. # Instanzen ub:42 lib:title "The Semantic Web"; ! lib:author <http://www.w3.org/People/Berners-Lee/card#i>; ! lib:webVersion <http://www.scientificamerican.com/article.cfm?id=the-semantic-web>. ub:23 lib:title "The Art of Computer Programming"; ! lib:isbn "978-0321751041"; ! lib:author <http://dbpedia.org/resource/Donald_Ervin_Knuth>.
  • 4.
    Aufgabe 2 •Welche Tripel können zusätzlich abgeleitet werden, wenn folgende Aussagen hinzugefügt werden? lib:Document rdfs:subClassOf <http://xmlns.com/foaf/0.1/Document>. <http://xmlns.com/foaf/0.1/Document> rdfs:subClassOf lib:Document. lib:title rdfs:subPropertyOf <http://purl.org/dc/elements/1.1/title>. lib:author rdfs:subPropertyOf <http://xmlns.com/foaf/0.1/maker>.
  • 5.
    Zusammenfassung RDFS • Klassenhierachien • Eigenschaftshierarchien • domain und range ➡Eingeschränkte Ausdruckskraft
  • 6.
  • 7.
    OWL Web Ontology Language • Reichhaltige rdfs:Resource Ontologiesprache rdfs:Class rdf:Property • erweitert RDF- Schema owl:Class owl:Object Property owl:Datatype Property
  • 8.
    OWL Web Ontology Language rdfs:Resource rdfs:Class rdf:Property owl:Object owl:Datatype owl:Class Property Property
  • 9.
    OWL Web Ontology Language • Verschiedene Varianten mit unterschiedlicher Ausdruckskraft: • OWL Full • OWL DL Subset • OWL Lite • Informell: RDFS-Plus (RDFS + ein bisschen OWL)
  • 10.
  • 11.
    Klassen und Properties • owl:Class <owl:Class rdf:about="http://example.org/uni-vokabular#Dozent"/> <owl:DatatypeProperty rdf:about="&uni;name"> • owl:DatatypeProperty <rdfs:domain rdf:resource="&uni;Dozent"/> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:ObjectProperty rdf:about="&uni;wirdGehaltenVon"> • owl:ObjectProperty <rdfs:domain rdf:resource="&uni;Veranstaltung"/> <rdfs:range rdf:resource="&uni;Dozent"/> </owl:ObjectProperty>
  • 12.
    Umkehrung • owl:inverseOf •Eigenschaft einer Property • Gibt eine andere Property an, die die gleiche Bedeutung hat, bei der aber Subjekt und Objekt vertauscht sind. <owl:ObjectProperty rdf:about="&uni;wirdGehaltenVon"/> <owl:ObjectProperty rdf:about="&uni;haelt"> <owl:inverseOf rdf:resource="&uni;wirdGehaltenVon"/> </owl:ObjectProperty>
  • 13.
    Umkehrung IF ?x ?P ?y • Regel: AND ?Q owl:inverseOf ?P THEN ?y ?Q ?x. @prefix owl: <http://www.w3.org/2002/07/owl#>. @prefix uni: <http://example.org/uni-vokabular#>. @prefix hki: <http://hki.uni-koeln.de/stundenplan/>. hki:5 uni:wirdGehaltenVon staff:thaller. uni:haelt owl:inverseOf uni:wirdGehaltenVon. # abgeleitete Tripel hki:thaller uni:haelt hki:5.
  • 14.
    Symmetrische Eigenschaften • owl:SymmetricProperty • Klasse von Properties • Gibt an, dass bei der gleichen Eigenschaft Subjekt und Objekt vertauscht werden können. <owl:ObjectProperty rdf:about="&ex;worksWith"> <rdf:type rdf:resource="&owl;SymmetricProperty"/> </owl:ObjectProperty>
  • 15.
    Symmetrische Eigenschaften • Regel: IF ?P rdf:type owl:SymmetricProperty THEN ?P owl:inverseOf ?P. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix owl: <http://www.w3.org/2002/07/owl#>. @prefix ex: <http://example.org/work-relations#>. @prefix staff: <http://hki.uni-koeln.de/staff/>. staff:cuy ex:worksWith staff:de-oliveira. ex:worksWith a owl:SymmetricProperty. # abgeleitete Tripel ex:worksWith owl:inverseOf ex:worksWith. staff:de-oliveira ex:worksWith staff:cuy.
  • 16.
    Transitivität • owl:TransitiveProperty •Klasse von Properties • Mathematisches Konzept der Transitivität: • wenn R(a,b) und R(b,c), dann R(a,c) <owl:ObjectProperty rdf:about="&uni;vorfahreVon"> <rdf:type rdf:resource="&owl;TransitiveProperty"/> </owl:ObjectProperty>
  • 17.
    Transitivität IF ?x ?P ?y • Regel: AND ?y ?P ?z AND ?P rdf:type owl:TransitiveProperty THEN ?x ?P ?z. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix owl: <http://www.w3.org/2002/07/owl#>. @prefix ex: <http://example.org/family-relations#>. @prefix sw: <http://example.org/star-wars/>. sw:shmi.skywalker ex:vorfahreVon sw:anakin.skywalker. sw:anakin.skywalker ex:vorfahreVon sw:luke.skywalker. ex:vorfahreVon a owl:TransitiveProperty. # abgeleitete Tripel sw:shmi.skywalker ex:vorfahreVon sw:luke.skywalker.
  • 18.
    Äquivalenz • owl:equivalentClass • owl:equivalentProperty • Besonders nützlich beim Zusammenführen unterschiedlicher Vokabulare (Mapping). <owl:Class rdf:about="&klips;Veranstaltung"> <owl:equivalentClass rdf:resource="&hki;Kurs"/> </owl:Class> <owl:ObjectProperty rdf:about="&klips;wirdGehaltenVon"> <owl:equivalentProperty rdf:resource="&hki;unterrichtetVon"/> </owl:ObjectProperty>
  • 19.
    Äquivalenz • Regeln: IF ?A owl:equivalentClass ?B IF ?A owl:equivalentClass ?B AND ?y rdf:type ?A AND ?y rdf:type ?B THEN ?y rdf:type ?B. THEN ?y rdf:type ?A. owl:equivalentClass rdf:type owl:SymmetricProperty. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix owl: <http://www.w3.org/2002/07/owl#>. @prefix klips: <http://klips.uni-koeln.de/vokabular#>. @prefix hki: <http://hki.uni-koeln.de/kursverwaltung#>. @prefix course: <http://hki.uni-koeln.de/courses/>. course:7 a hki:Kurs. hki:unterrichtetVon rdfs:domain hki:Kurs. klips:Veranstaltung owl:equivalentClass hki:Kurs. # abgeleitete Tripel course:7 a klips:Veranstaltung. hki:unterrichtetVon rdfs:domain hki:Kurs.
  • 20.
    Äquivalenz • owl:sameAs •Gibt an, dass zwei Individuen identisch sind. <movie:Character rdf:about="&sw;anakin.skywalker"/> <movie:Character rdf:about="&sw;darth.vader"> <owl:sameAs rdf:resource="&sw;anakin.skywalker"/> </movie:Character>
  • 21.
    Äquivalenz • Regeln: IF ?s ?P ?x IF ?x ?P ?o AND ?x owl:sameAs ?y AND ?x owl:sameAs ?y THEN ?s ?P ?y. THEN ?y ?P ?o. owl:sameAs rdf:type owl:SymmetricProperty. @prefix owl: <http://www.w3.org/2002/07/owl#>. @prefix klips: <http://klips.uni-koeln.de/vokabular#>. @prefix kv: <http://klips.uni-koeln.de/veranstaltungen/>. @prefix hc: <http://hki.uni-koeln.de/courses/>. @prefix staff: <http://hki.uni-koeln.de/staff/>. kv:2342 klips:titel "Semantic Technologies"; ! a klips:Uebung. staff:cuy klips:haelt hc:5. hc:5 owl:sameAs kv:2342. # abgeleitete Tripel hc:5 klips:titel "Semantic Technologies"; ! a klips:Uebung. staff:cuy klips:haelt kv:2342.
  • 22.
    Funktionale Eigenschaften • owl:FunctionalProperty • Klasse von Properties • Gibt an, dass eine Property für eine Instanz nur einen einzigen Wert annehmen kann. <owl:ObjectProperty rdf:about="&uni;wirdGehaltenVon"> <rdf:type rdf:resource="&owl;FunctionalProperty"/> </owl:ObjectProperty>
  • 23.
    Funktionale Eigenschaften IF ?x ?P ?a • Regel: AND ?x ?P ?p AND ?P rdf:type owl:FunctionalProperty THEN ?a owl:sameAs ?b. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix owl: <http://www.w3.org/2002/07/owl#>. @prefix ex: <http://example.org/family-relations#>. @prefix sw: <http://example.org/star-wars/>. sw:luke.skywalker ex:hatVater sw:anakin.skywalker. sw:luke.skywalker ex:hatVater sw:darth.vader. ex:hatVater a owl:FunctionalProperty. # abgeleitete Tripel sw:anakin.skywalker owl:sameAs sw:darth.vader.
  • 24.
    Invers-funktionale Eigenschaften • owl:InverseFunctionalProperty • Klasse von Properties • Gibt an, dass eine Property für jede Instanz einen anderen Wert annimmt. <owl:ObjectProperty rdf:about="&uni;matrikelNr"> <rdf:type rdf:resource="&owl;InverseFunctionalProperty"/> </owl:ObjectProperty>
  • 25.
    Invers-funktionale Eigenschaften IF ?x ?P ?a • Regel: AND ?y ?P ?a AND ?P rdf:type owl:InverseFunctionalProperty THEN ?x owl:sameAs ?y. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix owl: <http://www.w3.org/2002/07/owl#>. @prefix ex: <http://example.org/family-relations#>. @prefix sw: <http://example.org/star-wars/>. staff:cuy foaf:mbox <mailto:sebastian.cuy@uni-koeln.de>. person:523 foaf:mbox <mailto:sebastian.cuy@uni-koeln.de>. foaf:mbox a owl:InverseFunctionalProperty. # abgeleitete Tripel person:523 owl:sameAs staff:cuy.
  • 26.
  • 27.
    Aufgabe 1 • Gegebenist folgende Ontologie für die Verwaltung von Musik: ‣ http://www.hki.uni-koeln.de/sites/all/files/courses/ 5899/11-11-23_music-ontology_simple.owl • Erweitern Sie diese Ontologie mit den Konstrukten aus RDFS+ so, dass dadurch möglichst viele Schlüsse automatisch gezogen werden können.
  • 28.
    Aufgabe 2 • ErstellenSie mit Hilfe der Klassen und Properties aus RDFS+ ein Mapping der Ontologie aus Aufgabe 1 auf FOAF.