hyqaimx/graph-timeline

数据结构的困惑

cmdares opened this issue · 1 comments

按照您提供的示意图
image
事件应该是一条边,需包含起点、终点、类型、时间、标签等其他业务属性。
但是通过demo的数据结构来看,时间字段被设计到节点(实体)中去了,而在边对象中没有体现。
同时为了说明合理性,又参考了带有时间属性的关系图谱的设计,基本均是在边上定义时间属性。
比如:张三给李四在多个不同的时间点转账,类似这种行为,时间和金额要体现在边上,
同时边还要有粗细、颜色、线段种类(虚、实)之分,才能合理的将图展现出来,又不丢失业务细节。

或者说,这个图的设计,既要支撑单个节点的行为(带时间的孤立点),
同时需要包含两个节点的关系行为(带时间的边),
我建议能够同时解析节点上的时间属性和边上的时间属性。

比如,这个场景:
时间一,张三去办理一张银行卡,
时间二,张三去办理第二张张银行卡,
时间三,张三给李四转账L元,
时间四,张三给李四转账M元,
时间五,李四给张三转账N元。

按照这场景看,节点上需要时间属性,边上同样需要时间属性。
一点疑问和建议,希望团队能够采纳。
感谢!

@hyqaimx @haiqinghao

  • 图的时间线组件,出发点是希望把节点之间的关联关系的时间属性区分并展示出来。(在普通网络图中很难将边的时间属性在视角上进行区分)

  • 在时间线里,我们可以把 “节点+节点时间线” 理解为在普通网络图中的 “节点”“事件起点+终点+连线” 等价于普通网络图中的 “边”
    image

这样我们在拉长了的节点上可以按照需要灵活的定义事件起点/终点的发生时刻,甚至事件起点与终点时间可以不一致(线就变成斜的了),还可以为事件起点/终点定义一段时间区域。从而支持像这样的表达
f0e42122c7606aa7af97bac409dc08f
从目前看来,将时间属性通过事件起点/终点进行定义是符合基本需求并且比较灵活的,可以支持单个节点的行为,也可以灵活的表达事件的时间与关联。

关于在边上增加更多属性字段,并且有粗细、颜色、线段种类(虚、实)之分,这个确实是必要的,我们会在后续的规划中进行体现。

再次感谢支持图时间线组件的朋友!
也希望更多的业务与开发朋友加入我们的项目!