Semantische Suche mit Technologien des Semantic Web Projektgruppe Location-based Services for Wireless Devices WS 2004/05 Jan Hoffmann AG Kao Betriebssysteme und Verteilte Systeme Institut für Informatik Universität Paderborn Vorstellen: Name, Tätigkeit, Veranstaltung Achtung: Datum muss noch angepasst werden!
Überblick Agenda, Einleitung Semantic Web – Vision Technologien des SW Existierende Lösungen Zusammenhang zu Web Service Technologien Bedarf für semantische Suchen im Rahmen der PG Empfehlung für PG-Verwendung Zum Schluss noch mal anpassen, Zurzeit nur als Outline geeignet! 28.10.2003
Vision Entwickelt von Tim Berners-Lee Director des World Wide Web Consortiums „Erfand“ schon das WWW am CERN Beschrieben in „Weaving the Web“, 1997 Umfasst Technologien wie XML, RDF oder Ontologien Soll maschinelles „Verstehen“ von Inhalten ermöglichen Darauf aufbauend: einfache logische „Folgerungen“ Basis für intelligentere Dienste Evtl eine zweite Folie darüber? Problem: Kann zu lang werden 28.10.2003
Problem Informationen im WWW zurzeit „schlecht“ auffindbar: Markup von Dokumenten erfüllt Doppelfunktion: Prozedual: Semantische Auszeichnung von Elementen z.B. HTML-Tags <em>, <h1> Deskriptiv: Formatierung von Elementen z.B. HTML-Tags <i>, <b>, <font> Derzeitige Suchen basieren auf Teilstring- oder Pattern-Matching-Algorithmen: Unscharf Falsche Bedeutung gefundener Treffer (vgl. „Bank“ vs „Bank“) Doppelfunktion noch erläutern, Quelle für Algo-Statement raussuchen Quelle prozedual/deskriptiv: Skript Vorlesung WBS, Scholz/Kassanke, WS02/03 28.10.2003
Markup - Beispiel Relevante Informationen: Nicht relevant: Service-Location Übergabeparameter (grober) Typ Nicht relevant: Farbe, Schriftart Gestaltung als Tabelle Button-Bild … [http://www.verivox.de/Home/Webmaster/Fixed/Schnellabfrage.asp] Diese Folie stellt ein Beispiel für derzeitiges Web-Chaos dar. Je nach Zeit abzukürzen. 28.10.2003
Problemlösung (1) Überwindung dieser Probleme durch: Hochwertigere Auszeichnung von Inhalten und Services, z.B.: Trennung von Semantik und Darstellung Anreicherung der Darstellung durch Semantik Definitionen von allgemeinen Konzepten: Standards, z.B. in einer bestimmten Branche Beziehungen zwischen diesen Konzepten Analogien zwischen gleichartigen Konzepten Vermeidung von Mehrfachbedeutungen: Konzepte eindeutig referenzieren Namensräume deklarieren 28.10.2003
Problemlösung (2) Maschinelle Verarbeitung ermöglichen: Einheitliche Syntax: Erlaubt Verwendung allgemeiner Parser Bestenfalls auch durch Menschen les-/editierbar Formelle und prüfbare Definitionen von Konzepten und Beziehungen Hier gibt es bereits weit verbreitete Technologien Diese Folie (und die vorherige) sollen den Bedarf herleiten (Requirements) und technologieunabhängig plausibel machen. 28.10.2003
Technologien – Überblick Semantic Web Pyramid of Languages [Quelle: iX Special 1/04, S.129] Vertrauen Beweise Logik Ontologien (OWL) RDF / RDF Schema Hier auch sagen: Orange: - schon vorhanden, einsetzbar, Specs vorhanden Heller: - möglich, nicht so verbreitet, in den „Kinderschuhen“ Hell: - zz. Vermutlich nicht umsetzbar Alles eher kurz halten, dient als Inhaltsverzeichnis für die nächsten Folien XML / XML Schema Unicode Uniform Resource Identifier 28.10.2003
XML (1) eXtensible Markup Language Erweiterbar: Metasprache zur Definition von Markupsprachen Anwendungsgebiete: Dokumente: z.B. XHTML, MathML, LMML Grafik: z.B. SVG Konfiguration: z.B. Apache Tomcat / Cocoon Kommunikation: z.B. BizTalk, SOAP XML-Dokumente können wohlgeformt sein: z.B. Korrektes Schließen von Tags (z.B. <p><ex /></p>) Korrekte Verwendung der XML-Syntax XML-Dokumente können gültig sein: bzgl. einer bestimmten Definition (Schema, DTD, …) Korrekte Verwendung einer bestimmten Markupsprache Diese Folie kann vermutlich schnell erzählt werden, da viele Vorkenntnisse erwartet werden können 28.10.2003
XML (2) Definition der Markupsprachen: Rolle im Semantic Web: Document Type Definition (DTD): Älterer Standard, weit verbreitet, intuitiv XML Schema: Vorteil: Schema ist selbst XML einfache Validierung Erlaubt auch Datentypen, Objektorientierung Hoher Toolsupport Relax NG Alternative zu Schemata, auch in XML Vorteile: einfache Kurznotation möglich Rolle im Semantic Web: XML: Definiert Syntax XML Schema: Definiert Struktur und evtl. Namespace Bis jetzt noch keine Semantik! Hinweis: -DTDs können in Schema umgewandelt werden! Nicht andersrum (ohne Informationsverlust) - Wichtig vor allem letzter Abschnitt 28.10.2003
RDF (1) Sprach[-Framework], um Dokumente auszuzeichnen Erste Stufe der semantischen Anreicherung Verschiedene Darstellungsmethoden, in XML serialisierbar Kann Resourcen auszeichnen: z.B. bei Bildern oder Binärformaten die ganze Datei Konzepte, z.B. Person, Auftrag „Anything that has idendity“ Dient somit der Repräsentation von Wissen Konzept: RDF beschreibt Zusammenhänge als Tripel: Subject: die zu beschreibende Resource Predicate: eine Relation zwischen Subject und Object Object: eine andere Resource oder ein Literal - Bilder bezieht sich auf ulfs buch, s. 87 - 3pl-konzept danach, gleiche quelle - Verschieden in XML serialisierbar! 28.10.2003
RDF (2) Wichtig: Eindeutige Bezeichnung der Konzepte/Resourcen Object Dafür URI verwenden: www.domain.org/ns/#concept Standardverzeichnisse für Konzepte verfügbar: Z.B. Dublin Core Object Predicate Subject Literal Predicate #Mike #Lynne #knows (Dublin core: in ausarbeitung auch Beispiele) 33 #age 28.10.2003
RDF (3) Vorteil: Eindeutige Auszeichnung von Dokumenten Probleme: Beispiel: Autor kann als solcher erkannt und von Herausgeber unterschieden werden zz. nicht möglich (Name ist String) Probleme: Verschiedene Darstellungsformen: XML/RDF umständlich zu formulieren Andere einfachere Formate besser für Triples geeignet (n3) Kaum Tools/Suchen, die Metadaten nutzen Daher keine weite Verbreitung Existierendes Beispiel: „Friend of a Friend“ http://www.foaf-project.org/ 28.10.2003
Ontologien Was sind Ontologien? Klassen von Ontologien: „Formal definiertes System von Dingen“ „specification of a conceptualization“ Hier: Strukturen über Resourcen und Relationen (vgl. RDF) Verknüpft Konzepte / Resourcen Klassen von Ontologien: Taxonomie: Hierarchische Gliederung von Konzepten (z.B. A ist Untertyp von B) Therasaurus: Definiert z.B. Gleichheit von Konzepten (z.B. Preis vs. Price) Quelle1: wikipedia Quelle2: Tom Gruber - viele Infos für Ausarbeitung 28.10.2003
OWL Web Ontology Language des W3C: Ontologie-Sprache, speziell für Benutzung im Web Seit 10.2.2004 Recommendation (≈ Standard!) Baut auf RDF und URIs (Naming) auf Ontologien in OWL erlauben logische Inferenzen: Klassisches Wein / Rotwein - Beispiel Rotwein wird als Subtyp von Wein definiert Händler mit Rotwein-Webangebot kann als Weinhändler identifiziert werden. Können auch Regeln / Constraints enthalten: Z.B. bei Währungsumrechnung Z.B. für Relationen (bei istVater: mind. 1 Kind) Quelle: w3c, ix-artikel 28.10.2003
OWL - Probleme Web ist nicht zentral organisiert: Verschiedene Sites können verschiedene Definitionen des semantisch gleichen Dinges anbieten Dies ist Design-Ziel und soll Flexibilität erhöhen Zusammenführung erfolgt dann auf Ontologieebene Ergo: Semantischer Suchdienst muss (alle) Ontologien kennen Das Problem ist nur eine Ebene verschoben worden! Ontologien aber in kleinen Netzen möglich: Implementierungen / Ansätze existieren: Jena Semantic Web Framework (HP Labs) DAML Ontology Library sammelt bereits viele Ontologien Quelle: ix-artikel, weaving the web/berners-lee 28.10.2003
Web Services - Kurzeinführung Definition: „Lose gekoppelte, programmtechnisch nutzbare und wieder verwendbare Komponenten, die durch WWW-Standards kommunizieren.“ Web Service: Mit entferntem Methodenaufruf (RPC) vergleichbar, aber: Übertragung per http Nutzung / Codierung mit XML-Technologien Asynchron, verteilt, zusammengesetzt Keine Methodenaufrufe von verteilten Objekten, sondern.. Austausch von Nachrichten, Protokoll auf Anwendungsebene Zu der def unbedingt quelle herausfinden: w.Thronicke schreiben RPC übersetzung/analogie hakt etwas 28.10.2003
WS-Technologien SOAP WSDL UDDI WS Provider WS WS Broker Client Quelle: präsentation thronicke Wichtig: client kann auch wieder provider sein!! Dies ist nur kurzeinführung, daher keine ausführliche bschreibung auf extra Folie 28.10.2003
Web Services vs. Semantic Web Ziel: „A Semantic Web of Web Services“ Spezielle Semantiken, um Geschäftsprozesse in bestimmten Domains / Branchen zu formalisieren Ontologien verknüpfen diese dann mit Services Ermöglicht smarte Software-Agenten Semantic Web Services Web Services dynamic Quelle: ulfs buch Bild: s.7 Übersetzen??? Grafik aufmotzen, obwohl genauso im Buch? WWW Semantic Web static Interoperable Syntax Interoperable Semantics 28.10.2003
Projektgruppen - Bedarf Art der Suchen (Use Cases): Suche nach Diensten: Welche Dienste sind für eine bestimmte Aufgabe geeignet Anfragen von Verzeichnissen Thema „Discovery“ Auswertung der Ergebnisse mit Methoden des SW Welche bieten äquivalente Funktionalität? Welche sind Teildienste von anderen? Suchfunktion innerhalb von Diensten: Z.B. nach Ortsbezeichnungen Sehr dienstabhängig, d.h. Ausnutzen von SW-Technologien nicht immer notwendig / sinnvoll Die (30/15)-Teilung des Vortrages wird sich wohl eher zu (35/10) verschieben…. 28.10.2003
Projektgruppen – Bedarf Art der zu verarbeitenden Informationen: Kaum Dokumente Eher Datenorientiert: Dienst-Suchparameter Dienstbeschreibungen Ortsbeschreibungen (für speziellen Dienst) 28.10.2003
Projektgruppen – Vorschlag Erstellen einer semantischen Suche nach Diensten: Auf Basis der durch ein „Discovery Layer“ zur Verfügung gestellten Informationen Semantische Nachverarbeitung Auswahl eines oder mehrerer geeigneter Dienste Dienst-Verzeichnis [Parameter] Dienst Liste Ergebnisse Noch mehr animieren, schöner machen Ontologien Beschreibungen Semantic Web-Engine, z.B. Jena-basiert Einzelne Dienste 28.10.2003
Projektgruppen – Vorschlag Beschreibungen / Ontologien: Vorhandene Verzeichnisse auf sinnvolle Einträge prüfen Ermöglicht Konformität mit anderen Diensten (falls nötig) Ggf. selbst beschreiben / definieren Annahme: Nur unserer Server stellen Semantische Informationen zur Verfügung (kein P2P zwischen Clients) D.h.: abgeschlossenes Semantisches Netz mit globalem Wissen vermutlich realisierbar. Innerhalb von Diensten mit geografischen Suchen: Z.B. Verwendung von GML (Geographic ML) Definiert neben geogr. Konzepten auch Operationen über diesen (z.B.: intersect, overlap, touch) Quelle geo: corcolez, goncalez 28.10.2003
Ende Fragen? Vielen Dank! Grafik hinzufügen, nett gestalten 28.10.2003