Open main menu

Changes

3,578 bytes added ,  00:36, 28 February 2023
no edit summary
|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.|QuestionTitle= //This will be deprecatedIgnored for heritable questions.|Question= //For non heritable questions only. For now, if a formula is givenheritable questions, this one is ignored and constructed automatically from available to the editors only to use in cases when the text produced by the formulashould be overridden.|Predicate Type= {Text, Term}|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
|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.
|Parent Topic= //This will be deprecated. It will be calculated automatically in an agent-relative way following the current inheritance hierarchy of that agent.
|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 Text Formula={{{Question Text Formula|}}}|<!--
-->Question Title Formula={{{Question Title Formula|}}}|<!--
-->QuestionTitle={{{Question|}}}|<!-- //TODO: calculate this automatically -->Predicate Type={{{Predicate Type|}PAGENAME}}|<!--
-->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
-->{{#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
-->{{#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>{{Question|}#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==
-->}}<!--
-->
{{#switch: {{{Topic Type|}}} |Normative=If a theory on this normative question is missing, please {{#formlink:form=Normative Theory|link text=click here an answer to add it|query string=Theory Type=Normative&Topic={{FULLPAGENAME}}|}}. |Descriptive=If a theory on this descriptive question is missing, please {{#formlink:form=Descriptive Theory|link text=click here to add it|query string=Theory Type=Descriptive&[Topic]={{FULLPAGENAME}}|}}. |Definitional=If a definition of this term is missing, please {{#formlink:form=Definition|link text=click here to add it|query string=Theory Type=Definition&Topic={{FULLPAGENAME}}|}}. }}</div><!----></div><!--
-->
===Accepted Theories===
-->
==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]]<!--
-->}}<!--
--><!--