Получить метки, используемые графиком
Запрос
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;
чтобы получить эквивалентные результаты.
Результаты, возвращаемые в обоих запросах, равны, но альтернативный запрос медленнее, поскольку он сканирует весь набор данных. При реализации рассматриваемого запроса результат может быть кэширован. Время выполнения альтернативного запроса зависит от количества узлов и количества меток. В большинстве случаев количество меток в наборе данных значительно меньше количества узлов, что означает, что запрос возвращается за линейное время. Даже в том случае, когда количество меток больше, чем количество узлов, система базы данных должна ответить в разумные сроки.