编辑计算方法
==================
进入算法编辑页面
点击路径计算列表的指定算法名称,打开左侧的算法编辑界面
计算方法详情

头部字段
| 字段名称 | 说明 |
| -------- | --------------- |
| 算法名称 | 语义计算的算法名称 |
| 语义路径 | 该算法附加的语义路径,可选项|
路径展开式

* 展开路径的所有语义元素:
1. 标准短语路径:路径表达式中的所有语义元素;
2. 标准关联路径:路径表达式中的所有语义元素,事件组元素;
3. 嵌入短语路径:短语路径表达式的语义元素 + 嵌入路径的所有语义元素;
4. 嵌入关联路径:两个关联路径的所有语义元素和,以及所有事件组元素;
5. 复合路径:复合路径内所有路径的语义元素和,以及所有事件组元素
```{admonition} *路径展开式的意义*
- 路径展开式的所有节点确定了路径的语义范围
- 路径展开式可以直接映射到语义基础的所有节点
- 路径展开式的元素可以作为语义运算的参数
```
句式运算选项卡
最简单的算法是句式运算。在算法头部字段附加的是“是非疑问式”或“特指疑问式”的语义路径时,句式运算会为此路径自动分配路径路径的求解方法。
* 测试推导过程:支持在线测试
1. 路径为是非疑问句式
- 系统会自动判断疑问句式是否有陈述式或否定式的结果;
- 如果陈述式为核心路径,则返回陈述式的路径;
- 如果否定式为核心路径,则返回否定式的路径。
2. 路径句式为特指疑问句式
- 系统会自动匹配满足特指成分的所有陈述式或否定式的结果;
- 如果陈述式为核心路径,则返回陈述式的路径;
- 如果否定式为核心路径,则返回否定式的路径。
- 如果未匹配到,则返回空结果
3. 该方法的返回值为JSON格式字符串
URL选项卡

此方法调用外部URL完成计算结果,可以作为最常用的路径计算方法:
| 字段名称 | 说明 |
| -------- | --------------- |
| 请求URL | 请求外部的URL字符串 |
| 请求方法 | GET 或 POST 方法|
| 请求参数 | 对外URL的请求参数
此算法不需要一定附加语义路径,但如果附加语义路径,
则可以将此语义路径展开式的语义元素作为请求参数传递给外部URL|
* 测试推导过程:支持在线测试
通过定义上述字段,调用外部的请求,获取实时的运算结果。该方法的返回值为JSON格式字符串
自定义方法选项卡

此方法允许客户自定义python代码,执行自定义逻辑:
| 字段名称 | 说明 |
| -------- | --------------- |
| 参数 | 参数不需要一定引用语义路径,但如果附加语义路径,
则可以将此语义路径展开式的语义元素作为方法参数|
| 执行体 | 客户自定义的python脚本,并支持最简单的句法高亮 |
* 测试推导过程:支持在线测试
用户通过定义参数和执行体,获取运算的推导结果。该方法的返回值为JSON格式字符串
定义路径算法
1. 在定义路径算法时,如果附加了语义路径,建议从句式运算开始;
2. 如果句式运算不满足需求,则使用URL选项卡调用外部路径,获得复杂逻辑的计算结果
3. 如果运算逻辑很简单,则建议使用自定义方法选项卡获得推导结果
4. 测试推导成功后,点击保存,完成定义