The semantic web is one of the largest recent endeavors in computing science. It promises a much better future where computer agents can help humans harness the knowledge and resources available online. Some argue that this is yet another doomed effort to realize the decades-old impossible promise of the pioneers in artificial intelligence. Others contend that we have learned from past mistakes, and our computing infrastructure has evolved to the point where we can get it right this time. Still others argue that the semantic web is something else completely different: a web of linked data. In any case, this book provides a comprehensive introduction to the field, from the need for this new web to the major challenges that remain before its realization. Now in its third edition, the book has been revised and updated to contemplate the latest developments in this arena.
The book is technical and didactic, covering all building blocks of the semantic web. Its core message is that the semantic web is a web where data is made available in ways that both humans and machines can use. For that to happen, the data must be encoded in machine-friendly formats and annotated with semantic information, giving it meaning. The book is carefully crafted, laying out the material in a coherent sequence. It opens with the big picture of the semantic web in chapter 1, and closes with an account of where we are on the path to its realization in chapter 8. Chapters 2 and 3 cover encoding and querying data, while chapters 4 and 5 discuss adding semantics and inferring new facts. Chapter 6 gives several examples of existing real-world applications built on semantic web technologies, and chapter 7 reads like a manual on how to build semantic web applications, how to construct ontologies, and how to leverage existing data.
There are four technical chapters (2 to 5) and a technical appendix. Chapters 2 and 3 are a tutorial on the resource description framework (RDF) and SPARQL, the standard technologies for encoding and querying web data. The book covers the RDF data model, the different syntaxes for RDF, and RDF and schema, and shows how it can add semantics on its own. The authors also provide the main aspects of the SPARQL language, its pattern-matching flavor, its ability to query schemas, and the newer development of SPARQL Updates.
While chapters 2 and 3 are more data-centric, chapters 4 and 5 are devoted to semantics, from the basics of ontologies and the specifics of OWL2, the current standard, to the need for logics and an inference mechanism to derive new facts and knowledge. The authors provide a good discussion of one of the thorniest issues in the field: the intricate web of description logics, including their various flavors and non-trivial trade-offs in terms of expressiveness and computational cost. Appendix A is good tutorial on Extensible Markup Language (XML), and has been revised and improved since the first edition of the book.
Chapter 8 contends that the semantic web is already here. While some might disagree, no one can deny that there are many tools and large-scale systems built using semantic web technologies. The chapter reinforces several key messages. First, while any “new” web must be embraced by developers and users rather than imposed on them, the need for standardization cannot be overstated. Of course, linking data is vital in this new world and attention should be paid so that it is done right. Finally, there is the point that “a little semantics goes a long way,” which is the central tenet of semantic web advocates. A lucid list of future work is discussed, including some truly major challenges that will keep researchers busy for many years at least. These include dealing with context in reasoning; reasoning in large-scale, distributed query processing; and dealing with streaming data.
This book is accessible to a wide audience. For someone with no previous exposure to the semantic web, or for practitioners outside computing science, it is hard to imagine a more useful introductory resource. The book is also very concise and to the point, playing the role of an introductory text really well. On the other hand, the authors necessarily omit many details. This is not a problem for the informed reader, as the list of pointers for further details and relevant technical literature is excellent.
Fans of the open linked data movement may perhaps feel disadvantaged by the book, which could devote a lot more space to the nitty-gritty of transforming the current web into the semantic web. It is as if there was a tacit assumption that the semantic web could be built starting anew, breaking away from the old web, which is a contentious issue at least. Another balanced discussion that should have appeared, especially in a third edition, is one on the valid criticism and skepticism that exist around this topic. Such a discussion would have fit in really well, and possibly would have further enhanced the authors’ point of view that the semantic web is not only a great idea, but is also a reality.