Transformation Pattern: removing equivalent restriction class

Figure 1: Instance of transformation pattern for hasValue
Image tp_ce-hasValue

Let us consider that we want to remove an equivalent restriction class and swap it into annotations, see Figure 2 for example with concrete values. To accomplish this, we can use ontology transformation service and simply specify appropriate transformation pattern, where source ontology pattern (OP1) is as follows:

<op1>
  <entity_declarations>
    <placeholder type="ObjectProperty">?p</placeholder>
    <placeholder type="Class">?A</placeholder>
    <placeholder type="Individual">?a</placeholder>
  </entity_declarations>
  <axioms>
    <axiom>?A EquivalentTo: (?p value ?a)</axiom>
  </axioms>
</op1>

Then, we can specify target ontology pattern (OP2) in the following way:

<op2>
  <entity_declarations>
    <placeholder type="Class">?B</placeholder>
    <placeholder type="Literal">?X</placeholder>
    <placeholder type="Literal">?Y</placeholder>      
  </entity_declarations>
  <axioms>
    <axiom>?B annotation:discr_property ?X</axiom>
    <axiom>?B annotation:value ?Y</axiom>
  </axioms>
</op2>

In order to specify how source ontology pattern can be transformed to target ontology pattern, we need to specify transformation links between any kinds of entities. This is captured within pattern alignment (PA) as follows:

<pt>
 <eq op1="?A" op2="?B"/>
 <eqAnn op1="?p" op2="?X"/>
 <eqAnn op1="?a" op2="?Y"/>
 <ntp entity="?B">
  make_passive_verb(?a)+head_noun(?A)
 </ntp>
</pt>



ondrej 2013-05-10