Difference between revisions of "Template:Topic"

From Encyclopedia of Scientonomy
Jump to navigation Jump to search
Line 31: Line 31:
 
  |History=
 
  |History=
 
  |Current View=
 
  |Current View=
  |Parent Topic= //This will be deprecated. It will be calculated automatically in an agent-relative way following the current inheritance hierarchy of that agent.  
+
  |Parent Topic= //This will be deprecated. It will be calculated automatically in an agent-relative way following the current inheritance hierarchy of that agent. For now it is allowed as a backdoor so that it can be assigned manually.
 
  |Related Topics= //This will be deprecated. It will be calculated automatically in an agent-relative way following the current inheritance hierarchy of that agent.
 
  |Related Topics= //This will be deprecated. It will be calculated automatically in an agent-relative way following the current inheritance hierarchy of that agent.
 
  |Page Status=
 
  |Page Status=
Line 62: Line 62:
 
  -->Page Status={{{Page Status|Stub}}}|<!--
 
  -->Page Status={{{Page Status|Stub}}}|<!--
 
  -->Editor Notes={{{Editor Notes|}}}|<!--
 
  -->Editor Notes={{{Editor Notes|}}}|<!--
  -->Parent Topic={{{Parent Topic|}}}|<!--
+
  -->Parent Topic={{{Parent Topic|}}}|<!-- this allows for a backdoor to assign parent topics manually
 
  -->Authors List={{{Authors List|}}}|<!--
 
  -->Authors List={{{Authors List|}}}|<!--
 
-->}}<!-- set
 
-->}}<!-- set
Line 73: Line 73:
 
-->}}<!-- if subject order is given
 
-->}}<!-- if subject order is given
 
-->{{#set:Order={{#var: varOrder}}|}}<!--  
 
-->{{#set:Order={{#var: varOrder}}|}}<!--  
--><!--  
+
--><!--
 
--><!-- set the inherited from and heritable
 
--><!-- set the inherited from and heritable
 
-->{{#if: {{{Inherited From|}}}<!--
 
-->{{#if: {{{Inherited From|}}}<!--
Line 104: Line 104:
 
-->{{#arrayunique:varSubsumeArray}}<!--
 
-->{{#arrayunique:varSubsumeArray}}<!--
 
-->{{#arrayprint:varSubsumeArray||@@@@|{{#set:Subsumes items=@@@@}}|}}<!--  
 
-->{{#arrayprint:varSubsumeArray||@@@@|{{#set:Subsumes items=@@@@}}|}}<!--  
 +
--><!--
 +
--><!--
 +
--><!-- set parent topic
 +
-->{{#if: {{{Inherited From|}}}<!--
 +
-->|<!--
 +
  --><!-- Get the properties required to format the title from Inherited From
 +
  -->{{#vardefine: varTitleFormula| {{#show: {{{Inherited From|}}}|?Question Title Formula|link=none}} }}<!--
 +
  -->{{#vardefine: varPredicate| {{#show: {{{Inherited From|}}}|?Predicate|link=none}} }}<!--
 +
  -->{{#vardefine: varOnject| {{#show: {{{Inherited From|}}}|?Object Class|link=none}} }}<!--
 +
  --><!--
 +
  --><!-- get the inherited topic's subject
 +
  -->{{#vardefine: varInheritedSubject| {{#show: {{{Inherited From|}}}|?Subject|link=none}} }}<!--
 +
  --><!--
 +
  --><!-- Get the list of all the classes that the Subject of the Inherited From subsumes
 +
  -->{{#arraydefine: arraySubsumesTerms|{{#ask: [[-Subsumes items::{{#var: varInheritedSubject}}]]|link=none}} | , |unique}}<!--
 +
  --><!--
 +
  --><!-- Get the list of all the parent classes of the Subject of the question
 +
  -->{{#arraydefine: arrayParentTerms|{{GetPropertyValues|object={{{Subject|}}}|property=Parent Class|link=none}} | , |unique}}<!--
 +
  --><!--
 +
  --><!-- Get the intersection of the two arrays
 +
  -->{{#arrayintersect: arrayIntersectTerms|arraySubsumesTerms|arrayParentTerms|}}<!--
 +
  --><!--
 +
  --><!-- For each item in the intersection array, format the question page title according to the formula taken from Inherited From
 +
  -->{{#arrayprint: arrayIntersectTerms||varTerm<!--
 +
  -->|<!--
 +
    -->{{#vardefine: varTitle| {{DecodeTitleFormula|formula={{#var: varTitleFormula}}|subject=varTerm|predicate={{#var: varPredicate}}|object={{#var: varOnject}}|}} }}<!--
 +
    --><!--
 +
    -->{{#set: Parent Topic=varTitle}}<!--
 +
    --><!--
 +
  -->}}<!-- arrayprint
 +
  --><!--
 +
  --><!--
 +
-->}}<!-- if inherited from
 
--><!--
 
--><!--
 
--><!--
 
--><!--

Revision as of 15:17, 21 January 2023

This is the template for all types of Non-Definitional Topics (Descriptive, Normative). This template is to be used for all topics/questions the answers to which are descriptions or prescriptions (it is used by Form:Topic).

It should be called in the following format:

{{Topic
 |Subject= //For first order questions, the subject must be a term registered in the encyclopedia. For higher order questions, the subject can be any lower level non-definitional theory question or theory.
 |Topic Type= {Descriptive, Normative}
 |Subfield= {Ontology, Dynamics, etc.}
 |Heritable= {Yes, No}
 |Inherited From= //the question that this question is inherited from
 |Question Text Formula= //For heritable questions only.
 |Question Title Formula= //For heritable questions only.
 |Question Title= //Ignored for heritable questions.
 |Question= //For non heritable questions only. For heritable questions, this is available to the editors only to use in cases when the text produced by the formula should be overridden. 
 |Predicate= //Some text or a term registered in the encyclopedia
 |Object Type= {Boolean, Class, Enumeration, Regular Expression, Text}
 |Object Value True= //optional. Used only if Object Type=Boolean
 |Object Value False= //optional. Used only if Object Type=Boolean
 |Object Class= //optional. Used only if Object Type=Class
 |Object Enum Values= //optional. Used only if Object Type=Enumeration
 |Object Regexp= //optional. Used only if Object Type=Regexp
 |Single Answer Text Formula=
 |Multiple Answers Text Formula=
 |Answer Title Formula=
 |Description=
 |Authors List=
 |Formulated Year=
 |Academic Events=
 |Prehistory=
 |History=
 |Current View=
 |Parent Topic= //This will be deprecated. It will be calculated automatically in an agent-relative way following the current inheritance hierarchy of that agent. For now it is allowed as a backdoor so that it can be assigned manually.
 |Related Topics= //This will be deprecated. It will be calculated automatically in an agent-relative way following the current inheritance hierarchy of that agent.
 |Page Status=
 |Editor Notes=
}}

Edit the page to see the template text.