Создать Cypher Query из визуальной модели - PullRequest
0 голосов
/ 17 мая 2018

Я ищу, если есть способ (возможно, с использованием библиотеки или если neo4j поддерживает это), чтобы генерировать запрос Cypher из визуальной модели запроса.

Это то, что я имею в виду, я могуВ моем приложении есть визуальный запрос (который я создаю сам, скажем, с использованием масштабирования), который выглядит следующим образом:

screnshot

Этот запрос ищет всех лицкто живет в городе Вена .

Конечно, я могу получить список узлов и их отношения, скажем, как данные JSON из этой визуальной модели.

То, что я хочу из этого, чтобы сгенерироватьзапрос Cypher (из этой визуальной модели и, скажем, данных JSON, которые я генерирую из визуальной модели).

Знаете ли вы, есть ли инструмент или библиотека (или, возможно, он каким-то образом поддерживается neo4j)чтобы помочь мне достичь этого?


ИМХО мой вопрос похож на этот один , однако ему 4 года и он не содержит много полезной информации.

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Такой запрос может быть представлен в виде последовательности совпадений для узлов и отношений:

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

0 голосов
/ 17 мая 2018

Если вы используете стрелки для создания визуальной модели, вы можете экспортировать ее в Cypher:

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

enter image description here

...