Transformation Pattern Representation

Transformation patterns are serialized according to an XML schema, http://nb.vse.cz/~svabo/patomat/tp/tp-schema.xsd The representation of ontology patterns is based on OWL 2. However, while an OWL ontology refers to particular entities, e.g. to class Person, in the patterns we generally use placeholders. Entities are specified (i.e. placeholders are instantiated) at the time of instantiation of a pattern.

Definition 1 (Ontology Pattern)   Ontology pattern is a triple $\langle$E, Ax, NDP$^*$$\rangle$, such that E is a non-empty set of entity declarations, Ax a (possibly empty) set of axioms, and NDP$^*$ a (possibly empty) set of naming detection patterns.

op1/2 element contains entity declarations. In declaration, each entity is identified with a placeholder which is a replaced with name of entity (fragment URI) when ontology pattern is instantiated in the case of source ontology pattern (op1). Regarding target ontology pattern, entity names are deduced from entity names of op1 and specification within pattern alignment. Every placeholder has its type which can be basically any type from OWL 2 specification. Furthermore, there are axioms capturing logical structure of ontology pattern. There can also be annotation axioms. Finally, there can be ndp element, naming detection pattern, which can support ontology pattern detection, see Section 5. Although multiple alternative naming patterns could be employed for detection of ontology pattern occurrence, our current implementation supports at most one naming pattern.

Definition 2 (Pattern Transformation)   Let $\texttt{OP1}$ and $\texttt{OP2}$ be ontology patterns. A pattern transformation from $\texttt{OP1}$ (called source pattern) to $\texttt{OP2}$ (called target pattern) is a tuple $\langle$LI, NTP$^*$$\rangle$, in which LI is a non-empty set of transformation links, and NTP$^*$ is a (possibly empty) set of naming transformation patterns. Every transformation link l$\in$LI is a triple $\langle$ e, e', R $\rangle$ where e $\in$ OP1, e' $\in$ OP2, and R is either a logical equivalence relationship or an extralogical relationship between heterogeneous entities.

One link corresponds to one element. Currently, there are basically two types of transformation links:

Finally, there is element ntp, naming transformation pattern, capturing way how to rename old entities or how to name new entities, see Section 5.

Definition 3 (Transformation Pattern)   Transformation Pattern TP is a triple $\langle$OP1, PT, OP2$\rangle$ such that $\texttt{OP1}$, $\texttt{OP2}$ are ontology patterns and PT is a pattern transformation from $\texttt{OP1}$ to $\texttt{OP2}$.

A transformation pattern is $\langle$$\langle$E$_1$, Ax$_1$, NDP$^*$$_1$$\rangle$, $\langle$LI,NTP$^*$$\rangle$, $\langle$E$_2$, Ax$_2$, NDP$^*$$_2$$\rangle$$\rangle$.

ondrej 2011-06-21