Difference between revisions of "Template:Topic"
Jump to navigation
Jump to search
(68 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<noinclude> | <noinclude> | ||
− | This is the template for all types of | + | 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: | It should be called in the following format: | ||
<pre> | <pre> | ||
{{Topic | {{Topic | ||
− | |Topic Type= | + | |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. |
− | |Question= | + | |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= | |Description= | ||
|Authors List= | |Authors List= | ||
|Formulated Year= | |Formulated Year= | ||
|Academic Events= | |Academic Events= | ||
− | |Prehistory= | + | |Prehistory= |
|History= | |History= | ||
|Current View= | |Current View= | ||
− | |Related Topics= | + | |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= | |Page Status= | ||
|Editor Notes= | |Editor Notes= | ||
+ | |Sorting Order= | ||
}} | }} | ||
</pre> | </pre> | ||
Edit the page to see the template text. | Edit the page to see the template text. | ||
+ | |||
</noinclude><includeonly><!-- | </noinclude><includeonly><!-- | ||
− | -->{{#set:Question={{{Question|}}}|Formulated Year={{{Formulated Year|}}}|Page Status={{{Page Status|Stub}}}|Editor Notes={{{Editor Notes|}}}|Parent Topic={{{Parent Topic|}}}|Authors List={{{Authors List|}}}|Topic | + | --><!-- |
+ | --><!-- set values | ||
+ | -->{{#set:<!-- | ||
+ | -->Subject={{{Subject|}}}|<!-- | ||
+ | -->Topic Type={{{Topic Type|}}}|<!-- | ||
+ | -->Subfield={{{Subfield|Dynamics}}}|<!-- //TODO: remove the default when the transition is complete. | ||
+ | -->Question Text Formula={{{Question Text Formula|}}}|<!-- | ||
+ | -->Question Title Formula={{{Question Title Formula|}}}|<!-- | ||
+ | -->Question Title={{PAGENAME}}|<!-- | ||
+ | -->Predicate={{{Predicate|}}}|<!-- | ||
+ | -->Object Type={{{Object Type|Text}}}|<!-- | ||
+ | -->Object Value True={{{Object Value True|Yes}}}|<!-- | ||
+ | -->Object Value False={{{Object Value False|No}}}|<!-- | ||
+ | -->Object Class={{{Object Class|}}}|<!-- | ||
+ | -->Object Enum Values={{{Object Enum Values|}}}|<!-- | ||
+ | -->Object Regexp={{{Object Regexp|}}}|<!-- | ||
+ | -->Single Answer Text Formula={{{Single Answer Text Formula|}}}|<!-- | ||
+ | -->Multiple Answers Text Formula={{{Multiple Answers Text Formula|}}}|<!-- | ||
+ | -->Answer Title Formula={{{Answer Title Formula|}}}|<!-- | ||
+ | -->Formulated Year={{{Formulated Year|}}}|<!-- | ||
+ | -->Page Status={{{Page Status|Stub}}}|<!-- | ||
+ | -->Editor Notes={{{Editor Notes|}}}|<!-- | ||
+ | -->Sorting Order={{{Sorting Order|10000}}}|<!-- default is 10000 | ||
+ | -->Parent Topic={{{Parent Topic|}}}|<!-- this allows for a backdoor to assign parent topics manually | ||
+ | -->Authors List={{{Authors List|}}}|<!-- | ||
+ | -->}}<!-- set | ||
+ | --><!-- | ||
+ | --><!-- set the order | ||
+ | -->{{#vardefine: varSubjectOrder|{{#show: {{{Subject|}}}|?Order|link=none}}|}}<!-- | ||
+ | -->{{#if: {{#var: varSubjectOrder}}<!-- | ||
+ | -->|{{#vardefine: varOrder| {{#expr: {{#var: varSubjectOrder}} + 1}} }}<!-- | ||
+ | -->|{{#vardefine: varOrder| 1 }}<!-- no subject. Set 1 by default | ||
+ | -->}}<!-- if subject order is given | ||
+ | -->{{#set:Order={{#var: varOrder}}|}}<!-- | ||
+ | --><!-- | ||
+ | --><!-- set the inherited from and heritable | ||
+ | -->{{#if: {{{Inherited From|}}}<!-- | ||
+ | -->|<!-- an inherited question is not itself heritable | ||
+ | -->{{#set:Heritable=No|Inherited From={{{Inherited From|}}}|Inherited=Yes}}<!-- | ||
+ | -->|<!-- a non-inherited question can be heritable | ||
+ | -->{{#set:Heritable={{{Heritable|No}}}|Inherited=No}}<!-- | ||
+ | -->}}<!-- if | ||
+ | --><!-- | ||
+ | --><!-- set the question text | ||
+ | -->{{#if: {{{Question|}}}<!-- | ||
+ | -->|<!-- | ||
+ | --><!-- the question is given | ||
+ | -->{{#vardefine: varQuestion|{{{Question|}}}}}<!-- | ||
+ | -->|<!-- | ||
+ | --><!-- the question is not given: calculate it from the formula | ||
+ | -->{{#vardefine: varQuestion|{{DecodeTextFormula|formula={{{Question Text Formula|}}}|subject={{{Subject|}}}|predicate={{{Predicate|}}}|object={{{Object Class}}}|link=yes}}}}<!-- | ||
+ | -->}}<!-- if | ||
+ | --><!-- | ||
+ | -->{{#set: Question={{#var: varQuestion}}}}<!-- | ||
+ | --><!-- | ||
+ | --><!-- set the inheritance hierarchy | ||
+ | -->{{#set:Subsumes items={{FULLPAGENAME}}}}<!-- | ||
+ | -->{{#arraydefine:varChildrenArray|{{#ask: [[-Subsumes items::<q>[[Parent Topic::{{FULLPAGENAME}}]]</q>]]|headers=hide|link=none}}|,|}}<!-- | ||
+ | -->{{#arrayunique:varChildrenArray}}<!-- | ||
+ | -->{{#arrayprint:varChildrenArray||@@@@|{{#set:Subsumes items=@@@@}}|}}<!-- | ||
+ | --><!-- | ||
+ | --><!-- have to do it again to include the subsumed elements of the subsumed elements | ||
+ | -->{{#arraydefine:varSubsumeArray|{{#ask: [[-Subsumes items::<q>[[Parent Topic::{{FULLPAGENAME}}]]</q>]]|headers=hide|link=none}}|,|}}<!-- | ||
+ | -->{{#arrayunique:varSubsumeArray}}<!-- | ||
+ | -->{{#arrayprint:varSubsumeArray||@@@@|{{#set:Subsumes items=@@@@}}|}}<!-- | ||
+ | --><!-- | ||
+ | --><!-- | ||
+ | --><!-- set parent topic. Currently the parent topic and the ensuing hierarchy of Subsumed/Subsumes etc. is community agnostic. | ||
+ | --><!-- TODO: moving forward we need to come up with a more intricate way of storing this such that each community can have its own hierarchy. | ||
+ | --><!-- | ||
+ | -->{{#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: varObject| {{#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: varObject}}|}} }}<!-- | ||
+ | --><!-- | ||
+ | -->{{#set: Parent Topic={{#var: varTitle}}|}}<!-- | ||
+ | --><!-- | ||
+ | -->}}<!-- arrayprint | ||
+ | --><!-- | ||
+ | --><!-- also construct an array with links or red links to be displayed at the bottom | ||
+ | -->{{#arraydefine: arrayParentPageLinks<!-- | ||
+ | -->|{{#arrayprint: arrayIntersectTerms||varTerm<!-- | ||
+ | -->|<!-- | ||
+ | -->{{#vardefine: varTitle| {{DecodeTitleFormula|formula={{#var: varTitleFormula}}|subject=varTerm|predicate={{#var: varPredicate}}|object={{#var: varObject}}|}} }}<!-- | ||
+ | --><!-- | ||
+ | --><!-- check if the page exists | ||
+ | -->{{#ifexist:{{#var: varTitle}}<!-- | ||
+ | -->|<!-- exist: add the link to the page | ||
+ | -->[[{{#var: varTitle}}]]<!-- | ||
+ | -->|<!-- doesn't exist: add the formlink | ||
+ | -->{{#formlink:form=Topic|link text={{#var: varTitle}}|target={{#var: varTitle}}|query string=Topic[Subject]=varTerm&Topic[Inherited From]={{{Inherited From|}}}|}}<!-- | ||
+ | -->}}<!-- if exists | ||
+ | --><!-- | ||
+ | -->}}<!-- arrayprint | ||
+ | -->| , |unique<!-- | ||
+ | -->}}<!-- arraydefine | ||
+ | --><!-- | ||
+ | -->|<!-- not inherited: still construct an empty array for the use below | ||
+ | -->{{#arraydefine: arrayParentPageLinks}}<!-- | ||
+ | --><!-- | ||
+ | -->}}<!-- if inherited from | ||
+ | --><!-- | ||
+ | |||
--><!-- | --><!-- | ||
--><!-- set the authors | --><!-- set the authors | ||
Line 33: | Line 173: | ||
-->{{#arrayunique:topicsArray}}<!-- | -->{{#arrayunique:topicsArray}}<!-- | ||
-->{{#arrayprint:topicsArray||@@@@|{{#set:Has Related Topic=@@@@}}|}}<!-- | -->{{#arrayprint:topicsArray||@@@@|{{#set:Has Related Topic=@@@@}}|}}<!-- | ||
− | |||
− | |||
− | |||
− | |||
− | |||
--><!-- | --><!-- | ||
--><!-- set the academic events | --><!-- set the academic events | ||
Line 50: | Line 185: | ||
--><!-- | --><!-- | ||
--><!-- set Has Accepted Answer and Has No Accepted Answer | --><!-- set Has Accepted Answer and Has No Accepted Answer | ||
− | -->{{ | + | -->{{SetTopicCurrentAnswer|topic={{FULLPAGENAME}}|subfield={{{Subfield|Dynamics}}}|}}<!-- |
--><!-- | --><!-- | ||
--><!-- Calculate completion rates for each major property | --><!-- Calculate completion rates for each major property | ||
Line 72: | Line 207: | ||
-->{{#set: CR_Total={{#var:varCRtotal}} }}<!-- | -->{{#set: CR_Total={{#var:varCRtotal}} }}<!-- | ||
--><!-- | --><!-- | ||
− | --> | + | --><p>{{#var: varQuestion}}</p><!-- |
− | + | ||
-->{{PrintSectionVideos|page={{FULLPAGENAME}}|section=Description}}<!-- | -->{{PrintSectionVideos|page={{FULLPAGENAME}}|section=Description}}<!-- | ||
− | |||
− | {{{Description|}}} | + | -->{{#if: {{{Description|}}}|<p>{{{Description|}}}</p>}}<!-- |
− | }} | ||
− | {{PrintTopicSubtitle|topic={{FULLPAGENAME}}|}} | + | --><p>{{PrintTopicSubtitle|topic={{FULLPAGENAME}}|}} <!-- |
− | {{PrintTopicCurrentlyAcceptedInCommunities|topic={{FULLPAGENAME}}|link=all|pretty=yes}}<!-- | + | -->{{PrintTopicCurrentlyAcceptedInCommunities|topic={{FULLPAGENAME}}|link=all|pretty=yes}}<!-- |
− | -->{{ | + | -->{{PrintTopicAcceptedTheoriesFormulations<!-- |
− | |topic={{FULLPAGENAME}} | + | -->|topic={{FULLPAGENAME}}<!-- |
− | | | + | -->|link=yes<!-- |
− | + | -->}}</p><!-- | |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | --> | ||
-->{{#if:{{{Prehistory|}}}|<nowiki/> | -->{{#if:{{{Prehistory|}}}|<nowiki/> | ||
− | == | + | ==Broader History== |
<div class="mw-collapsible mw-collapsed"> | <div class="mw-collapsible mw-collapsed"> | ||
{{PrintSectionVideos|page={{FULLPAGENAME}}|section=Prehistory}} | {{PrintSectionVideos|page={{FULLPAGENAME}}|section=Prehistory}} | ||
{{{Prehistory|}}} | {{{Prehistory|}}} | ||
</div>}} | </div>}} | ||
− | ==History== | + | ==Scientonomic History== |
{{PrintSectionVideos|page={{FULLPAGENAME}}|section=History}} | {{PrintSectionVideos|page={{FULLPAGENAME}}|section=History}} | ||
{{{History|}}} | {{{History|}}} | ||
Line 118: | Line 246: | ||
-->}}<!-- | -->}}<!-- | ||
--> | --> | ||
− | + | If an answer to this question is missing, please {{#formlink:form=Theory|link text=click here to add it|query string=Theory[Topic]={{FULLPAGENAME}}|}}. | |
− | + | </div><!-- | |
− | + | --><!-- | |
− | |||
− | |||
− | -- | ||
--> | --> | ||
===Accepted Theories=== | ===Accepted Theories=== | ||
Line 145: | Line 270: | ||
--> | --> | ||
==Current View== | ==Current View== | ||
− | {{PrintTopicAcceptedTheoriesList | + | <!-- |
− | |topic={{FULLPAGENAME}} | + | -->{{#if: {{{Current View|}}}|<p>{{{Current View|}}}<p>|}}<!-- |
− | |default=There is currently no accepted answer to this question. | + | --><!-- |
− | | | + | --><!-- print the answers |
− | + | --><!-- | |
− | + | --><p>{{PrintTopicAcceptedTheoriesList<!-- | |
− | + | -->|topic={{FULLPAGENAME}}<!-- | |
− | + | -->|default=There is currently no accepted answer to this question.<!-- | |
− | | | + | -->|communitiesfirst=yes<!-- |
− | + | -->|groupbycommunity=yes<!-- | |
− | --> | + | -->}}</p> |
− | < | + | <!-- |
− | {{{ | + | --><!-- |
+ | --><!-- print the answer details: description etc. | ||
+ | --><!-- | ||
+ | -->{{PrintTopicAcceptedTheoriesDetails|topic={{FULLPAGENAME}}|}}<!-- | ||
+ | --> | ||
{{PrintTopicOpenQuestionsList | {{PrintTopicOpenQuestionsList | ||
|topic={{FULLPAGENAME}} | |topic={{FULLPAGENAME}} | ||
Line 166: | Line 295: | ||
}} | }} | ||
==Related Topics== | ==Related Topics== | ||
− | {{#if:{{{Parent Topic|}}}| | + | <!-- construct the manual array |
+ | -->{{#if: {{{Parent Topic|}}}<!-- | ||
+ | -->|<!-- add to the array | ||
+ | -->{{#arraydefine: arrayManual|[[{{{Parent Topic|}}}]]|}}<!-- | ||
+ | -->|<!-- define an empty array | ||
+ | -->{{#arraydefine: arrayManual}}<!-- | ||
+ | -->}}<!-- | ||
+ | --><!-- | ||
+ | --><!-- create the union of the manual and calculated arrays of parent topics | ||
+ | -->{{#arrayunion: arrayMerged|arrayManual|arrayParentPageLinks}}<!-- | ||
+ | --><!-- | ||
+ | -->{{#switch: {{#arraysize: arrayMerged}}<!-- | ||
+ | -->|0=<!-- nothing to do | ||
+ | -->|<!-- print | ||
+ | -->This question is a subquestion of <!-- | ||
+ | -->{{#arrayprint: arrayMerged||@@@@|@@@@|print=pretty}}<!-- | ||
+ | -->.<!-- | ||
+ | -->}}<!-- | ||
+ | --> | ||
{{PrintTopicSubtopics | {{PrintTopicSubtopics | ||
|topic={{FULLPAGENAME}} | |topic={{FULLPAGENAME}} | ||
Line 179: | Line 326: | ||
|link=all | |link=all | ||
|bullets=yes | |bullets=yes | ||
− | }} | + | }}<!-- |
− | {{#switch: {{{Topic Type|}}} | + | --><!-- |
− | |Normative=[[Category:Normative Topic]] | + | --><!--add categories |
− | |Descriptive=[[Category:Descriptive Topic]] | + | --><!-- |
− | |Definitional=[[Category:Definitional Topic]] | + | -->{{#switch: {{{Topic Type|}}}<!-- |
− | |{{Note}} Something went wrong and the topic type is undefined. If you see this message, please contact the editors with the details. | + | -->|Normative=[[Category:Normative Topic]]<!-- |
− | }} | + | -->|Descriptive=[[Category:Descriptive Topic]]<!-- |
− | <!-- | + | -->|Definitional=[[Category:Definitional Topic]]<!-- |
− | {{#switch: {{{Page Status|Stub}}} | + | -->|{{Note}} Something went wrong and the topic type is undefined. If you see this message, please contact the editors with the details.<!-- |
− | |Editor Approved=[[Category:Editor Approved Topic Pages]] | + | -->}}<!-- |
− | |Needs Editing=[[Category:Need Editing Topic Pages]] | + | --><!-- |
− | |Stub=[[Category:Stub Topic Pages]] | + | -->{{#switch: {{{Page Status|Stub}}}<!-- |
− | }} | + | -->|Editor Approved=[[Category:Editor Approved Topic Pages]]<!-- |
− | __NOEDITSECTION__ | + | -->|Needs Editing=[[Category:Need Editing Topic Pages]]<!-- |
− | __NOCACHE__ | + | -->|Stub=[[Category:Stub Topic Pages]]<!-- |
− | </includeonly> | + | -->}}<!-- |
+ | --><!-- | ||
+ | -->__NOEDITSECTION__ <!-- | ||
+ | -->__NOCACHE__ <!-- | ||
+ | --></includeonly> |
Latest revision as of 00:36, 28 February 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= |Sorting Order= }}
Edit the page to see the template text.