Получить метки, используемые графиком

Запрос

 CALL db.labels() YIELD label 

в Neo4j предоставляет метки, присутствующие внутри графика

Тот же запрос на memgraph выдает ошибку

`input 'CALL' expecting {CREATE, DELETE, DETACH, DROP, EXPLAIN,   
    MATCH, MERGE, OPTIONAL, REMOVE, RETURN, SET, UNWIND, WITH}`

1 ответ

Решение

Переписать запрос можно следующим образом

MATCH (n) UNWIND labels(n) AS labels RETURN DISTINCT labels;

чтобы получить эквивалентные результаты.

Результаты, возвращаемые в обоих запросах, равны, но альтернативный запрос медленнее, поскольку он сканирует весь набор данных. При реализации рассматриваемого запроса результат может быть кэширован. Время выполнения альтернативного запроса зависит от количества узлов и количества меток. В большинстве случаев количество меток в наборе данных значительно меньше количества узлов, что означает, что запрос возвращается за линейное время. Даже в том случае, когда количество меток больше, чем количество узлов, система базы данных должна ответить в разумные сроки.

Другие вопросы по тегам