Recommended references on ontologies and the semantic Web

 

Ontologies: Principles, methods and applications

Uschold, M., Gruninger, M.     1996     Knowledge Engineering Review 11 (2), pp. 93-136

This paper is intended to serve as a comprehensive introduction to the emerging field concerned with the design and use of ontologies. We observe that disparate backgrounds, languages, tools and techniques are a major barrier to effective communication among people, organisations and/or software systems. We show how the development and implementation of an explicit account of a shared understanding (i.e. an "ontology") in a given subject area, can improve such communication, which in turn, can give rise to greater reuse and sharing, inter-operability, and more reliable software. After motivating their need, we clarify just what ontologies are and what purposes they serve. We outline a methodology for developing and evaluating ontologies, first discussing informal techniques, concerning such issues as scoping, handling ambiguity, reaching agreement and producing definitions. We then consider the benefits of and describe, a more formal approach. We re-visit the scoping phase, and discuss the role of formal languages and techniques in the specification, implementation and evaluation of ontologies. Finally, we review the state of the art and practice in this emerging field, considering various case studies, software tools for ontology development, key research issues and future prospects.

 

What are ontologies, and why do we need them?

Chandrasekaran, B., Josephson, J.R., Benjamins, V.R.     1999     IEEE Intelligent Systems and Their Applications 14 (1), pp. 20-26

This survey provides a conceptual introduction to ontologies and their role in information systems and ai. The authors also discuss how ontologies clarify the domain's structure of knowledge and enable knowledge sharing.

 

From SHIQ and RDF to OWL: The making of a Web Ontology Language

Horrocks, I., Patel-Schneider, P.F., Van Harmelen, F.     2003     Web Semantics 1 (1), pp. 7-26   

The OWL Web Ontology Language is a new formal language for representing ontologies in the Semantic Web. OWL has features from several families of representation languages, including primarily Description Logics and frames. OWL also shares many characteristics with RDF, the W3C base of the Semantic Web. In this paper, we discuss how the philosophy and features of OWL can be traced back to these older formalisms, with modifications driven by several other constraints on OWL. Several interesting problems have arisen where these influences on OWL have clashed.

 

Ontology learning for the semantic web

Maedche, A., Staab, S.     2001     IEEE Intelligent Systems and Their Applications 16 (2), pp. 72-79

 

Determining semantic similarity among entity classes from different ontologies

Rodr’guez, M.A., Egenhofer, M.J.     2003     IEEE Transactions on Knowledge and Data Engineering 15 (2), pp. 442-456   

Semantic similarity measures play an important role In information retrieval and information integration. Traditional approaches to modeling semantic similarity compute the semantic distance between definitions within a single ontology. This single ontology is either a domain-independent ontology or the result of the integration of existing ontologies. We present an approach to computing semantic similarity that relaxes the requirement of a single ontology and accounts for differences in the levels of explicitness and formalization of the different ontology specifications. A similarity function determines similar entity classes by using a matching process over synonym sets, semantic neighborhoods, and distinguishing features that are classified into parts, functions, and attributes. Experimental results with different ontologies indicate that the model gives good results when ontologies have complete and detailed representations of entity classes. While the combination of word matching and semantic neighborhood matching Is adequate for detecting equivalent entity classes, feature matching allows us to discriminate among similar, but not necessarily equivalent entity classes.

 

Ontology mapping: The state of the art

Kalfoglou, Y., Schorlemmer, M.     2003     Knowledge Engineering Review 18 (1), pp. 1-31   

Ontology mapping is seen as a solution provider in today's landscape of ontology research. As the number of ontologies that are made publicly available and accessible on the Web increases steadily, so does the need for applications to use them. A single ontology is no longer enough to support the tasks envisaged by a distributed environment like the Semantic Web. Multiple ontologies need to be accessed from several applications. Mapping could provide a common layer from which several ontologies could be accessed and hence could exchange information in semantically sound manners. Developing such mappings has been the focus of a variety of works originating from diverse communities over a number of years. In this article we comprehensively review and present these works. We also provide insights on the pragmatics of ontology mapping and elaborate on a theoretical approach for defining ontology mapping.

 

The enterprise ontology

Uschold, M., King, M., Moralee, S., Zorgios, Y.     1998     Knowledge Engineering Review 13 (1), pp. 31-89   

This is a comprehensive description of the Enterprise Ontology, a collection of terms and definitions relevant to business enterprises. We state its intended purposes, describe how we went about building it, define all the terms and describe our experiences in converting these into formal definitions. We then describe how we used the Enterprise Ontology and give an evaluation which compares the actual uses with original purposes. We conclude by summarising what we have learned. The Enterprise Ontology was developed within the Enterprise Project, a collaborative effort to provide a framework for enterprise modelling. The ontology was built to serve as a basis for this framework which includes methods and a computer tool set for enterprise modelling. We give an overview of the Enterprise Project, elaborate on the intended use of the ontology, and give a brief overview of the process we went through to build it. The scope of the Enterprise Ontology covers those core concepts required for the project, which will appeal to a wider audience. We present natural language definitions for all the terms, starting with the foundational concepts (e.g. entity, relationship, actor). These are used to define the main body of terms, which are divided into the following subject areas: activities, organisation, strategy and marketing. We review some of the things learned during the formalisation process of converting the natural language definitions into Ontolingua. We identify and propose solutions for what may be general problems occurring in the development of a wide range of ontologies in other domains. We then characterise in general terms the sorts of issues that will be faced when converting an informal ontology into a formal one. Finally, we describe our experiences in using the Enterprise Ontology. We compare these with the intended uses, noting our successes and failures. We conclude with an overall evaluation and summary of what we have learned.

 

Using explicit ontologies in KBS development

Van Heijst, G., Schreiber, A.Th., Wielinga, B.J.     1997     International Journal of Human Computer Studies 46 (2-3), pp. 183-292   

This article presents a number of ways in which ontologies - schematic descriptions of the contents of domain knowledge - can be constructed and can be used to improve the knowledge engineering process. The main message is that early in the knowledge engineering process an application-specific ontology should be constructed. To facilitate this, the article presents some principles for organizing a library of reusable ontological theories which can be configured into an application ontology. This application ontology is then exploited to organize the knowledge acquisition process and to support computational design. The process is illustrated with a knowledge engineering scenario in the domain of treating acute radiation syndrome.

 

Knowledge processes and ontologies

Staab, S., Studer, R., Schnurr, H.-P., Sure, Y.     2001     IEEE Intelligent Systems and Their Applications 16 (1), pp. 26-34   

An approach for ontology-based knowledge management (KM) that includes a suite of ontology-based tools as well as a methodology for developing ontology-based KM systems is presented. The approach is illustrated by CHAR, a knowledge management system for corporate history analysis.

 

OBSERVER: An Approach for Query Processing in Global Information Systems Based on Interoperation Across Pre-Existing Ontologies

Mena, E., Illarramendi, A., Kashyap, V., Sheth, A.P.     2000     Distributed and Parallel Databases 8 (2), pp. 223-271   

There has been an explosion in the types, availability and volume of data accessible in an information system, thanks to the World Wide Web (the Web) and related inter-networking technologies. In this environment, there is a critical need to replace or complement earlier database integration approaches and current browsing and keyword-based techniques with concept-based approaches. Ontologies are increasingly becoming accepted as an important part of any concept or semantics based solution, and there is increasing realization that any viable solution will need to support multiple ontologies that may be independently developed and managed. In particular, we consider the use of concepts from pre-existing real world domain ontologies for describing the content of the underlying data repositories. The most challenging issue in this approach is that of vocabulary sharing, which involves dealing with the use of different terms or concepts to describe similar information. In this paper, we describe the architecture, design and implementation of the OBSERVER system. Brokering across the domain ontologies is enabled by representing and utilizing interontology relationships such as (but not limited to) synonyms, hyponyms and hypernyms across terms in different ontologies. User queries are rewritten by using these relationships to obtain translations across ontologies. Well established metrics like precision and recall based on the extensions underlying the concepts are used to estimate the loss of information, if any.

 

The state of the art in ontology design: A survey and comparative review

Noy, N.F., Hafner, C.D.     1997     AI Magazine 18 (3), pp. 53-74   

In this article, we develop a framework for comparing ontologies and place a number of the more prominent ontologies into it. We have selected 10 specific projects for this study, including general ontologies, domain-specific ones, and one knowledge representation system. The comparison framework includes general characteristics, such as the purpose of an ontology, its coverage (general or domain specific), its size, and the formalism used. It also includes the design process used in creating an ontology and the methods used to evaluate it. Characteristics that describe the content of an ontology include taxonomic organization, types of concept covered, top-level divisions, internal structure of concepts, representation of part-whole relations, and the presence and nature of additional axioms. Finally, we consider what experiments or applications have used the ontologies. Knowledge sharing and reuse will require a common framework to support interoperability of independently created ontologies. Our study shows there is great diversity in the way ontologies are designed and the way they represent the world. By identifying the similarities and differences among existing ontologies, we clarify the range of alternatives in creating a standard framework for ontology design.

 

Understanding, building and using ontologies

Guarino, N.     1997     International Journal of Human Computer Studies 46 (2-3), pp. 293-310   

I defend here the thesis of the independence between domain knowledge and problem-solving knowledge, arguing against the dominance of the so-called "interaction problem" mentioned in a recent paper by Van Heijst, Schreiber and Wielinga to dispute the feasibility of a single domain ontology shared by a number of different applications. The main point is that reusability across multiple tasks or methods can and should be systematically pursued even when modelling knowledge related to a single task or method. Under this view, I discuss how the principles of formal ontology and ontological engineering can be used in the practice of knowledge engineering, focusing in particular on the interplay between general ontologies, method ontologies and application ontologies, and on the role of ontologies in the knowledge engineering process. I will then stress the role of domain analysis, often absent in current methodologies for the development of knowledge-based systems.

 

The PROMPT suite: Interactive tools for ontology merging and mapping

Noy, N.F., Musen, M.A.     2003     International Journal of Human Computer Studies 59 (6), pp. 983-1024   

Researchers in the ontology-design field have developed the content for ontologies in many domain areas. This distributed nature of ontology development has led to a large number of ontologies covering overlapping domains. In order for these ontologies to be reused, they first need to be merged or aligned to one another. We developed a suite of tools for managing multiple ontologies. These suite provides users with a uniform framework for comparing, aligning, and merging ontologies, maintaining versions, translating between different formalisms. Two of the tools in the suite support semi-automatic ontology merging: iPrompt is an interactive ontology-merging tool that guides the user through the merging process, presenting him with suggestions for next steps and identifying inconsistencies and potential problems. AnchorPrompt uses a graph structure of ontologies to find correlation between concepts and to provide additional information for iPrompt.

 

Learning to match ontologies on the Semantic Web

Doan, A.H., Madhavan, J., Dhamankar, R., Domingos, P., Halevy, A.     2003     VLDB Journal 12 (4), pp. 303-319   

On the Semantic Web, data will inevitably come from many different ontologies, and information processing across ontologies is not possible without knowing the semantic mapping between them. Manually finding such mappings is tedious, error-prone, and clearly not possible on the Web scale. Hence the development of tools to assist in the ontology mapping process is crucial to the success of the Semantic Web. We described GLUE, a system that employs machine learning techniques to find such mappings. Given two ontologies, for each concept in one ontology GLUE finds the most similar concept in the other ontology. We give well-founded probabilistic definitions to several practical similarity measures and show that GLUE can work with all of them. Another key feature of GLUE is that it uses multiple learning strategies, each of which exploits well a different type of information either in the data instances or in the taxonomic structure of the ontologies. To further improve matching accuracy, we extend GLUE to incorporate commonsense knowledge and domain constraints into the matching process. Our approach is thus distinguished in that it works with a variety of well-defined similarity notions and that is efficiently incorporates multiple types of knowledge. We describe a set of experiments on several real-world domains and show that GLUE proposes highly accurate semantic mappings. Finally, we extend GLUE to find complex mappings between ontologies and describe experiments that show the promise of the approach.

 

Semantic web services

McIlraith, S.A., Son, T.C., Zeng, H.     2001     IEEE Intelligent Systems and Their Applications 16 (2), pp. 46-53   

The Web is gradually evolving as provider of services along with its text and image processing functions. Web services markup is proposed in the Defense advance research project agency's agent markup language (DAML) family of semantic Webmarkup languages. The markup provide an agent-independant declarative API to capture the data and metadata associated with a service. Sharing, reuse, composition, mapping and succint local Web service markup is facilitated by the exploitation of ontologies by markup. A wide variety of agent technologies for automated Web services discovery, execution, composition and interoperation is enabled by this markup.

 

Agents and the semantic web

Hendler, J.     2001     IEEE Intelligent Systems and Their Applications 16 (2), pp. 30-37   

Ontologies are required to bring communicating multiagent systems to the Web. There will be less human intervention in the programs to perform tasks for the users more efficiently with the integration of agent technologyand ontilogies. It will enable vision comprising agents running around the Web performing complex actions for their users.

 

Creating semantic web contents with protŽgŽ-2000

Noy, N.F., Sintek, M., Decker, S., CrubŽzy, M., Fergerson, R.W., Musen, M.A.     2001     IEEE Intelligent Systems and Their Applications 16 (2), pp. 60-71   

In order to express information in aprecise machine-interpretable form, Semantic Web is required. An understanding of what the terms describing a data mean is shared by the software agents processing the data. A tool, Protege-2000 has been proposed for Semantic Web development and knowledge acquisition. This can be used for editing models in different Semantic Web languages. Ontologies have been used by Artificial Intelligence researchers to express a shared understanding of information.

 

Composing web services on the Semantic Web

Medjahed, B., Bouguettaya, A., Elmagarmid, A.K.     2003     VLDB Journal 12 (4), pp. 333-351   

Service composition is gaining momentum as the potential silver bullet for the envisioned Semantic Web. It purports to take the Web to unexplored efficiencies and provide a flexible approach for promoting all types of activities in tomorrow's Web. Applications expected to heavily take advantage of Web service composition include B2B E-commerce and E-government. To date, enabling composite services has largely been an ad hoc, time-consuming, and error-prone process involving repetitive low-level programming. In this paper, we propose an ontology-based framework for the automatic composition of Web services. We present a technique to generate composite services from high-level declarative descriptions. We define formal safeguards for meaningful composition through the use of composability rules. These rules compare the syntactic and semantic features of Web services to determine whether two services are composable. We provide an implementation using an E-government application offering customized services to indigent citizens. Finally, we present an exhaustive performance experiment to assess the scalability of our approach.

 

Automated discovery, interaction and composition of Semantic Web services

Sycara, K., Paolucci, M., Ankolekar, A., Srinivasan, N.     2003     Web Semantics 1 (1), pp. 27-46   

In this paper, we introduce a vision for Semantic Web services which combines the growing Web services architecture and the Semantic Web and we will propose DAML-S as a prototypical example of an ontology for describing Semantic Web services. Furthermore, we show that DAML-S is not just an abstract description, but it can be efficiently implemented to support capability matching and to manage interaction between Web services. Specifically, we will describe the implementation of the DAML-S/UDDI Matchmaker that expands on UDDI by providing semantic capability matching, and we will present the DAML-S Virtual Machine that uses the DAML-S Process Model to manage the interaction with Web service. We will also show that the use of DAML-S does not produce a performance penalty during the normal operation of Web services.

Service composition is gaining momentum as the potential silver bullet for the envisioned Semantic Web. It purports to take the Web to unexplored efficiencies and provide a flexible approach for promoting all types of activities in tomorrow's Web. Applications expected to heavily take advantage of Web service composition include B2B E-commerce and E-government. To date, enabling composite services has largely been an ad hoc, time-consuming, and error-prone process involving repetitive low-level programming. In this paper, we propose an ontology-based framework for the automatic composition of Web services. We present a technique to generate composite services from high-level declarative descriptions. We define formal safeguards for meaningful composition through the use of composability rules. These rules compare the syntactic and semantic features of Web services to determine whether two services are composable. We provide an implementation using an E-government application offering customized services to indigent citizens. Finally, we present an exhaustive performance experiment to assess the scalability of our approach.

 

Semantic Web: The roles of XML and RDF

Decker, S., Melnik, S., Van Harmelen, F., Fensel, D., Klein, M., Broekstra, J., Erdmann, M., Horrocks, I.     2000     IEEE Internet Computing 4 (5), pp. 63-74   

The role of ontologies in the architecture of the Semantic Web was described. Extensible markup language (XML) and resource description framework (RDF) are the current standards for establishing semantic interoperability on the Web, but XML addresses only document structure. RDF better facilitates interoperation because it provides a data model that can be extended to address sophisticated ontology representation techniques. A general method for encoding ontology representation languages into RDF/RDF schema was proposed to establish a inference layer on top of the Web's current layers.

 

Ontology languages for the semantic web

G—mez-PŽrez, A., Corcho, O.     2002     IEEE Intelligent Systems and Their Applications 17 (1), pp. 54-60   

Ontologies have proven to be an essential element in many applications. In particular, ontologies are useful for applications in which knowledge plays a key role and also trigger a major change in current Web contents. The most representative ontology languages created for the Web are analyzed and compared using a common framework.

 

Filtering and selecting semantic web services with interactive composition techniques

Sirin, E., Parsia, B., Hendler, J.     2004     IEEE Intelligent Systems 19 (4), pp. 42-49   

The utility of Semantic Web Service descriptions for service composition is discussed. A goal-oriented, interactive composition approach, that uses matchmaking algorithms, help users to filter and select services while building the composition. Web services provide interoperability between diverse applications, using platform- and language-independent interfaces for easily integrating heterogeneous systems. The service composition in the current framework requires a human in the loop. A human who has the domain knowledge for the task must guide the overall composition process while the composer determines the relevant choices at each step.

 

DAML+OIL: An ontology language for the Semantic Web

McGuinness, D.L., Fikes, R., Hendler, J., Stein, L.A.     2002     IEEE Intelligent Systems 17 (5), pp. 72-80   

By all measures, the Web is enormous and growing at a staggering rate, which has made it increasingly difficult-and important-for both people and programs to get quick and accurate access to Web information and services. The Semantic Web offers a solution, capturing and exploiting the meaning of terms to transform the Web from a platform that focuses on understanding and reasoning with information. This paper focuses on Defense Advanced Research projects Agency Agent markup Language's (DAML's) current markup language, DAML+OIL, which is a proposed starting point for the W3C's Semantic Web Activity's Ontology Web Language (OWL).

 

A conceptual architecture for Semantic Web enabled web services

Bussler, C., Fensel, D., Maedche, A.     2002     SIGMOD Record 31 (4), pp. 24-29   

Semantic Web Enabled Web Services (SWWS) will transform the web from a static collection of information into a distributed device of computation on the basis of Semantic Web technology making content within the World Wide Web machine-processable and machine-interpretable. Semantic Web Enabled Web Services will allow the automatic discovery, selection and execution of inter-organization business logic making areas like dynamic supply chain composition a reality. In this paper we introduce the vision of Semantic Web Enabled Web Services, describe requirements for building semantics-driven web services and sketch a first draft of a conceptual architecture for implementing semantic web enabled web services.

 

Managing multiple and distributed ontologies on the Semantic Web

Maedche, A., Motik, B., Stojanovic, L.     2003     VLDB Journal 12 (4), pp. 286-302   

In traditional software systems, significant attention is devoted to keeping modules well separated and coherent with respect to functionality, thus ensuring that changes in the system are localized to a handful of modules. Reuse is seen as the key method in reaching that goal. Ontology-based systems on the Semantic Web are just a special class of software systems, so the same principles apply. In this article, we present an integrated framework for managing multiple and distributed ontologies on the Semant ic Web. It is based on the representation model for ontologies, trading off between expressivity and tractability. In our framework, we provide features for reusing existing ontologies and for evolving them while retaining the consistency. The approach is implemented within KAON, the Karlsruhe Ontology and Semantic Web tool suite.

 

Autonomous semantic web services

Paolucci, M., Sycara, K.     2003     IEEE Internet Computing 7 (5), pp. 34-41   

As a first step toward the vision of using the Semantic Web to support capability-based discovery and interoperation at runtime, formal languages and inference mechanisms for representing and reasoning with core Web service concepts need to be developed. The DARPA Agent Markup Language for Services (DAML-S) is the first attempt to define such a language. This paper describes DAML-S and some example computational models that show how it can be viewed as the first step in bridging the gap between the Semantic Web and proposed industry standards for Web services.

 

The semantic web: Yet another hip?

Ding, Y., Fensel, D., Klein, M., Omelayenko, B.     2002     Data and Knowledge Engineering 41 (2-3), pp. 205-227   

Currently, computers are changing from single, isolated devices into entry points to a worldwide network of information exchange and business transactions called the World Wide Web (WWW). For this reason, support in data, information, and knowledge exchange has become a key issue in current computer technology. The success of the WWW has made it increasingly difficult to find, access, present, and maintain the information required by a wide variety of users. In response to this problem, many new research initiatives and commercial enterprises have been set up to enrich available information with machine processable semantics. This semantic web will provide intelligent access to heterogeneous, distributed information, enabling software products (agents) to mediate between user needs and the information sources available. This paper summarizes ongoing research in the area of the semantic web, focusing especially on ontology technology.

 

Dynamic discovery and coordination of agent-based semantic web services

Sycara, K., Paolucci, M., Soudry, J., Srinivasan, N.     2004     IEEE Internet Computing 8 (3), pp. 66-73   

Matchmaking and brokering are multiagent coordination mechanisms for Web services. Both have performance trade-offs, but the Web Ontology Language for Semantic Web Services (OWL-S) can handle extensions that address some of the shortcomings. In this article, the authors focus on the broker, analyzing both its interaction protocol and reasoning tasks. The authors also describe OWL-S's exec extensions, detail their implementation's basic features, and explain how these features address the broker's reasoning problems.

 

Managing semantic content for the Web

Sheth, A., Bertram, C., Avant, D., Hammond, B., Kochut, K., Warke, Y.     2002     IEEE Internet Computing 6 (4), pp. 80-87   

The management of the semantic content for the web was discussed. Semantic Content Organization and Retrieval Engine (SCORE) provides facilities to define ontological components that software agents could maintain. Syntactic metadata describe noncontextutal information about content, such as language, bit rate, and format. Semantic metadata describe domain-specific information about the content. Ontologies provide the context for semantic metadata.

 

Ontology based context modeling and reasoning using OWL

Wang, X.H., Zhang, D.Q., Gu, T., Pung, H.K.     2004     Proceedings - Second IEEE Annual Conference on Pervasive Computing and Communications, Workshops, PerCom, pp. 18-22   

In this paper we propose an OWL encoded context ontology (CONON) for modeling context in pervasive computing environments, and for supporting logic-based context reasoning. CONON provides an upper context ontology that captures general concepts about basic context, and also provides extensibility for adding domain-specific ontology in a hierarchical manner. Based on this context ontology, we have studied the use of logic reasoning to check the consistency of context information, and to reason over low-level, explicit context to derive high-level, implicit context. By giving a performance study for our prototype, we quantitatively evaluate the feasibility of logic based context reasoning for nontime-critical applications in pervasive computing environments, where we always have to deal carefully with the limitation of computational resources.

 

C-OWL: Contextualizing ontologies

Bouquet, P., Giunchiglia, F., Van Harmelen, F., Serafini, L., Stuckenschmidt, H.     2003     Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) 2870, pp. 164-179   

Ontologies are shared models of a domain that encode a view which is common to a set of different parties. Contexts are local models that encode a party's subjective view of a domain. In this paper we show how ontologies can be contextualized, thus acquiring certain useful properties that a pure shared approach cannot provide. We say that an ontology is contextualized or, also, that it is a contextual ontology, when its contents are kept local, and therefore not shared with other ontologies, and mapped with the contents of other ontologies via explicit (context) mappings. The result is Context OWL (C-OWL), a language whose syntax and semantics have been obtained by extending the OWL syntax and semantics to allow for the representation of contextual ontologies.

 

Foundations for service ontologies: Aligning OWL-S to DOLCE

Mika, P., Gangemi, A., Oberle, D., Sabou, M.     2004     Thirteenth International World Wide Web Conference Proceedings, WWW2004, pp. 563-572   

Clarity in semantics and a rich formalization of this semantics are important requirements for ontologies designed to be deployed in large-scale, open, distributed systems such as the envisioned Semantic Web. This is especially important for the description of Web Services, which should enable complex tasks involving multiple agents. As one of the first initiatives of the Semantic Web community for describing Web Services, OWL-S attracts a lot of interest even though it is still under development. We identify problematic aspects of OWL-S and suggest enhancements through alignment to a foundational ontology. Another contribution of our work is the Core Ontology of Services that tries to fill the epistemological gap between the foundational ontology and OWL-S. It can be reused to align other Web Service description languages as well. Finally, we demonstrate the applicability of our work by aligning OWL-S' standard example called CongoBuy.