Graphviz分组定义边无法指向record节点对应字段如何解决
可以通过调整语法实现分组定义边时指向对应字段,不需要逐行写长格式。
你当前使用的源节点 -> {节点:端口 节点:端口 ...}写法属于Graphviz解析器的已知不支持场景:当边的右侧是节点集合时,集合内节点附带的端口配置会被忽略,只会生成指向节点整体的边。
推荐使用以下两种更简洁的合法语法替代:
- 指向同一节点的多个端口,可把端口统一放在节点后的大括号中:
page1 -> entity1:{save get del}
- 指向不同节点的同一个端口,可把节点统一放在大括号中,端口写在括号外:
page1 -> {entity1 entity2}:get
按照上述语法修改你的映射部分代码后如下:
// Mappings: Page -> Operation { // Page 1 - 修正后的短格式,可正常指向对应字段 page1 -> entity1:{save get del} page1 -> entity2:get // Page 2 - 长格式,效果和修正后的短格式完全一致 page2 -> entity1:save page2 -> entity1:get page2 -> entity1:del page2 -> entity2:get }
修改后page1引出的边会和page2的效果完全一致,正确指向record节点对应的操作字段,同时代码排版整洁,不需要重复书写同一节点名。
内容的提问来源于stack exchange,提问作者maccaroo
相关产品推荐
相关产品推荐

