我正在使用GraphObject将Neo4j节点映射到Python类,我喜欢当我得到一个带有关系的Node时,因为我的节点也是Python类。例如,如果我的类是Person,我可以使用Person.select,并获取Person对象。
现在,我需要执行一个复杂的查询,以便它需要调用空间过程,我只能用graph.run(“MY_COMPLEX_QUERY”)执行此操作,但这会返回节点(并且这些节点没有关系)。
使用单个查询使用GraphObject选择器执行任何查询是否可行?有什么想法吗?
谢谢!, 此致
PD:我可以获得所有ID,并且在使用ID后使用Person.select,但这不是一个好的解决方案。
答案 0 :(得分:0)
您无法在一个查询中完成所有操作。在幕后,py2neo
似乎甚至没有在一个查询中完成所有工作。如果您真的想要获取GraphObjects,可以从节点列表中执行此操作:
def make_GraphObjects(graph, GraphObjectCls, nodes):
for node in nodes:
obj = GraphObjectCls.wrap(node)
graph.pull(obj)
yield obj
这将是一次以上的交易,但这是使用OGM的限制。它声称可以简化您的互动,但我发现它主要限制了它们。