SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
Semantic Web Technologien




                                    Lehrveranstaltung


          Semantic Web Technologien
                                              SS 2010
                                      HTWG Konstanz




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web




                                              RDF
                    Resource Description Framework




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF


   ●
       XML verwendet Baumstrukturen zur Darstellung von
       Informationen

   ●
       Hervorragend geeignet zur Organisation hierarchischer
       Daten (Wie beispielsweise in Dokumenten)

   ●
       Baumstrukturen können gezielt durchsucht und
       verarbeitet werden




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF


      ●
          Die Baumstruktur von XML hat aber auch Nachteile
           –   Modellierung von Sachverhalten oft unklar / uneinheitlich
           –   Beispiel:
                 ●
                     Das Auto-Modell “Golf” wird von Volkswagen hergestellt:

                       <stelltHer>
                          <Hersteller>Volkswagen</Hersteller>
                          <Modell>Golf</Modell>
                       </stelltHer>

                      <Hersteller name=”Volkswagen”>
                         <stelltHer Modell=”Golf />
                      </Hersteller>

                      <Modell>
                        <Name>Golf</Name>
                        <Hersteller>Volkswagen</Hersteller>
                      </Modell>




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF


      ●
          Daraus resultieren diverse Probleme:

           –   Die Beschreibung der Daten ist nicht intuitiv

           –   Probleme beim Zusammenführen von Daten aus mehreren
               Quellen (Datenintegration)

           –   Die Informationen im WWW sind dezentral organisiert und
               folgen nicht unbedingt einer hierarchischen Struktur



      ●
          => Baumstruktur ist für das Semantic Web als
          Datenmodell nicht geeignet


Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF


   ●
         Das Semantic Web verwendet Graphen an Stelle von
         Bäumen als Datenmodell
            –   Menge von Knoten, verbunden durch gerichtete Kanten/Pfeile
            –   Sowohl Knoten als auch Kanten haben eindeutige Bezeichner

   ●
         Beispiel:
                                   http://example.org/wirdHergestelltVon
       http://vw.de/Modelle#Golf                                                         http://autohersteller.de/Volkswagen




   ●
         Dieses Datenmodell wird als RDF (Resource Description
         Framework) bezeichnet


Semantic Web Technologien          Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010                                 RDF
Sprachen des Semantic Web - RDF


      ●
          RDF
           –   Offizieller Standard des W3C
               Alle wichtigen Dokumente dazu unter:
               http://www.w3.org/RDF/

           –   Zunächst nur zur Beschreibung von Metadaten über
               Webseiten gedacht
           –   Codierung von strukturierten Informationen
           –   Universell, maschinenlesbar, zum Austausch geeignet

           –   Kann in diverse Formate “serialisiert” werden
               (zum Beispiel, aber nicht nur, XML – Dazu später mehr)




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF
      ●
          Bestandteile von RDF
           –   Ressourcen / Resources
                 ●
                     Etwas, das beschrieben werden soll → Die Knoten
           –   Literale / Literals
                 ●
                     Datenwerte ohne separate Existenz
           –   Eigenschaften / Properties
                 ●
                     Die Beziehungen zwischen Ressourcen und anderen Ressourcen
                       oder Literalen → gerichtete Kanten
           –   URIs (Uniform Resource Identifiers)
                 ●
                     Eindeutige Identifizierung von Ressourcen und Properties
           –   Leere Knoten / Blank Nodes
                 ●
                     Ressourcen, denen (u.U. noch) keine URI zugewiesen ist
                 ●
                     Erlauben Aussagen über Dinge, die wir nicht genau
                       identifizieren können oder wollen
                 ●
                     Müssen bei der Verarbeitung besonders behandelt werden

Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF
        ●
             Literale
                –   Repräsentation von Datenwerten
                –   Darstellung von Zeichenketten
                –   Können einen Datentyp besitzen (siehe XSD)
                –   Wenn kein Datentyp angegeben wird, behandelt man Literale
                    meist als Zeichenketten (ist aber nicht genauer definiert)

                                         http://example.org/wirdHergestelltVon
      http://vw.de/Modelle#Golf                                                                http://autohersteller.de/Volkswagen



                            http://example.org/anzahlModellGenerationen
                                                                                               http://example.org/hatFirmensitzIn
 http://example.org/wirdProduziertSeit


         1974                                  6                                                        “Wolfsburg”




        ●
             Es können keine Aussagen über Literale getroffen
             werden!
Semantic Web Technologien            Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010                                    RDF
Sprachen des Semantic Web - RDF

      ●
          Probleme:
           –   Darstellung als Grafik nur sinnvoll, solange der Graph recht
               klein ist
                 ●
                     Praktisch bestehen Datensätze aber aus Tausenden oder
                       Millionen von Kanten und Knoten
           –   Zur Verarbeitung in Maschinen denkbar ungeeignet
           –   Wie speichert man einen Graphen?
      ●
          Lösung
           –   Zerlegung des Graphen in kleine Bestandteile
           –   Überführung der Bestandteile in Zeichenketten
           –   Nacheinander abspeichern




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF


      ●
          Wie unterteilt man Graphen?
           –   Grundsätzlich mehrere Ansätze möglich
           –   Im Falle des Semantic Web wird ein Graph in Aussagen
               unterteilt


      ●
          → Bestandteile von RDF Graphen sind
          Aussagen/Statements in Form von Triplen




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF

      ●
          RDF-Triple
                                http://example.org/wirdHergestelltVon
    http://vw.de/Modelle#Golf                                                         http://autohersteller.de/Volkswagen




          Subjekt                            Prädikat                                           Objekt
      ●
          Ähnlich wie in der Linguistik
      ●
          Erlaubte Belegung:
              –   Subjekt:      URI oder leerer Knoten
              –   Prädikat:     URI
              –   Objekt:       URI, leerer Knoten oder Literal
      ●
          Durch eindeutige Bezeichnung von Knoten und
          Kanten kann ursprünglicher Graph wieder aus
          Liste von Triplen rekonstruiert werden

Semantic Web Technologien       Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010                                 RDF
Sprachen des Semantic Web - RDF
        ●
              Beispiel:




                                          http://example.org/wirdHergestelltVon
       http://vw.de/Modelle#Golf                                                               http://autohersteller.de/Volkswagen



                             http://example.org/anzahlModellGenerationen
                                                                                               http://example.org/hatFirmensitzIn
  http://example.org/wirdProduziertSeit


            1974                                6                                                       “Wolfsburg”




Semantic Web Technologien            Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010                                   RDF
Sprachen des Semantic Web - RDF
       ●
           Beispiel:

                                    http://example.org/wirdHergestelltVon
    http://vw.de/Modelle#Golf                                                             http://autohersteller.de/Volkswagen




                                         http://example.org/anzahlModellGenerationen
    http://vw.de/Modelle#Golf                                                                             6




                                           http://example.org/wirdProduziertSeit
    http://vw.de/Modelle#Golf                                                                            1974




                                             http://example.org/hatFirmensitzIn
   http://autohersteller.de/Volkswagen                                                               “Wolfsburg”




Semantic Web Technologien           Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010                                 RDF
Sprachen des Semantic Web - RDF
      ●
          Serialisierung von Triplen
           –   RDF beschränkt sich nicht auf ein einzelnes Format zur
               Serialisierung

           –   N3 / N-Triples / Turtle
                 ●
                     Simple Auflistung von Triplen
           –   RDF/XML
                 ●
                     Serialisierung der Triple nach XML
           –   RDFa (RDF in attributes)
                 ●
                     Einbettung von Triplen in (X)HTML
           –   Und viele andere:
                 ●
                     TriX
                 ●
                     TriG
                 ●
                     RDF/JSON
                 ●
                     RDF/YAML ;-)
                 ●
                     ...
Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF

      ●
          N3 / N-Triples / Turtle
           –   Darstellung von RDF-Graphen als Ansammlung von Triplen
           –   N3 (Notation 3)
                 ●
                     1998 von Tim Berners-Lee vorgeschlagen
                 ●
                     Beinhaltet auch komplexe Ausdrücke wie Pfade und Regeln
           –   N-Triples
                 ●
                     2004 als offizielle Recommendation des W3C verabschiedet
                 ●
                     Teilmenge von N3 mit weniger Komplexität
           –   Turtle
                 ●
                     N-Triples hatte zu wenig Funktionalität
                     → Turtle erweitert N-Triples
                        –   z.B. Um eine Kurzschreibweise
           –   N-Triples und Turtle sind im Wesentlichen Teile von N3
           –   Sie beschränken sich allerdings auf zulässige RDF-Graphen


Semantic Web Technologien       Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF

 ●
     Turtle-Syntax:
       –   Triple werden nacheinander niedergeschrieben
       –   URIs werden in spitze Klammern eingefasst
       –   Literale werden in Anführungszeichen gestellt
       –   Jede Aussage endet mit einem Punkt
 ●
     Beispiel:
     <http://vw.de/Modelle#Golf> <http://example.org/wirdHergestelltVon>
         <http://autohersteller.de/Volkswagen> .
     <http://vw.de/Modelle#Golf> <http://example.org/anzahlModellGenerationen> “6” .
     <http://vw.de/Modelle#Golf> <http://example.org/wirdProduziertSeit> “1974” .
     <http://autohersteller.de/Volkswagen> <http://example.org/hatFirmensitzIn>
         “Wolfsburg” .




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010    RDF
Sprachen des Semantic Web - RDF


     ●
         Abkürzung von URIs durch Namespaces
           –   Zur Vermeidung von Verwechslungen dürfen abgekürzte URIs
               nicht mehr in spitzen Klammern notiert werden
           –   Es empfiehlt sich, verständliche Abkürzungen zu wählen
           –   Ein Bezeichner “Präfix:Name” wird auch Qname genannt
     ●
         Beispiel:
         @prefix ex:             <http://example.org/>.
         @prefix vwmodell:       <http://vw.de/Modelle#> .
         @prefix hersteller:     <http://autohersteller.de/> .

         vwmodell:Golf                  ex:wirdHergestelltVon                            hersteller:Volkswagen .
         vwmodell:Golf                  ex:anzahlModellGenerationen                      “6” .
         vwmodell:Golf                  ex:wirdProduziertSeit                            “1974” .
         hersteller:Volkswagen          ex:hatFirmensitzIn                               “Wolfsburg” .




Semantic Web Technologien      Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010                             RDF
Sprachen des Semantic Web - RDF
     ●
         Zusammenfassung von Triplen
           –   Triple mit dem selben Subjekt können zusammengefasst
               werden
                 ●
                     Subjekt muss dann nur einmal notiert werden
                 ●
                     Aussagen werden durch Semikolon getrennt
           –   Gibt es zu einem Subjekt und einem Prädikat mehrere Objekte,
               können diese durch Kommata getrennt notiert werden
     ●
         Beispiel:
         @prefix ex:          <http://example.org/>.
         @prefix vwmodell:    <http://vw.de/Modelle#> .
         @prefix hersteller:  <http://autohersteller.de/> .

         vwmodell:Golf                ex:wirdHergestelltVon                            hersteller:Volkswagen ;
                                      ex:anzahlModellGenerationen                      “6” ;
                                      ex:wirdProduziertSeit                            “1974” .
         hersteller:Volkswagen        ex:hatFirmensitzIn                               “Wolfsburg” ;
                                      ex:hatProduktionsstandort                        “Wolfsburg”,
                                                                                       ”Dresden”,
                                                                                       “Bratislava”,
                                                                                       “Pamplona” .

Semantic Web Technologien    Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010                             RDF
Sprachen des Semantic Web - RDF

   ●
       RDF/XML
        –   Turtle ist für Menschen und Maschinen leicht lesbar
        –   RDF wird trotzdem am häufigsten nach XML serialisiert
        –   Warum?
              ●
                  Fehlende Programmbibliotheken für Turtle
              ●
                  Jede Programmiersprache unterstützt XML
              ●
                  Oft auch: XML ist man bereits gewohnt!


        –   Gibt es keine Probleme mit den unterschiedlichen Datenmodellen
            (XML-Bäume vs. RDF-Graphen)?
              ●
                  NEIN: XML gibt lediglich syntaktische Struktur des Dokuments vor
              ●
                  ABER: XML ist hierarchisch aufgebaut
                  → Kodierung von RDF-Triplen muss ebenfalls hierarchisch erfolgen



Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF


      ●
          RDF/XML Syntax:
           –   Wurzelelement aller RDF/XML Dokument ist rdf:RDF
               ( rdf = “http://www.w3.org/1999/02/22-rdf-syntax-ns#” )
           –   Ressourcen werden durch Elemente mit dem XML-Name
               rdf:Description beschrieben
                 ●
                     Attribut “about” gibt die URI an
                 ●
                     Mit Attribut “ID” kann einer Ressource innerhalb eines
                      Dokuments eine feste ID zugewiesen werden, die von
                      anderen Triplen referenziert werden kann.
                       –   Eine ID darf nur einmal innerhalb eines Dokuments vorkommen
                       –   Der Wert von “ID” entspricht dem Fragment-Teil einer URI
                       –   “about” und “ID” dürfen nicht gleichzeitig bei einem Description-
                             Element vorkommen
                 ●
                     Empfehlung: Auf ID weitestgehend verzichten (Außer bei der
                      Erstellung von Vokabularen)



Semantic Web Technologien      Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010         RDF
Sprachen des Semantic Web - RDF


      ●
          RDF/XML Beispiel:
          <?xml version=”1.0” encoding=”utf­8”?>
          <rdf:RDF xmlns:rdf=”http://www.w3.org/1999/02/22­rdf­syntax­ns#”
                   xmlns:ex=”http://example.org/”
                   xmlns:vwmodell=”http://vw.de/Modelle#”
                   xmlns:hersteller=”http://autohersteller.de/” >
             <rdf:Description rdf:about=”http://vw.de/Modelle#Golf”>
                <ex:wirdHergestelltVon>
                   <rdf:Description rdf:about=”http://autohersteller.de/Volkswagen” />
                </ex:wirdHergestelltVon>
             </rdf:Description>
             <rdf:Description rdf:about=”http://vw.de/Modelle#Golf”>
                <ex:anzahlModellGenerationen>6</ex:anzahlModellGeneration>
             </rdf:Description>
             <rdf:Description rdf:about=”http://vw.de/Modelle#Golf”>
                <ex:wirdProduziertSeit>1974</ex:wirdProduziertSeit>
             </rdf:Description>
             <rdf:Description rdf:about=”http://autohersteller.de/Volkswagen”>
                <ex:hatFirmensitzIn>Wolfsburg</ex:hatFirmensitzIn>
             </rdf:Description>
          </rdf:RDF>




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010      RDF
Sprachen des Semantic Web - RDF


      ●
          RDF/XML Beispiel - Zusammenfassung:
          <?xml version=”1.0” encoding=”utf­8”?>
          <rdf:RDF xmlns:rdf=”http://www.w3.org/1999/02/22­rdf­syntax­ns#”
                   xmlns:ex=”http://example.org/”
                   xmlns:vwmodell=”http://vw.de/Modelle#”
                   xmlns:hersteller=”http://autohersteller.de/” >
             <rdf:Description rdf:about=”http://vw.de/Modelle#Golf”>
                <ex:wirdHergestelltVon>
                   <rdf:Description rdf:about=”http://autohersteller.de/Volkswagen” >
                      <ex:hatFirmensitzIn>Wolfsburg</ex:hatFirmensitzIn>
                   </rdf:Description>
                </ex:wirdHergestelltVon>   
                <ex:anzahlModellGenerationen>6</ex:anzahlModellGeneration>   
                <ex:wirdProduziertSeit>1974</ex:wirdProduziertSeit>
             </rdf:Description>
          </rdf:RDF>




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010     RDF
Sprachen des Semantic Web - RDF


   ●
       RDF/XML Beispiel – Weitere Verkürzungen
        –   Literale können als Attribute dargestellt werden
        –   rdf:resource zur Referenzierung von Ressourcen
            <?xml version=”1.0” encoding=”utf­8”?>
            <rdf:RDF xmlns:rdf=”http://www.w3.org/1999/02/22­rdf­syntax­ns#”
                     xmlns:ex=”http://example.org/”
                     xmlns:vwmodell=”http://vw.de/Modelle#”
                     xmlns:hersteller=”http://autohersteller.de/” >
               <rdf:Description rdf:about=”http://vw.de/Modelle#Golf”
                                ex:anzahlModellGenerationen=”6”
                                ex:wirdProduziertSeit=”1974” >
                  <ex:wirdHergestelltVon rdf:resource=”http://www.autohersteller.de/Volkswagen” />
               </rdf:Description>
               <rdf:Description rdf:about=”http://www.autohersteller.de/Volkswagen”
                                ex:hatFirmensitzIn=”Wolfsburg” />
            </rdf:RDF>




Semantic Web Technologien      Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010               RDF
Sprachen des Semantic Web - RDF
      ●
          ENTITYs zur Abkürzung von URIs
           –   Durch Definition von ENTITYs (siehe XML-Vorlesung) können
               lange Textstrings abgekürzt werden
           –   Dies können wir in Attributwerten verwenden
               <?xml version=”1.0” encoding=”utf­8”?>
               <!DOCTYPE rdf:RDF [
                   <!ENTITY rdf  "http://www.w3.org/1999/02/22­rdf­syntax­ns#">
                   <!ENTITY vwmodell  “http://vw.de/Modelle#”>
                   <!ENTITY hersteller  “http://autohersteller.de/”> ]>
               <rdf:RDF xmlns:rdf=”http://www.w3.org/1999/02/22­rdf­syntax­ns#”
                        xmlns:ex=”http://example.org/”
                        xmlns:vwmodell=”http://vw.de/Modelle#”
                        xmlns:hersteller=”http://autohersteller.de/” >
                  <rdf:Description rdf:about=”&vwmodell;Golf”>
                     <ex:wirdHergestelltVon>
                        <rdf:Description rdf:about=”&hersteller;Volkswagen” >
                           <ex:hatFirmensitzIn>Wolfsburg</ex:hatFirmensitzIn>
                        </rdf:Description>
                     </ex:wirdHergestelltVon>
                  </rdf:Description>
               </rdf:RDF>




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF
      ●
          Darstellung von RDF in XML ist sehr
          vielfältig
           –   RDF/XML Beispiele beschreiben sicher nicht den gleichen
               XML-Baum
           –   Aber den gleichen RDF-Graphen!!!
      ●
          W3C-Validator für RDF-XML:
           –   http://www.w3.org/RDF/Validator
           –   Kontrolliert RDF/XML Dokumente auf Gültigkeit
           –   Gibt in XML-Dokument enthaltene Triple aus
           –   Kann eine grafische Darstellung des Graphs erstellen:




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF
 ●
     Probleme mit RDF/XML
      –   URIs enthalten mindestens einen Doppelpunkt (Nach dem Schema)
            ●
                Unzulässig in XML-Namen
                → Namensräume sind elementarer Bestandteil der Codierung
      –   Namensräume können nur für Element- und Attributnamen verwendet
          werden – nicht in Attributwerten
            ●
                Selbe URI muss an verschiedenen Stellen des XML-Dokuments
                  unterschiedlich notiert werden
      –   Diverse weitere Probleme
            ●
                Direkt nach ':' (z.B. Bei Element-Namen) darf in XML kein '-' auftauchen
                  –   Obwohl in URIs ohne weiteres erlaubt → Definition von Hilfsnamensräumen
            ●
                Unzulässige Sonderzeichen in URIs werden häufig mit % kodiert
                  –   %20 steht für Leerzeichen usw.
                  –   In Attributwerten unproblematisch – In Element-Namen ist % verboten
 ●
     Die meisten Probleme werden von RDF-Bibliotheken
     abgefangen

Semantic Web Technologien      Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010      RDF
Sprachen des Semantic Web - RDF
      ●
          XHTML+RDFa Beispiel
          <html xmlns=”http://www.w3.org/1999/xhtml”
                xmlns:rdf=”http://www.w3.org/1999/02/22­rdf­syntax­ns#”
                xmlns:ex=”http://example.org/”
                xmlns:vwmodell=”http://vw.de/Modelle#”
                xmlns:hersteller=”http://autohersteller.de/” >
          <head>
             <title>XHTML+RDFa Beispiel</title>
          </head>
          <body>
             <div about=”http://vw.de/Modelle#Golf”>
                <h2 property=”ex:ModellName”>Golf</h2>
                <label>Aktuelle Modellgeneration:</label>
                <span property=”ex:anzahlModellGenerationen”>6</span>
                <label>Prokuktionsbeginn:</label>
                <span property=”ex:wirdProduziertSeit”>1974</span>
                <label>Hersteller:</label>
                <div rel=”ex:wirdHergestelltVon”
                     resource=”http://autohersteller.de/Volkswagen” >
                   <h3 property=”ex:herstellerName”>Volkswagen</h3>
                   <label>Firmensitz:</label>
                   <span property=”ex:hatFirmensitzIn”>Wolfsburg</span>         
                </div>         
             </div>
          </body>
          </html>



Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF
    ●
        TriX Beispiel:
        <?xml­stylesheet type=”text/xml” href=”http://www.w3.org/2004/03/trix/all.xsl” ?>
        <TriX xmlns=”http://www.w3.org/2004/03/trix/trix­1/”
              xmlns:ex=”http://example.org/”
              xmlns:vwmodell=”http://vw.de/Modelle#”
              xmlns:hersteller=”http://autohersteller.de/” >
           <graph>
              <uri>http://example.org/graph1</uri>
              <triple>
                 <qname>vwmodell:Golf</qname>
                 <qname>ex:wirdHergestelltVon</qname>
                 <qname>hersteller:Volkswagen</qname>
              </triple>
              <triple>
                 <qname>vwmodell:Golf</qname>
                 <qname>ex:anzahlModellGenerationen</qname>
                 <integer>6</integer>
              </triple>
              <triple>
                 <qname>vwmodell:Golf</qname>
                 <qname>ex:wirdProduziertSeit</qname>
                 <integer>1974</integer>
              </triple>
              <triple>
                 <qname>hersteller:Volkswagen</qname>
                 <qname>ex:hatFirmensitzIn</qname>
                 <plainLiteral>Wolfsburg</plainLiteral>
              </triple>
           </graph>
        </TriX>

Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010     RDF
Sprachen des Semantic Web - RDF


      ●
          Datentypen für Literale
           –   Definieren, wie Literale interpretiert werden sollen
           –   Beispiel: xsd:decimal

          Lexikalischer Bereich                                                  Wertebereich
                      “3.14”
                                                                                         3,14
                      “3.14000”

                      “+03.14”
                                                                                         -2,5
                      “-2.5

                      “100.00”                                                            100



           –   Bei xsd:decimal gilt “3.14” = “+03.14”
               Bei xsd:String gilt das nicht!



Semantic Web Technologien      Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010          RDF
Sprachen des Semantic Web - RDF


      ●
          Datentypen in RDF
           –   Bisher haben wir “ungetypte” Literale verwendet
                   → Verwendung wie Zeichenketten
           –   Typisierung erlaubt semantischen Umgang mit Werten
           –   Datentypen werden identifiziert durch URIs
           –   Datentypen sind frei wählbar
           –   Datentypen können selbst bestimmt werden
           –   Meistens verwendet man die xsd-Datentypen
      ●
          Schreibweise von typisierten Attributwerten:
           –   “Datenwert”^^Datentyp-URI




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF

      ●
          Datentypen-Beispiel:
                http://example.org/persons#12343

                                                             http://example.org/Geburtstag



                                               “1981-06-21”^^http://www.w3.org/2001/XMLSchema#date



      ●
          Turtle:
          @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
          <http://example.org/persons#12343>
              <http://example.org/Geburtstag>
                  “1981­06­21”^^xsd:date .

      ●
          XML
          <rdf:Description rdf:about=”http://example.org/persons#12343>
            <ex:Geburtstag rdf:datatype=”http://www.w3.org/2001/XMLSchema#date”>
              1981­06­21
            </ex:Geburtstag>
          </rdf:Description>




Semantic Web Technologien      Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010               RDF
Sprachen des Semantic Web - RDF


      ●
          rdf:XMLLiteral wird von RDF vordefiniert

           –   Bezeichnet (balancierte) XML-Fragmente
           –   Hat spezielle Syntax in RDF/XML:



               <rdf:Description rdf:about=”&vwmodell;Golf”>
                 <ex:Herstellername rdf:parseType=”Literal”>
                   <b>VW</b> ­ Volkswagen
                 </ex:Herstellername>
               </rdf:Description>




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF


      ●
          Sprachangaben bei Datentypen

           –   Können nur bei ungetypten Literalen verwendet werden
               → Entweder Datentyp oder Sprachangabe


           –   Beispiel:

               <rdf:Description rdf:about=”&vwmodell;Golf”>
                  <ex:ModellName xml:lang=”de”>Golf</ex:ModellName>
                  <ex:ModellName xml:lang=”en”>Rabbit</ex:ModellName>
               </rdf:Description>




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF


      ●
          Mehrwertige Beziehungen
           –   Kochen mit RDF:
               “Für die Zubereitung von Chutney benötigt man 450g grüne
               Mango, einen Teelöffel Cayennepfeffer, ...”

           –   Erster Modellierungsversuch:

               @prefix  ex:  <http://example.org> .
               ex:Chutney   ex:hatZutat “450g grüne Mango”,
                                        “1TL Cayennepfeffer” .


           –   Nicht zufriedenstellend, da Zutaten und Menge in einer
               Zeichenkette vermischt sind
                    → Suche nach Rezepten mit grüner Mango nicht möglich




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF


      ●
          Mehrwertige Beziehungen
           –   Kochen mit RDF:
               “Für die Zubereitung von Chutney benötigt man 450g grüne
               Mango, einen Teelöffel Cayennepfeffer, ...”

           –   Zweiter Modellierungsversuch:

               @prefix  ex:  <http://example.org> .
               ex:Chutney   ex:hatZutat ex:grueneMango;
                            ex:Menge    “450g” ;
                            ex:hatZutat ex:Cayennepfeffer;
                            ex:Menge    “1TL” .


           –   Noch schlimmer, da keine Zuordnung mehr zwischen Menge
               und konkreter Zutat mehr möglich ist



Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF


      ●
          Problem:
           –   Es handelt sich um eine echte dreiwertige (auch: ternäre)
               Beziehung:


                      Gericht                Zutat                          Menge
                      Chutney                Grüne Mango                    450g
                      Chutney                Cayennepfeffer                 1TL


           –   Direkte Darstellung innerhalb von RDF nicht möglich

           –   Lösung: Einführung von Hilfsknoten




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF

                                                                                               http://example.org/grueneMango

      ●
          Darstellung als Graph:
                                                                                             http://example.org/Zutat

                                  http://example.org/hatZutat
     http://example.org/Chutney                                    http://example.org/ChutneyZutat1




                                                                                              http://example.org/Menge



                                                                                                          450g




      ●
          Turtle Syntax (verwendet rdf:value):
          @prefix  ex:   <http://example.org> .
          @prefix  rdf:  <http://www.w3.org/1999/02/22­rdf­syntax­ns#> .
          ex:Chutney        ex:hatZutat     ex:ChutneyZutat1 .
          ex:ChutneyZutat1 rdf:value ex:grueneMango ;
                            ex:Menge    “450g” .



Semantic Web Technologien          Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010                                 RDF
Sprachen des Semantic Web - RDF


      ●
          Leere Knoten (Blank Nodes, Bnodes)
             –   Verwendung für Ressourcen, die eigentlich keine eigene
                 Identifizierung benötigen
             –   Häufig verwendet bei Hilfsknoten
             –   Siehe letztes Beispiel:                                                  http://example.org/grueneMango




                                                                                          http://example.org/Zutat

                                http://example.org/hatZutat
   http://example.org/Chutney




                                                                                      http://example.org/Menge



                                                                                                     450g




Semantic Web Technologien       Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010                                    RDF
Sprachen des Semantic Web - RDF


      ●
          Leere Knoten
           –   RDF/XML-Syntax

               <rdf:Description rdf:about=”&ex;Chutney”>
                 <ex:hatZutat rdf:nodeID=”id1” />
               </rdf:Description>
               <rdf:Description rdf:nodeID=”id1”>
                 <ex:Zutat rdf:resource=”&ex;grueneMango” />
                 <ex:Menge>450g</ex:Menge>
               </rdf:Description>

           –   Verkürzt

               <rdf:Description rdf:about=”&ex;Chutney”>
                 <ex:hatZutat rdf:nodeID=”id1” >
                   <ex:Zutat rdf:resource=”&ex;grueneMango” />
                   <ex:Menge>450g</ex:Menge>
                 </ex:hatZutat>
               </rdf:Description>




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF


      ●
          Leere Knoten
           –   Turtle-Syntax

               @prefix ex: <http://example.org> .
               ex:Chutney  ex:hatZutat  _:id1 .
               _:id1       ex:Zutat     ex:grueneMango ;
                           ex:Menge     “450g”.



           –   Verkürzt

               @prefix ex: <http://example.org> .
               ex:Chutney  ex:hatZutat  [    ex:Zutat     ex:grueneMango ;
                                            ex:Menge     “450g” ]. 




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF


      ●
          Listen in RDF
           –   Datenstrukturen zur Aufzählung von Ressourcen mit
               relevanter Reihenfolge (z.B. Autoren eines Buches)

           –   Unterscheidung zwischen
                 ●
                     Offene Listen (Container)
                      Können jederzeit erweitert werden
                 ●
                     Geschlossene Listen (Collections)
                      Neue Einträge können nicht hinzugefügt werden



           –   Besitzen keine zusätzliche Ausdrucksstärke, da auch mit
               bereits behandelten Mitteln modellierbar




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF

      ●
          Graph
                                                                                            ex:Hitzler
              ex:SemanticWeb                          rdf:_1

                       ex:Autoren                              rdf:_2                       ex:Krötzsch


                                                               rdf:_3
                                                                                            ex:Rudolph
                       rdf:type
                                                          rdf:_4
                 rdf:Seq
                                                                                              ex:Sure



      ●
          In RDF/XML (verkürzt)
          <rdf:Description rdf:about=”&ex;SemanticWeb”>
            <ex:Autoren>
              <rdf:Seq>
                <rdf:li rdf:resource=”&ex;Hitzler” />
                <rdf:li rdf:resource=”&ex;Krötzsch” />
                <rdf:li rdf:resource=”&ex;Rudolph” />
                <rdf:li rdf:resource=”&ex;Sure” />
             </rdf:Seq>
            </ex:Autoren>
          </rdf:Description>



Semantic Web Technologien         Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010                 RDF
Sprachen des Semantic Web - RDF


           –   Der Listentyp wird dem Listenknoten mit dem Prädikat
               rdf:type zugewiesen
           –   Folgende Typen sind im RDF definiert:

                 ●
                     rdf:Seq
                       georndete Liste (Sequenz)

                 ●
                     rdf:Bag
                       ungeordnete Menge, reihenfolge nicht von Belang

                 ●
                     rdf:Alt
                       Menge alternativer Möglichkeiten aus denen immer nur eine
                       Relevanz besitzt




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF
                                                   ex:SemanticWeb
      ●
          Collections                     ex:Autoren


                                                       rdf:first
                                                                                             ex:Hitzler
                        rdf:rest
                                                       rdf:first
                                                                                             ex:Krötzsch
                        rdf:rest
                                                       rdf:first
                                                                                             ex:Rudolph
                        rdf:rest
                                                       rdf:first                               ex:Sure
                        rdf:rest
                  rdf:nil




      ●
          Zerlegung der Liste in Kopfelemente und Restliste
      ●
          Wenn Restliste = rdf:nil, ist das Ende erreicht




Semantic Web Technologien          Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010                 RDF
Sprachen des Semantic Web - RDF


      ●
          Collections
           –   RDF/XML-Syntax

               <rdf:Description rdf:about=”&ex;SemanticWeb”>
                 <ex:Autoren rdf:parseType=”Collection” >
                   <rdf:Description rdf:about=”&ex;Hitzler”>
                   <rdf:Description rdf:about=”&ex;Krötzsch”>
                   <rdf:Description rdf:about=”&ex;Rudolph”>
                   <rdf:Description rdf:about=”&ex;Sure”>
                 </ex:Autoren>
               </rdf:Description>

           –   Turtle

               @prefix ex: <http://example.org> .
               ex:SemanticWeb    ex:Autoren     ( ex:Hitzler   ex:Krötzsch
                                                  ex:Rudolph   ex:Sure ) .




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF
      ●
          Verbreitung von RDF

           –   Große Anzahl an Tools und Bibliotheken für RDF
                 ●
                     Die meisten davon frei (Open Source) verfügbar
           –   Es existieren diverse Systeme zum effizienten Umgang mit
               riesigen RDF-codierten-Datenmengen
                 ●
                     Sogenannte Triple-Stores
           –   Auch kommerzielle Anbieter wie Oracle implementieren
               zunehmend RDF-Unterstützung
           –   Diverse Datenformate basieren auf RDF:
                 ●
                     RSS 1.0
                 ●
                     XMP (Adobe)
                 ●
                     SVG




Semantic Web Technologien      Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF


      ●
          Bewertung
           –   Etablierter und gut unterstützter Standard zur Speicherung
               und zum Austausch von Daten
           –   Weitgehend syntaxunabhängige Darstellung durch
               abstraktes, graphenbasiertes Datenmodell
           –   Gut geeignet zur Vereinigung von Daten aus verschiedenen
               Quellen
      ●
          Kritik
           –   Reines RDF codiert eigentlich nur Informationen über
               Individuen / Ressourcen
           –   Es besteht praktisch keine Möglichkeit zur Codierung von
               Schemawissen → Siehe RDF Schema




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - RDF




                                   Noch Fragen ?




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF
Sprachen des Semantic Web - XML

   ●
       Literatur:
        –   Buch “Semantic Web Grundlagen”, Springer Verlag 2008
            Pascal Hitzler, Markus Krötzsch, Sebastian Rudolph, York Sure
            ISBN: 978-3-540-33993-9
        –   RDF Webseite
            http://www.w3.org/RDF/
        –   Resource Description Framework Primer
            F. Manola, E. Miller
            W3C Recommendation, 10th February 2004
            http://www.w3.org/TR/rdf-primer
        –   RDF Planet – Blogs zum Thema RDF / Semantic Web
            http://www.planetrdf.com/




Semantic Web Technologien   Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010   RDF

Más contenido relacionado

Destacado

FRBR και Linked Data - Σεμινάριο Αθήνας
FRBR και Linked Data -  Σεμινάριο ΑθήναςFRBR και Linked Data -  Σεμινάριο Αθήνας
FRBR και Linked Data - Σεμινάριο ΑθήναςGiannis Tsakonas
 
RDF: what and why plus a SPARQL tutorial
RDF: what and why plus a SPARQL tutorialRDF: what and why plus a SPARQL tutorial
RDF: what and why plus a SPARQL tutorialJerven Bolleman
 
Νικολακοπούλου Μαρία - final
Νικολακοπούλου Μαρία - finalΝικολακοπούλου Μαρία - final
Νικολακοπούλου Μαρία - finalMaria Nikolakopoulou
 
Scale Invariant Feature Transform
Scale Invariant Feature TransformScale Invariant Feature Transform
Scale Invariant Feature Transformkislayabhi
 
Webentwicklung mit PHP und MySQL
Webentwicklung mit PHP und MySQLWebentwicklung mit PHP und MySQL
Webentwicklung mit PHP und MySQLKerstin Puschke
 
Feature Matching using SIFT algorithm
Feature Matching using SIFT algorithmFeature Matching using SIFT algorithm
Feature Matching using SIFT algorithmSajid Pareeth
 
Scale Invariant feature transform
Scale Invariant feature transformScale Invariant feature transform
Scale Invariant feature transformShanker Naik
 
SPARQL and RDF query optimization
SPARQL and RDF query optimizationSPARQL and RDF query optimization
SPARQL and RDF query optimizationKisung Kim
 
RDF, SPARQL and Semantic Repositories
RDF, SPARQL and Semantic RepositoriesRDF, SPARQL and Semantic Repositories
RDF, SPARQL and Semantic RepositoriesMarin Dimitrov
 
Michal Erel's SIFT presentation
Michal Erel's SIFT presentationMichal Erel's SIFT presentation
Michal Erel's SIFT presentationwolf
 
Podcasting & Videocasting
Podcasting & VideocastingPodcasting & Videocasting
Podcasting & Videocastingdavidroethler
 
Die Wiederentdeckung der Langsamkeit
Die Wiederentdeckung der LangsamkeitDie Wiederentdeckung der Langsamkeit
Die Wiederentdeckung der LangsamkeitTim Pritlove
 

Destacado (20)

FRBR και Linked Data - Σεμινάριο Αθήνας
FRBR και Linked Data -  Σεμινάριο ΑθήναςFRBR και Linked Data -  Σεμινάριο Αθήνας
FRBR και Linked Data - Σεμινάριο Αθήνας
 
RDF: what and why plus a SPARQL tutorial
RDF: what and why plus a SPARQL tutorialRDF: what and why plus a SPARQL tutorial
RDF: what and why plus a SPARQL tutorial
 
Rdf
RdfRdf
Rdf
 
Podcast
PodcastPodcast
Podcast
 
Podcast
PodcastPodcast
Podcast
 
Tutorial for RDF Graphs
Tutorial for RDF GraphsTutorial for RDF Graphs
Tutorial for RDF Graphs
 
Νικολακοπούλου Μαρία - final
Νικολακοπούλου Μαρία - finalΝικολακοπούλου Μαρία - final
Νικολακοπούλου Μαρία - final
 
Scale Invariant Feature Transform
Scale Invariant Feature TransformScale Invariant Feature Transform
Scale Invariant Feature Transform
 
Webentwicklung mit PHP und MySQL
Webentwicklung mit PHP und MySQLWebentwicklung mit PHP und MySQL
Webentwicklung mit PHP und MySQL
 
Feature Matching using SIFT algorithm
Feature Matching using SIFT algorithmFeature Matching using SIFT algorithm
Feature Matching using SIFT algorithm
 
Scale Invariant feature transform
Scale Invariant feature transformScale Invariant feature transform
Scale Invariant feature transform
 
SIFT
SIFTSIFT
SIFT
 
SPARQL and RDF query optimization
SPARQL and RDF query optimizationSPARQL and RDF query optimization
SPARQL and RDF query optimization
 
RDF, SPARQL and Semantic Repositories
RDF, SPARQL and Semantic RepositoriesRDF, SPARQL and Semantic Repositories
RDF, SPARQL and Semantic Repositories
 
Michal Erel's SIFT presentation
Michal Erel's SIFT presentationMichal Erel's SIFT presentation
Michal Erel's SIFT presentation
 
Podcasting & Videocasting
Podcasting & VideocastingPodcasting & Videocasting
Podcasting & Videocasting
 
RSS
RSSRSS
RSS
 
RDF and OWL
RDF and OWLRDF and OWL
RDF and OWL
 
Die Wiederentdeckung der Langsamkeit
Die Wiederentdeckung der LangsamkeitDie Wiederentdeckung der Langsamkeit
Die Wiederentdeckung der Langsamkeit
 
Podcast
PodcastPodcast
Podcast
 

Similar a Semantic Web Technologies - SS 2010 - 03 - RDF

Magdeburg | 2010-07-12 | Einführung in das Semantic Web
Magdeburg | 2010-07-12 | Einführung in das Semantic WebMagdeburg | 2010-07-12 | Einführung in das Semantic Web
Magdeburg | 2010-07-12 | Einführung in das Semantic WebWebmontag
 
LinkedGeodata (Deutsch)
LinkedGeodata (Deutsch)LinkedGeodata (Deutsch)
LinkedGeodata (Deutsch)geoknow
 
6 - Sprachen des Semantic Web - RDF(S) Frameworks
6 - Sprachen des Semantic Web - RDF(S) Frameworks6 - Sprachen des Semantic Web - RDF(S) Frameworks
6 - Sprachen des Semantic Web - RDF(S) FrameworksSteffen Schloenvoigt
 
Semantische Annotationen mit Plone
Semantische Annotationen mit PloneSemantische Annotationen mit Plone
Semantische Annotationen mit PloneHendrik Bunke
 
Semantic technologies
Semantic technologiesSemantic technologies
Semantic technologiesuniverse543
 
Semantic Web, SKOS und Linked Data
Semantic Web, SKOS und Linked DataSemantic Web, SKOS und Linked Data
Semantic Web, SKOS und Linked DataKai Eckert
 
Generische Kuratierungstechnologien für spezifische Anwendungsfälle: Hintergr...
Generische Kuratierungstechnologien für spezifische Anwendungsfälle: Hintergr...Generische Kuratierungstechnologien für spezifische Anwendungsfälle: Hintergr...
Generische Kuratierungstechnologien für spezifische Anwendungsfälle: Hintergr...Georg Rehm
 
amsl - Ergebnispräsentation der EFRE-Förderphase
amsl - Ergebnispräsentation der EFRE-Förderphaseamsl - Ergebnispräsentation der EFRE-Förderphase
amsl - Ergebnispräsentation der EFRE-FörderphaseBjörn Muschall
 
Datenformate und Standards
Datenformate und StandardsDatenformate und Standards
Datenformate und StandardsJakob .
 
Semantic Web und Identifikatoren
Semantic Web und IdentifikatorenSemantic Web und Identifikatoren
Semantic Web und IdentifikatorenJakob .
 
HTML5 - presentation at W3C-Tag 2009
HTML5 - presentation at W3C-Tag 2009HTML5 - presentation at W3C-Tag 2009
HTML5 - presentation at W3C-Tag 2009Felix Sasaki
 
Transformieren, Manipulieren, Kuratieren: Technologien für die Wissensarbeit ...
Transformieren, Manipulieren, Kuratieren: Technologien für die Wissensarbeit ...Transformieren, Manipulieren, Kuratieren: Technologien für die Wissensarbeit ...
Transformieren, Manipulieren, Kuratieren: Technologien für die Wissensarbeit ...Georg Rehm
 
Linked Open Projects
Linked Open ProjectsLinked Open Projects
Linked Open ProjectsKai Eckert
 
Fit für die digitale Bibliothek? (2007)
Fit für die digitale Bibliothek? (2007)Fit für die digitale Bibliothek? (2007)
Fit für die digitale Bibliothek? (2007)Ralf Stockmann
 

Similar a Semantic Web Technologies - SS 2010 - 03 - RDF (20)

Magdeburg | 2010-07-12 | Einführung in das Semantic Web
Magdeburg | 2010-07-12 | Einführung in das Semantic WebMagdeburg | 2010-07-12 | Einführung in das Semantic Web
Magdeburg | 2010-07-12 | Einführung in das Semantic Web
 
LinkedGeodata (Deutsch)
LinkedGeodata (Deutsch)LinkedGeodata (Deutsch)
LinkedGeodata (Deutsch)
 
6 - Sprachen des Semantic Web - RDF(S) Frameworks
6 - Sprachen des Semantic Web - RDF(S) Frameworks6 - Sprachen des Semantic Web - RDF(S) Frameworks
6 - Sprachen des Semantic Web - RDF(S) Frameworks
 
Bit sosem 2016-wieners-sitzung-08_semantic-web
Bit sosem 2016-wieners-sitzung-08_semantic-webBit sosem 2016-wieners-sitzung-08_semantic-web
Bit sosem 2016-wieners-sitzung-08_semantic-web
 
Semantische Annotationen mit Plone
Semantische Annotationen mit PloneSemantische Annotationen mit Plone
Semantische Annotationen mit Plone
 
Semantic technologies
Semantic technologiesSemantic technologies
Semantic technologies
 
Semantic Web, SKOS und Linked Data
Semantic Web, SKOS und Linked DataSemantic Web, SKOS und Linked Data
Semantic Web, SKOS und Linked Data
 
Generische Kuratierungstechnologien für spezifische Anwendungsfälle: Hintergr...
Generische Kuratierungstechnologien für spezifische Anwendungsfälle: Hintergr...Generische Kuratierungstechnologien für spezifische Anwendungsfälle: Hintergr...
Generische Kuratierungstechnologien für spezifische Anwendungsfälle: Hintergr...
 
amsl - Ergebnispräsentation der EFRE-Förderphase
amsl - Ergebnispräsentation der EFRE-Förderphaseamsl - Ergebnispräsentation der EFRE-Förderphase
amsl - Ergebnispräsentation der EFRE-Förderphase
 
Datenformate und Standards
Datenformate und StandardsDatenformate und Standards
Datenformate und Standards
 
Überblick Semantic Web
Überblick Semantic WebÜberblick Semantic Web
Überblick Semantic Web
 
Semantic Web und Identifikatoren
Semantic Web und IdentifikatorenSemantic Web und Identifikatoren
Semantic Web und Identifikatoren
 
HTML5 - presentation at W3C-Tag 2009
HTML5 - presentation at W3C-Tag 2009HTML5 - presentation at W3C-Tag 2009
HTML5 - presentation at W3C-Tag 2009
 
WiSe 2013 | IT-Zertifikat: AMM - 00_Organisatorisches
WiSe 2013 | IT-Zertifikat: AMM - 00_OrganisatorischesWiSe 2013 | IT-Zertifikat: AMM - 00_Organisatorisches
WiSe 2013 | IT-Zertifikat: AMM - 00_Organisatorisches
 
SWT2011 - 01 - Motivation
SWT2011 - 01 - MotivationSWT2011 - 01 - Motivation
SWT2011 - 01 - Motivation
 
SWT
SWTSWT
SWT
 
1 - Einfuehrung
1 - Einfuehrung1 - Einfuehrung
1 - Einfuehrung
 
Transformieren, Manipulieren, Kuratieren: Technologien für die Wissensarbeit ...
Transformieren, Manipulieren, Kuratieren: Technologien für die Wissensarbeit ...Transformieren, Manipulieren, Kuratieren: Technologien für die Wissensarbeit ...
Transformieren, Manipulieren, Kuratieren: Technologien für die Wissensarbeit ...
 
Linked Open Projects
Linked Open ProjectsLinked Open Projects
Linked Open Projects
 
Fit für die digitale Bibliothek? (2007)
Fit für die digitale Bibliothek? (2007)Fit für die digitale Bibliothek? (2007)
Fit für die digitale Bibliothek? (2007)
 

Más de Steffen Schloenvoigt

Venture labs creativity course assignment 1 "Things we have in common"
Venture labs creativity course assignment 1 "Things we have in common"Venture labs creativity course assignment 1 "Things we have in common"
Venture labs creativity course assignment 1 "Things we have in common"Steffen Schloenvoigt
 
8 - Sprachen Des Semantic Web - OWL
8 - Sprachen Des Semantic Web - OWL8 - Sprachen Des Semantic Web - OWL
8 - Sprachen Des Semantic Web - OWLSteffen Schloenvoigt
 
7 - Sprachen Des Semantic Web - SPARQL
7 - Sprachen Des Semantic Web - SPARQL7 - Sprachen Des Semantic Web - SPARQL
7 - Sprachen Des Semantic Web - SPARQLSteffen Schloenvoigt
 
5 - Sprachen des Semantic Web - Formale Semantik In RDF(S)
5 - Sprachen des Semantic Web - Formale Semantik In RDF(S)5 - Sprachen des Semantic Web - Formale Semantik In RDF(S)
5 - Sprachen des Semantic Web - Formale Semantik In RDF(S)Steffen Schloenvoigt
 
4 - Sprachen Des Semantic Web - RDFS
4 - Sprachen Des Semantic Web - RDFS4 - Sprachen Des Semantic Web - RDFS
4 - Sprachen Des Semantic Web - RDFSSteffen Schloenvoigt
 
2 - Sprachen Des Semantic Web - XML
2 - Sprachen Des Semantic Web - XML2 - Sprachen Des Semantic Web - XML
2 - Sprachen Des Semantic Web - XMLSteffen Schloenvoigt
 

Más de Steffen Schloenvoigt (6)

Venture labs creativity course assignment 1 "Things we have in common"
Venture labs creativity course assignment 1 "Things we have in common"Venture labs creativity course assignment 1 "Things we have in common"
Venture labs creativity course assignment 1 "Things we have in common"
 
8 - Sprachen Des Semantic Web - OWL
8 - Sprachen Des Semantic Web - OWL8 - Sprachen Des Semantic Web - OWL
8 - Sprachen Des Semantic Web - OWL
 
7 - Sprachen Des Semantic Web - SPARQL
7 - Sprachen Des Semantic Web - SPARQL7 - Sprachen Des Semantic Web - SPARQL
7 - Sprachen Des Semantic Web - SPARQL
 
5 - Sprachen des Semantic Web - Formale Semantik In RDF(S)
5 - Sprachen des Semantic Web - Formale Semantik In RDF(S)5 - Sprachen des Semantic Web - Formale Semantik In RDF(S)
5 - Sprachen des Semantic Web - Formale Semantik In RDF(S)
 
4 - Sprachen Des Semantic Web - RDFS
4 - Sprachen Des Semantic Web - RDFS4 - Sprachen Des Semantic Web - RDFS
4 - Sprachen Des Semantic Web - RDFS
 
2 - Sprachen Des Semantic Web - XML
2 - Sprachen Des Semantic Web - XML2 - Sprachen Des Semantic Web - XML
2 - Sprachen Des Semantic Web - XML
 

Semantic Web Technologies - SS 2010 - 03 - RDF

  • 1. Semantic Web Technologien Lehrveranstaltung Semantic Web Technologien SS 2010 HTWG Konstanz Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 2. Sprachen des Semantic Web RDF Resource Description Framework Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 3. Sprachen des Semantic Web - RDF ● XML verwendet Baumstrukturen zur Darstellung von Informationen ● Hervorragend geeignet zur Organisation hierarchischer Daten (Wie beispielsweise in Dokumenten) ● Baumstrukturen können gezielt durchsucht und verarbeitet werden Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 4. Sprachen des Semantic Web - RDF ● Die Baumstruktur von XML hat aber auch Nachteile – Modellierung von Sachverhalten oft unklar / uneinheitlich – Beispiel: ● Das Auto-Modell “Golf” wird von Volkswagen hergestellt:   <stelltHer>    <Hersteller>Volkswagen</Hersteller>    <Modell>Golf</Modell> </stelltHer> <Hersteller name=”Volkswagen”>    <stelltHer Modell=”Golf /> </Hersteller> <Modell>   <Name>Golf</Name>   <Hersteller>Volkswagen</Hersteller> </Modell> Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 5. Sprachen des Semantic Web - RDF ● Daraus resultieren diverse Probleme: – Die Beschreibung der Daten ist nicht intuitiv – Probleme beim Zusammenführen von Daten aus mehreren Quellen (Datenintegration) – Die Informationen im WWW sind dezentral organisiert und folgen nicht unbedingt einer hierarchischen Struktur ● => Baumstruktur ist für das Semantic Web als Datenmodell nicht geeignet Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 6. Sprachen des Semantic Web - RDF ● Das Semantic Web verwendet Graphen an Stelle von Bäumen als Datenmodell – Menge von Knoten, verbunden durch gerichtete Kanten/Pfeile – Sowohl Knoten als auch Kanten haben eindeutige Bezeichner ● Beispiel: http://example.org/wirdHergestelltVon http://vw.de/Modelle#Golf http://autohersteller.de/Volkswagen ● Dieses Datenmodell wird als RDF (Resource Description Framework) bezeichnet Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 7. Sprachen des Semantic Web - RDF ● RDF – Offizieller Standard des W3C Alle wichtigen Dokumente dazu unter: http://www.w3.org/RDF/ – Zunächst nur zur Beschreibung von Metadaten über Webseiten gedacht – Codierung von strukturierten Informationen – Universell, maschinenlesbar, zum Austausch geeignet – Kann in diverse Formate “serialisiert” werden (zum Beispiel, aber nicht nur, XML – Dazu später mehr) Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 8. Sprachen des Semantic Web - RDF ● Bestandteile von RDF – Ressourcen / Resources ● Etwas, das beschrieben werden soll → Die Knoten – Literale / Literals ● Datenwerte ohne separate Existenz – Eigenschaften / Properties ● Die Beziehungen zwischen Ressourcen und anderen Ressourcen oder Literalen → gerichtete Kanten – URIs (Uniform Resource Identifiers) ● Eindeutige Identifizierung von Ressourcen und Properties – Leere Knoten / Blank Nodes ● Ressourcen, denen (u.U. noch) keine URI zugewiesen ist ● Erlauben Aussagen über Dinge, die wir nicht genau identifizieren können oder wollen ● Müssen bei der Verarbeitung besonders behandelt werden Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 9. Sprachen des Semantic Web - RDF ● Literale – Repräsentation von Datenwerten – Darstellung von Zeichenketten – Können einen Datentyp besitzen (siehe XSD) – Wenn kein Datentyp angegeben wird, behandelt man Literale meist als Zeichenketten (ist aber nicht genauer definiert) http://example.org/wirdHergestelltVon http://vw.de/Modelle#Golf http://autohersteller.de/Volkswagen http://example.org/anzahlModellGenerationen http://example.org/hatFirmensitzIn http://example.org/wirdProduziertSeit 1974 6 “Wolfsburg” ● Es können keine Aussagen über Literale getroffen werden! Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 10. Sprachen des Semantic Web - RDF ● Probleme: – Darstellung als Grafik nur sinnvoll, solange der Graph recht klein ist ● Praktisch bestehen Datensätze aber aus Tausenden oder Millionen von Kanten und Knoten – Zur Verarbeitung in Maschinen denkbar ungeeignet – Wie speichert man einen Graphen? ● Lösung – Zerlegung des Graphen in kleine Bestandteile – Überführung der Bestandteile in Zeichenketten – Nacheinander abspeichern Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 11. Sprachen des Semantic Web - RDF ● Wie unterteilt man Graphen? – Grundsätzlich mehrere Ansätze möglich – Im Falle des Semantic Web wird ein Graph in Aussagen unterteilt ● → Bestandteile von RDF Graphen sind Aussagen/Statements in Form von Triplen Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 12. Sprachen des Semantic Web - RDF ● RDF-Triple http://example.org/wirdHergestelltVon http://vw.de/Modelle#Golf http://autohersteller.de/Volkswagen Subjekt Prädikat Objekt ● Ähnlich wie in der Linguistik ● Erlaubte Belegung: – Subjekt: URI oder leerer Knoten – Prädikat: URI – Objekt: URI, leerer Knoten oder Literal ● Durch eindeutige Bezeichnung von Knoten und Kanten kann ursprünglicher Graph wieder aus Liste von Triplen rekonstruiert werden Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 13. Sprachen des Semantic Web - RDF ● Beispiel: http://example.org/wirdHergestelltVon http://vw.de/Modelle#Golf http://autohersteller.de/Volkswagen http://example.org/anzahlModellGenerationen http://example.org/hatFirmensitzIn http://example.org/wirdProduziertSeit 1974 6 “Wolfsburg” Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 14. Sprachen des Semantic Web - RDF ● Beispiel: http://example.org/wirdHergestelltVon http://vw.de/Modelle#Golf http://autohersteller.de/Volkswagen http://example.org/anzahlModellGenerationen http://vw.de/Modelle#Golf 6 http://example.org/wirdProduziertSeit http://vw.de/Modelle#Golf 1974 http://example.org/hatFirmensitzIn http://autohersteller.de/Volkswagen “Wolfsburg” Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 15. Sprachen des Semantic Web - RDF ● Serialisierung von Triplen – RDF beschränkt sich nicht auf ein einzelnes Format zur Serialisierung – N3 / N-Triples / Turtle ● Simple Auflistung von Triplen – RDF/XML ● Serialisierung der Triple nach XML – RDFa (RDF in attributes) ● Einbettung von Triplen in (X)HTML – Und viele andere: ● TriX ● TriG ● RDF/JSON ● RDF/YAML ;-) ● ... Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 16. Sprachen des Semantic Web - RDF ● N3 / N-Triples / Turtle – Darstellung von RDF-Graphen als Ansammlung von Triplen – N3 (Notation 3) ● 1998 von Tim Berners-Lee vorgeschlagen ● Beinhaltet auch komplexe Ausdrücke wie Pfade und Regeln – N-Triples ● 2004 als offizielle Recommendation des W3C verabschiedet ● Teilmenge von N3 mit weniger Komplexität – Turtle ● N-Triples hatte zu wenig Funktionalität → Turtle erweitert N-Triples – z.B. Um eine Kurzschreibweise – N-Triples und Turtle sind im Wesentlichen Teile von N3 – Sie beschränken sich allerdings auf zulässige RDF-Graphen Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 17. Sprachen des Semantic Web - RDF ● Turtle-Syntax: – Triple werden nacheinander niedergeschrieben – URIs werden in spitze Klammern eingefasst – Literale werden in Anführungszeichen gestellt – Jede Aussage endet mit einem Punkt ● Beispiel: <http://vw.de/Modelle#Golf> <http://example.org/wirdHergestelltVon> <http://autohersteller.de/Volkswagen> . <http://vw.de/Modelle#Golf> <http://example.org/anzahlModellGenerationen> “6” . <http://vw.de/Modelle#Golf> <http://example.org/wirdProduziertSeit> “1974” . <http://autohersteller.de/Volkswagen> <http://example.org/hatFirmensitzIn>   “Wolfsburg” . Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 18. Sprachen des Semantic Web - RDF ● Abkürzung von URIs durch Namespaces – Zur Vermeidung von Verwechslungen dürfen abgekürzte URIs nicht mehr in spitzen Klammern notiert werden – Es empfiehlt sich, verständliche Abkürzungen zu wählen – Ein Bezeichner “Präfix:Name” wird auch Qname genannt ● Beispiel: @prefix ex:  <http://example.org/>. @prefix vwmodell:  <http://vw.de/Modelle#> . @prefix hersteller: <http://autohersteller.de/> . vwmodell:Golf ex:wirdHergestelltVon  hersteller:Volkswagen . vwmodell:Golf ex:anzahlModellGenerationen “6” . vwmodell:Golf ex:wirdProduziertSeit “1974” . hersteller:Volkswagen ex:hatFirmensitzIn “Wolfsburg” . Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 19. Sprachen des Semantic Web - RDF ● Zusammenfassung von Triplen – Triple mit dem selben Subjekt können zusammengefasst werden ● Subjekt muss dann nur einmal notiert werden ● Aussagen werden durch Semikolon getrennt – Gibt es zu einem Subjekt und einem Prädikat mehrere Objekte, können diese durch Kommata getrennt notiert werden ● Beispiel: @prefix ex:  <http://example.org/>. @prefix vwmodell:  <http://vw.de/Modelle#> . @prefix hersteller:  <http://autohersteller.de/> . vwmodell:Golf ex:wirdHergestelltVon  hersteller:Volkswagen ; ex:anzahlModellGenerationen “6” ; ex:wirdProduziertSeit “1974” . hersteller:Volkswagen ex:hatFirmensitzIn “Wolfsburg” ; ex:hatProduktionsstandort “Wolfsburg”, ”Dresden”, “Bratislava”, “Pamplona” . Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 20. Sprachen des Semantic Web - RDF ● RDF/XML – Turtle ist für Menschen und Maschinen leicht lesbar – RDF wird trotzdem am häufigsten nach XML serialisiert – Warum? ● Fehlende Programmbibliotheken für Turtle ● Jede Programmiersprache unterstützt XML ● Oft auch: XML ist man bereits gewohnt! – Gibt es keine Probleme mit den unterschiedlichen Datenmodellen (XML-Bäume vs. RDF-Graphen)? ● NEIN: XML gibt lediglich syntaktische Struktur des Dokuments vor ● ABER: XML ist hierarchisch aufgebaut → Kodierung von RDF-Triplen muss ebenfalls hierarchisch erfolgen Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 21. Sprachen des Semantic Web - RDF ● RDF/XML Syntax: – Wurzelelement aller RDF/XML Dokument ist rdf:RDF ( rdf = “http://www.w3.org/1999/02/22-rdf-syntax-ns#” ) – Ressourcen werden durch Elemente mit dem XML-Name rdf:Description beschrieben ● Attribut “about” gibt die URI an ● Mit Attribut “ID” kann einer Ressource innerhalb eines Dokuments eine feste ID zugewiesen werden, die von anderen Triplen referenziert werden kann. – Eine ID darf nur einmal innerhalb eines Dokuments vorkommen – Der Wert von “ID” entspricht dem Fragment-Teil einer URI – “about” und “ID” dürfen nicht gleichzeitig bei einem Description- Element vorkommen ● Empfehlung: Auf ID weitestgehend verzichten (Außer bei der Erstellung von Vokabularen) Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 22. Sprachen des Semantic Web - RDF ● RDF/XML Beispiel: <?xml version=”1.0” encoding=”utf­8”?> <rdf:RDF xmlns:rdf=”http://www.w3.org/1999/02/22­rdf­syntax­ns#”          xmlns:ex=”http://example.org/”          xmlns:vwmodell=”http://vw.de/Modelle#”          xmlns:hersteller=”http://autohersteller.de/” >    <rdf:Description rdf:about=”http://vw.de/Modelle#Golf”>       <ex:wirdHergestelltVon>          <rdf:Description rdf:about=”http://autohersteller.de/Volkswagen” />       </ex:wirdHergestelltVon>    </rdf:Description>    <rdf:Description rdf:about=”http://vw.de/Modelle#Golf”>       <ex:anzahlModellGenerationen>6</ex:anzahlModellGeneration>    </rdf:Description>    <rdf:Description rdf:about=”http://vw.de/Modelle#Golf”>       <ex:wirdProduziertSeit>1974</ex:wirdProduziertSeit>    </rdf:Description>    <rdf:Description rdf:about=”http://autohersteller.de/Volkswagen”>       <ex:hatFirmensitzIn>Wolfsburg</ex:hatFirmensitzIn>    </rdf:Description> </rdf:RDF> Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 23. Sprachen des Semantic Web - RDF ● RDF/XML Beispiel - Zusammenfassung: <?xml version=”1.0” encoding=”utf­8”?> <rdf:RDF xmlns:rdf=”http://www.w3.org/1999/02/22­rdf­syntax­ns#”          xmlns:ex=”http://example.org/”          xmlns:vwmodell=”http://vw.de/Modelle#”          xmlns:hersteller=”http://autohersteller.de/” >    <rdf:Description rdf:about=”http://vw.de/Modelle#Golf”>       <ex:wirdHergestelltVon>          <rdf:Description rdf:about=”http://autohersteller.de/Volkswagen” >             <ex:hatFirmensitzIn>Wolfsburg</ex:hatFirmensitzIn>          </rdf:Description>       </ex:wirdHergestelltVon>          <ex:anzahlModellGenerationen>6</ex:anzahlModellGeneration>          <ex:wirdProduziertSeit>1974</ex:wirdProduziertSeit>    </rdf:Description> </rdf:RDF> Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 24. Sprachen des Semantic Web - RDF ● RDF/XML Beispiel – Weitere Verkürzungen – Literale können als Attribute dargestellt werden – rdf:resource zur Referenzierung von Ressourcen <?xml version=”1.0” encoding=”utf­8”?> <rdf:RDF xmlns:rdf=”http://www.w3.org/1999/02/22­rdf­syntax­ns#”          xmlns:ex=”http://example.org/”          xmlns:vwmodell=”http://vw.de/Modelle#”          xmlns:hersteller=”http://autohersteller.de/” >    <rdf:Description rdf:about=”http://vw.de/Modelle#Golf”                     ex:anzahlModellGenerationen=”6”                     ex:wirdProduziertSeit=”1974” >       <ex:wirdHergestelltVon rdf:resource=”http://www.autohersteller.de/Volkswagen” />    </rdf:Description>    <rdf:Description rdf:about=”http://www.autohersteller.de/Volkswagen”                     ex:hatFirmensitzIn=”Wolfsburg” /> </rdf:RDF> Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 25. Sprachen des Semantic Web - RDF ● ENTITYs zur Abkürzung von URIs – Durch Definition von ENTITYs (siehe XML-Vorlesung) können lange Textstrings abgekürzt werden – Dies können wir in Attributwerten verwenden <?xml version=”1.0” encoding=”utf­8”?> <!DOCTYPE rdf:RDF [     <!ENTITY rdf  "http://www.w3.org/1999/02/22­rdf­syntax­ns#">     <!ENTITY vwmodell  “http://vw.de/Modelle#”>     <!ENTITY hersteller  “http://autohersteller.de/”> ]> <rdf:RDF xmlns:rdf=”http://www.w3.org/1999/02/22­rdf­syntax­ns#”          xmlns:ex=”http://example.org/”          xmlns:vwmodell=”http://vw.de/Modelle#”          xmlns:hersteller=”http://autohersteller.de/” >    <rdf:Description rdf:about=”&vwmodell;Golf”>       <ex:wirdHergestelltVon>          <rdf:Description rdf:about=”&hersteller;Volkswagen” >             <ex:hatFirmensitzIn>Wolfsburg</ex:hatFirmensitzIn>          </rdf:Description>       </ex:wirdHergestelltVon>    </rdf:Description> </rdf:RDF> Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 26. Sprachen des Semantic Web - RDF ● Darstellung von RDF in XML ist sehr vielfältig – RDF/XML Beispiele beschreiben sicher nicht den gleichen XML-Baum – Aber den gleichen RDF-Graphen!!! ● W3C-Validator für RDF-XML: – http://www.w3.org/RDF/Validator – Kontrolliert RDF/XML Dokumente auf Gültigkeit – Gibt in XML-Dokument enthaltene Triple aus – Kann eine grafische Darstellung des Graphs erstellen: Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 27. Sprachen des Semantic Web - RDF ● Probleme mit RDF/XML – URIs enthalten mindestens einen Doppelpunkt (Nach dem Schema) ● Unzulässig in XML-Namen → Namensräume sind elementarer Bestandteil der Codierung – Namensräume können nur für Element- und Attributnamen verwendet werden – nicht in Attributwerten ● Selbe URI muss an verschiedenen Stellen des XML-Dokuments unterschiedlich notiert werden – Diverse weitere Probleme ● Direkt nach ':' (z.B. Bei Element-Namen) darf in XML kein '-' auftauchen – Obwohl in URIs ohne weiteres erlaubt → Definition von Hilfsnamensräumen ● Unzulässige Sonderzeichen in URIs werden häufig mit % kodiert – %20 steht für Leerzeichen usw. – In Attributwerten unproblematisch – In Element-Namen ist % verboten ● Die meisten Probleme werden von RDF-Bibliotheken abgefangen Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 28. Sprachen des Semantic Web - RDF ● XHTML+RDFa Beispiel <html xmlns=”http://www.w3.org/1999/xhtml”       xmlns:rdf=”http://www.w3.org/1999/02/22­rdf­syntax­ns#”       xmlns:ex=”http://example.org/”       xmlns:vwmodell=”http://vw.de/Modelle#”       xmlns:hersteller=”http://autohersteller.de/” > <head>    <title>XHTML+RDFa Beispiel</title> </head> <body>    <div about=”http://vw.de/Modelle#Golf”>       <h2 property=”ex:ModellName”>Golf</h2>       <label>Aktuelle Modellgeneration:</label>       <span property=”ex:anzahlModellGenerationen”>6</span>       <label>Prokuktionsbeginn:</label>       <span property=”ex:wirdProduziertSeit”>1974</span>       <label>Hersteller:</label>       <div rel=”ex:wirdHergestelltVon”            resource=”http://autohersteller.de/Volkswagen” >          <h3 property=”ex:herstellerName”>Volkswagen</h3>          <label>Firmensitz:</label>          <span property=”ex:hatFirmensitzIn”>Wolfsburg</span>                </div>             </div> </body> </html> Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 29. Sprachen des Semantic Web - RDF ● TriX Beispiel: <?xml­stylesheet type=”text/xml” href=”http://www.w3.org/2004/03/trix/all.xsl” ?> <TriX xmlns=”http://www.w3.org/2004/03/trix/trix­1/”       xmlns:ex=”http://example.org/”       xmlns:vwmodell=”http://vw.de/Modelle#”       xmlns:hersteller=”http://autohersteller.de/” >    <graph>       <uri>http://example.org/graph1</uri>       <triple>          <qname>vwmodell:Golf</qname>          <qname>ex:wirdHergestelltVon</qname>          <qname>hersteller:Volkswagen</qname>       </triple>       <triple>          <qname>vwmodell:Golf</qname>          <qname>ex:anzahlModellGenerationen</qname>          <integer>6</integer>       </triple>       <triple>          <qname>vwmodell:Golf</qname>          <qname>ex:wirdProduziertSeit</qname>          <integer>1974</integer>       </triple>       <triple>          <qname>hersteller:Volkswagen</qname>          <qname>ex:hatFirmensitzIn</qname>          <plainLiteral>Wolfsburg</plainLiteral>       </triple>    </graph> </TriX> Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 30. Sprachen des Semantic Web - RDF ● Datentypen für Literale – Definieren, wie Literale interpretiert werden sollen – Beispiel: xsd:decimal Lexikalischer Bereich Wertebereich “3.14” 3,14 “3.14000” “+03.14” -2,5 “-2.5 “100.00” 100 – Bei xsd:decimal gilt “3.14” = “+03.14” Bei xsd:String gilt das nicht! Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 31. Sprachen des Semantic Web - RDF ● Datentypen in RDF – Bisher haben wir “ungetypte” Literale verwendet → Verwendung wie Zeichenketten – Typisierung erlaubt semantischen Umgang mit Werten – Datentypen werden identifiziert durch URIs – Datentypen sind frei wählbar – Datentypen können selbst bestimmt werden – Meistens verwendet man die xsd-Datentypen ● Schreibweise von typisierten Attributwerten: – “Datenwert”^^Datentyp-URI Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 32. Sprachen des Semantic Web - RDF ● Datentypen-Beispiel: http://example.org/persons#12343 http://example.org/Geburtstag “1981-06-21”^^http://www.w3.org/2001/XMLSchema#date ● Turtle: @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . <http://example.org/persons#12343> <http://example.org/Geburtstag> “1981­06­21”^^xsd:date . ● XML <rdf:Description rdf:about=”http://example.org/persons#12343>   <ex:Geburtstag rdf:datatype=”http://www.w3.org/2001/XMLSchema#date”>     1981­06­21   </ex:Geburtstag> </rdf:Description> Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 33. Sprachen des Semantic Web - RDF ● rdf:XMLLiteral wird von RDF vordefiniert – Bezeichnet (balancierte) XML-Fragmente – Hat spezielle Syntax in RDF/XML: <rdf:Description rdf:about=”&vwmodell;Golf”>   <ex:Herstellername rdf:parseType=”Literal”>     <b>VW</b> ­ Volkswagen   </ex:Herstellername> </rdf:Description> Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 34. Sprachen des Semantic Web - RDF ● Sprachangaben bei Datentypen – Können nur bei ungetypten Literalen verwendet werden → Entweder Datentyp oder Sprachangabe – Beispiel: <rdf:Description rdf:about=”&vwmodell;Golf”>    <ex:ModellName xml:lang=”de”>Golf</ex:ModellName>    <ex:ModellName xml:lang=”en”>Rabbit</ex:ModellName> </rdf:Description> Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 35. Sprachen des Semantic Web - RDF ● Mehrwertige Beziehungen – Kochen mit RDF: “Für die Zubereitung von Chutney benötigt man 450g grüne Mango, einen Teelöffel Cayennepfeffer, ...” – Erster Modellierungsversuch: @prefix  ex:  <http://example.org> . ex:Chutney ex:hatZutat “450g grüne Mango”, “1TL Cayennepfeffer” . – Nicht zufriedenstellend, da Zutaten und Menge in einer Zeichenkette vermischt sind → Suche nach Rezepten mit grüner Mango nicht möglich Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 36. Sprachen des Semantic Web - RDF ● Mehrwertige Beziehungen – Kochen mit RDF: “Für die Zubereitung von Chutney benötigt man 450g grüne Mango, einen Teelöffel Cayennepfeffer, ...” – Zweiter Modellierungsversuch: @prefix  ex:  <http://example.org> . ex:Chutney ex:hatZutat ex:grueneMango; ex:Menge “450g” ; ex:hatZutat ex:Cayennepfeffer; ex:Menge “1TL” . – Noch schlimmer, da keine Zuordnung mehr zwischen Menge und konkreter Zutat mehr möglich ist Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 37. Sprachen des Semantic Web - RDF ● Problem: – Es handelt sich um eine echte dreiwertige (auch: ternäre) Beziehung: Gericht Zutat Menge Chutney Grüne Mango 450g Chutney Cayennepfeffer 1TL – Direkte Darstellung innerhalb von RDF nicht möglich – Lösung: Einführung von Hilfsknoten Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 38. Sprachen des Semantic Web - RDF http://example.org/grueneMango ● Darstellung als Graph: http://example.org/Zutat http://example.org/hatZutat http://example.org/Chutney http://example.org/ChutneyZutat1 http://example.org/Menge 450g ● Turtle Syntax (verwendet rdf:value): @prefix  ex:   <http://example.org> . @prefix  rdf:  <http://www.w3.org/1999/02/22­rdf­syntax­ns#> . ex:Chutney ex:hatZutat ex:ChutneyZutat1 . ex:ChutneyZutat1 rdf:value ex:grueneMango ; ex:Menge “450g” . Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 39. Sprachen des Semantic Web - RDF ● Leere Knoten (Blank Nodes, Bnodes) – Verwendung für Ressourcen, die eigentlich keine eigene Identifizierung benötigen – Häufig verwendet bei Hilfsknoten – Siehe letztes Beispiel: http://example.org/grueneMango http://example.org/Zutat http://example.org/hatZutat http://example.org/Chutney http://example.org/Menge 450g Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 40. Sprachen des Semantic Web - RDF ● Leere Knoten – RDF/XML-Syntax <rdf:Description rdf:about=”&ex;Chutney”>   <ex:hatZutat rdf:nodeID=”id1” /> </rdf:Description> <rdf:Description rdf:nodeID=”id1”>   <ex:Zutat rdf:resource=”&ex;grueneMango” />   <ex:Menge>450g</ex:Menge> </rdf:Description> – Verkürzt <rdf:Description rdf:about=”&ex;Chutney”>   <ex:hatZutat rdf:nodeID=”id1” >     <ex:Zutat rdf:resource=”&ex;grueneMango” />     <ex:Menge>450g</ex:Menge>   </ex:hatZutat> </rdf:Description> Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 41. Sprachen des Semantic Web - RDF ● Leere Knoten – Turtle-Syntax @prefix ex: <http://example.org> . ex:Chutney  ex:hatZutat  _:id1 . _:id1       ex:Zutat     ex:grueneMango ;             ex:Menge     “450g”. – Verkürzt @prefix ex: <http://example.org> . ex:Chutney  ex:hatZutat  [ ex:Zutat     ex:grueneMango ;            ex:Menge     “450g” ].  Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 42. Sprachen des Semantic Web - RDF ● Listen in RDF – Datenstrukturen zur Aufzählung von Ressourcen mit relevanter Reihenfolge (z.B. Autoren eines Buches) – Unterscheidung zwischen ● Offene Listen (Container) Können jederzeit erweitert werden ● Geschlossene Listen (Collections) Neue Einträge können nicht hinzugefügt werden – Besitzen keine zusätzliche Ausdrucksstärke, da auch mit bereits behandelten Mitteln modellierbar Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 43. Sprachen des Semantic Web - RDF ● Graph ex:Hitzler ex:SemanticWeb rdf:_1 ex:Autoren rdf:_2 ex:Krötzsch rdf:_3 ex:Rudolph rdf:type rdf:_4 rdf:Seq ex:Sure ● In RDF/XML (verkürzt) <rdf:Description rdf:about=”&ex;SemanticWeb”>   <ex:Autoren>     <rdf:Seq>       <rdf:li rdf:resource=”&ex;Hitzler” />       <rdf:li rdf:resource=”&ex;Krötzsch” />       <rdf:li rdf:resource=”&ex;Rudolph” />       <rdf:li rdf:resource=”&ex;Sure” />    </rdf:Seq>   </ex:Autoren> </rdf:Description> Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 44. Sprachen des Semantic Web - RDF – Der Listentyp wird dem Listenknoten mit dem Prädikat rdf:type zugewiesen – Folgende Typen sind im RDF definiert: ● rdf:Seq georndete Liste (Sequenz) ● rdf:Bag ungeordnete Menge, reihenfolge nicht von Belang ● rdf:Alt Menge alternativer Möglichkeiten aus denen immer nur eine Relevanz besitzt Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 45. Sprachen des Semantic Web - RDF ex:SemanticWeb ● Collections ex:Autoren rdf:first ex:Hitzler rdf:rest rdf:first ex:Krötzsch rdf:rest rdf:first ex:Rudolph rdf:rest rdf:first ex:Sure rdf:rest rdf:nil ● Zerlegung der Liste in Kopfelemente und Restliste ● Wenn Restliste = rdf:nil, ist das Ende erreicht Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 46. Sprachen des Semantic Web - RDF ● Collections – RDF/XML-Syntax <rdf:Description rdf:about=”&ex;SemanticWeb”>   <ex:Autoren rdf:parseType=”Collection” >     <rdf:Description rdf:about=”&ex;Hitzler”>     <rdf:Description rdf:about=”&ex;Krötzsch”>     <rdf:Description rdf:about=”&ex;Rudolph”>     <rdf:Description rdf:about=”&ex;Sure”>   </ex:Autoren> </rdf:Description> – Turtle @prefix ex: <http://example.org> . ex:SemanticWeb ex:Autoren ( ex:Hitzler   ex:Krötzsch                                    ex:Rudolph   ex:Sure ) . Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 47. Sprachen des Semantic Web - RDF ● Verbreitung von RDF – Große Anzahl an Tools und Bibliotheken für RDF ● Die meisten davon frei (Open Source) verfügbar – Es existieren diverse Systeme zum effizienten Umgang mit riesigen RDF-codierten-Datenmengen ● Sogenannte Triple-Stores – Auch kommerzielle Anbieter wie Oracle implementieren zunehmend RDF-Unterstützung – Diverse Datenformate basieren auf RDF: ● RSS 1.0 ● XMP (Adobe) ● SVG Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 48. Sprachen des Semantic Web - RDF ● Bewertung – Etablierter und gut unterstützter Standard zur Speicherung und zum Austausch von Daten – Weitgehend syntaxunabhängige Darstellung durch abstraktes, graphenbasiertes Datenmodell – Gut geeignet zur Vereinigung von Daten aus verschiedenen Quellen ● Kritik – Reines RDF codiert eigentlich nur Informationen über Individuen / Ressourcen – Es besteht praktisch keine Möglichkeit zur Codierung von Schemawissen → Siehe RDF Schema Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 49. Sprachen des Semantic Web - RDF Noch Fragen ? Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF
  • 50. Sprachen des Semantic Web - XML ● Literatur: – Buch “Semantic Web Grundlagen”, Springer Verlag 2008 Pascal Hitzler, Markus Krötzsch, Sebastian Rudolph, York Sure ISBN: 978-3-540-33993-9 – RDF Webseite http://www.w3.org/RDF/ – Resource Description Framework Primer F. Manola, E. Miller W3C Recommendation, 10th February 2004 http://www.w3.org/TR/rdf-primer – RDF Planet – Blogs zum Thema RDF / Semantic Web http://www.planetrdf.com/ Semantic Web Technologien Steffen Schlönvoigt, HTWG Konstanz, Sommersemester 2010 RDF