Academia.eduAcademia.edu

AI for the Web - Ontology-Based Community Web Portals

2000, Proceedings of the Seventeenth National Conference on Artificial Intelligence and Twelfth Conference on Innovative Applications of Artificial Intelligence

Community web portals serve as portals for the information needs of particular communities on the web. We here discuss how a comprehensive, ontology-based approach for building and maintaining a high-value community web portal has been conceived and implemented. The ontology serves as a semantic backbone for accessing knowledge on the portal, for contributing information, as well as for developing and maintaining the portal. In particular, the ontology allows for flexible querying and inferencing of knowledge. Actual usage of our technology is facilitated through a set of tools that are about to turn our research system into a portal for wide-spread usage right now. The development of these tools has greatly benefited from some first experiences we had with actual users of the community web portal of the knowledge acquisition community.

AI for the Web — Ontology-based Community Web Portals Steffen Staaba,b , Jürgen Angeleb , Stefan Deckera,b , Michael Erdmanna , Andreas Hothoa , Alexander Maedchea , Hans-Peter Schnurra,b , Rudi Studera,b , York Surea email: fstaab, angele, decker, erdmann, hotho, maedche, schnurr, studer, [email protected] a Institute AIFB, University of Karlsruhe, 76128 Karlsruhe, Germany http://www.aifb.uni-karlsruhe.de/WBS b ontoprise GmbH, Hermann-Löns-Weg 19, 76275 Ettlingen, Germany http://www.ontoprise.com Abstract Community web portals serve as portals for the information needs of particular communities on the web. We here discuss how a comprehensive, ontology-based approach for building and maintaining a high-value community web portal has been conceived and implemented. The ontology serves as a semantic backbone for accessing knowledge on the portal, for contributing information, as well as for developing and maintaining the portal. In particular, the ontology allows for flexible querying and inferencing of knowledge. Actual usage of our technology is facilitated through a set of tools that are about to turn our research system into a portal for wide-spread usage right now. The development of these tools has greatly benefited from some first experiences we had with actual users of the community web portal of the knowledge acquisition community. 1 Introduction One of the major strengths of the World Wide Web is that virtually everyone who owns a computer may contribute high-value information — the real challenge is to make valuable information be found. Search machines help with this task, but ultimately they fail to provide appropriatly structured views onto the web. From the very beginning of the web, communities of interest have formed that covered what they deemed to be of interest to their members in — what we here call — community web portals. Community web portals are similar to Yahoo!TM and its likes by their goal of presenting a structured view onto the web, however they are dissimilar by the way knowledge is provided in a collaborative process with only few resources (manpower, money) for maintaining and editing the portal. Thus, their is a need for automation of management of community web portals. Community web portals try to weave loose pieces of information into a coherent presentation adequate for sharing knowledge with the user. Support through ontologies appears as an appropriate means in order to facilitate the toolsupported structuring of knowledge. The ontology formally represents common knowledge and interests that people share within their community. It is used to support the major tasks of a portal, viz. accessing the portal through manifold, dynamic, conceptually plausible views onto the information Copyright c 2000, American Association for Artificial Intelligence (www.aaai.org). All rights reserved. of interest in a particular community (Section 2), and providing information in a number of ways that reflect different types of information resources held by the individuals (Section 3). The subsequent Section 4 shows how an ontologybased web portal may be developed and maintained using our set of methods and tools and how the overall architecture of the portal looks like. Before we conclude, we compare our work with related approaches (Section 5). The Example. The example that we draw from in the rest of this paper is the portal for the “Knowledge Annotation Initiative of the Knowledge Acquisition community” (KA2; cf. (Benjamins, Fensel, & Decker 1999)). The KA2 initiative has been conceived for semantic knowledge retrieval from the web building on knowledge created in the KA community. To structure knowledge, an ontology has been built in an international collaboration of researchers. The ontology constitutes the basis to annotate WWW documents of the knowledge acquisition community in order to enable intelligent access to these documents and to infer implicit knowledge from explicitly stated facts and rules from the ontology. Given this basic scenario, which may be easily transferred towards other settings for community web portals, we have investigated the techniques and built the tools that we describe in the rest of this paper. Nevertheless the reader may note that we have not yet achieved a complete integration of all tools and neither have we exploited all our technical capabilities in our up and running demonstration KA2 community web portal (http://ka2portal.aifb.uni-karlsruhe.de). 2 Accessing the Community Web Portal Navigating through a, maybe unknown, portal is a rather difficult task in general. Information retrieval may of course help, but it may also be more of a hindrance, because the user may not know the conceptualization that underlies the portal. Hence, we provide query and navigating capabilities and make the conceptual background transparent to the user. Our description of access capabilities in this section starts with the query capabilities of our representation framework. The framework builds on the very same F-Logic (Kifer, Lausen, & Wu 1995) mechanism for querying as it does for ontology representation and, thus, it may also exploit and explicate the ontological background knowledge. In addition to these facilities for explanation and exploration, the ontology also acts as a mediator between proprietary informa- 2.2 tion sources that provide additional background knowledge to the portal (cf. (Wiederhold & Genesereth 1997) on mediators). Nevertheless, F-Logic is as poorly suited for presentation to naive users as any other query language. Hence, its use is mostly disguised in various easy-to-use mechanisms that more properly serve the needs of the common user (cf. Section 2.2), while it still gives the editor all the power of the principal F-Logic representation and query capabilities. Finally in this section, we touch upon some very missioncritical issues of the actual inference engine that answers queries and derives new facts by combining facts with structures and rules from the ontology. 2.1 Usually it is too inconvenient for users to query the portal using F-Logic. Therefore, we offer a range of techniques that allow for navigating and querying the community web:  A hypertext link may contain a query which is dynamically evaluated when one clicks on the link. Browsing is realized by defining views on the top-level concepts of the KA2 ontology, such as Persons , Projects , Organizations , Publications , Research Topics and Events . For example clicking on the Projects hyperlink results in a query for all projects known to the portal. The query is evaluated and the results are presented to the user in a table.  A choice of concepts, instances, or combinations of both may be issued to the user in HTML forms. Choice options may be selected through check boxes or radio buttons. For instance, clicking on the Projects link (cf. upper part of Figure 1) an F-Logic query is evaluated and all projects contained in the portal are retrieved. The results can be restricted using topic-specific attributes contained in the KA2 ontology for projects, such as topics of a project, people involved etc. The selection list (e.g. for all people involved in projects) is generated dynamically from the information contained in the knowledge warehouse (cf. Section 3.4). Query Capabilities Though information may be provided in a number of different formats our underlying language for representation and querying is F-Logic. For instance, using a concrete example from our showcase the following query asks for all publications of the researcher “Steffen Staab”. (1) FORALL P ub EXISTS ResID ResID:Researcher [NAME \Steffen Staab"; PUBLICATION Pub℄: !! !! The substitutions for the variable Pub are the desired publications. The expressiveness and usability of such queries is strongly increased by the possibility to use a simple form of information retrieval using regular expressions whithin queries. In addition, the query capabilities enable using the background knowledge expressed in the KA2 ontology using rules. For example, one rule states that, two researchers cooperate, if a Researcher X works at a Project P roj and if a Researcher Y works at the same Project P roj and X is another person than Y . The rule is formulated in F-Logic as follows: (2) FORALL X X; Y; P roj : Researcher [COOPERATES W ITH X : Researcher [ WORKS AT P ROJECT AND Y : Researcher [ WORKS AT P ROJECT AND NOT equal(X; Y ): !! !! !! Y : Researcher ℄ P roj : Project ℄ P roj : Project ℄ If we take a look at web pages about research projects, typically information about the researchers (e.g. their names, their affiliation, ...) involved in the projects is explicitly stated in HTML. However, the fact that researchers who are working together in projects are cooperating is not explicitly stated on the web pages. A question might be: “Which researchers are cooperating with other researchers?” Querying for cooperating researchers the implicit information about project cooperation of researchers is retrieved. The query may be formulated using F-Logic: (3) FORALL ResID1; ResID2 ResID1: Researcher [COOPERATES W ITH Navigating and Querying the Portal Figure 1: Accessing the Community Web Portal  A query may also be generated by using the hyperbolic view interface. The hyperbolic view visualizes the ontology as a hierarchy of concepts. The presentation is based on hyperbolic geometry (cf. (Lamping, Rao, & Pirolli 1995)). When a user selects a node from the hyperbolic concept hierarchy, a form is presented which allows the user to select attributes or to insert values for the attributes. A result of the user request searching for the community member “Rudi Studer” and his photo is shown !! ResID2℄ : The result set includes explicit information about a researchers cooperation relationships, which are stored in the knowledge warehouse, and also implicit information about project cooperation between researchers derived using the project-cooperation rule modeled in (2).. 2 in the left part of Figure 1. Based on the selected node and the corresponding attributes, a query is compiled.  Furthermore, queries created by the hyperbolic view interface may be stored using the personalization feature. Queries are personalized for the different users and are available for the user in a selection list. The stored queries can be considered as semantic bookmarks. By selecting a previously created bookmark, the underlying query is evaluated and the updated results are presented to the user. By this way, every user may create a personalized view on the portal.  Finally, we offer an expert mode. The most technical (but also most powerful and flexible) way for querying the portal requires that F-Logic is typed in by the user. This way is only appropriate for users who are very familiar with F-Logic and the KA2 ontology. 2.3 come in many different (legacy) formats. Hence, one needs a set of methods and tools that may account for the diversity of information sources of potential interest to the community portal. These methods and tools must be able to cope with different syntactic mechanisms and they must be able to integrate different semantic formats based on the common ontology. Considering the syntactic and/or interface side, we support three major, different, modes of information provisioning: First, we handle metadata-based information sources that explicitly describe contents of documents on a semantic basis. Second, we align regularities found in documents or data structures with the corresponding semantic background knowledge in wrapper-based approaches. Third, we allow the direct provisioning of facts through our fact editor. All the information is brought together in the knowledge warehouse. Thus, it mediates between the original heterogeneous information sources. The Inference Engine The inference engine answers queries and it performs derivations of new knowledge by an combination of facts and the ontology. While the expressiveness of F-Logic and its Java powered realization in our inference engine is one of the major arguments for using it in a semantic community web portal, wide acceptance of a service like this also depends on prima facie unexciting features like speed of service. The principal problem we encounter here is that there exist worst case situations (not always recognizable as such by the user) where a very large set of facts must be derived by the inference engine in order to solve a particular query. While we cannot guarantee for extremely fast response times in all cases, unless we drastically cut back on the expressiveness of our representation formalism, we provide several strategies to cope with performance problems:  The inference engine may be configured to subsequently deliver answers to the query instead of waiting for the entire set of answers before these answers are presented to the user. This has the consequence that answers which are directly available as facts may be presented immediately while other anwers which have to be derived using rules are presented later.  The inference engine caches all facts and intermediate facts derived from earlier queries. Thus, similar queries or queries that build on previously derived facts may be answered fast.  Finally, we allow the inference engine to be split into several inference engines that execute in parallel. Every engine may run on a different processor or even a different computer. Every inference engine administers a subset of the rules and facts. A master engine coordinates user queries and distributes subqueries to the slave engines. These slave engines either answer these subqueries directly or distribute incoming subqueries to other inference engines. 3.1 Metadata-based Information Metadata-based information enriches documents with semantic information by explicitly adding metadata to the information sources. Over the last years several metadata languages have been proposed which can be used to annotate information sources. Current web standards can be handled within our semantic web portal approach. On the one hand, RDF (W3C 1999) facts serve as direct input for the knowledge warehouse, on the other hand, RDF facts can be generated from information contained in the portal knowledge warehouse. We developed SiLRI (Simple Logic-based RDF Interpreter), a logic-based inference engine implemented in Java that can draw inferences based on the RDF data model (Decker et al. 1998). XML provides the chance to get metadata for free, i.e. as a side product of defining the document structure. For this reason, we have developed a method and a tool called DTDMaker for generating DTDs out of ontologies (Erdmann & Studer 1999). DTDMaker derives an XML document type definition from a given ontology in FLogic, so that XML instances can be linked to an ontology. The linkage has the advantage that the document structure is grounded on a true semantic basis and, thus, facts from XML documents may be directly integrated into the knowledge warehouse. HTML-A, our HTML extension, adds annotations to HTML documents using an ontology as a metadata schema. HTML-A has the advantage to smoothly integrate semantic annotations into HTML and prevents the duplication of information. To facilitate the annotation of HTML, we have developed an HTML-A annotation tool called OntoPad. 3.2 Wrapper-based Information In general, annotating information sources by hand is a time consuming task. Often, however, annotation may be automated when one findes regularities in a larger number of documents. The principle idea behind wrapper-based information is that there are large information collections that have a similar structure. We here distinguish between semistructured information sources (e.g. HTML) and structured information sources (e.g. relational databases). 3 Providing Information An essential feature of a community web portal is the contribution of information from all (or at least many) members of the community. Though they share some common understanding, the pieces of information they may contribute may 3 Semi-structured Sources. In recent years several approaches have been proposed for wrapping semi-structured documents, such as HTML documents. Wrapper factories (cf. (Sahuguet & Azavant 1999)) have considerably facilitated the task of wrapper construction. In order to wrap directly into our knowledge warehouse we have developed our own wrapper approach OntoWrapper that directly aligns regularities in semi-structured documents with their corresponding ontological meaning. WebSite Design Requirement Eliciation Terminology Fact Editor Knowledge Warehouse The different methods and tools we have just described feed directly into the knowledge warehouse or indirectly when they are triggered by a web crawl. The warehouse itself hosts the ontology, i.e. the metadata level, as well as the data proper. The knowledge warehouse is indirectly accessed, through a user query or a query by an inference engine such as described in Section 2. Hence, one may take full advantage of the distribution capabilities of the inference engine and, likewise, separate the knowledge warehouse into several knowledge bases or knowledge marts. Facts and concepts are stored in a relational database, however, they are stored in a reified format that treats relations and concepts as first-order objects and that is therefore very flexible with regard to changes and amendments of the ontology. 4 4.1 Maintain The main stages of the development process and their key characteristics are given in the following:  The process starts with the elicitation of user requirements in the requirements elicitation phase. In this phase, requirements about important and interesting topics in the domain are collected, the information goals of potential users of the portal are elicited, and preferences or expectations concerning the structure and layout of presented information is documented. Results of this very first phase constitute the input for the design of the web site and for preliminary HTML pages and affect the formal domain model embodied in the ontology.  The requirements determine, e.g., which views and queries are useful for users of the portal, which navigation paths they expect, how different web pages are linked, or which functionality is provided in different areas of the portal. Requirements like these are realized in the web site design. This design phase may be performed independently to a very large extent from the underlying formal structuring, i.e. the ontology.  In parallel to the development of the structure and layout of the web site an ontology engineering process is started. The first phase elicits relevant domain terms that need to be refined and amended in the ontology engineering phase. First, the static ontology parts, i.e. the concept hierarchy, the attributes, and relations between concepts are formally defined. Thereafter, rules and constraints are developed. Rule development may incur a major revision of the concept hierarchy as consequence.  In the query development step the views and queries described in one of the earlier phases are formalized. At first, their functionality is tested independently from the web site design. To express the information needs formally, the developer has to access the ontology, whereby additional rules or relations that define new views or ease the definition of queries may become necessary.  Finally, web pages are populated, i.e. the queries and views developed during website design, and formalized and tested during query formalization are integrated into the operational portal. Information may be accessed via the portal as soon as a sufficient amount has been made available as outlined in Section 3. During operation of the community portal it must be fed and maintained:  The user community provides facts via numerous input channels (cf. Section 3). The process of providing new facts into the knowledge warehouse should be as easy as possible. For this reason we offer the Fact Editor, which is another mode in which the hyperbolic interface tool may be used. At this time the forms are not used to ask for values, but to introduce values for attributes of instances of a corresponding concept from the ontology. The Fact Editor is also used for maintaining the portal to add, modify, or delete facts. 3.4 Rule Development Query Formation Figure 2: The Development Process of the Community Web Portal Structured Sources. Though, in the KA2 community web there are no existing information systems, we would like to emphasize that existing databases and other legacy-systems may contain valuable information for building a community web portal. 3.3 Ontology Engineering Prov. facts Dynamic PORTAL Web Pages Development of Web Portals The Development and Maintenance Process Even with the methodological and tool support we have described so far, developing a web portal for a community of non-trivial size remains a complex task. Strictly ad-hoc rapid prototyping approaches easily doom the construction to fail or they easily lead up to unsatisfactory results. Hence, we have thought about a more principled approach towards the development process that serves as means for documenting development, as well as for communicating principal structures to co-developers and editors of the web portal. We distinguish different phases in the development process that are illustrated in Figure 2. For the main part this model is a sequential one. Nevertheless, at each stage there is an evaluation as to whether and as to how easily further development may proceed with the design decisions that have been accomplished before. The results feed back into the results of earlier stages of development. 4  These facts may contain errors or undesired contents, or the integration of different sources may lead to inconsistencies. To counter problems like these a person is responsible to detect these cases and act appropriately. The detection of inconsistencies is supported by the inference engine via constraints formulated in F-Logic. The editor then has to decide how to proceed. He may contact responsible authors of conflicting information, he may simply ignore it, or he may manually edit the information.  Changing requirements of the community must be reflected in the portal, e.g. popularity increasing in new fields of interests or technologies or viewpoints that shift may incur changes to the ontology, new queries, or even a new web site structure. In order to meet such new requirements, the above mentioned development process may have to be partially restarted. 4.2 levels of detail to the proof tree that visualize relevant rules and rule parts for tracing the derivation process. In addition, generated queries by the Query Builder can be directly embedded into HTML/JavaScript Templates. HTML/JavaScript Templates. Another time consuming activity is the development of the web pages that assemble queries from parts and that display the query results. For that purpose we have developed a library of template pages:  Templates with check boxes, radio boxes, and selection lists are available. These HTML forms produce data which are used in Javascript functions to generate queries.  The results of a query are fed into a template page as Javascript arrays. From these data different presentation forms may be generated: – A general purpose template contains a table that presents answer tuples returned by the inference engine in a HTML table. The template provides functions to sort the table in ascending or descending order on different columns. Substitutions of certain variables may be used as URLs for other entries in the table. Different data formats are recognized and processed according to their suffixes, i.e. a “.gif” or “.jpg” suffix is interpreted as a picture and rendered as such (cf. Figure 1 for an example). – Results may also be fed into selection lists, radio boxes, or check lists. Thus, query results can provide the initial setting of further HTML form fields. Tools for Development and Maintenance The previous subsection has described the principal steps for developing a community web portal. For efficient development of a community web portal, however, the process must be supported by tools. In the following, we describe the most important tools that allow us to facilitate and speed up the development and maintenance process. The tools cover the whole range from ontology engineering (OntoEdit), query formulation (Query Builder), up to the creation of dynamic web pages with the help of HTML/JavaScript templates. An overview of the tool suit is given in Table 1.  As a personalization feature of our web portal users store queries by assigning a personal label. All stored queries can be accessed through a selection list, to restart the query and retrieve the most up to date answers. This list of stored queries provides individual short cuts to often needed information. Table 1: Tool Suit for Community Portals Tool OntoEdit OntoPad Inference Engine OntoWrapper Query Builder Fact Editor Knowledge Warehouse HTML and JavaScript templates Hyperbolic View Description Ontology Engineering Environment HTML Annotation Tool Reasoning service for query answering Extracting information from semistructured documents Visual creation of queries Manual provision and maintenance of facts Fact base of the community web portal 5 Related Work Our work combines approaches from different areas and extends these concepts in many directions. We here just give a short survey of this related work — a more detailed comparison may be found in (Staab et al. 2000). Portals: Typically, portals like Yahoo! TM are indices of web pages that are maintained by editors that manually classify web documents into a tree-like taxonomy of topics. In contrast to our approach those portals only utilize a very lightweight ontology that solely consists of categories arranged in a hierarchical manner. Due to its weak ontology Yahoo! cannot extend given information with facts derived by ontological axioms. A community focused and ontology-based portal is RiboWeb (Altmann et al. 1999) that offers ribosome data and computational models for their processing. RiboWeb specifies ontologies in OKBC (Chaudri et al. 1998). The primary source of data is given by scientific literature which is manually linked to the different ontologies. Both systems, RiboWeb and our community portal, rely on ontologies for offering a semantic-based access to the stored data. However, the OKBC component of RiboWeb does not support the kind of automatic deduction that is offered by the inference engine of Ontobroker. Furthermore, RiboWeb does Support the development of virtual HTML pages Visual querying the community web portal OntoEdit. OntoEdit is a Ontology Engineering Environment delivering a wide range of functionalities for the engineering of ontologies including the modeling of concepts, relations, rules, and general ontology metadata (cf. (Maedche et al. 2000)). It includes several views on the modeling primitives that enable the user to state common legalities (e.g. the symmetry of the cooperation relationship between two persons). Query Builder. While queries with low complexity can be expressed in F-Logic using the rule debugger alone, in other cases it is more convenient to create queries using our Query Builder tool. Such queries may then be integrated as links in a web page within a web editor by copying and pasting it into the web editors form. The Query Builder also contains a rule debugger, providing different views on different 5 References not include wrappers for automatically extracting information from the given published articles. On the other hand, the computational modules of RiboWeb offer processing functionalities that are not part of (but also not intended for) our community web portal. Database approaches: STRUDEL (Fernandez et al. 1998) and Hyperwave (Maurer 1996) apply concepts from database management systems to the process of building Web sites. They use database queries to generate web pages from database contents — allowing for multiple views onto the same content. When compared to our approach, these systems lack the semantic level that is provided in our approach by the domain ontology and the associated inference engine. Knowledge representation for the web: The Ontobroker project (Decker et al. 1999) lays the technological foundations for the KA2 portal. Similar to Ontobroker are SHOE (Luke et al. 1997) and WebKB (Martin & Eklund 1999). All three systems aim at providing intelligent access to Web documents (though, with different means). However, they all lack an environment of methods and tools that are needed to build a community portal on their top and, thus, to make an application out of a core technology. From our point of view, our community portal system is a rather unique AI application with respect to the collection of methods used and the functionality provided. Our approach for accessing information, providing information and maintaining the portal are more comprehensive than those found in other portals. We are able to offer this functionality since our backbone system Ontobroker and its add-ons provide more powerful techniques for e.g. inferencing or extracting information from various sources than those offered by comparable systems. Altmann, R.; Bada, M.; Chai, X.; Carillo, M. W.; Chen, R.; and Abernethy, N. 1999. RiboWeb: An Ontology-based System for Collaborative Molecular Biology. IEEE Intelligent Systems 14(5):68–76. Benjamins, R.; Fensel, D.; and Decker, S. 1999. KA2: Building Ontologies for the Internet: A Midterm Report. International Journal of Human Computer Studies 51(3):687. Chaudri, V.; Farquhar, A.; Fikes, R.; Karp, P.; and Rice, J. 1998. OKBC: A Programmatic Foundation for Knowledge Base Interoperability. In Proceedings 15th National Conference on Artificial Intelligence (AAAI-98), 600–607. Decker, S.; Brickley, D.; Saarela, J.; and Angele, J. 1998. A Query and Inference Service for RDF. In Proceedings of the W3C Query Language Workshop (QL-98), December 3-4. Decker, S.; Erdmann, M.; Fensel, D.; and Studer, R. 1999. Ontobroker: Ontology Based Access to Distributed and SemiStructured Information. In Meersman, R., et al., eds., Database Semantics: Semantic Issues in Multimedia Systems. Kluwer Academic Publisher. 351–369. Erdmann, M., and Studer, R. 1999. Ontologies as Conceptual Models for XML Documents. In Proceedings of the 12th International Workshop on Knowledge Acquisition, Modelling and Mangement (KAW’99), Banff, Canada, October. Fernandez, M.; Florescu, D.; Kang, J.; and Levy, A. 1998. Catching the Boat with Strudel: Experiences with a Web-Site Management System. In Proceedings of the 1998 ACM Int. Conf. on Management of Data (SIGMOD’98) , Seattle, WA. Kifer, M.; Lausen, G.; and Wu, J. 1995. Logical Foundations of Object-Oriented and Frame-Based Languages. Journal of the ACM 42. Lamping, L.; Rao, R.; and Pirolli, P. 1995. A Focus+Context Technique Based on Hyperbolic Geometry for Visualizing Large Hierarchies. In Proceedings of the ACM SIGCHI Conference on Human Factors in Computing Systems. Luke, S.; Spector, L.; Rager, D.; and Hendler, J. 1997. Ontologybased Web Agents. In Proceedings of First International Conference on Autonomous Agents. Maedche, A.; Schnurr, H.-P.; Staab, S.; and Studer, R. 2000. Representation language-neutral modeling of ontologies. In Modellierung-2000: Proceedings of the German Workshop on Modeling. Koblenz, April, 2000. Fölbach-Verlag. Martin, P., and Eklund, P. 1999. Embedding Knowledge in Web Documents. In Proceedings of the 8th Int. World Wide Web Conf. (WWW‘8), Toronto, May 1999. Elsevier Science B.V. Maurer, H. 1996. Hyperwave. The Next Generation Web Solution. Addison Wesley. Sahuguet, A., and Azavant, F. 1999. Wysiwyg Web Wrapper Factory (W4F). Technical report. http://db.cis.upenn.edu/DL/WWW8/index.html. Staab, S.; Angele, J.; Decker, S.; Erdmann, M.; Hotho, A.; Maedche, A.; Studer, R.; and Sure, Y. 2000. Semantic Community Web Portals. In Proceedings of the 9th World Wide Web Conference (WWW-9), Amsterdam, Netherlands. W3C. 1999. RDF Schema Specification. http://www.w3.org/TR/PR-rdf-schema/. Wiederhold, G., and Genesereth, M. 1997. The Conceptual Basis for Mediation Services. IEEE Expert / Intelligent Systems 12(5):38–47. 6 Conclusion We have demonstrated in this paper how a community may build a community web portal. The portal is centered around an ontology that structures information for the purpose of presenting and provisoning information, as well as for the development and maintenance of the portal. We have described a particular application, the KA2 community web portal, that illustrates some of our techniques and methods.In particular, we have developed a set of ontology-based tools that allow to present multiple views onto the same information appropriate for browsing, querying, and personalizing web pages. Queries are responded to by an inference engine for F(rame)-Logic that integrates knowledge from many different sources. For the future we are planning to integrate several semiautomatic information extraction-based approaches supporting the information provisoning part of our portal framework. Ontology revision and maintenance and the impact on the facts stored in the knowledge warehouse are currently not well understood and have to be researched further. 6