正在开发一个这样的关系图谱.

经过调研,选择的技术栈是前端 Vue.js + Cytoscape.js
,后端是 Django + Neo4j
. 这样可以很方便的集成到现有的项目中。
Cytoscape.js
的好处是性能较好,几千个节点的布局渲染都能很丝滑的完成,函数式编程的风格比较合胃口。
缺点就是牺牲了个性化样式,例如对阴影的渲染,Cytoscape.js 曾一度打算支持,后来觉得这个需求过于消耗性能,还是把阴影渲染给取消了。目前,Cytoscape.js 连hover鼠标样式自定义都不支持,所以如果节点规模较小,想做的美观可以用cytoscape-canvas
插件或者直接用Antv的G6.
Neo4j
这个图数据库很强大,Django
能通过Neomodel
去操作它,但感觉没这个必要,直接用Neo4j的python驱动,写原生的Cypher 语句,更加自由灵活。
网友评论