{"componentChunkName":"component---src-templates-default-template-tsx","path":"/ki-syntax/","result":{"data":{"asciidoc":{"id":"945b5a6a-9d9c-57f6-bb93-978712c90609","html":"<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\">Table of Contents</div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_introduction\">1. Introduction</a></li>\n<li><a href=\"#_a_note_on_ki_design\">2. A Note on KI design</a></li>\n<li><a href=\"#_syntax\">3. Syntax</a></li>\n</ul>\n</div>\n<div class=\"sect1\">\n<h2 id=\"_introduction\">1. Introduction</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p><em>KI Syntax</em> is a formalization language for knowledge around automating processes. It is the basis for the Knowledge Items (KI).</p>\n</div>\n<div class=\"paragraph\">\n<p>The assumption is, the system will have access to the same information as any (privileged) user and needs to be taught how to interact with the data in order to solve \"Issues\". KI Syntax describes logic that processes/gathers/generates data in a certain way to contribute to the overall problem solution. This logic is stored in the Knowledge Items. Bardioc Engine applies Knowledge Items to its tasks.</p>\n</div>\n<div class=\"paragraph\">\n<p>Application of Knowledge Items works by matching data to KI that call for these conditions and associating the KI to these data points. This is called \"binding\". At any time many Knowledge Items can be \"bound\" to the same data.</p>\n</div>\n<div class=\"paragraph\">\n<p>A task is stored in a theoretical data container called an \"Issue\", this includes the current state of data gathered/generated for this task and the history of steps and changes made to the data during processing.</p>\n</div>\n<div class=\"paragraph\">\n<p>A very simplified Issue could look something like this:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-json\" data-lang=\"json\">{\n \"/Subject\": \"MyTestIssue\",\n \"/MyVariable\": [\"FirstValue\", \"SecondValue\"]\n}</code></pre>\n</div>\n</div>\n<div class=\"paragraph\">\n<p>Bardioc will apply Knowledge Items to an Issue until the task is completed or it runs out of applicable knowledge. In such a case Bardioc will attempt to draw in knowledge from surrounding nodes to further work on the Issue or in rare cases eject the Issue for processing by a human. A task is considered completed when all <a href=\"https://user-guides.engine.datagroup.de/7.0/ki-syntax/definitions/variables/#todo-variables\">todo variables</a> are empty/removed.</p>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"_a_note_on_ki_design\">2. A Note on KI design</h2>\n<div class=\"sectionbody\">\n<div class=\"admonitionblock tip\">\n<table>\n<tr>\n<td class=\"icon\">\n<i class=\"fa icon-tip\" title=\"Tip\"></i>\n</td>\n<td class=\"content\">\nYou should have a look at our <a href=\"/7.0/ki-syntax/hints/\">Useful tips</a> section\n</td>\n</tr>\n</table>\n</div>\n<div class=\"paragraph\">\n<p>While KI Syntax borrows heavily from common programming language features like string expansion or comparison operators, it should <em>not</em> be confused with a programming language. KI Syntax  purposefully does not natively support creation of large monolithic algorithms. The goal is to write atomized bits of knowledge that can be freely strung together by their inputs and outputs and are as re-usable for as many use cases as possible.</p>\n</div>\n<div class=\"paragraph\">\n<p>You can, however use the included <a href=\"https://user-guides.engine.datagroup.de/7.0/ki-syntax/definitions/varstrings/#_mathematical_operations\">math</a>, <a href=\"/7.0/ki-syntax/functions/javascript/\">JavaScript</a> and <a href=\"/7.0/ki-syntax/functions/regex/\">Regular Expression</a> functions to manipulate data in your Knowledge Items.</p>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"_syntax\">3. Syntax</h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>The syntax is defined by the <a href=\"/7.0/ki-syntax/definitions/ki-structure/\">structure of KI</a> described in this document and the available <a href=\"/7.0/ki-syntax/functions/functions/\">KI Syntax functions</a>.</p>\n</div>\n<div class=\"paragraph\">\n<p>KI Syntax is written as simple text using a YAML-like approach with a 2 spaces (`  `) indentation pattern.</p>\n</div>\n<div class=\"paragraph\">\n<p>For example:</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight\"><code class=\"language-elixir\" data-lang=\"elixir\">ki\n  name: \"Test\"\non\n  A\ndo\n  log(\"we have an A with value ${A}\")</code></pre>\n</div>\n</div>\n</div>\n</div>","document":{"main":"Overview","title":"Overview: KI Syntax - Embedded Knowledge Item Syntax for Almato Bardioc","subtitle":"KI Syntax - Embedded Knowledge Item Syntax for Almato Bardioc"},"fields":{"toc":true,"location":["ki-syntax"]}},"sidebarYaml":{"id":"6f28bdca-d703-5e79-ae00-b0508f8ee82a","showIndex":true}},"pageContext":{"id":"945b5a6a-9d9c-57f6-bb93-978712c90609","parent":"ki-syntax"}},"staticQueryHashes":["1010459453","1010459453","2356112386","2356112386","2603905930","2603905930","3026652197","3026652197","3167850324","3167850324","63159454","63159454"]}