模板非运算符支持¶
我们希望模板语言支持“非”运算符,除了“与”和“或”运算符之外。
问题描述¶
目前模板语言支持“与”和“或”运算符,但这还不够。许多场景无法仅用这两个运算符来描述,因此我们希望添加对“非”运算符的支持。
提议的变更¶
- 备注:正向顶点 = 具有属性“is_deleted”=False 边的顶点。
- 负向顶点 = 正向顶点的相反。这意味着该
顶点仅具有属性“is_deleted”=True 的边。
为了支持“非”运算符,需要进行以下更改。
在模板验证中。检查“非”运算符只能以以下方式出现
“非”运算符可以出现在边之前。
场景评估器
检查“非”运算符是否出现在某个元素上,并为其添加名为“negative_condition”的属性,并将其“is_delete”属性更新为 True。
Networkx 算法
在 subgraph_matching 方法中。如果匹配不是“负向条件”,则执行常规 subgraph_matching。否则,如果匹配是“负向条件”,则在负向边上执行 subgraph_matching。
性能/可扩展性影响¶
由于上述步骤,子图匹配算法的性能会稍微降低。
其他部署者影响¶
无
开发者影响¶
无
实现¶
负责人¶
- 主要负责人
alexey_weyl <alexey.weyl@nokia.com>
工作项¶
无
未来生命周期¶
无
依赖项¶
无
测试¶
添加了检查“非”运算符不同用法的测试。
文档影响¶
参考资料¶
无