<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://ontologydesignpatterns.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=CsongorNyulas</id>
		<title>'Ontology Design Patterns' - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://ontologydesignpatterns.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=CsongorNyulas"/>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php/Special:Contributions/CsongorNyulas"/>
		<updated>2026-04-28T10:12:51Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.25.6</generator>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Template_Instance&amp;diff=11146</id>
		<title>Submissions:Template Instance</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Template_Instance&amp;diff=11146"/>
				<updated>2012-08-14T00:51:45Z</updated>
		
		<summary type="html">&lt;p&gt;CsongorNyulas: Improvements to Description formatting; Fixed link to reusable OWL building block; Added download links to Example OWL files; Fixed links to ICD-11 and ICTM&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Content_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=TemplatePatternBeforeAndAfter.png&lt;br /&gt;
}}&lt;br /&gt;
{{Content OP Proposal Template&lt;br /&gt;
|SubmittedBy=CsongorNyulas,&lt;br /&gt;
|Name=Template Instance&lt;br /&gt;
|Intent=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.&lt;br /&gt;
|Domain=General,&lt;br /&gt;
|ContentODPDescription=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 &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;x1&amp;lt;/code&amp;gt;, &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;x2&amp;lt;/code&amp;gt; and &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;x3&amp;lt;/code&amp;gt; have a reified property &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;p&amp;lt;/code&amp;gt; that have as values the reified individuals, &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;y1&amp;lt;/code&amp;gt;, &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;y2&amp;lt;/code&amp;gt; and &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;y3&amp;lt;/code&amp;gt;, respectively. In OWL, we would have object  property assertions: &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;(x1 p y1)&amp;lt;/code&amp;gt;, &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;(x2 p y2)&amp;lt;/code&amp;gt;, &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;(x3 p y3)&amp;lt;/code&amp;gt;. The properties for the reified individuals, &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;y1&amp;lt;/code&amp;gt;, &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;y2&amp;lt;/code&amp;gt; and &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;y3&amp;lt;/code&amp;gt; are all identical: &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;(y_ p1  foo)&amp;lt;/code&amp;gt;, &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;(y_ p2 1.0)&amp;lt;/code&amp;gt; and &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;(y_ p3 z)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The pattern proposes to create a template instance, &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;y_tmpl&amp;lt;/code&amp;gt; having the common values as its property values:&lt;br /&gt;
&amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;(y_tmpl p1 foo), (y_tmpl p2 1.0), (y_tmpl p3 z)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The template instance would be used as the value for the reified property for &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;x1&amp;lt;/code&amp;gt;, &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;x2&amp;lt;/code&amp;gt; and &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;x3&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;(x1 p y_tmpl), (x2 p y_tmpl), (x3 p y_tmpl)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, we will also add one annotation property, &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;isTemplate:true&amp;lt;/code&amp;gt;, on &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;y_tmpl&amp;lt;/code&amp;gt; to mark that it as a template instance.&lt;br /&gt;
The intention is that the template instance is immutable, i.e., the property values of the template instance cannot be changed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
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 &amp;lt;var&amp;gt;isTemplate&amp;lt;/var&amp;gt; annotation property to check that a certain instance cannot be modified, and it should rather create a clone.&lt;br /&gt;
&lt;br /&gt;
The right side of the diagram gives an example of this situation. Say that at a given time t&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;, there was an additional x4 individual that had the template instance as the value for p.&lt;br /&gt;
&lt;br /&gt;
At t&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;: &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;(x4 p y_tmpl)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;(y_tmpl p1 foo), (y_tmpl p2 1.0), (y_tmpl p3 z)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Later, at time t&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, the user decides to change the value &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;p1&amp;lt;/code&amp;gt; on x4 from “foo” to “bar”. The ontology editor (or the user, if there is no support in the tool), will see the &amp;lt;var&amp;gt;isTemplate&amp;lt;/var&amp;gt; annotation property on &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;y_tmpl&amp;lt;/code&amp;gt; as set on true, and it will create a clone of it, &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;y_tmpl_modif&amp;lt;/code&amp;gt;, by cloning also all the object and data property axioms. Then, it will change the value of &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;p1&amp;lt;/code&amp;gt; on &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;y_tmpl_modif&amp;lt;/code&amp;gt;. So, the result will be:&lt;br /&gt;
&lt;br /&gt;
At t&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;: &amp;lt;code style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;(x4 p y_tmpl_modif)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;(y_tmpl_modif p1 bar), (y_tmpl_modif p2 1.0), (y_tmpl_modif p3 z)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
|ReusableOWLBuildingBlock=http://smi-protege.stanford.edu/collab-protege/templInstPattern/template_instance_odp.owl&lt;br /&gt;
|KnownUse=http://www.who.int/classifications/icd/revision/en/index.html, https://sites.google.com/site/whoictm/&lt;br /&gt;
|CPInstantiationExample=http://smi-protege.stanford.edu/collab-protege/templInstPattern/template_odp_example.zip, http://smi-protege.stanford.edu/collab-protege/templInstPattern/template_instance_odp_example.zip&lt;br /&gt;
|RelatedCP=Literal Reification,&lt;br /&gt;
}}&lt;br /&gt;
{{Element list header}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;br /&gt;
{{Submission to event&lt;br /&gt;
|Event=WOP:2012&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>CsongorNyulas</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Template_Instance&amp;diff=11090</id>
		<title>Submissions:Template Instance</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Template_Instance&amp;diff=11090"/>
				<updated>2012-08-11T10:15:46Z</updated>
		
		<summary type="html">&lt;p&gt;CsongorNyulas: New page: {{Content_OP_Proposal_toolbar}} {{Graphical representation header}} {{Graphical representation |ImageName=TemplatePatternBeforeAndAfter.png }} {{Content OP Proposal Template |SubmittedBy=C...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Content_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=TemplatePatternBeforeAndAfter.png&lt;br /&gt;
}}&lt;br /&gt;
{{Content OP Proposal Template&lt;br /&gt;
|SubmittedBy=CsongorNyulas, &lt;br /&gt;
|Name=Template Instance&lt;br /&gt;
|Intent=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.&lt;br /&gt;
|Domain=General, &lt;br /&gt;
|ContentODPDescription=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). We give an example in Figure 1 to make it easier to understand. The individuals x1, x2 and x3 have a reified property p that have as values the reified individuals, y1, y2 and y3, respectively. In OWL, we would have object  property assertions: (x1 p y1), (x2 p y2), (x3 p y3). The properties for the reified individuals, y1, y2 and y3 are all identical: (y_ p1  foo), (y_ p2 1.0) and (y_ p3 z).&lt;br /&gt;
&lt;br /&gt;
The pattern proposes to create a template instance, y_tmpl that has the property values the common values:&lt;br /&gt;
(y_tmpl p1 foo), (y_tmpl p2 1.0), (y_tmpl p3 z)&lt;br /&gt;
&lt;br /&gt;
The template instance would be used as the value for the reified property for x1, x2 and x3:&lt;br /&gt;
(x1 p y_tmpl), (x2 p y_tmpl), (x3 p y_tmpl)&lt;br /&gt;
&lt;br /&gt;
In addition, we will also add one annotation property, isTemplate:true, on y_tmpl to mark that it as a template instance.&lt;br /&gt;
The intention is that the template instance is immutable, i.e., the property values of the template instance cannot be changed.&lt;br /&gt;
&lt;br /&gt;
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 isTemplate annotation property to check that a certain instance cannot be modified, and it should rather create a clone.&lt;br /&gt;
&lt;br /&gt;
Figure 1 gives an example of this situation. Say that at a given time t0, there was an additional x4 individual that had the template instance as the value for p.&lt;br /&gt;
&lt;br /&gt;
At t0: (x4 p y_tmpl)&lt;br /&gt;
(y_tmpl p1 foo), (y_tmpl p2 1.0), (y_tmpl p3 z)&lt;br /&gt;
&lt;br /&gt;
Later, at time t1, the user decides to change the value p1 from “foo” to “bar”. The ontology editor (or the user, if there is no support in the tool), will see the isTemplate annotation property on y_tmpl as set on true, and it will create a clone of it, y_tmpl_modif, by cloning also all the object and data property axioms. Then, it will change the value of p1 on y_tmpl_modif. So, the result will be:&lt;br /&gt;
&lt;br /&gt;
At t1: (x4 p y_tmpl_modif)&lt;br /&gt;
(y_tmpl_modif p1 bar), (y_tmpl_modif p2 1.0), (y_tmpl_modif p3 z)&lt;br /&gt;
&lt;br /&gt;
As a result of using the template instance pattern, we 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 instance is large.&lt;br /&gt;
|ReusableOWLBuildingBlock=http://www.ontologydesignpatterns.org/cp/owl/Template_instance_odp.owl&lt;br /&gt;
|KnownUse=ICD11, ICTM&lt;br /&gt;
|RelatedCP=Literal Reification, &lt;br /&gt;
}}&lt;br /&gt;
{{Element list header}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;br /&gt;
{{Submission to event&lt;br /&gt;
|Event=WOP:2012&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>CsongorNyulas</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=File:TemplatePatternBeforeAndAfter.png&amp;diff=11071</id>
		<title>File:TemplatePatternBeforeAndAfter.png</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=File:TemplatePatternBeforeAndAfter.png&amp;diff=11071"/>
				<updated>2012-08-11T09:14:27Z</updated>
		
		<summary type="html">&lt;p&gt;CsongorNyulas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>CsongorNyulas</name></author>	</entry>

	</feed>