Submissions:Template Instance
From Odp
(New page: {{Content_OP_Proposal_toolbar}} {{Graphical representation header}} {{Graphical representation |ImageName=TemplatePatternBeforeAndAfter.png }} {{Content OP Proposal Template |SubmittedBy=C...) |
(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) |
||
Line 5: | Line 5: | ||
}} | }} | ||
{{Content OP Proposal Template | {{Content OP Proposal Template | ||
- | |SubmittedBy=CsongorNyulas, | + | |SubmittedBy=CsongorNyulas, |
|Name=Template Instance | |Name=Template Instance | ||
|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. | |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. | ||
- | |Domain=General, | + | |Domain=General, |
- | |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). | + | |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 <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, y_tmpl | + | The pattern proposes to create a template instance, <code style="font-size:larger;">y_tmpl</code> having the common values as its property values: |
- | (y_tmpl p1 foo), (y_tmpl p2 1.0), (y_tmpl p3 z) | + | <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 x1, x2 and x3: | + | 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>: |
- | (x1 p y_tmpl), (x2 p y_tmpl), (x3 p y_tmpl) | + | <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, isTemplate:true, on y_tmpl to mark that it as a template instance. | + | 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. | The intention is that the template instance is immutable, i.e., the property values of the template instance cannot be changed. | ||
- | 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. | + | <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 | + | 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) | + | (y_tmpl p1 foo), (y_tmpl p2 1.0), (y_tmpl p3 z)</code> |
- | Later, at time | + | 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 | + | 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) | + | (y_tmpl_modif p1 bar), (y_tmpl_modif p2 1.0), (y_tmpl_modif p3 z)</code> |
- | As a result of using the | + | <br /> |
- | |ReusableOWLBuildingBlock=http:// | + | 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. |
- | |KnownUse= | + | |ReusableOWLBuildingBlock=http://smi-protege.stanford.edu/collab-protege/templInstPattern/template_instance_odp.owl |
- | |RelatedCP=Literal Reification, | + | |KnownUse=http://www.who.int/classifications/icd/revision/en/index.html, https://sites.google.com/site/whoictm/ |
+ | |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 | ||
+ | |RelatedCP=Literal Reification, | ||
}} | }} | ||
{{Element list header}} | {{Element list header}} |
Revision as of 00:51, 14 August 2012
If you are a member of quality committee please visit the
If you are author of this proposal or you want to contribute to this pattern's review, you can: specify if this revision takes in account any of the review(s) In general, it could be useful to visit the evaluation section to have information about the evaluation process of this proposal Current revision ID: 11146 |
Graphical representation
Diagram
General description
Name: | Template Instance |
---|---|
Submitted by: | CsongorNyulas |
Also Known As: | |
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. |
Domains: | |
Competency Questions: | |
Solution description: | 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 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) .
The pattern proposes to create a template instance, The template instance would be used as the value for the reified property for In addition, we will also add one annotation property,
The right side of the diagram 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. At t0: Later, at time t1, the user decides to change the value At t1:
|
Reusable OWL Building Block: | http://smi-protege.stanford.edu/collab-protege/templInstPattern/template_instance_odp.owl (998) |
Consequences: | |
Scenarios: | |
Known Uses: | http://www.who.int/classifications/icd/revision/en/index.html, https://sites.google.com/site/whoictm/ |
Web References: | |
Other References: | |
Examples (OWL files): | |
Extracted From: | |
Reengineered From: | |
Has Components: | |
Specialization Of: | |
Related CPs: |
Elements
The Template Instance Content OP locally defines the following ontology elements:
Additional information
Scenarios
No scenario is added to this Content OP.
Reviews
Review article | Posted on | About revision (current is 11146) |
---|---|---|
BenedictoRodriguezCastro about Template Instance | 245616828 August 2012 | 1115811,158 |
BorisVillazón-Terrazas about Template Instance | 24561754 September 2012 | 1117811,178 |
MariaPoveda about Template Instance | 24561754 September 2012 | 1117811,178 |
This revision (revision ID 11146) takes in account the reviews: none
Other info at evaluation tab
Modeling issues
There is no Modeling issue related to this proposal.
References
Submission to event |
---|