如何在 Neo4jrb 中设置 "resultDataContents"?
How to set "resultDataContents" in Neo4jrb?
我想使用 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 中设置这个参数,或者另一个想法如何实现这样的结果?
很遗憾,目前没有。 neo4j-core
gem(neo4j
gem 使用)的构建是为了抽象出 REST 格式。 "graph"
以不同的方式格式化 returns 数据。
你有几个选择。您可以自己进行 JSON 查询,也可以从您执行的查询中检索节点和关系,然后构建您自己的 nodes/relationships 结构并返回。如果您想切换到 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!
我想使用 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 中设置这个参数,或者另一个想法如何实现这样的结果?
很遗憾,目前没有。 neo4j-core
gem(neo4j
gem 使用)的构建是为了抽象出 REST 格式。 "graph"
以不同的方式格式化 returns 数据。
你有几个选择。您可以自己进行 JSON 查询,也可以从您执行的查询中检索节点和关系,然后构建您自己的 nodes/relationships 结构并返回。如果您想切换到 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!