SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
Semantic Technologies
   Übung, Wintersemester 2011/12
   2. November 2011 - mehr RDF
Aufgabe 1
• Beschreiben Sie sich selbst und ihre
  Beziehungen untereinander mit den
  Begriffen aus FOAF in N-Triples.
  •   URIs:
      •   Personen:   http://hki.uni-koeln.de/st_2011/person/max.musterman


      •   Dieser Kurs:   http://hki.uni-koeln.de/st_2011/group/st_2011


      •   Ihre Gruppe:   http://hki.uni-koeln.de/st_2011/group/gruppenname


  •   Benutzen Sie auch Begriffe aus FOAF Social Web
<http://hki.uni-koeln.de/st_2011/person/roman.quiring>
!    <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person>.
<http://hki.uni-koeln.de/st_2011/person/roman.quiring>
!    <http://xmlns.com/foaf/0.1/name> "Roman Quiring".
<http://hki.uni-koeln.de/st_2011/person/roman.quiring>
!    <http://xmlns.com/foaf/0.1/givenName> "Roman".
<http://hki.uni-koeln.de/st_2011/person/roman.quiring>
!    <http://xmlns.com/foaf/0.1/family_name> "Quiring".
<http://hki.uni-koeln.de/st_2011/person/roman.quiring>
!    <http://xmlns.com/foaf/0.1/nick> "Rome".
<http://hki.uni-koeln.de/st_2011/person/roman.quiring>
!    <http://xmlns.com/foaf/0.1/mbox> <mailto:r.quiring@uni-koeln.de>.
<http://hki.uni-koeln.de/st_2011/person/roman.quiring>
!    <http://xmlns.com/foaf/0.1/homepage> <http://www.rome.de>.
<http://hki.uni-koeln.de/st_2011/person/roman.quiring>
!    <http://xmlns.com/foaf/0.1/workplaceHomepage> <http://www.open-lims.org>.
<http://hki.uni-koeln.de/st_2011/person/roman.quiring>
!    <http://xmlns.com/foaf/0.1/depiction> <http://www.rome.de/meinBild.jpg>.
<http://hki.uni-koeln.de/st_2011/person/roman.quiring>
!    <http://xmlns.com/foaf/0.1/interest> <http://www.youtube.com>.
<http://www.youtube.com>
!    <http://purl.org/dc/elements/1.1/title> "Youtube - Broadcast Yourself".
<http://hki.uni-koeln.de/st_2011/person/roman.quiring>
!    <http://xmlns.com/foaf/0.1/member> <http://hki.uni-koeln.de/st_2011/group/st_2011>
<http://hki.uni-koeln.de/st_2011/person/roman.quiring>
!    <http://xmlns.com/foaf/0.1/knows> <http://hki.uni-koeln.de/st_2011/person/benjamin.gelhaar>.
<http://hki.uni-koeln.de/st_2011/person/roman.quiring>
!    <http://xmlns.com/foaf/0.1/knows> <http://hki.uni-koeln.de/st_2011/person/carlos.lenz>.
Aufgabe 2

• Verkürzen Sie die Darstellungsweise der
  Tripel indem Sie die Turtle-Syntax benutzen.
• Tips:
 •   Nutzen Sie „@prefix“

 •   Vermeiden Sie die Wiederholung von Subjekten durch
     die Verwendung von „;“.
@prefix : <http://xmlns.com/foaf/0.1/> .
@prefix dc: <http://purl.org/dc/elements/1.1/>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix stp: <http://hki.uni-koeln.de/st_2011/person/>.


<http://hki.uni-koeln.de/st_2011/person/roman-quiring>
!    a :Person;
!    :name "Roman Quiring" ;
!    :givenName "Roman" ;
!    :family_name "Quiring" ;
!    :nick "Rome" ;
!    :mbox <mailto:r.quiring@uni-koeln.de> ;
!    :homepage <http://www.rome.de> ;
!    :workplaceHomepage <http://www.open-lims.org> ;
!    :depiction <http://www.rome.de/meinBild.jpg> ;
!    :interest <http://www.youtube.com> ;
!    :member <http://hki.uni-koeln.de/st_2011/group/st_2011> ;
!    :knows stp:benjamin-gelhaar , stp:carlos-lenz .


<http://www.youtube.com>
!    dc:title "Youtube - Broadcast Yourself".
RDF
aus Datenbanksicht
Beispiel
ID          Titel                 Dozent                 Raum             Tag        Uhrzeit

     Softwaretechnologie für
1                               Manfred Thaller           0.38          Donnerstag     10:00
        Fortgeschrittene



2    Softwaretechnologie I      Manfred Thaller           1.14          Dienstag       10:00



       Basisinformations-                           Wird noch bekannt
3                              Jan Gerrit Wieners                       Mittwoch       10:00
         technologie I                                   gegeben



4    Semantic Technologies       Sebastian Cuy            210           Mittwoch       12:00



                               Daniel Marreiros
5     Programmierpraktikum                                1.14           Montag        17:45
                                 de Oliveira
Möglichkeit 1
                       Verteilung Zeile für Zeile


           Softwaretechnologie       Manfred
     1                                             0.38         Donnerstag     10:00
           für Fortgeschrittene      Thaller



                                                                   Manfred
                               2      Softwaretechnologie I                         1.14        Dienstag   10:00
                                                                   Thaller
                                       Basisinformations-        Jan Gerrit   Wird noch bekannt
                               3                                                                Mittwoch   10:00
                                         technologie I            Wieners          gegeben



             Semantic
 4                                 Sebastian Cuy          210     Mittwoch       12:00
           Technologies
         Programmierpraktik   Daniel Marreiros de
 5                                                    1.14         Montag        17:45
                 um                Oliveira




➡Vorteil: Flexibilität                                          ➡Problem: Schema
Möglichkeit 2
                   Verteilung Spalte für Spalte
                           Dozent            Raum
   Titel
                            Manfred
                                              0.38
                            Thaller
   Software-
technologie für             Manfred
                                              1.14
                            Thaller
Fortgeschrittene
                                                              Tag        Uhrzeit
                           Jan Gerrit        Wird noch
   Software-                Wieners       bekannt gegeben
 technologie I                                              Donnerstag     10:00
                          Sebastian Cuy        210
    Basis-
                                                            Dienstag       10:00
 informations-             Daniel de
 technologie I                                1.14
                           Oliveira
                                                            Mittwoch       10:00
   Semantic
 Technologies
                                                            Mittwoch       12:00

 Programmier-
  praktikum                                                  Montag        17:45




 ➡Vorteil: Flexibilität                    ➡Problem: Identität
Möglichkeit 3
                        Verteilung Zelle für Zelle
                                                   Titel

                   Dozent          Zeile   Softwaretechnologie für
                                     1        Fortgeschrittene
   Zeile
           Manfred Thaller
     1



                            Raum                                                Titel

           Zeile                                              Zeile        Semantic
                            1.14                                4        Technologies
             2



                                                                      Uhrzeit


➡Vorteil: Volle Flexibilität                          Zeile
                                                        5
                                                                      17:45




„AAA: Anyone is allowed to
say Anything about Any                     ➡Probleme:
topic.“                                        Schema und Identität
Lösung
                     Tripel & globale Referenzen
                 Titel                         Subjekt    Prädikat     Objekt

 Zeile         Semantic                                                Semantic
                                               Zeile 4      Titel
   4         Technologies                                            Technologies




             Zeile
               4                           http://hki.uni-koeln.de/courses/4




             Titel                         http://purl.org/dc/elements/1.1/title




➡ RDF is born:
         <http://hki.uni-koeln.de/courses/4>
         !   <http://purl.org/dc/elements/1.1/title> "Semantic Technologies" .
RDF
• Explizite Bedeutung
  durch
                          Seman
  global definierte                tic
  Prädikate und Klassen
• Verteilung durch            eb
  globale Identifier und     W
  Tripelstruktur
RDF / XML
Ein Tripel
      <urn:example:city:cologne> <http://dbpedia.org/property/name> "Köln".




<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dbpedia="http://dbpedia.org/property/">


   <rdf:Description rdf:about="urn:example:city:cologne">
       <dbpedia:name>Köln</dbpedia:name>
   </rdf:Description>


</rdf:RDF>
Noch ein Tripel
      <urn:example:city:cologne>
      !      <http://purl.org/dc/elements/1.1/description>
      !      <http://de.wikipedia.org/wiki/Köln>.




<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dc="http://purl.org/dc/elements/">


   <rdf:Description rdf:about="urn:example:city:cologne">
          <dc:description rdf:resource="http://de.wikipedia.org/wiki/Köln"/>
   </rdf:Description>


</rdf:RDF>
Mehrere Tripel
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dbpedia="http://dbpedia.org/property/"
    xmlns:dc="http://purl.org/dc/elements/">

   <rdf:Description rdf:about="urn:example:city:cologne">
       <dbpedia:name>Köln</dbpedia:name>
       <dc:description rdf:resource="http://de.wikipedia.org/wiki/Köln"/>
   </rdf:Description>

   <rdf:Description rdf:about="http://de.wikipedia.org/wiki/Köln">
       <dc:date>2011-10-23</dc:date>
       <dc:creator>Max Mustermann</dc:creator>
       <dc:title>Köln</dc:title>
   </rdf:Description>

</rdf:RDF>




<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dbpedia="http://dbpedia.org/property/"
    xmlns:dc="http://purl.org/dc/elements/">

   <rdf:Description rdf:about="urn:example:city:cologne">
       <dbpedia:name>Köln</dbpedia:name>
       <dc:description>
           <rdf:Description rdf:about="http://de.wikipedia.org/wiki/Köln">
               <dc:date>2011-10-23</dc:date>
               <dc:creator>Max Mustermann</dc:creator>
               <dc:title>Köln</dc:title>
           </rdf:Description>
       </dc:description>
   </rdf:Description>

</rdf:RDF>
Klassen

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dbpedia="http://dbpedia.org/property/"
    xmlns:dc="http://purl.org/dc/elements/">


   <rdf:Description rdf:about="urn:example:city:cologne">
       <rdf:type rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/>
       <dbpedia:name>Köln</dbpedia:name>
       <dc:description rdf:resource="http://de.wikipedia.org/wiki/Köln"/>
   </rdf:Description>


</rdf:RDF>
Datentypen
     <urn:example:city:cologne>
     !    <urn:example:inhabitants>
     !    “1007119“^^<http://www.w3.org/2001/XMLSchema#integer> .


     <http://de.wikipedia.org/wiki/Köln>
     !    <http://purl.org/dc/elements/1.1/date>
     !    “2011-10-23“^^<http://www.w3.org/2001/XMLSchema#date> .




<rdf:Description rdf:about="urn:example:city:cologne">
    <ex:inhabitants rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1007119</ex:inhabitants>
</rdf:Description>


<rdf:Description rdf:about="http://de.wikipedia.org/wiki/Köln">
    <dc:date rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2011-10-23</dc:date>
</rdf:Description>
Shortcuts
       • Kinderlose Property-Elemente dürfen durch
            XML-Attribute ersetzt werden.
       • Description-Elemente mit Typ-Kind dürfen
            durch den Namen des Typs ersetzt werden.
<rdf:Description rdf:about="urn:example:city:cologne">
    <rdf:type rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/>
    <dbpedia:name>Köln</dbpedia:name>
</rdf:Description>




                       <dbpedia:PopulatedPlace rdf:about="urn:example:city:cologne" dbpedia:name="Köln"/>
Shortcuts
• Namensräume in Attributen können durch
  Entity-Deklarationen verkürzt werden.

     <?xml version="1.0" encoding="UTF-8"?>
     <!DOCTYPE rdf:RDF [
          <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">
          <!ENTITY wiki "http://de.wikipedia.org/wiki/">
     ]>
     <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
          xmlns:dc="http://purl.org/dc/elements/">


          <rdf:Description rdf:about="&wiki;Köln">
              <dc:date rdf:datatype="&xsd;date">2011-10-23</dc:date>
          </rdf:Description>


     </rdf:RDF>
Container-Elemente
        •    rdf:Bag - ungeordnet
                                                          •     Dopplungen erlaubt
        •    rdf:Seq - geordnet
                                                          •     nicht abgeschlossen
        •    rdf:Alt - alternativ
<fs:folder rdf:about="ftp:///example.org/docs">
    <fs:containsFiles>
        <rdf:Bag>
            <rdf:_1 rdf:resource="http://example.org/docs/index.php"/>
            <rdf:_2 rdf:resource="http://example.org/docs/robots.txt"/>
        </rdf:Bag>
    </fs:containsFiles>
</fs:folder>




                                  <fs:folder rdf:about="ftp:///example.org/docs">
                                      <fs:containsFiles>
                                          <rdf:Bag>

        oder                                  <rdf:li rdf:resource="http://example.org/docs/index.php"/>
                                              <rdf:li rdf:resource="http://example.org/docs/robots.txt"/>
                                          </rdf:Bag>
                                      </fs:containsFiles>
                                  </fs:folder>
Collection-Elemente
• rdf:List
                                    <fs:folder rdf:about="ftp:///example.org/docs">
                                        <fs:containsFiles rdf:parseType="Collection">
                                            <rdf:Description rdf:about="&docs;index.php"/>
                                            <rdf:Description rdf:about="&docs;robots.txt"/>


 • abgeschlossen
                                        </fs:containsFiles>
                                    </fs:folder>



                                                                                   oder
    <fs:folder rdf:about="ftp:///example.org/docs">
        <fs:containsFiles>
            <rdf:List>
                <rdf:first>
                    <rdf:Description rdf:resource="&docs;index.php"/>
                </rdf:first>
                <rdf:rest>
                    <rdf:List>
                        <rdf:first>
                            <rdf:Description rdf:resource="&docs;robots.txt"/>
                        </rdf:first>
                        <rdf:rest>
                            <rdf:Description rdf:resource="&rdf;nil"/>
                        </rdf:rest>
                    </rdf:List>
                </rdf:rest>
            </rdf:List>
        </fs:containsFiles>
    </fs:folder>
Aufgaben
Aufgabe 1
• Beschreiben Sie sich selbst und ihre
  Beziehungen untereinander mit den
  Begriffen aus FOAF in RDF/XML.
  •   URIs:
      •   Personen:   http://hki.uni-koeln.de/st_2011/person/max.musterman


      •   Dieser Kurs:   http://hki.uni-koeln.de/st_2011/group/st_2011


      •   Ihre Gruppe:   http://hki.uni-koeln.de/st_2011/group/gruppenname


  •   Benutzen Sie auch Begriffe aus FOAF Social Web
Aufgabe 2
• Gegeben sind die folgenden
  Datenbanktabellen. Erstellen Sie aus
  diesen Daten einen RDF-Graphen und
  serialisieren Sie diesen in RDF/XML.
 •   Die Identifier für Typen, Properties und Ressourcen
     dürfen Sie selbst vergeben.

 •   Verwenden Sie einen Container zur Abbildung einer
     der 1 zu n-Beziehungen.
Tabelle 1
                               Veranstaltungen

id          titel                 tag        uhrzeit   dozent_id   raum_id

     Softwaretechnologie für
1                               Donnerstag     10:00       1          1
        Fortgeschrittene



2    Softwaretechnologie I      Dienstag       10:00       1          2



       Basisinformations-
3                               Mittwoch       10:00       2         NULL
         technologie I



4    Semantic Technologies      Mittwoch       12:00       3          3




5     Programmierpraktikum       Montag        17:45       4          2
Tabelle 2
                      Dozenten

id   vorname      nachname      titel          eMail          raum_id


                                            manfred.thaller
1     Manfred      Thaller      Prof. Dr.                        4
                                             @uni-koeln.de




                                              jan.wieners
2    Jan Gerrit    Wieners        M.A.                           5
                                             @uni-koeln.de




                                             sebastian.cuy
3    Sebastian       Cuy          M.A.                           5
                                             @uni-koeln.de




                                            d.de-oliveira
4     Daniel      de Oliveira     M.A.                           5
                                            @uni-koeln.de
Tabelle 3
                     Räume

id      gebaeude                          raum

1       Philosophicum                      0.38




2           RRZK-B                         1.14




3        Küpperstift                        210




4        Küpperstift         Eingang Weyertal, II. Stock, rechts




5    Universitätsstraße 22             Dachgeschoss

Contenu connexe

Plus de scuy

Sitzung 9
Sitzung 9Sitzung 9
Sitzung 9scuy
 
Sitzung 8
Sitzung 8Sitzung 8
Sitzung 8scuy
 
Sitzung 7
Sitzung 7Sitzung 7
Sitzung 7scuy
 
Sitzung 5
Sitzung 5Sitzung 5
Sitzung 5scuy
 
Sitzung 3
Sitzung 3Sitzung 3
Sitzung 3scuy
 
Sitzung 1
Sitzung 1Sitzung 1
Sitzung 1scuy
 

Plus de scuy (6)

Sitzung 9
Sitzung 9Sitzung 9
Sitzung 9
 
Sitzung 8
Sitzung 8Sitzung 8
Sitzung 8
 
Sitzung 7
Sitzung 7Sitzung 7
Sitzung 7
 
Sitzung 5
Sitzung 5Sitzung 5
Sitzung 5
 
Sitzung 3
Sitzung 3Sitzung 3
Sitzung 3
 
Sitzung 1
Sitzung 1Sitzung 1
Sitzung 1
 

Sitzung 4

  • 1. Semantic Technologies Übung, Wintersemester 2011/12 2. November 2011 - mehr RDF
  • 2. Aufgabe 1 • Beschreiben Sie sich selbst und ihre Beziehungen untereinander mit den Begriffen aus FOAF in N-Triples. • URIs: • Personen: http://hki.uni-koeln.de/st_2011/person/max.musterman • Dieser Kurs: http://hki.uni-koeln.de/st_2011/group/st_2011 • Ihre Gruppe: http://hki.uni-koeln.de/st_2011/group/gruppenname • Benutzen Sie auch Begriffe aus FOAF Social Web
  • 3. <http://hki.uni-koeln.de/st_2011/person/roman.quiring> ! <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person>. <http://hki.uni-koeln.de/st_2011/person/roman.quiring> ! <http://xmlns.com/foaf/0.1/name> "Roman Quiring". <http://hki.uni-koeln.de/st_2011/person/roman.quiring> ! <http://xmlns.com/foaf/0.1/givenName> "Roman". <http://hki.uni-koeln.de/st_2011/person/roman.quiring> ! <http://xmlns.com/foaf/0.1/family_name> "Quiring". <http://hki.uni-koeln.de/st_2011/person/roman.quiring> ! <http://xmlns.com/foaf/0.1/nick> "Rome". <http://hki.uni-koeln.de/st_2011/person/roman.quiring> ! <http://xmlns.com/foaf/0.1/mbox> <mailto:r.quiring@uni-koeln.de>. <http://hki.uni-koeln.de/st_2011/person/roman.quiring> ! <http://xmlns.com/foaf/0.1/homepage> <http://www.rome.de>. <http://hki.uni-koeln.de/st_2011/person/roman.quiring> ! <http://xmlns.com/foaf/0.1/workplaceHomepage> <http://www.open-lims.org>. <http://hki.uni-koeln.de/st_2011/person/roman.quiring> ! <http://xmlns.com/foaf/0.1/depiction> <http://www.rome.de/meinBild.jpg>. <http://hki.uni-koeln.de/st_2011/person/roman.quiring> ! <http://xmlns.com/foaf/0.1/interest> <http://www.youtube.com>. <http://www.youtube.com> ! <http://purl.org/dc/elements/1.1/title> "Youtube - Broadcast Yourself". <http://hki.uni-koeln.de/st_2011/person/roman.quiring> ! <http://xmlns.com/foaf/0.1/member> <http://hki.uni-koeln.de/st_2011/group/st_2011> <http://hki.uni-koeln.de/st_2011/person/roman.quiring> ! <http://xmlns.com/foaf/0.1/knows> <http://hki.uni-koeln.de/st_2011/person/benjamin.gelhaar>. <http://hki.uni-koeln.de/st_2011/person/roman.quiring> ! <http://xmlns.com/foaf/0.1/knows> <http://hki.uni-koeln.de/st_2011/person/carlos.lenz>.
  • 4. Aufgabe 2 • Verkürzen Sie die Darstellungsweise der Tripel indem Sie die Turtle-Syntax benutzen. • Tips: • Nutzen Sie „@prefix“ • Vermeiden Sie die Wiederholung von Subjekten durch die Verwendung von „;“.
  • 5. @prefix : <http://xmlns.com/foaf/0.1/> . @prefix dc: <http://purl.org/dc/elements/1.1/>. @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix stp: <http://hki.uni-koeln.de/st_2011/person/>. <http://hki.uni-koeln.de/st_2011/person/roman-quiring> ! a :Person; ! :name "Roman Quiring" ; ! :givenName "Roman" ; ! :family_name "Quiring" ; ! :nick "Rome" ; ! :mbox <mailto:r.quiring@uni-koeln.de> ; ! :homepage <http://www.rome.de> ; ! :workplaceHomepage <http://www.open-lims.org> ; ! :depiction <http://www.rome.de/meinBild.jpg> ; ! :interest <http://www.youtube.com> ; ! :member <http://hki.uni-koeln.de/st_2011/group/st_2011> ; ! :knows stp:benjamin-gelhaar , stp:carlos-lenz . <http://www.youtube.com> ! dc:title "Youtube - Broadcast Yourself".
  • 7. Beispiel ID Titel Dozent Raum Tag Uhrzeit Softwaretechnologie für 1 Manfred Thaller 0.38 Donnerstag 10:00 Fortgeschrittene 2 Softwaretechnologie I Manfred Thaller 1.14 Dienstag 10:00 Basisinformations- Wird noch bekannt 3 Jan Gerrit Wieners Mittwoch 10:00 technologie I gegeben 4 Semantic Technologies Sebastian Cuy 210 Mittwoch 12:00 Daniel Marreiros 5 Programmierpraktikum 1.14 Montag 17:45 de Oliveira
  • 8. Möglichkeit 1 Verteilung Zeile für Zeile Softwaretechnologie Manfred 1 0.38 Donnerstag 10:00 für Fortgeschrittene Thaller Manfred 2 Softwaretechnologie I 1.14 Dienstag 10:00 Thaller Basisinformations- Jan Gerrit Wird noch bekannt 3 Mittwoch 10:00 technologie I Wieners gegeben Semantic 4 Sebastian Cuy 210 Mittwoch 12:00 Technologies Programmierpraktik Daniel Marreiros de 5 1.14 Montag 17:45 um Oliveira ➡Vorteil: Flexibilität ➡Problem: Schema
  • 9. Möglichkeit 2 Verteilung Spalte für Spalte Dozent Raum Titel Manfred 0.38 Thaller Software- technologie für Manfred 1.14 Thaller Fortgeschrittene Tag Uhrzeit Jan Gerrit Wird noch Software- Wieners bekannt gegeben technologie I Donnerstag 10:00 Sebastian Cuy 210 Basis- Dienstag 10:00 informations- Daniel de technologie I 1.14 Oliveira Mittwoch 10:00 Semantic Technologies Mittwoch 12:00 Programmier- praktikum Montag 17:45 ➡Vorteil: Flexibilität ➡Problem: Identität
  • 10. Möglichkeit 3 Verteilung Zelle für Zelle Titel Dozent Zeile Softwaretechnologie für 1 Fortgeschrittene Zeile Manfred Thaller 1 Raum Titel Zeile Zeile Semantic 1.14 4 Technologies 2 Uhrzeit ➡Vorteil: Volle Flexibilität Zeile 5 17:45 „AAA: Anyone is allowed to say Anything about Any ➡Probleme: topic.“ Schema und Identität
  • 11. Lösung Tripel & globale Referenzen Titel Subjekt Prädikat Objekt Zeile Semantic Semantic Zeile 4 Titel 4 Technologies Technologies Zeile 4 http://hki.uni-koeln.de/courses/4 Titel http://purl.org/dc/elements/1.1/title ➡ RDF is born: <http://hki.uni-koeln.de/courses/4> ! <http://purl.org/dc/elements/1.1/title> "Semantic Technologies" .
  • 12. RDF • Explizite Bedeutung durch Seman global definierte tic Prädikate und Klassen • Verteilung durch eb globale Identifier und W Tripelstruktur
  • 14. Ein Tripel <urn:example:city:cologne> <http://dbpedia.org/property/name> "Köln". <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dbpedia="http://dbpedia.org/property/"> <rdf:Description rdf:about="urn:example:city:cologne"> <dbpedia:name>Köln</dbpedia:name> </rdf:Description> </rdf:RDF>
  • 15. Noch ein Tripel <urn:example:city:cologne> ! <http://purl.org/dc/elements/1.1/description> ! <http://de.wikipedia.org/wiki/Köln>. <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/"> <rdf:Description rdf:about="urn:example:city:cologne"> <dc:description rdf:resource="http://de.wikipedia.org/wiki/Köln"/> </rdf:Description> </rdf:RDF>
  • 16. Mehrere Tripel <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dbpedia="http://dbpedia.org/property/" xmlns:dc="http://purl.org/dc/elements/"> <rdf:Description rdf:about="urn:example:city:cologne"> <dbpedia:name>Köln</dbpedia:name> <dc:description rdf:resource="http://de.wikipedia.org/wiki/Köln"/> </rdf:Description> <rdf:Description rdf:about="http://de.wikipedia.org/wiki/Köln"> <dc:date>2011-10-23</dc:date> <dc:creator>Max Mustermann</dc:creator> <dc:title>Köln</dc:title> </rdf:Description> </rdf:RDF> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dbpedia="http://dbpedia.org/property/" xmlns:dc="http://purl.org/dc/elements/"> <rdf:Description rdf:about="urn:example:city:cologne"> <dbpedia:name>Köln</dbpedia:name> <dc:description> <rdf:Description rdf:about="http://de.wikipedia.org/wiki/Köln"> <dc:date>2011-10-23</dc:date> <dc:creator>Max Mustermann</dc:creator> <dc:title>Köln</dc:title> </rdf:Description> </dc:description> </rdf:Description> </rdf:RDF>
  • 17. Klassen <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dbpedia="http://dbpedia.org/property/" xmlns:dc="http://purl.org/dc/elements/"> <rdf:Description rdf:about="urn:example:city:cologne"> <rdf:type rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> <dbpedia:name>Köln</dbpedia:name> <dc:description rdf:resource="http://de.wikipedia.org/wiki/Köln"/> </rdf:Description> </rdf:RDF>
  • 18. Datentypen <urn:example:city:cologne> ! <urn:example:inhabitants> ! “1007119“^^<http://www.w3.org/2001/XMLSchema#integer> . <http://de.wikipedia.org/wiki/Köln> ! <http://purl.org/dc/elements/1.1/date> ! “2011-10-23“^^<http://www.w3.org/2001/XMLSchema#date> . <rdf:Description rdf:about="urn:example:city:cologne"> <ex:inhabitants rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1007119</ex:inhabitants> </rdf:Description> <rdf:Description rdf:about="http://de.wikipedia.org/wiki/Köln"> <dc:date rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2011-10-23</dc:date> </rdf:Description>
  • 19. Shortcuts • Kinderlose Property-Elemente dürfen durch XML-Attribute ersetzt werden. • Description-Elemente mit Typ-Kind dürfen durch den Namen des Typs ersetzt werden. <rdf:Description rdf:about="urn:example:city:cologne"> <rdf:type rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> <dbpedia:name>Köln</dbpedia:name> </rdf:Description> <dbpedia:PopulatedPlace rdf:about="urn:example:city:cologne" dbpedia:name="Köln"/>
  • 20. Shortcuts • Namensräume in Attributen können durch Entity-Deklarationen verkürzt werden. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE rdf:RDF [ <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#"> <!ENTITY wiki "http://de.wikipedia.org/wiki/"> ]> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/"> <rdf:Description rdf:about="&wiki;Köln"> <dc:date rdf:datatype="&xsd;date">2011-10-23</dc:date> </rdf:Description> </rdf:RDF>
  • 21. Container-Elemente • rdf:Bag - ungeordnet • Dopplungen erlaubt • rdf:Seq - geordnet • nicht abgeschlossen • rdf:Alt - alternativ <fs:folder rdf:about="ftp:///example.org/docs"> <fs:containsFiles> <rdf:Bag> <rdf:_1 rdf:resource="http://example.org/docs/index.php"/> <rdf:_2 rdf:resource="http://example.org/docs/robots.txt"/> </rdf:Bag> </fs:containsFiles> </fs:folder> <fs:folder rdf:about="ftp:///example.org/docs"> <fs:containsFiles> <rdf:Bag> oder <rdf:li rdf:resource="http://example.org/docs/index.php"/> <rdf:li rdf:resource="http://example.org/docs/robots.txt"/> </rdf:Bag> </fs:containsFiles> </fs:folder>
  • 22. Collection-Elemente • rdf:List <fs:folder rdf:about="ftp:///example.org/docs"> <fs:containsFiles rdf:parseType="Collection"> <rdf:Description rdf:about="&docs;index.php"/> <rdf:Description rdf:about="&docs;robots.txt"/> • abgeschlossen </fs:containsFiles> </fs:folder> oder <fs:folder rdf:about="ftp:///example.org/docs"> <fs:containsFiles> <rdf:List> <rdf:first> <rdf:Description rdf:resource="&docs;index.php"/> </rdf:first> <rdf:rest> <rdf:List> <rdf:first> <rdf:Description rdf:resource="&docs;robots.txt"/> </rdf:first> <rdf:rest> <rdf:Description rdf:resource="&rdf;nil"/> </rdf:rest> </rdf:List> </rdf:rest> </rdf:List> </fs:containsFiles> </fs:folder>
  • 24. Aufgabe 1 • Beschreiben Sie sich selbst und ihre Beziehungen untereinander mit den Begriffen aus FOAF in RDF/XML. • URIs: • Personen: http://hki.uni-koeln.de/st_2011/person/max.musterman • Dieser Kurs: http://hki.uni-koeln.de/st_2011/group/st_2011 • Ihre Gruppe: http://hki.uni-koeln.de/st_2011/group/gruppenname • Benutzen Sie auch Begriffe aus FOAF Social Web
  • 25. Aufgabe 2 • Gegeben sind die folgenden Datenbanktabellen. Erstellen Sie aus diesen Daten einen RDF-Graphen und serialisieren Sie diesen in RDF/XML. • Die Identifier für Typen, Properties und Ressourcen dürfen Sie selbst vergeben. • Verwenden Sie einen Container zur Abbildung einer der 1 zu n-Beziehungen.
  • 26. Tabelle 1 Veranstaltungen id titel tag uhrzeit dozent_id raum_id Softwaretechnologie für 1 Donnerstag 10:00 1 1 Fortgeschrittene 2 Softwaretechnologie I Dienstag 10:00 1 2 Basisinformations- 3 Mittwoch 10:00 2 NULL technologie I 4 Semantic Technologies Mittwoch 12:00 3 3 5 Programmierpraktikum Montag 17:45 4 2
  • 27. Tabelle 2 Dozenten id vorname nachname titel eMail raum_id manfred.thaller 1 Manfred Thaller Prof. Dr. 4 @uni-koeln.de jan.wieners 2 Jan Gerrit Wieners M.A. 5 @uni-koeln.de sebastian.cuy 3 Sebastian Cuy M.A. 5 @uni-koeln.de d.de-oliveira 4 Daniel de Oliveira M.A. 5 @uni-koeln.de
  • 28. Tabelle 3 Räume id gebaeude raum 1 Philosophicum 0.38 2 RRZK-B 1.14 3 Küpperstift 210 4 Küpperstift Eingang Weyertal, II. Stock, rechts 5 Universitätsstraße 22 Dachgeschoss