Py2neo V3路径查询返回不可读

时间:2017-07-10 20:27:02

标签: python neo4j py2neo neo4j-ogm

我使用ogm:

通过Py2neo v3查询Neo4j

output = graph.run(" MATCH(m:列{name:' code'}),(n:列{name:' locale_language_cd'}), p = shortestPath((m) - [rels:PART_OF *] - (n))RETURN p")。evaluate()

打印(输出)

这正确地做了我想要的,但节点不清晰

(f0b4322) - [:PART_OF] - GT;(f86202d)LT - [:PART_OF] - (a16fb7b) - [:PART_OF] - GT;(b3562af)LT - [:PART_OF] - (a7bfe43)

如果我再次运行代码:

(b539883) - [:PART_OF] - GT;(c83d89b)LT - [:PART_OF] - (f2adac1) - [:PART_OF] - GT;(fd469a6)LT - [:PART_OF] - (e373bf4)

以下链接指向Neo4j中的数据:Neo4j output with same search parameters

每次运行代码时输出都不同,我希望用GraphObject名称(它们的主键)替换数字。

1 个答案:

答案 0 :(得分:0)

由于你只是查询匹配name = code和name ='locale_language_cd'的节点,想象一下你从一大袋苹果中挑选一个随机的苹果.. apple .. mmmm ...... < / p>

每次进入时,你都会得到一个不同的苹果 路径也一样。你不是要求'shortestPath'或任何东西。你有效地要求数据库选择n&amp;&amp;和'之间的'你找到的第一条路径'。米。

如果您想获得更一致的结果,请在任一节点上按主键搜索,或按其他属性排序,然后选择“第一个”可用...

要回答第二个问题,而不是打印结果集(即“路径”对象),而是返回并打印节点。

OR,使用内置函数来迭代结果。

类似的东西:

for x in results:
    p = x['p'] # This is the path
    print p

查看p

中的内容