我在 neo4j 上有一个图,我想运行拓扑排序,最好不要在图本身上写(以允许多个客户端同时在同一个图上运行算法)。
我应该如何处理这个问题?我应该克隆图形并处理临时副本,还是有某种遍历/迭代器?
谢谢
PS:我在 Ruby 上通过 neography gem (REST API) 使用 neo4J
最佳答案
丹,
您可以启动事务并在获得所需数据后将其失败,这样它就不会写入数据库。参见 http://maxdemarzi.com/2012/02/21/max-flow-with-gremlin-and-transactions/举个例子。如果您必须接触一百万个节点,这将不会很好地工作,但对于图形的小子集,它应该没有问题。
关于ruby - Neo4j 上的拓扑排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9617510/