从Visual模型

时间:2018-05-17 13:09:53

标签: user-interface neo4j cypher

我正在寻找是否有办法(可能使用库或neo4j支持此方法),从查询的可视化模型生成Cypher查询。

这就是我的意思,我可能在我的应用程序中有一个视觉查询(我正在创建自己说使用缩放图),如下所示:

screnshot

此查询会查找所有居住在维也纳城市的人

当然,我可以获取节点列表,并将它们的关系称为此视觉模型中的JSON数据。

我想要的是生成一个Cypher查询(在这个可视化模型之外,并说出我从可视模型中生成的JSON数据)。

你知道是否有工具或库(或者某种方式可能是neo4j支持)来帮助我实现这个目标吗?

恕我直言,我的问题与此one类似,但是这个问题已有4年历史,并且不包含太多有用的信息。

2 个答案:

答案 0 :(得分:2)

这样的查询可以表示为节点和关系的匹配序列:

MATCH (N0:`Person`)
MATCH (N1:`City` {`name`:"Vienna"})
MATCH (N0)-[R0:`lives in`]->(N1)
RETURN *

这可以很容易地从JSON构建:

const nodesMatch = []
graph.nodes.forEach(function(n) {
  const nodeVar = 'N' + n.id
  const nodeLabels = '`' + n.labels.join(':') + '`'
  nodesMatch.push(
    'MATCH (' + nodeVar + ':' + nodeLabels + ')'
  )
})

[https://jsfiddle.net/mx9hmdq4/]

P.S。我还建议您注意popoto

  

Neo4j图数据库的可视化查询构建器 - https://github.com/Nhogs/popoto

答案 1 :(得分:0)

如果使用箭头创建可视模型,可以将其导出到Cypher:

http://www.apcjones.com/arrows/#

enter image description here