Struktur von RDF Fabian Scheller
Aufbau Semantic Technologies RDF Triple URI Turtle Ontologien Agents
Semantic Technologies Semantisches Web als Konzept bei der Entwicklung des World Wide Webs und des Internets. Semantisches Web als Extension des Internets Computer und Mensch können besser zusammenarbeiten Zentrale Fragestellung der Knowledge Representation Semantic Technologies Quelle: Tim Berners-Lee, James Hendler und Ora Lassila: The Semantic Web. A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities.
Semantic Technologies Important Technologies: eXtensible Markup Language (XML) RDF Semantic Technologies Quelle: Tim Berners-Lee, James Hendler und Ora Lassila: The Semantic Web. A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities.
Verhältnis XML zu RDF XML = Markupsprache XML Schema beschränkt die Struktur von XML RDF = Datenmodell RDF Schema definiert das Vokabular von RDF RDF/XML ist eine konkrete Syntax zum Austausch von RDF Verhältnis XML zu RDF
RDF Bestandteile: Triple (SPO) ressources + properties = statements ressources: alles was mit einem URI referenziert werden kann properties: Eigenschaften von Ressourcen URI (globaler Bezeichner für Ressourcen, wird nach Konvention der URL geformt) Ressourcen müssen eindeutig mit einer URI bezeichnet werden
S P O Subjekt Prädikat Objekt Tripel
S P O Tripel Sony produziert Kameras Kameras enthalten ein Objektiv Objektive bestehen aus Glas Sony ist eine Firma Tripel
S P O (http://de.wikipedia.org/wiki/Köln,isAbout,urn:example:city:cologne) resource property Objekt Tripel
RDF Beispiel für eine URI URI der Webseite: http://www.uni-koeln.de URI einer Mailadresse: mailto:123@uni-koeln.de URI eines Buches: urn:isbn:978-3898530194 RDF
RDF RDF arbeitet dezentralisiert verwendet URIs, die global definiert werden. Diese Namen haben überall die gleiche Bedeutung. URNs sind eine Unterkategorie der URI, die z.B. für die Identifizierung von Büchern benutzt wird. URIs arbeiten vergleichbar mit dem XML-Konzept der Namespaces RDF
EXAMPLE CODE VALIDATION <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cd="http://www.recshop.fake/cd#"> <rdf:Description rdf:about="http://www.recshop.fake/cd/Empire Burlesque"> <cd:artist>Bob Dylan</cd:artist> <cd:country>USA</cd:country> <cd:company>Columbia</cd:company> <cd:price>10.90</cd:price> <cd:year>1985</cd:year> </rdf:Description> rdf:about="http://www.recshop.fake/cd/Hide your heart"> <cd:artist>Bonnie Tyler</cd:artist> <cd:country>UK</cd:country> <cd:company>CBS Records</cd:company> <cd:price>9.90</cd:price> <cd:year>1988</cd:year> </rdf:RDF> EXAMPLE CODE VALIDATION Quelle: http://www.w3schools.com/webservices/ws_rdf_example.asp
Quelle: http://www.rdfabout.com/intro/rdfasagraph.png
S P O Quelle: http://www.rdfabout.com/intro/rdfasagraph.png
RDF muss maschinenprozessierbar dargestellt werden, aber dies muss nicht zwangsläufig mit XML passieren. Beispiel: Turtle @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix contact: <http://www.w3.org/2000/10/swap/pim/contact#>. <http://www.w3.org/People/EM/contact#me> rdf:type contact:Person; contact:fullName "Eric Miller"; contact:mailbox <mailto:em@w3.org>; contact:personalTitle "Dr.". Turtle
Problem: 2 unterschiedliche Datenbanken können auf Grund des dezentralen Systems für die selben Konzepte unterschiedliche Bezeichnungen verwenden. Lösung: Ontologien Ontologien Quelle: Tim Berners-Lee, James Hendler und Ora Lassila: The Semantic Web. A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities.
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns="http://localhost:8080/OWLBuergerInformation.owl#" xml:base="http://localhost:8080/OWLBuergerInformation.owl"> <owl:Ontology rdf:about=""/> <owl:Class rdf:ID="Gender"/> <owl:Class rdf:ID="Person"/> <owl:Class rdf:ID="Woman"> <rdfs:subClassOf rdf:resource="#Person"/> <owl:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource="#gender"/> <owl:hasValue rdf:resource="#female" rdf:type="#Gender"/> </owl:Restriction> </owl:equivalentClass> </owl:Class> <owl:ObjectProperty rdf:ID="gender" rdf:type="http://www.w3.org/2002/07/owl#FunctionalProperty"> <rdfs:range rdf:resource="#Gender"/> <rdfs:domain rdf:resource="#Person"/> </owl:ObjectProperty> <owl:DatatypeProperty rdf:ID="name" <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="firstname" <Person rdf:ID="STilgner" firstname="Susanne" name="Tilgner"> <Gender rdf:resource="#female"/> </Person> </rdf:RDF>
Ontologien können einzelne Elemente der verschiedenen Datenbanken in Verbindung setzen. Beispiel für RDF-Ontologien: OWL Web Ontology Language - basiert auf einer RDF Syntax Ontologien
Agents: Menschen können Programme erstellen, die Informationen aus unterschiedlichen Quellen prozessieren und die Ergebnisse mit anderen Programmen austauschen. Ontologien werden ausgetauscht. Agents
Vielen Dank für die Aufmerksamkeit!