Difference between revisions of "Template:Topic"
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.