Пример гибридного запроса в AgensGraph - PullRequest
0 голосов
/ 16 мая 2019

Я использую agensgraph, но я не знаю, как написать гибридный запрос, любые примеры гибридного запроса в agensgraph очень помогли бы.

1 Ответ

0 голосов
/ 16 мая 2019

В AgensGraph вы можете писать гибридные запросы двумя способами:

Допустим, вы создаете следующее:

CREATE GRAPH AG;
CREATE VLABEL dev;
CREATE (:dev {name: 'someone', year: 2015});
CREATE (:dev {name: 'somebody', year: 2016});

CREATE TABLE history (year, event)
AS VALUES (1996, 'PostgreSQL'), (2016, 'AgensGraph');

1 - Cypher в SQL

Syntax:
SELECT [column_name]
FROM ({table_name|SQL-query|CYPHERquery})
WHERE [column_name operator value];

Example:
SELECT n->>'name' as name 
FROM history, (MATCH (n:dev) RETURN n) as dev 
WHERE history.year > (n->>'year')::int;

Результат: имя ---- кто-то (1 строка)

2- SQL в Cypher

Syntax:
MATCH [table_name]
WHERE (column_name operator {value|SQLquery|CYPHERquery})
RETURN [column_name];

Example:
MATCH (n:dev)
WHERE n.year < (SELECT year FROM history WHERE event = 
'AgensGraph')
RETURN properties(n) AS n;

Результат: n -- {"имя": "кто-то", "год": 2015} (1 строка)

Более подробную информацию можно найти здесь

...