Open main menu

Changes

3,223 bytes added ,  00:36, 28 February 2023
no edit summary
<pre>
{{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 Type= {Text, Term}//Some text or a term registered in the encyclopedia |Predicate= |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= |Order= //This will be deprecated. The question's order will be calculated from the Subject. If the subject is a term registered in the encyclopedia, then the question is first order. Otherwise, the question's order will be equal to subject's order + 1. |Lower Order Elements= //This will be deprecated. It will be calculated automatically from the subject, object, and predicate. |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=
}}
</pre>
-->Question Title Formula={{{Question Title Formula|}}}|<!--
-->Question Title={{PAGENAME}}|<!--
-->Predicate Type={{{Predicate Type|}}}|<!--
-->Predicate={{{Predicate|}}}|<!--
-->Object Type={{{Object Type|Text}}}|<!--
-->Multiple Answers Text Formula={{{Multiple Answers Text Formula|}}}|<!--
-->Answer Title Formula={{{Answer Title Formula|}}}|<!--
-->Order={{{Order|1}}}|<!--
-->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
-->|<!--
--><!-- 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
--><!--
-->{{#arrayprint:varSubsumeArray||@@@@|{{#set:Subsumes items=@@@@}}|}}<!--
--><!--
--><!----><!-- set parent topic. Currently the parent topic and the lower order elements (theories or questions) only 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 order is greater than 1properties required to format the title from Inherited From -->{{#vardefine: varTitleFormula| {{#show: {{{Inherited From|}}}|?Question Title Formula|link=none}} }}<!-- -->{{#ifeqvardefine: varPredicate| {{#show: {{{OrderInherited From|1}}} | 1 ?Predicate|link=none}} }}<!-- -->{{#vardefine: varObject| {{#show: {{{Inherited From|}}}|?Object Class|link=none}} }}<!-- nothing to do if this is a first --><!-- --><!-- get the inherited topic's subject -->{{#vardefine: varInheritedSubject| {{#show: {{{Inherited From|}}}|?Subject|link=none}} }}<!-- --><!--order theory --><!-- 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:foelementsArrayarrayParentTerms|{{GetPropertyValues|object={{{Lower Order ElementsSubject|}}}|property=Parent Class|link=none}}|,|unique}}<!-- --><!-- --><!-- Get the intersection of the two arrays -->{{#arrayuniquearrayintersect:foelementsArrayarrayIntersectTerms|arraySubsumesTerms|arrayParentTerms|}}<!-- --><!-- --><!-- For each item in the intersection array, format the question page title according to the formula taken from Inherited From -->{{#arrayprint:foelementsArrayarrayIntersectTerms||@@@@varTerm<!-- -->|<!-- -->{{#vardefine: varTitle| {{DecodeTitleFormula|formula={{#var: varTitleFormula}}|subject=varTerm|predicate={{#var: varPredicate}}|object={{#var: varObject}}|}} }}<!-- --><!-- -->{{#set:Has Lower Order ElementParent Topic=@@@@{{#var: varTitle}}|}}<!-- --><!-- -->}}<!-- ifeqarrayprint --><!-- --><!-- 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
-->{{#arrayunique:topicsArray}}<!--
-->{{#arrayprint:topicsArray||@@@@|{{#set:Has Related Topic=@@@@}}|}}<!--
--><!--
--><!-- set the related theories
-->{{#arraydefine:theoriesArray|{{{Related Theories|}}}|,|}}<!--
-->{{#arrayunique:theoriesArray}}<!--
-->{{#arrayprint:theoriesArray||@@@@|{{#set:Has Related Theory=@@@@}}|}}<!--
--><!--
--><!-- set the academic events
--><!--
--><!-- set Has Accepted Answer and Has No Accepted Answer
-->{{SetTopicHasAcceptedAnswerSetTopicCurrentAnswer|topic={{FULLPAGENAME}}|subfield={{{Subfield|Dynamics}}}|}}<!--
--><!--
--><!-- Calculate completion rates for each major property
-->{{#set: CR_Total={{#var:varCRtotal}} }}<!--
--><!--
--> <p>{{#var: varQuestion}}</p><!--  
-->{{PrintSectionVideos|page={{FULLPAGENAME}}|section=Description}}<!--
-->{{#if: {{{Description|}}}|<nowiki/>
-->{{#if: {{{Description|}}}|<p>{{{Description|}}} </p>}}<!--
--><p>{{PrintTopicSubtitle|topic={{FULLPAGENAME}}|}}&#32;<!---->{{PrintTopicCurrentlyAcceptedInCommunities|topic={{FULLPAGENAME}}|link=all|pretty=yes}}<!---->{{PrintTopicAcceptedTheoriesListPrintTopicAcceptedTheoriesFormulations<!-- -->|topic={{FULLPAGENAME}}<!-- -->|formulationtextlink=yes |formulationfile=no |bullets=no |linebreak=no |communitiesfirst=no |groupbycommunity=yes}}<!-- -->{{PrintTopicHasNoAcceptedAnswer|topic={{FULLPAGENAME}}|intro=&#32;At the moment, the question has no accepted answer in&#32;|outro=<nowiki>.</nowikip>|link=all|pretty=yes}}<!--
-->{{#if:{{{Prehistory|}}}|<nowiki/>
==Broader History==
-->
==Current View==
<!---->{{#if: {{{Current View|}}}|<p>{{{Current View|}}}<p>|}}<!-- --><!-- --><!-- print the answers--><!-- --><p>{{PrintTopicAcceptedTheoriesList<!-- -->|topic={{FULLPAGENAME}}<!-- -->|default=There is currently no accepted answer to this question.<!-- -->|formulationtext=yes |formulationfile=yes |description=yes |bullets=no |linebreakcommunitiesfirst=yes<!-- -->|communitiesfirstgroupbycommunity=yes}}<!-- -->{{#if: {{{Current View|}}}|<nowiki/p><br/!-- --><!-- --><nowiki/!-- print the answer details: description etc.--><!-- -->{{PrintTopicAcceptedTheoriesDetails|topic={{Current View|}FULLPAGENAME}}|}}<!---->
{{PrintTopicOpenQuestionsList
|topic={{FULLPAGENAME}}
}}
==Related Topics==
<!-- construct the manual array-->{{#if:{{{Parent Topic|}}}<!-- -->|This topic is a sub<!-- add to the array --topic of >{{#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&#32;<!-- -->{{#arrayprint: arrayMerged||@@@@|@@@@|print=pretty}}<!-- -->.|<!-- -->}}<!---->
{{PrintTopicSubtopics
|topic={{FULLPAGENAME}}
--><!--
--><!--add categories
--><!--
-->{{#switch: {{{Order|1}}}<!--
--> |2=[[Category:Second Order Element]][[Category:Second Order Topic]]<!--
--> |#default=[[Category:First Order Element]][[Category:First Order Topic]]<!--
-->}}<!--
--><!--
-->{{#switch: {{{Topic Type|}}}<!--
--> |Normative=[[Category:Normative Topic]]<!-- --> |Descriptive=[[Category:Descriptive Topic]]<!-- --> |Definitional=[[Category:Definitional Topic]]<!-- --> |{{Note}} Something went wrong and the topic type is undefined. If you see this message, please contact the editors with the details.<!--
-->}}<!--
--><!--
-->{{#switch: {{{Page Status|Stub}}}<!--
--> |Editor Approved=[[Category:Editor Approved Topic Pages]]<!-- --> |Needs Editing=[[Category:Need Editing Topic Pages]]<!-- --> |Stub=[[Category:Stub Topic Pages]]<!--
-->}}<!--
--><!--