Pascal Hitzler, Data Semantics Laboratory, Wright State University, Dayton, OH, USA
Aldo Gangemi, LIPN, Université Paris 13, CNRS UMR7030 and ISTC-CNR, Italy
Krzysztof Janowicz, University of California, Santa Barbara, USA
Adila Krisnadhi, Data Semantics Laboratory, Wright State University, Dayton, OH, USA; and Faculty of Computer Science, Universitas Indonesia
Valentina Presutti, STLab, ISTC-CNR, Italy
Patterns in general can be defined as invariances across observed data, objects, processes, etc. Patterns in the Semantic Web may emerge from data, ontologies, as well as from procedural aspects of design at either the modelling or implementation level.
Design patterns have emerged in computer science from the pioneering architectural work of Christopher Alexander [1], firstly applied to software engineering [3], then to workflows [11], HCI [10], data modelling [8], knowledge engineering [2], and eventually the Semantic Web [4,5,9], where they are known as Ontology Design Patterns (ODP), knowledge patterns, or linked data patterns, according to the community that uses them (e.g. ontology designers, knowledge engineers, linked data publishers, etc.). The main innovation of design patterns is their critical approach to compare possible solutions against recurrent problems: alternatives, pros and cons, openness to change, examples and counterexamples, lessons learnt, etc.
In this book, we present a broad spectrum of theories, experiences, and models that focus on ontology design patterns. We have collected them into four parts: Foundations, Practice, Selected Examples, and an appendix providing a primer on RDF and OWL.
The Foundations part includes chapters that provide a comprehensive view of methods, modelling examples, generic patterns, as well as relevant research questions that are currently open. This part opens with a modelling example using patterns in the domain of chess, followed by a summary of the eXtreme Design methodology that combines an agile approach with pair programming-inspired methods, scenario analysis, competency questions, [7] and matching them to patterns.
The next chapter faces the problem of defining and assessing the quality of design patterns, followed by a chapter on the role of logical axiomatization in ontology design patterns, and some related research issues.
Next, three chapters on generic patterns extracted from the foundational ontology DOLCE, from the Descriptions and Situations framework, and about pattern languages as known in conceptual modelling are then followed by a presentation of anti-patterns, and finally by a collection of research questions provided by the book authors and beyond. That chapter is important as a spin-off to further research in the field, covering e.g.: features, qualities, languages and standards for ontology design patterns, methods for using, constructing, and extracting ODPs, tooling and infrastructures (support for reuse, repositories, versioning, sustainability), and modularization based on ODPs.
In the Foundations part, at least two chapters introduce Content Ontology Patterns, also known as Knowledge Patterns, [2,5] which are reusable components that can be used to match competency questions. We remark that while our initial definition of patterns as invariances across observed data, objects, processes applies to any kind of pattern, we need to distinguish the purely symbolic patterns of mathematical pattern science [6], as studied in data mining, machine learning, complex systems, etc., from the knowledge patterns. Knowledge patterns are not only symbolic: they also have a semantic interpretation, be it formal, or cognitive. Such interpretation consists in the meaning of a pattern, e.g. a type of fact reported in news, a kind of soccer event from a picture, an aggressive attitude in a sentence, etc.
However, knowledge patterns are not confined to foundational, i.e. domain-independent theories, but they can be extracted or may emerge in particular domains or for particular tasks. The two following parts of the book describe nine such examples. On one hand, the Practice part contains mainly procedural patterns: Linked Data publishing patterns are presented, followed by examples and lessons learnt when working with domain experts, when using patterns for ontology transformation, for data integration, and for tracing supply chains. On the other hand, the Selected Examples section drills down into applications of patterns for domains dealing with information entities, roles, spatial trajectories, and particle detector final states in physics.
The editors believe that the book spans across most of the relevant examples, areas, and research issues concerning ontology design patterns, of course without aiming at completeness, which is intrinsically denied by pattern-based design: we will always get new problems and solutions, and a space of possible design choices is sparsely populated (the reason why we can perceive or construct patterns), because of the inherent economy of human cognition, which tries to find shortcuts that can be repeatedly applied in order to optimise competences, export them by analogy, and finally exploit them for the individual or common good.
Bibliography
[1] C. Alexander. The Timeless Way of Building. Oxford Press, 1979.
[2] P. Clark, J. Thompson, and B. Porter. Knowledge Patterns. In A.G. Cohn, F. Giunchiglia, and B. Selman, editors, KR2000: Principles of Knowledge Representation and Reasoning, pages 591–600, San Francisco, 2000. Morgan Kaufmann.
[3] E. Gamma, R. Helm, R. E. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA, 1995.
[4] A. Gangemi. Ontology design patterns for semantic web content. In Y. G. et al., editor, Proc. of the 4th Int. Semantic Web Conference, ISWC 2005, volume 3729 of LNCS, pages 262–276. Springer, 2005.
[5] A. Gangemi and V. Presutti. Towards a pattern science for the semantic web. Semantic Web, 1(1-2):61–68, 2010.
[6] U. Grenander. Elements of Pattern Theory. Johns Hopkins University Press, Baltimore, 1996.
[7] M. Gruninger and M. S. Fox. The Role of Competency Questions in Enterprise Engineering. In Proceedings of the IFIP WG5.7 Workshop on Benchmarking - Theory and Practice, 1994.
[8] D. C. Hay. Data Model Patterns. Dorset House Publishing, 1996.
[9] V. Presutti and A. Gangemi. Content Ontology Design Patterns as Practical Building Blocks for Web Ontologies. In ER '08: Proceedings of the 27th International Conference on Conceptual Modeling, pages 128–141, Berlin, Heidelberg, 2008. Springer-Verlag.
[10] J. Tidwell. Designing Interfaces: Patterns for Effective Interaction Design. O'Reilly, April 2007.
[11] W. Van Der Aalst, A. Ter Hofstede, B. Kiepuszewski, and A. Barros. Workflow Patterns. Distributed and Parallel Databases, 14:5–51, 2003.