Nach unserem kurzen Ausflug ins Web of Data, wollen wir nun die Sprache näher betrachten, die diese Daten beschreibt. Was HTML im „normalen“ Web ist, ist hier RDF. RDF beschreibt Ressourcen und steht deshalb – oh Wunder – für Resource Description Framework.
Wir erinnern uns: Im Datenweb gibt es nicht nur Dokumente, sondern alle möglichen Dinge über die wir Daten hinterlegen können, z.B. Städte, Personen, Medikamente, Bücher, Ereignisse, … Diese Dinge nennt man im Datenweb Ressourcen. Die Grammatik von RDF ist einfach: Eine Ressource beschreibt man in der Form Subjekt – Prädikat – Objekt. Dieses Dreigespann heißt RDF-Tripel. Subjekt ist die Ressource, die beschrieben wird, Prädikat ist die Aussage die wir über diese Ressource treffen und Objekt ist der Wert oder Gegenstand dieser Aussage.
Wir können zum Beispiel sagen „Angelo Veltens interessiert sich für Linked Data“ Ich bin in diesem Fall das Subjekt, also die Ressource die wir beschreiben, „interessiert sich“ ist Prädikat und „Linked Data“ das Objekt. Soweit ist es erstmal ein gewöhnlicher deutscher Satz. In RDF-XML sieht der gleiche Sachverhalt folgendermaßen aus:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <foaf:Person rdf:about="http://data.kontroversen.de/foaf.rdf#me"> <foaf:interest rdf:resource="http://dbpedia.org/resource/Linked_Data"/> </foaf:Person> </rdf:RDF>
http://data.kontroversen.de/foaf.rdf#me ist die URI die mich identifiziert und das Subjekt dieser Aussage. Durch die Verwendung des Tags <foaf:Person> wird zusätzlich noch ausgedrückt, dass die beschriebene Ressource vom Typ foaf:Person ist. Das Tag <foaf:interest> ist ein Prädikat, welches Interesse an einem Themengebiet formal beschreibt. Das Attribut rdf:resource verweist auf das Objekt dieser Aussage. Ich habe hier einen Link in die Dbpedia genutzt um das Themengebiet Linked Data zu identifizieren.
Achtung: RDF ist nicht das selbe wie RDF-XML! XML ist lediglich eine Darstellungsform von RDF. Andere Darstellungsformen sind Notation 3 (N3) oder ein RDF-Graph. In Notation 3 sieht unser Beispiel folgendermaßen aus:
@prefix foaf: <http://xmlns.com/foaf/0.1/> <http://data.kontroversen.de/foaf.rdf#me> foaf:interest <http://dbpedia.org/resource/Linked_Data>.
Und hier als RDF-Graph:
Die eigentliche Herausforderung beim Beschreiben von Ressourcen mittels RDF liegt nicht in der Grammatik, die wie ihr seht wirklich mehr als einfach ist, sondern bei der Wahl und ggf. Neudefinition von Vokabularen, auch Ontologien genannt. Auf einige dieser Ontologien, z.B. das in diesem Beispiel verwendeten FOAF, werde ich in kommenden Artikeln näher eingehen. Zur Definition von Ontologien haben sich zwei Sprachen etabliert: Die Web Ontology Language (kurz OWL) und RDF-Schema. Auch der Eigendefinition von Vokabularen werde ich noch einen Beitrag widmen. Allerdings sollte man damit sehr sparsam umgehen und nach Möglichkeit eine bestehende Ontologie wiederverwerten oder bei Bedarf ergänzen, damit wir ihm Datenweb nicht enden wie beim Turmbau zu Babel und niemand mehr den anderen versteht.
Weiterführende Links:
2 Gedanken zu „RDF – Die Sprache des Web of Data“
Kommentare sind geschlossen.