Ontology-Based Infrastructure for Intelligent Applications
Total Page:16
File Type:pdf, Size:1020Kb
Ontology-based Infrastructure for Intelligent Applications Andreas Eberhart Dissertation zur Erlangung des Grades Doktor der Ingenieurwissenschaften (Dr.-Ing.) der Naturwissenschaftlich-Technischen Fakult¨at I der Universit¨at des Saarlandes Saarbruc¨ ken, 2004 Tag des Kolloquiums: 18.12.2003 Dekan: Prof. Dr. Slusallek Vorsitzender: Prof. Dr. Andreas Zeller Berichterstatter: Prof. Dr. Wolfgang Wahlster, Prof. Dr. Andreas Reuter Fur¨ Hermann und Martin in liebevollem Gedenken Abstract Ontologien sind derzeit ein viel diskutiertes Thema in Bereichen wie Wissens- management oder Enterprise Application Integration. Diese Arbeit stellt dar, wie Ontologien als Infrastruktur zur Entwicklung neuartiger Applikationen ver- wendet werden k¨onnen, die den User bei verschiedenen Arbeiten unterstutzen.¨ Aufbauend auf den im Rahmen des Semantischen Webs entstandenen Spezi- fikationen, werden drei wesentliche Beitr¨age geleistet. Zum einen stellen wir Inferenzmaschinen vor, die das Ausfuhren¨ von deklarativ spezifizierter Applika- tionslogik erlauben, wobei besonderes Augenmerk auf die Skalierbarkeit gelegt wird. Zum anderen schlagen wir mehrere L¨osungen zum Anschluss solcher Sys- teme an bestehende IT Infrastruktur vor. Dies beinhaltet den, unseres Wissens nach, ersten lauff¨ahigen Prototyp der die beiden aufstrebenden Felder des Se- mantischen Webs und Web Services verbindet. Schließlich stellen wir einige intelligente Applikationen vor, die auf Ontologien basieren und somit großteils von Werkzeugen automatisch generiert werden k¨onnen. Abstract Ontologies currently are a hot topic in the areas of knowledge management and enterprise application integration. In this thesis, we investigate how ontologies can also be used as an infrastructure for developing applications that intelli- gently support a user with various tasks. Based on recent developments in the area of the Semantic Web, we provide three major contributions. We introduce inference engines, which allow the execution of business logic that is specified in a declarative way, while putting strong emphasis on scalability and ease of use. Secondly, we suggest various solutions for interfacing applications that are de- veloped under this new paradigm with existing IT infrastructure. This includes the first running solution, to our knowledge, for combining the emerging areas of the Semantic Web and Web Services. Finally, we introduce a set of intelligent applications, which is built on top of ontologies and Semantic Web standards, providing a proof of concept that the engineering effort can largely be based on standard components. Abstract Ontologien sind derzeit ein viel diskutiertes Thema in Bereichen wie Wissens- management oder Enterprise Application Integration. Diese Arbeit stellt dar, wie Ontologien als Infrastruktur zur Entwicklung neuartiger Applikationen ver- wendet werden k¨onnen, die den User bei verschiedenen Arbeiten unterstutzen.¨ Hierbei werden die folgenden wesentlichen Fragestellungen beantwortet. 1. Wie viel und welche Art von semantisch gekennzeichneten Daten sind im Web derzeit verfugbar?¨ Wir suchen das Web mittels vier verschiedener Methoden nach RDF ab. Die gefundenen RDF Fakten werden aufgrund des Pr¨adikatnamespaces und dem Fundort analysiert. Die Resultate zeigen, dass RDF noch nicht von einer großen Nutzergruppe verwendet wird. Dennoch sind viel ver- sprechende Anzeichen wie die RDF Unterstutzung¨ der Adobe Werkzeuge zu erkennen. 2. K¨onnen Regeln und Ontologien in eine etablierte IT Landschaft aus Daten- bank und objektorientierten Programmiersprachen integriert werden? Wir pr¨asentieren die OntoJava und OntoSQL Inferenzmaschinen, die sich auf bew¨ahrte Technologien wie Java und relationale Datenbanken stutzten.¨ Dabei werden RDF Schema Ontologien und RuleML in Java beziehungsweise SQL ub¨ ersetzt. Trotz einiger inh¨arenter Einschr¨ankungen bew¨ahrten sich diese Werkzeuge als Basis fur¨ die Entwicklung weiterer Applikationen. Leistungstest zeigen, dass Datenbanken durchaus mit tra- ditionellen regelbasierten Inferenzmaschinen wie XSB mithalten k¨onnen. 3. K¨onnen Ontologien und Ereignis Bedingung Aktionsregeln zur Spezifika- tion des Verhaltens von Agenten verwendet werden? Die deklarative Spezifikation von Agenten ist ein sehr viel versprechender Ansatz, da er den Entwickler von vielen der Lasten befreit, die die Pro- grammierung von Agenten normalerweise mit sich bringt. Mit OntoAgent stellen wir eine Plattform vor, die es erlaubt einen Agenten komplett mit Standards des Semantischen Webs, insbesondere RDF, RDF Schema und RuleML, zu spezifizieren. Die Implementierung basiert auf OntoSQL und einigen Modulen zur Realisierung von Reaktionsregeln, einer Komman- dobibliothek und einer Kommunikationseinheit. Wir diskutieren ferner etliche der getroffenen Designentscheidungen. 4. Ist es m¨oglich semantisch gekennzeichnete Dienste ad hoc aufzurufen? Wir pr¨asentieren WSDF, eine semantische Annotation von Web Ser- vices basierend auf WSDL, RDF Schema und RuleML. Mit Hilfe eines WSDL Kompilers und unseres OntoSQL RuleML-SQL Konverters wird ein Klient in die Lage versetzt, die generische Beschreibung des Dien- stes in lauff¨ahigen Code umzusetzen. Dadurch ist lediglich eine gemein- same Ontologie die Voraussetzung fur¨ das Aufrufen des Dienstes. Ob- wohl wir uns auf die einfachste Form, n¨amlich Dienste ohne Seiteneffekte, beschr¨anken ist dies ein wesentlicher Schritt nach vorn, da bisher im- mer explizit gegen die Schnittstelle programmiert werden musste oder ein vorab bekanntes UDDI tModel implementiert sein musste. Verglichen mit anderen Ans¨atzen wie DAML-S oder WSMF bieten wir nicht nur die Sprache, sondern erstmals auch eine funktionierende Laufzeitumgebung die es dem Klienten erlaubt generische Dienste aufzurufen und die Ergeb- nisse korrekt zu interpretieren. 5. Ist es m¨oglich linguistische Funktionen mittels derselben Mechanismen zu verwirklichen, die auch zur Einbindung von anderen Informationsquellen verwendet werden? Die OntoLang und SmartDialog Sprachsysteme demonstrieren diese M¨oglichkeit. OntoLang verwendet linguistische Annotationen um ein- fache S¨atze zu verstehen und die darin enthaltenen Fakten in die RDF Wissensbasis einzufugen.¨ Dadurch ist OntoLang in der Lage ub¨ er die Inferenzmaschine mit beliebigen anderen Applikationen zu interagieren. 6. Bietet die einer Software zugrunde liegende Ontologie eine ausreichende Basis um verschiedenen Komponenten eine Kooperation zu erm¨oglichen? Angenommen die Ontologie ist sowohl in dem Datenmodell der Fakten- basis als auch in der Inferenz- und der Anfrageschicht vertreten, so zeigen wir, dass Applikationsteile ub¨ er diese Schnittstelle kooperieren k¨onnen. Das gemeinsame Datenmodell fungiert hierbei als Mediator. 7. Sind Ontologien bei der Entwicklung von komplexen Applikationen hilfre- ich? Wir stellen die Tragf¨ahigkeit unserer Konzepte dadurch unter Beweise, indem wir einige Beispielapplikationen mit unseren eigenen Werkzeugen entwickeln. SmartGuide und SmartDialog demonstrieren hierbei wie eine komplexe Document Retrieval Anwendung die den Nutzerkontext mit ein- bezieht und kl¨arende Fragen stellt mit vertretbarem Aufwand implemen- tiert werden kann. Abstract Ontologies currently are a hot topic in the areas of knowledge management and enterprise application integration. In this thesis, we investigate how on- tologies can also be used as an infrastructure for developing applications that intelligently support a user with various tasks. In particular, the following key questions are answered. 1. How much and what kind of semantically tagged data is available on the Web today? We crawled the Web for RDF data using four different search strategies. The RDF facts were analyzed according to their predicate namespaces and their location. The results show that RDF has not yet caught on with a large user community. However, there are promising signs such as Adobe supporting RDF in its tools. 2. Can rules and ontology be integrated into a mainstream IT infrastructure of databases and object oriented programming languages? We present the OntoJava and OntoSQL inference engines which leverage proven technologies such as Java and relational databases by translating RDF Schema ontologies and RuleML into Java and SQL respectively. De- spite some inherent limitations on the rule expressiveness, the tools prove to be a valuable backbone for application development. Performance mea- surements show that SQL databases can very well keep up with traditional rule engines such as XSB. 3. Can ontologies and event condition action rules be used to define the behavioral aspects of agents? Declaratively specifying agents is an extremely promising approach since it relieves programmers from many of the burdens that are usually inher- ent with the implementation of agent systems. We present OntoAgent, a framework, which builds on Boley et. al's idea of specifying an agent en- tirely using the Semantic Web mark-up languages RDF, RDF Schema, and RuleML. The implementation is based on OntoSQL and a set of add-ons for realizing reaction rules, a command library, and a messaging subsystem based on HTTP. Several design choices and trade-offs are discussed. 4. Is it possible to invoke a semantically tagged service on the fly? We present WSDF, a semantic annotation of Web Services based on the existing languages WSDL, RDFS, and RuleML. Using a WSDL compiler and our OntoSQL RuleML to SQL converter, a client application is able to process the generic descriptions into running code. Web Services can therefore be invoked simply by agreeing on