Вот список распространенных команд Apoc (APOC означает «Потрясающие процедуры в Cypher»), а также примеры кода:
-
apoc.coll.partition– разбивает список на несколько подсписков в зависимости от заданного размера раздела.
Пример:RETURN apoc.coll.partition([1, 2, 3, 4, 5, 6], 3) AS result -
apoc.coll.zip– объединяет два списка в список пар ключ-значение.
Пример:RETURN apoc.coll.zip(['name', 'age'], ['John', 25]) AS result -
apoc.convert.toTree– преобразует список узлов в древовидную структуру на основе указанного типа связи.
Пример:MATCH (n:Node) WITH COLLECT(n) AS nodes RETURN apoc.convert.toTree(nodes, '<RELATIONSHIP_TYPE>') AS result -
apoc.date.format– форматирует значение даты по определенному шаблону.
Пример:RETURN apoc.date.format(datetime(), 'yyyy-MM-dd HH:mm:ss') AS result -
apoc.math.round– округляет числовое значение до указанного количества десятичных знаков.
Пример:RETURN apoc.math.round(3.14159, 2) AS result -
apoc.text.regexGroups– извлекает совпавшие группы из шаблона регулярного выражения.
Пример:RETURN apoc.text.regexGroups('Hello, my name is John', 'Hello, my name is (\w+)') AS result -
apoc.spatial.distance– вычисляет расстояние между двумя пространственными точками.
Пример:RETURN apoc.spatial.distance({latitude: 52.520008, longitude: 13.404954}, {latitude: 51.5074, longitude: -0.1278}) AS result -
apoc.cypher.run— динамически выполняет запрос Cypher.
Пример:CALL apoc.cypher.run('MATCH (n:Node) RETURN n', {}) YIELD value RETURN value AS result -
apoc.load.json– загружает данные JSON из URL-адреса или файла.
Пример:CALL apoc.load.json('https://example.com/data.json') YIELD value RETURN value AS result -
apoc.text.sanitizeHTML– очищает строку HTML, удаляя потенциально опасные элементы.
Пример:RETURN apoc.text.sanitizeHTML('<script>alert("XSS");</script>') AS result
Это всего лишь несколько примеров из множества доступных команд Apoc. Дополнительную информацию и дополнительные команды вы можете найти в документации APOC.