我希望使用Neo4jrb在Rails应用程序中使用前端库D3.js可视化来自Neo4j的数据。例如,我可以使用以下查询来获取我的图表数据。
query = "MATCH path = (a)-[b]->(c) RETURN path"
result = Neo4j::Session.current.query(query)
但是这个查询并没有给我我想要的确切数据。
根据Neo4j data visualisation guide,可以将参数resultDataContents
设置为"graph"
。 (
Neo4j documentation表示“resultDataContents”)
这正是我的申请所需要的。是否有可能在Neo4jrb中设置此参数,或者另一个想法如何实现这样的结果?
答案 0 :(得分:1)
不幸的是目前没有。构建neo4j-core
gem(neo4j
gem使用的)以抽象出REST格式。 "graph"
格式以不同的方式返回数据。
你有几个选择。您可以自己创建JSON查询,也可以从执行的查询中检索节点和关系,然后构建自己返回的节点/关系结构。如果您想切换到Bolt,这可能会更具未来性。
您可以根据自己的情况执行此操作:
query = "MATCH path = (a)-[b]->(c) RETURN nodes(path) AS nodes, rels(path) AS rels"
result = Neo4j::Session.current.query(query)
response = {nodes: [], rels: []}
result.each do |row|
response[:nodes].concat(row.nodes)
response[:rels].concat(row.rels)
end
response[:nodes].uniq!
response[:rels].uniq!