Nowadays ontology engineers are supported by a wide range of ontology engineering methods and tools. However, building ontologies is still a complex task. In this context, an approach that has gained increasing attention is the systematic application of Ontology Patterns (OPs), which favors the reuse of encoded experiences and promotes the application of good practices. An ontology pattern captures a solution for a recurring ontology modeling problem.
In a pattern-based approach to ontology engineering, several patterns can be combined to derive a new ontology. Such approach requires the existence of a set of suitable patterns that can be reused in the development of new ontologies, and a proper methodological support for selecting and applying these patterns. Therefore, we introduced the Ontology Pattern Language concept. We borrowed the term “pattern language” from Software Engineering, where patterns have been studied and applied for a long time. A pattern language, in a Software Engineering view, is a network of interrelated patterns that defines a process for systematically solving coarse-grained software development problem. Therefore, an Ontology Pattern Language (OPL) is a network of interconnected OPs that provides holistic support for solving ontology development problems. An OPL contains a set of interrelated OPs, plus a modeling process guiding on how to use and combine them in a specific order. OPLs are structured to support and encourage the application of one pattern at a time, in the order defined by the pattern sequences that result from the chosen paths through the language.
Although an OPL provides a process describing how to use the patterns to address modeling problems, an OPL is not a method for building ontologies. It only deals with reuse in ontology development, and its guidance can be followed by ontology engineers using whatever ontology development method that considers ontology reuse as one of its activities.
Studies about the use of OPLs to support ontology development has shown that using OPL speeds up the development process and contribute to improving the quality of the resulting ontology.
In the last years, we have developed several OPLs. In order to represent the OPLs, we first adopted the UML activity diagram notation, making the necessary adaptations to represent the OPLs. After several experiences and adaptations, we noticed that we needed a modeling language dedicated to representing OPLs. In 2017, we created OPL-ML, a modeling language to represent ontology pattern languages.
The Ontology Pattern Language notion was introduced in this paper:
For further information about OPL and developed OPLs see:
OPL Specifications