logo

OMWG D7 Patterns Library

DERI OMWG Working Draft last update 08 August 2007

Author
François Scharffe
Editor:
Jérôme Euzenat

Table of contents

1 Introduction
1.1 Ontology alignment
1.2 Design patterns
1.3 Technical considerations
2 Patterns Library
2.1 Patterns template
2.2 Library taxonomy
3 Conclusion
4 References

1 Introduction

This document presents the ontology correspondence patterns library. Correspondence patterns are meant to represent common patterns arising when trying to align ontologies. This library is meant to be used by applications developers in order to provide better ontology alignment and ontology matching tools. Patterns in the library are represented under the Alignment Ontology.

Download:The pattern library can be dowloaded as an OWL file at http://www.omwg.org/TR/d7/patterns-library/patterns-library.owl

1.1 Ontology alignment

Ontology alignment is a research area developing the science of relating ontologies together in order to allow their interoperability. Ontology alignment is necessary because ontologies on the semantic web are not universal. As a consequence, ontologies coexist with overlapping domain that one might want to relate in order to exchange data. An Alignment is a specification of Correspondences between the entities of two ontologies. Alignments are necessary to execute various tasks:

In order to realize these tasks, correspondences are used as bridges between the ontologies. Various systems can be used to execute these tasks, for example a rule reasoner, a SPARQL engine, or a Java application. These systems use different internal formalisms to do their job. Various tools and algorithms are also available to model correspondences, for example WSMT or FOAM. These tools also use different internal formalisms to represent alignments. In order to be allowed to represent alignments at a higher level so that we have a mean to exchange alignments or correspondences, we developped an Alignment Format abstract from any knowledge representation formalism. This format was extended using OMWG ontology mapping language and is now available as the Alignment Ontology. Alignments instanciating this ontology are then grounded for execution to the formalism of the system they are executed in.

1.2 Design patterns

Design patterns were first mentioned in architecture by Alexander in 1977 [Alexanderetal1977]. They are meant to create a culture to document and support architecture and design. They are reusable when similar problems arise and can be extended as solutions to new problems. They were transposed to computer science in the mid-nineties of the 20th century [Gammaetal1995, Coplien1996]. Recent works [Staabetal2001, Blomqvistetal2005, Gangemi2005] propose the use of patterns for ontology engineering.

Two books on software design using design patterns are prominent. In [Gammaetal1995], the Gang of Four (GoF) has described the following four essential elements in a design pattern: Pattern Name, Problem Description, Solution and Consequences. The name is essential as it constitutes an identifier for the pattern. The problem description contains the problem solved by the pattern as well as information on the context in which the pattern occurs. The solution contains the arrangement of elements solving the problem. Shortly after, Coplien book reports on the general use of patterns for software design, as well as pattern languages [Coplien1996]. He identifies eight important elements: name, intent, problem, context, forces, solution, sketch, and resulting context. This set of element, called the minimal set, focus on the solution to a design problem. It includes all necessary information to understand a pattern in software design. In comparison to the GoF template, it omits the community aspects like collaboration, known uses and implementations.

Extensions focusing on particular aspects were developed based on these two works. In [Appleton2000], Appleton considers patterns as the basis for software develop- ment, and named the object-oriented community. Van Welie [vanWelieetal2003] has described a pattern template for interaction patterns in user-interface design. Based on the minimal set of Coplien and the template by the GoF, he added two additional elements focusing on interaction and usability: the Usability Principle and a Counterexample.

Organization of software patterns was studied in [Rosengardetal2004]. In this paper, Rosengard and Ursu propose an ontological representation for automatic organization, retrieval, and explanation of software patterns. They suggest nine terms for the ontological representation of patterns, mainly referring to the work of the GoF. In [Fenseletal2002] a pattern language is developed in order to model problem solving methods abstract from their application domain.

Closer to our topic of interest are works focusing on the usage of patterns for ontology engineering. In [Clarketal2000], Clark et al. propose the use of Knowledge Patterns for engineering knowledge bases, using morphisms to instantiate the patterns. Staab et al. [Staabetal2001] propose the use of Semantic Patterns to engineer ontologies while remaining independent from the underlying ontology language. Gangemi [Gangemi2005] proposes the use of patterns based on experience. He also introduces a pat- tern template and a library of common patterns. Blomqvist et al. [Blomqvistetal2005] present a classification of the different kinds of patterns for ontology engineering, from fine grained patterns modelling simple elements in a particular knowledge representation formalism, to high-level patterns manipulating ontology modules or sets of ontologies for semantic applications design.

1.3 Technical considerations

1.3.1 Patterns representation

We consider a correspondence pattern at the third level of abstraction of an ontology alignment representation stack. A concrete correspondence is an instance of a correspondence pattern defined between concrete entities from the two related ontologies. Concrete correspondences are expressed in an alignment format or as instances of the Alignment Ontology.

Correspondence abstraction stack

At the bottom of the stack, the grounded correspondence is expressed in a knowledge representation formalism, or as a piece of code executable in a mediator. Figure 1 illustrates this stack, the grounded correspondence is expressed in SPARQL. We introduce the intermediary representation in order to abstract from the knowledge representation formalism. This allows to model correspondences that would not be possible to be modeled in the language of the aligned ontologies. It is also convenient to have an interchange format between graphical tools, matchers, and mediators. Various grounded correspondences can be derived depending on the mediation task to be performed: query rewriting, instance transformation or ontology merging.

1.3.2 Namespaces

2 Patterns Library

Patterns are shown in this section. A Pattern is a subclass of Cell in the Alignment Ontology. The deepest one goes in the hierarchy, the more rezstricted are the correspondences that can be constructed from the patterns.

2.1 Patterns template

A pattern template provides a standard way to represent patterns. The core of the correspondence pattern defines the pattern using classical elements from design patterns literature.

A Correspondence Pattern represents a correspondence between two ontologies. It follows the high level classification of the GoF [Gammaetal1995]:

2.2 Library taxonomy

The taxonomy can be browsed by starting from the Pattern top concept, or patterns can directly be accessed by following their link in the taxonomy.

3 Conclusion

We continuously extend the set of patterns in the library. Contributions and questions are welcome and should be addressed to francois"dot"scharffe"at"deri"dot"at.

4 References

[Alexanderetal1977] Alexander, C., Ishikawa, S., Silverstein, M.: A Pattern Language. Volume 2 of Center for Environmental Structure Series. Oxford University Press, New York, New York, USA (1977)

[Gammaetal1995] Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley Pub. (1995)

[Coplien1996] Coplien, J.O.: Software Patterns. SIGS Books, New York (1996)

[Staabetal2001] Staab, S., Erdmann, M., Maedche, A.: Engineering ontologies using semantic patterns. In O’Leary, A.P..D., ed.: Proceedings of the IJCAI-01 Workshop on E-Business & the Intelligent Web, Seattle, WA, USA, August 5, 2001. (2001)

[Blomqvistetal2005] Blomqvist, E., Sandkuhl, K.: Patterns in ontology engineering: Classification of ontology patterns. In: ICEIS (3). (2005) 413–416

[Gangemi2005] Gangemi, A.: Ontology design patterns for semantic web content. In: International Semantic Web Conference. (2005) 262–276

[Appleton2000] Appleton, B.: Patterns and software: Essential concepts and terminology. http://www.cmcrossroads.com/bradapp/docs/patterns-intro.html (2000)

[vanWelieetal2003] van Welie, M., van der Veer, G.C.: Pattern languages in interaction design: Structure and organization. In: Proceedings of Interact ’03, Zürich, Switserland, IOSPress (2003) 527–534

[Rosengardetal2004] Rosengard, J.M., Ursu, M.F.: Ontological representations of software patterns. Lecture Notes in Computer Science (Proceedings of the of KES’04) 3215 (2004)

[Fenseletal2002] Fensel, D., Motta, E., Benjamins, V.R., Crubezy, M., Decker, S., Gaspari, M., Groenboom, R., Grosso, W., van Harmelen, F., Musen, M., Plaza, E., Schreiber, G., Studer, R., Wielinga, B.: The unified problem-solving method development language upml. Knowledge and Information Systems 5(1) (2002) 83–131

[Clarketal2000] Clark, P., Thompson, J., Porter, B.: Knowledge patterns. In Cohn, A.G., Giunchiglia, F., Selman, B., eds.: KR2000: Principles of Knowledge Representation and Reasoning, San Francisco, Morgan Kaufmann (2000) 591–600


Copyright © 2007 DERI®, All Rights Reserved. DERI liability, trademark, document use, and software licensing rules apply.