Как вернуть отношение в RedisGraph? - PullRequest
0 голосов
/ 17 января 2019

Используя RedisGraph, я бы хотел, чтобы ЗАПРОС ВЕРНУЛ тип связи.

Пример запроса:

MATCH (n1:Entity { id: "foo" }) MATCH (n2:Entity2 { id: "bar" }) CREATE (n1)-[r:areFriends]->(n2) RETURN *

К сожалению, возвращаемое значение включает только n1 и n2, но не r.

Возвращенная запись содержит следующее:

Record { _header: [ 'n1.id', 'n1.name', 'n2.id', 'n2.name' ] Это согласуется с моей схемой, но там, как известно, отсутствует r.

Как я могу получить ВОЗВРАТ, чтобы вернуть отношение?

OpenCypher поддерживает синтаксис, такой как:

RETURN n1, n2, type(r) но, похоже, это не работает в RedisGraph.

Ответы [ 2 ]

0 голосов
/ 20 января 2019

PR только что слился с MASTER

127.0.0.1:6379> GRAPH.QUERY G "create (:Entity {id:'foo'}), (:Entity {id:'bar'})"
1) (empty list or set)
2) 1) "Labels added: 1"
   2) "Nodes created: 2"
   3) "Properties set: 2"
   4) "Query internal execution time: 0.536000 milliseconds"

127.0.0.1:6379> GRAPH.QUERY G "MATCH (n1:Entity {id:'foo'}), (n2:Entity {id:'bar'}) CREATE (n1)-[r:areFriends]->(n2) RETURN n1,n2,TYPE(r)"
1) 1) 1) "n1.id"
      2) "n2.id"
      3) "TYPE(r)"
   2) 1) "foo"
      2) "bar"
      3) "areFriends"
2) 1) "Relationships created: 1"
   2) "Query internal execution time: 0.409000 milliseconds"

Обратите внимание, что это изменение будет частью версии 1.0.12

Пока эта версия не выпущена, вы можете либо собрать из исходного кода, либо использовать образ докера redislabs / redisgraph: edge

0 голосов
/ 17 января 2019

В настоящее время RedisGraph не поддерживает смешивание предложений CREATE и RETURN, хотя эта работа находится в стадии разработки и должна быть доступна в течение нескольких дней.

...