Browse wiki

From Odp

Jump to: navigation, search
Submissions:Template Instance
CPInstantiationExample  +,  +
ContentODPDescription The pattern proposes to use the same “temp The pattern proposes to use the same “template” instance as the value of a reified property for multiple subjects (rather than having multiple copies of the same reified instance). The diagram presents an example of the usage of the pattern, for an easier understanding. The individuals <code style="font-size:larger;">x1</code>, <code style="font-size:larger;">x2</code> and <code style="font-size:larger;">x3</code> have a reified property <code style="font-size:larger;">p</code> that have as values the reified individuals, <code style="font-size:larger;">y1</code>, <code style="font-size:larger;">y2</code> and <code style="font-size:larger;">y3</code>, respectively. In OWL, we would have object property assertions: <code style="font-size:larger;">(x1 p y1)</code>, <code style="font-size:larger;">(x2 p y2)</code>, <code style="font-size:larger;">(x3 p y3)</code>. The properties for the reified individuals, <code style="font-size:larger;">y1</code>, <code style="font-size:larger;">y2</code> and <code style="font-size:larger;">y3</code> are all identical: <code style="font-size:larger;">(y_ p1 foo)</code>, <code style="font-size:larger;">(y_ p2 1.0)</code> and <code style="font-size:larger;">(y_ p3 z)</code>. The pattern proposes to create a template instance, <code style="font-size:larger;">y_tmpl</code> having the common values as its property values: <code style="font-size:larger;">(y_tmpl p1 foo), (y_tmpl p2 1.0), (y_tmpl p3 z)</code> The template instance would be used as the value for the reified property for <code style="font-size:larger;">x1</code>, <code style="font-size:larger;">x2</code> and <code style="font-size:larger;">x3</code>: <code style="font-size:larger;">(x1 p y_tmpl), (x2 p y_tmpl), (x3 p y_tmpl)</code> In addition, we will also add one annotation property, <code style="font-size:larger;">isTemplate:true</code>, on <code style="font-size:larger;">y_tmpl</code> to mark that it as a template instance. The intention is that the template instance is immutable, i.e., the property values of the template instance cannot be changed. <br /> In the case that a user would like to change a property value of the reified relation, a clone of the template instance would be created and the change would occur on the clone. An ontology editor would use the <var>isTemplate</var> annotation property to check that a certain instance cannot be modified, and it should rather create a clone. The right side of the diagram gives an example of this situation. Say that at a given time t<sub>0</sub>, there was an additional x4 individual that had the template instance as the value for p. At t<sub>0</sub>: <code style="font-size:larger;">(x4 p y_tmpl)<br />      (y_tmpl p1 foo), (y_tmpl p2 1.0), (y_tmpl p3 z)</code> Later, at time t<sub>1</sub>, the user decides to change the value <code style="font-size:larger;">p1</code> on x4 from “foo” to “bar”. The ontology editor (or the user, if there is no support in the tool), will see the <var>isTemplate</var> annotation property on <code style="font-size:larger;">y_tmpl</code> as set on true, and it will create a clone of it, <code style="font-size:larger;">y_tmpl_modif</code>, by cloning also all the object and data property axioms. Then, it will change the value of <code style="font-size:larger;">p1</code> on <code style="font-size:larger;">y_tmpl_modif</code>. So, the result will be: At t<sub>1</sub>: <code style="font-size:larger;">(x4 p y_tmpl_modif)<br />      (y_tmpl_modif p1 bar), (y_tmpl_modif p2 1.0), (y_tmpl_modif p3 z)</code> <br /> As a result of using the Template Instance pattern, one could reduce the number of data and object property axioms in the ontology. This “deflation” of the ontology is especially significant, if there are many repetitive values in the ontology, with very few changes, and if the number of properties of the reified instances is large. perties of the reified instances is large.
GraphicallyRepresentedBy TemplatePatternBeforeAndAfter.png +
HasIntent The Template Instance pattern proposes a way of reducing the number of reified instances and the related property assertion axioms in an ontology, especially for the cases in which the reified relations are identical for multiple entities.
KnownUse  +,  +
Modification dateThis property is a special property in this wiki. 28 August 2012 16:53:04  +
Name Template Instance  +
OWLBuildingBlock  +
PatternDomain General +
RelatedCP Literal Reification +
SubmittedBy CsongorNyulas +
SubmittedToEvent 2012 +
Categories ProposedContentOP +, Submitted to event +, Review assigned +
hide properties that link here 
  No properties link to this page.


Enter the name of the page to start browsing from.
Personal tools
Quality Committee
Content OP publishers