 |
 |
 |  |  | | Was ist das | | Semantic Web? | |
|
Das Semantic Web, derzeit das Thema einer W3C Arbeitsgruppe, ist eine Vision von Tim Berners-Lee, dem Erfinder des World Wide Web. Das World Wide Web hat unsere Kommunikationsstrukturen, unsere Geschäftsprozesse, die Suche nach Informationen und Unterhaltung revolutioniert - es hat unser tägliches Leben tiefgreifend verändert. Als nächsten Schritt in der Entwicklung des Internet definiert Berners-Lee das Semantic Web als ein "Netz von Daten, die direkt und indirekt von Maschinen verarbeitet werden können." Im Semantic Web werden die Daten selbst Teil des Web, sodass sie unabhängig von Applikationen, Plattformen oder Domains verarbeitet werden können. Im Gegensatz dazu enthält das World Wide Web, wie wir es heute kennen, eine Unzahl von Informationen in Form von Dokumenten. Wir können diese Dokumente mit Hilfe von Computern durchsuchen. Um jedoch nützliche Informationen daraus zu extrahieren, müssen diese Dokumente von Menschen gelesen und interpretiert werden. Computer können Ihnen zwar Informationen bereitstellen, verstehen die Informationen aber nicht gut genug, um die jeweils relevantesten Daten anzuzeigen. Beim Semantic Web wiederum stehen im Web sowohl Daten als auch Dokumente zur Verfügung, sodass diese Daten von Maschinen gelesen, verarbeitet, transformiert und auf sinnvolle Art zusammengestellt werden können, ja dass Maschinen auf diesen Daten sogar operieren können.
Stellen Sie sich folgendes Szenario vor: Sie sind Software-Berater und wurden soeben mit einem neuen Projekt betraut. Sie sollen eine Reihe von SOAP-basierten Webservices für einen Ihrer wichtigsten Kunden erstellen. Zuerst müssen Sie sich über SOAP informieren, daher suchen Sie mit Ihrer bevorzugten Suchmaschine nach dem Begriff. Leider können Sie mit den Ergebnissen nicht allzu viel anfangen. Aufgelistet werden unter anderem Geschirrspülmittel, Gesichtsseifen und sogar Soap Operas. Sie müssen sich erst durch zahllose Suchergebnisse und verlinkte Seite arbeiten, bis Sie Informationen über die SOAP-Spezifikationen des W3C finden.
Aufgrund der unterschiedlichen semantischen Assoziationen des Worts "soap" sind die Ergebnisse unterschiedlich relevant und Sie müssen einiges an Zeit investieren, um die gesuchten Informationen zu finden. In einer Semantic Web-Umgebung hingegen könnten Sie das Internet mit Hilfe eines Semantic Web Agenten nach "SOAP" durchsuchen und zwar speziell nach Zusammenhängen in denen SOAP eine Technologiespezifikation ist, die in Webservices zur Anwendung kommt. Dieses Mal erhalten Sie relevante Suchergebnisse. Ihr Semantic Web Agent kann auch Ihr firmeninternes Netzwerk nach der SOAP-Spezifikation durchsuchen und herausfinden, ob Ihre Kollegen bereits ähnliche Projekte abgeschlossen oder im Netzwerk Ergebnisse zu einer SOAP-Recherche veröffentlicht haben. Außerdem liefert Ihnen Ihr Agent auf Basis der zu SOAP verfügbaren semantischen Informationen eine Liste damit in Zusammenhang stehender Technologien. Sie wissen daher nun, dass WSDL, XML und URI Technologien sind, die mit SOAP in Zusammenhang stehen und dass Sie vor Projektbeginn auch diese Themen recherchieren müssen. Auf Basis der Suchergebnisse des Semantic Web Agent lesen Sie nun die entsprechenden Technologiespezifikationen und senden E-Mails an die Kollegen, die die Materialien zu SOAP ins Netz gestellt haben, um sie vor Beginn Ihres neuen Projekts zu konsultieren.
Versetzen wir uns nun ein paar Jahre in die Zukunft. Sie arbeiten immer noch als Software-Berater und haben heute ein Arbeitsessen mit einer Ihrer wichtigsten Kundinnen. Ihre Firma muss ein dringendes Projekt in ihrer Zweigniederlassung in San Francisco durchführen, für das sie Sie als Berater benötigt. Sie bittet Sie, so bald wie möglich nach San Francisco zu fliegen, um mit der Arbeit zu beginnen. Sie nehmen Ihren Handheld Computer zur Hand, aktivieren den Semantic Web Agenten und weisen ihn an, einen Non-Stop-Flug nach San Francisco zu buchen, der morgen noch vor 10 Uhr Vormittag abfliegt. Wenn möglich hätten Sie gerne einen Sitz am Gang. Sobald Ihr Agent einen passenden Flug findet, in dem noch ein Sitz am Gang frei ist, bucht er den Flug mit Ihrer American Express Card und weist die Kosten in Ihrer Buchhaltung dem Konto Ihres Kunden zu. Gleichzeitig weist er Sie darauf hin, dass Sie daheim einen Zahnarzttermin versäumen und fügt eine Anmerkung zu Ihrem Kalender hinzu, dass Sie den Termin verschieben müssen. Als nächstes geben Sie an, dass Sie eine Limousine benötigen, um zum Büro des Kunden zu gelangen. Ihr Agent sucht daraufhin nach Limousinen-Services mit der Service-Bewertung "sehr gut" und bucht einen Fahrer, der Sie 30 Minuten nach Ankunft des Flugzeugs abholt. Außerdem reserviert Ihnen Ihr Agent ein Zimmer in Ihrem Lieblingshotel in San Francisco und sichert Ihnen dabei mit Ihrer Reward Card-Nummer den günstigsten Preis. Schließlich aktualisiert der Agent Ihren Terminkalender und den Ihres Chefs, trägt die Reiseinformationen ein und druckt die Reisebestätigungen im Büro aus.
Mit nur wenigen Klicks hat Ihr Semantic Web Agent einen Flug und einen Limousinen-Service gefunden und gebucht und Ihr Buchhaltungssystem und die Terminkalender aktualisiert. Er hat Ihre Reiseplanung sogar mit Ihrem Terminkalender verglichen und den Konflikt mit dem Zahnarzttermin gefunden. Dazu musste der Agent aus verschiedenen Quellen stammende Informationen finden, interpretieren, miteinander kombinieren und darauf operieren. Dieses Beispiel für die Anwendung des Semantic Web ist natürlich noch Zukunftsmusik. Ob diese Vision Wirklichkeit wird, wird sich erst in der Zukunft zeigen. Es geht jedoch darum, Ihnen damit das Potenzial von Semantic Web-Technologien vor Augen zu führen.
Die Liste der Szenarios, in denen Semantic Web-Technologien im Zuge ihrer Weiterentwicklung nutzbringend eingesetzt werden könnten, ließe sich endlos fortsetzen. Man denke nur, wie viele Möglichkeiten sich eröffnen, angefangen bei der Verbrechensaufklärung, der wissenschaftlichen Forschung, der literarischen Analyse bis zum Einkauf, der Suche nach längst verschollenen Freunden und Urlaubsplanung, wenn Computer Daten auf sinnvolle Art suchen und darstellen und darauf operieren können.
Der Semantic Web Agent basiert nicht auf Artificial Intelligence sondern auf strukturierten Gruppen von Informationen und Inferenzregeln, die es ihm erlauben, die Beziehungen zwischen verschiedenen Datenressourcen zu "verstehen". Der Computer versteht die Informationen dabei nicht wie ein Mensch, kann aber auf Basis der vorhandenen Informationen logische Verbindungen herstellen und Entscheidungen treffen. Die Vision des Semantic Web ist die eines "Datennetzwerks", bei dem nicht nur die scheinbar unendliche Datenmenge des World Wide Web genutzt wird, sondern bei dem diese Informationen mit Daten in relationalen Datenbanken und anderen nicht interoperablen Informationsspeichersystemen wie z.B. EDI-Systemen verbunden werden. Wenn man bedenkt, dass relationale Datenbanken heutzutage den Großteil aller Unternehmensdaten enthalten, erhöht sich dank der Fähigkeit von Semantic Web-Technologien, auf diese Daten neben anderen von Websites, aus anderen Datenbanken, XML-Dokumenten und anderen Systemen stammenden Daten zuzugreifen und diese verarbeiten zu können, die Menge an nützlichen Daten exponentiell. Dazu kommt noch, dass relationale Datenbanken bereits sehr viele semantische Informationen enthalten. Datenbanken sind auf Basis der Beziehungen zwischen den Daten, die sie enthalten, in Tabellen und Spalten gegliedert. Diese Beziehungen geben Aufschluss über die Bedeutung (die Semantik) der Daten.
Datenintegrationsapplikationen bieten die Möglichkeit, verteilte Datenquellen miteinander zu verbinden. Dafür sind jedoch 1:1 Mappings zwischen Elementen in verschiedenen Datenspeichern erforderlich. Das Semantic Web dagegen gestattet Maschinen, eine Verbindung zu einer beliebigen anderen Maschine herzustellen und Daten auf Basis integrierter allgemein verfügbarer semantischer Informationen, die die einzelnen Ressourcen beschreiben, auszutauschen und zu verarbeiten. Auf diese Weise wird uns das Semantic Web Zugriff auf alle oben aufgelisteten Informationen bieten, als handelte es sich um eine einzige riesige Datenbank. Zur Implementierung des Semantic Web müssen semantische Metadaten, also Daten, die Daten beschreiben, zu Informationsquellen hinzugefügt werden, sodass Maschinen die Daten anhand der beschreibenden semantischen Informationen effektiv verarbeiten können. Wenn genug semantische Informationen mit den Daten verknüpft sind, können Computer Rückschlüsse über die Daten ziehen, d.h. sie können verstehen, worum es sich bei der Datenressource handelt und in welchem Zusammenhang sie mit anderen Daten steht.
Ein Vorläufer dieser Technologie ist XML (eXtensible Markup Language), eine Technologie, bei der Metadaten in Form von von Menschen lesbaren, die Daten beschreibenden Tags hinzugefügt werden. Des Weiteren können XML-Dokumente Informationen über den Autor einer Webseite enthalten, relevante Schlüsselwörter, mit denen Suchmaschinen die Dokumente leichter finden können und Informationen über die Software-Tools, mit denen die XML-Datei erstellt wurde.
Vor der Verwendung von XML wurden Daten in Flat File- und Datenbankformaten gespeichert, wobei die meisten Daten proprietäre Formate hatten. Mit XML wurden die Daten innerhalb einer Domain, d.h. innerhalb der Domain, die von einem Schema oder einer Gruppe miteinander in Zusammenhang stehender Schemas definiert war, interoperabel also austauschbar. Von der Konzeption her ermöglicht XML jedoch nur dann syntaktische Interoperabilität, wenn beide Seiten die verwendeten Elementnamen kennen und verstehen. Wenn ein Element in einem System mit dem Tag <Preis>12,00</Preis> und in einem anderen System mit dem Tag <Betrag>12,00<Betrag> bezeichnet wird, ist eine Maschine nicht in der Lage zu wissen, dass es sich um dasselbe Element handelt, außer diese Elemente werden mit Hilfe einer separaten maßgeschneiderten Applikation aufeinander gemappt. Semantic Web-Technologien bieten eine Lösung für dieses Problem, indem sie Tags nicht nur für Menschen sondern auch für Maschinen verständlich machen.
Damit diese Daten auch von Maschinen verstanden werden, müssen sie zuerst ein einheitliches Format erhalten, in dem z.B. ein Feld mit dem Namen "Straße" immer dasselbe Format hat und immer dieselbe Art von Information enthält usw. Diese Art von Funktionalität finden wir heute schon auf Websites, auf denen Benutzer Informationen über ein Formular eingeben können, um eine Abfrage durchzuführen, z.B. auf Websites von Fluglinien, auf denen Besucher auf Basis verschiedener Kriterien nach Flügen suchen und diese buchen können. In Anbetracht der großen Menge und Vielfalt der Daten, die heutzutagen in verschiedenen Quellen zur Verfügung stehen, eignet sich diese Methode der Datendefinition nur für einen begrenzten Rahmen an Applikationen.
Im nächsten Schritt zur Verwendung des Semantic Web müssen nun Daten aus verschiedenen Domains anhand ihrer Eigenschaften und Beziehungen zu anderen Daten klassifiziert werden. Zu diesem Zweck werden Semantic Web-Technologien wie RDF, RDFS und OWL verwendet.
RDF (Resource Description Framework), eine offizielle W3C Recommendation, ist ein XML-basierter Standard zur Beschreibung von Ressourcen im Internet, Intranet und Extranet. RDF baut auf bestehenden XML- und URI (Uniform Resource Identifier)-Technologien auf, wobei URIs zum Identifizieren der einzelnen Ressourcen und zur Angabe von Statements über Ressourcen dienen. RDF Statements beschreiben eine Ressource (die durch eine URI identifiziert wird), die Eigenschaften einer Ressource und die Werte dieser Eigenschaften. RDF Statements werden oft als "Triples" bezeichnet. Diese Triples bestehen aus Subjekt, Prädikat und Objekt. Dies entspricht einer Ressource (Subjekt), einer Eigenschaft (Prädikat) und einem Eigenschaftswert (Objekt). Nachfolgend sehen Sie eine Beispiel für ein RDF Statement anhand eines einfachen englischen Satzes:  | [Ressource] |  | [Eigenschaft] |  | [Wert] |  |  | The secret agent |  | is |  | Niki Devgood |  |  | [Subjekt] |  | [Prädikat] |  | [Objekt] |  |
RDF-Triples können mit XML-Tags bezeichnet werden und werden oft grafisch folgendermaßen dargestellt:

Nachdem wir dieses Triple erstellt haben, können wir nun weitere Triples erstellen, um die Geheimagentin mit einer E-Mail-Adresse, einem Bild usw. zu verknüpfen.

Nachdem Triples grafisch definiert wurden, können Sie entweder in RDF/XML oder n-Triples-Formaten kodiert werden, um von Programmen aufgerufen werden zu können.
Durch Erstellung von Triples mit Subjekt, Prädikat und Objekt in RDF können Maschinen logische Annahmen auf Basis der Assoziationen zwischen Subjekt und Objekt machen. Da RDF URIs zum Identifizieren der Ressourcen verwendet, ist jede Ressource mit einer eindeutigen Definition verknüpft, die im Internet zur Verfügung steht. RDF bietet zwar ein Model und eine Syntax (die Regeln, mit denen die Elemente eines Satzes definiert werden) zum Beschreiben der Ressourcen, gibt aber keinen Aufschluss über die Semantik (die Bedeutung) der Ressourcen. Zur Definition der Semantik benötigen wir RDFS und OWL. RDFS dient zum Erstellen von Vokabularen, die Gruppen verwandter RDF-Ressoucen und die Beziehungen zwischen diesen Ressourcen beschreiben. Ein RDFS-Vokabular definiert, welche Eigenschaften den RDF-Ressoucen in einer bestimmten Domain zugewiesen werden können. Mit RDFS können Sie außerdem Ressourcenklassen erstellen, die gemeinsame Eigenschaften haben.
Aufbauend auf demselben Triples-Modell wie bei RDF, bestehen RDFS-Triples aus Klassen, Klasseneigenschaften und Werten, die die Klassen und Beziehungen zwischen den Ressourcen in einer bestimmten Domain definieren.
In einem RDFS-Vokabular sind Ressourcen als Instanzen von Klassen definiert. Eine Klasse ist auch eine Ressouce und jede Klasse kann eine Unterklasse einer anderen sein. Dank dieser hierarchisch aufgebauten semantischen Informationen können Maschinen auf Basis der Eigenschaften und Klassen von Ressourcen deren Bedeutung ermitteln.
Unten sehen Sie ein grafisches Beispiel eines RDFS mit einer Ressource und den damit verknüpften Eigenschaften, Werten und Klassen.

Grob gesprochen ist RDFS eine einfache Vokabularsprache zur Beschreibung der Beziehungen zwischen Ressourcen. OWL baut auf RDFS auf und ist ein viel umfangreicheres Vokabular zur Definition von Semantic Web Ontologien. OWL ist die dritte W3C-Spezifikation zur Erstellung von Semantic Web Applikationen. Aufbauend auf RDF und RDFS definiert OWL die Arten von Beziehungen, die in RDF mittels eines XML-Vokabulars ausgedrückt werden können, um die Hierarchien und Beziehungen zwischen verschiedenen Ressourcen zu veranschaulichen. Und genau das ist die Definition von "Ontologie" im Zusammenhang mit dem Semantic Web: Ein Schema, das die Hierarchien und Beziehungen zwischen verschiedenen Ressourcen ausdrücklich definiert. Semantic Web-Ontologien bestehen aus einer Taxonomie und einer Reihe von Inferenzregeln, anhand derer Maschinen logische Schlüsse ziehen können.
Eine Taxonomie ist in diesem Zusammenhang ein Klassifikationssystem wie z.B. das wissenschaftliche System zur Einteilung der Pflanzen (Reich/Abteilung/Klasse/Ordnung usw.), bei dem Ressourcen auf Basis ihrer Beziehungen und gemeinsamen Eigenschaften in Klassen und Unterklassen gruppiert werden.
Da Taxonomien (Systeme oder Klassifikationen) die hierarchischen Beziehungen zwischen Ressourcen ausdrücken, können wir OWL verwenden, um Ressourcenklassen Eigenschaften zuzuweisen und dieselben Eigenschaften auch an deren Unterklassen zu vererben. OWL verwendet auch die XML-Schemadatentypen und unterstützt Klassenaxiome wie z.B. subClassOf, disjointWith, usw. und Klassenbeschreibungen wie unionOf, intersectionOf, usw.
Auch viele andere Konzepte wurden in OWL integriert, wodurch OWL zur umfangreichsten heute existierenden Standard-Ontologiebeschreibungssprache wurde.
In Folgenden sehen Sie ein grafisches Beispiel für eine OWL-Ontologie.

Aufgrund der detaillierten Beziehungsinformationen in der OWL-Ontologie können Applikationen logische Schlussfolgerungen ziehen. So könnte z.B. ein Semantic Web Agent anhand der obigen Ontologie schließen, dass, da "Goose" eine Art von "DarkMeatFowl" ist und "DarkMeatFowl" eine Untergruppe der Klasse "Fowl" ist, die wiederum eine Unterklasse der Klasse "EdibleThing" ist, "Goose" ein "EdibleThing" ist.
Beachten Sie, dass OWL aus drei Untergruppen mit steigendem Komplexitätsgrad besteht: OWL Lite, OWL DL und OWL Full. OWL DL enthält OWL Lite und OWL Full enthält OWL DL und OWL Lite. Die Entscheidung, welcher OWL Dialekt verwendet werden soll, trifft der Entwickler auf Basis der Komplexität und der für sein semantisches Modell erforderlichen Detailliertheit.
Wenn RDF Resource Descriptions mit einer irgendwo im Internet, Intranet oder Extranet definierten Ontologie verknüpft werden, sind Maschinen in der Lage, die mit den einzelnen Ressourcen verknüpften semantischen Informationen abzurufen. Auf diese Art werden URIs, XML, RDF, RDFS und OWL miteinander kombiniert, um das Semantic Web Wirklichkeit werden zu lassen, sodass Szenarios, wie das oben beschriebene, in dem der Software-Berater Informationen über SOAP sucht und seine Geschäftsreise plant, möglich werden. Zusätzlich zu den hier beschriebenen Technologien, sind auch sogenannte "Proof"-Funktionen bei Semantic Agents vorgesehen, die es Menschen gestatten, die Schritte des Semantic Web Agent, mit denen er zu einer bestimmten Schlussfolgerung gekommen ist, zurückzuverfolgen. Außerdem gibt es Sicherheits- und Trust-Mechanismen in Form von digitalen Signaturen.
Wie bereits zuvor erwähnt, benötigt man Semantic Web Agents, Computerprogramme, die in der Lage sind, RDF- und semantische OWL-Informationen zu interpretieren, um die Möglichkeiten des Semantic Web zu nutzen.
Nähere Informationen über das Semantic Web und damit in Zusammenhang stehende Technologien finden Sie unter den Links am Ende dieser Seite.
Beachten Sie, dass die Implementierung von RDF, OWL und dem Semantic Web schrittweise erfolgen wird. Die Fragen: "Was ist das Semantic Web?" und "Wie können es Unternehmen und Einzelpersonen zu ihrem Vorteil nutzen?" erinnern an die anfängliche Verwirrung über den Nutzen von HTTP und das Internet, bevor "WWW" in die Alltagssprache Einzug fand. In Anbetracht des steilen Aufschwungs dieser Technologien ist es aber wahrscheinlich, dass auch die Vision des Semantic Web eines Tages Wirklichkeit werden wird, wenn auch anfangs nur in kleinem Rahmen.
Außerdem wird das Semantic Web - wie derzeit auch Webservice-Implementierungen - anfangs möglicherweise auf Intranet- und Extranet-Applikationen beschränkt bleiben, bis die Probleme der Informationssicherheit zufriedenstellend gelöst sind.
Welche Auswirkungen das Semantic Web haben wird, wird sich erst viel später zeigen, die Möglichkeiten sind jedoch atemberaubend. Einige Verfechter des Semantic Web behaupten, dass es zu einer Evolution des menschlichen Wissens selbst führen wird, da es Menschen dadurch zum ersten Mal möglich sein wird, die Unmengen der auf dieser Welt vorhandenen Daten auf relevante und produktive Art zu filtern und zu kombinieren.
Da RDF-, RDFS- und OWL-Dokumente oft grafisch dargestellt werden, ist es sinnvoll, den entsprechenden RDF/XML- oder n-Triples-Code visuell zu erstellen. Gemäß unserem Auftrag, benutzerfreundliche, visuelle Entwicklungstools für Entwickler zur Verfügung zu stellen, hat Altova nun SemanticWorks™ 2006 entwickelt, um unseren Kunden beim Erlernen und intuitiven Arbeiten mit diesen neuen Semantic Web-Technologien zu helfen.
SemanticWorks, ein visueller RDF- und OWL-Editor bietet die folgenden leistungsstarken Funktionalitäten:
- Unterstützung für die visuelle Erstellung und Bearbeitung von RDF-, RDF-Schema (RDFS), OWL Lite, OWL DL und OWL Full-Dokumenten.
- Intelligente Eingabehilfen mit kontextsensitiver Bearbeitungsauswahl
- Syntaxüberprüfung für RDF-, RDFS- und OWL-Dokumente
- Semantiküberprüfung für OWL Lite und OWL DL Ontologien
- Automatisches Generieren und Editieren von RDF/XML oder N-Triples-Formaten auf Basis eines visuellen RDF/OWL Designs.
Mit Altova SemanticWorks® 2010 können Sie RDF-Instanzdokumente, RDFS-Vokabulare und OWL-Ontologien bei umfassender Sytax- und Semantiküberprüfung der Ontologie grafisch erstellen und bearbeiten. Über kontextsensitive Eingabehilfen steht Ihnen auf Basis des gewählten RDF- oder OWL-Dialekts eine Liste zulässiger Auswahlmöglichkeiten zur Verfügung, sodass Sie schnell und einfach gültige Dokumente erstellen können.
Sie können von der grafischen RDF/OWL-Ansicht in die Textansicht wechseln, um zu sehen, wie Ihr Dokument im RDF/XML- oder N-Triples-Format erstellt wird, und Sie können Ihre Datei jederzeit von RDF/XML in N-Triples oder umgekehrt exportieren. Und da der RDF/XML- bzw. N-Triples-Code auf Basis Ihres Designs automatisch generiert wird, können Sie die Konzepte des Semantic Web lernen und damit experimentieren, ohne komplizierten Code schreiben zu müssen.

Mehr über das Arbeiten mit dem Semantic Web mit Hilfe von Altova SemanticWorks® 2010 erfahren Sie hier. Oder fangen Sie gleich an und downloaden Sie jetzt eine kostenlose 30-Tage-Testversion von SemanticWorks.
|
 |
 |
 |