Neo4J-如何获得图形的最小ASCII艺术表示?

Neo4J-如何获得图形的最小ASCII艺术表示?,neo4j,Neo4j,我正在使用Neo4J Java Traversal API,并对代码进行了大量测试 如果我能在失败的测试中记录图形的ASCII art表示,调试就会容易得多 显然,在生产代码中“记录”Neo4J图很难,但在测试中很实用,因为这些图只包含少数节点和关系 如何最好地获得Neo4J图形的ASCII艺术表示,请?这似乎会很痛苦。使用一个为图像文件生成可视图形的库,并在出现故障时生成/打开该文件,怎么样?这篇文章似乎有一些很好的库用于在java中生成图形可视化: 我查看了各种可视化库,但似乎很少(如果有的

我正在使用Neo4J Java Traversal API,并对代码进行了大量测试

如果我能在失败的测试中记录图形的ASCII art表示,调试就会容易得多

显然,在生产代码中“记录”Neo4J图很难,但在测试中很实用,因为这些图只包含少数节点和关系


如何最好地获得Neo4J图形的ASCII艺术表示,请?

这似乎会很痛苦。使用一个为图像文件生成可视图形的库,并在出现故障时生成/打开该文件,怎么样?这篇文章似乎有一些很好的库用于在java中生成图形可视化:


我查看了各种可视化库,但似乎很少(如果有的话)能与简单的嵌入式
无常数据库
配合使用。我不想依赖外部工具来完成这项工作

我决定运行临时密码查询并将结果转储到控制台:

println(新的执行引擎(db)。执行(
匹配(p:USER)-[r]-(c:USER)返回p.screenname,r,c.screenname
).dumpToString())

同意这会很痛苦,但图像并不是很好的解决方案;它们可能在这种狭窄的情况下工作,但它们当然不能被放大。我不知道ASCII艺术,但我能想到的最接近的东西可能是RDF Turtle之类的东西。这是一种用于表示图形的简单文本压缩格式(尽管是RDF,但需要对neo4j进行修改)。很难计算出一条线上要放多少钱。如果这个图是一个有3个子树的树根X,那么它应该写为(X)->(a),(X)->(B),(X)->(C)还是什么?仅仅是graphviz怎么样?或者只是将其导出到cypher:)这是一种ascii艺术图形表示,我认为这就是Graphaware测试框架所做的:导出到cypher的另一种方法是使用neo4j shell的
dump
命令。