我正在尝试使用Neo4j,Cypher和Python(Py2Neo)模拟文件系统。
我创建了数据模型,如下面的屏幕截图所示。
Type = 0表示文件夹,type = 1表示文件。
我正在为文件/文件夹实现复制,移动等功能。
移动功能看起来很简单,我可以创建一个新关系并删除旧关系。但复制文件/文件夹需要复制子图。
如何复制子图?
我正在创建一个python模块,所以试图避免apoc。
即使您试图避免APOC,它已经在最新版本中实现了此功能:apoc.refactor.cloneSubgraph()
对于非APOC方法,您需要完成以下操作:
所有这些在Cypher中都很难做到(特别是第3步和第4步),因此所有这些都被封装在apoc.refactor.cloneSubgraph()
中。