10 мощных команд APOC для Neo4j: улучшите свои шифровальные запросы с помощью примеров

Вот список распространенных команд Apoc (APOC означает «Потрясающие процедуры в Cypher»), а также примеры кода:

  1. apoc.coll.partition – разбивает список на несколько подсписков в зависимости от заданного размера раздела.
    Пример:

    RETURN apoc.coll.partition([1, 2, 3, 4, 5, 6], 3) AS result
  2. apoc.coll.zip – объединяет два списка в список пар ключ-значение.
    Пример:

    RETURN apoc.coll.zip(['name', 'age'], ['John', 25]) AS result
  3. apoc.convert.toTree – преобразует список узлов в древовидную структуру на основе указанного типа связи.
    Пример:

    MATCH (n:Node)
    WITH COLLECT(n) AS nodes
    RETURN apoc.convert.toTree(nodes, '<RELATIONSHIP_TYPE>') AS result
  4. apoc.date.format – форматирует значение даты по определенному шаблону.
    Пример:

    RETURN apoc.date.format(datetime(), 'yyyy-MM-dd HH:mm:ss') AS result
  5. apoc.math.round – округляет числовое значение до указанного количества десятичных знаков.
    Пример:

    RETURN apoc.math.round(3.14159, 2) AS result
  6. apoc.text.regexGroups – извлекает совпавшие группы из шаблона регулярного выражения.
    Пример:

    RETURN apoc.text.regexGroups('Hello, my name is John', 'Hello, my name is (\w+)') AS result
  7. apoc.spatial.distance – вычисляет расстояние между двумя пространственными точками.
    Пример:

    RETURN apoc.spatial.distance({latitude: 52.520008, longitude: 13.404954}, {latitude: 51.5074, longitude: -0.1278}) AS result
  8. apoc.cypher.run— динамически выполняет запрос Cypher.
    Пример:

    CALL apoc.cypher.run('MATCH (n:Node) RETURN n', {}) YIELD value
    RETURN value AS result
  9. apoc.load.json – загружает данные JSON из URL-адреса или файла.
    Пример:

    CALL apoc.load.json('https://example.com/data.json') YIELD value
    RETURN value AS result
  10. apoc.text.sanitizeHTML – очищает строку HTML, удаляя потенциально опасные элементы.
    Пример:

    RETURN apoc.text.sanitizeHTML('<script>alert("XSS");</script>') AS result

Это всего лишь несколько примеров из множества доступных команд Apoc. Дополнительную информацию и дополнительные команды вы можете найти в документации APOC.