This book begins with a definition of an ontology: “An ontology typically provides a vocabulary describing a domain of interest and a specification of the meaning of terms in that vocabulary.” In other words, an ontology is how we describe a person, place, thing, or event. This is a universal task for anyone working with databases, Extensible Markup Language (XML), the semantic Web, digital libraries, or similar applications. Unless there is an agreed upon vocabulary, the description and framework of an entity become idiosyncratic. Ontologies describing the same object may differ because they have different purposes. Even if the structures are identical, the terms employed may differ; if the terms are the same, the structures may differ. Ways of bridging the gap between different ontologies are needed so that descriptive frameworks are not isolated and independent, but become portions of a more encompassing structure.
The book is a rather encyclopedic survey of research on ontology matching; it’s not a textbook, although it has many elements of good textbook writing. The introduction carefully and succinctly describes the problem, the organization, and the content of the book, including how a reader should use it. This short volume presents a thorough tour through the problem of ontology matching. Previous work has been distributed in various forms (as evidenced by the long list of references): chapters in lecture-note volumes, published proceedings from technical meetings, papers in refereed journals, and university technical reports. Finding some of this primary material may be difficult, and organizing it coherently even more so. Euzenat and Shvaiko have made an important contribution to research in this area.
The book is divided into five parts, each of which has one, two, or three chapters. The first part is an exposition of the ontology matching problem. It starts with a chapter on applications to show how the problem arises, and follows with a chapter that formally describes ontologies. The running example of reconciling the ontologies, describing a book in a library and in a bookstore, is introduced.
The second part is on techniques: classification of techniques, their description, and strategies; a descriptive approach is taken. Detailed prescriptive techniques are beyond the scope of this book; the reader will need to work back through the primary literature.
The third part is on matching systems in which the techniques are incorporated into more encompassing structures. An extensive list of research systems is provided in the first chapter of this part. The number of systems shows that this is a research problem with a large international following. The second of the chapters is on evaluating the performance of these systems.
The fourth part is concerned with the possibility of success in achieving an alignment, a matching of ontologies. There are three chapters in this part, addressing how to represent, explain, and process alignment.
The concluding part, only one chapter, ventures to identify future trends and research problems.
The three appendices contain legends of figures (actually, the meaning behind the symbols and pictographs used to represent relations within and between ontologies), code (in Web ontology language (OWL)) implementing the running example on books in two contexts, and exercises to guide the reader to a deeper understanding of the text. These exercises are not like those one would find in a textbook. They are intended to help readers help themselves illustrate the issues raised in the narrative. The reference section completes the book. As an added feature, each reference is cross indexed to the pages in which it is invoked.
This volume would be an excellent companion to one of the few books on semantic Web or OWL programming.