Exemplo de instalação e uso do APOC do Neo4j

1 Introdução ao APOC

APOC significa Awesome Procedures on Cypher, que é a maior e mais amplamente usada biblioteca de extensão para Neo4j e uma biblioteca de utilitários padrão para procedimentos e funções do Neo4j. Inclui mais de 450 programas padrão, fornecendo utilitários, transformações, atualizações de gráficos e muito mais. Eles são bem suportados e fáceis de executar como funções independentes ou incluídos em consultas do Cypher.

2 Precauções

Como o APOC depende da API interna do Neo4j, você precisa usar uma versão correspondente do APOC para sua instalação do Neo4j. Certifique-se de que os dois primeiros números de versão correspondam entre Neo4j e APOC. A seguir está a tabela de correspondência de versão APOC e Neo4j

versão apoc versão neo4j
4.4.0.1 4.4.0 (4.3.x)
4.3.0.4 4.3.7 (4.3.x)
4.2.0.9 4.2.11 (4.2.x)
4.1.0.10 4.1.11 (4.1.x)
4.0.0.18 4.0.12 (4.0.x)
3.5.0.15 3.5.30 (3.5.x)
3.4.0.8 3.4.18 (3.4.x)
3.3.0.4 3.3.9 (3.3.x)
3.2.3.6 3.2.14 (3.2.x)
3.1.3.9 3.1.9 (3.1.x)
3.0.8.6 3.0.12 (3.0.x)
3.5.0.0 3.5.0-beta01
3.4.0.2 3.4.5
3.3.0.3 3.3.5
3.2.3.5 3.2.3
3.1.3.8 3.1.5

3 processo de instalação

  1. Baixe o jar binário e coloque-o na pasta local $NEO4J_HOME$/plugins

    imagem-20230516113738678

    imagem-20230516113758133

  2. Adicione o seguinte ao arquivo $NEO4J_HOME$/conf/neo4j.conf:

    1. Por motivos de segurança, o Neo4j desativa o uso de APIs internas por padrão. Eles podem ser ativados especificando a configuração em $NEO4J_HOME/conf/neo4j.conf)

      dbms.security.procedures.unrestricted=apoc.*
      
    2. Lista de permissões os procedimentos e funções que geralmente são carregados no apoc (na lista de programas que podem ser executados)

      dbms.security.procedures.whitelist=apoc.coll.*,apoc.load.*
      

      imagem-20230516113945423

  3. Reinicie o Neo4j para confirmar se a instalação foi bem-sucedida. Se o número da versão APOC for retornado, a instalação foi bem-sucedida

    RETURN apoc.version() as version
    

    imagem-20230516114102459

4 Use amostra apoc

Função de união em cypher apoc

Na biblioteca APOC, apoc.coll.unionas funções podem ser utilizadas para realizar a operação de união de conjuntos. apoc.coll.unionfunção para mesclar duas ou mais coleções em uma nova coleção contendo todos os elementos.

Aqui está um exemplo de uso de apoc.coll.unionuma função para executar uma operação de união definida:

cypherCopy codeMATCH (p1:Person {name: 'John'})
MATCH (p2:Person {name: 'Alice'})
RETURN apoc.coll.union(p1.hobbies, p2.hobbies) AS mergedHobbies

No exemplo acima, estamos usando a cláusula MATCH para corresponder aos nós "Person" chamados "John" e "Alice", respectivamente. Em seguida, na cláusula RETURN, usamos apoc.coll.unionuma função para mesclar as propriedades da coleção "hobbies" desses dois nós em uma nova coleção e nomeamos o resultado como "mergedHobbies".

Os resultados da consulta retornarão uma lista contendo os hobbies mesclados, que é a união das coleções "hobbies" dos dois nós "Person".

Função de interseção no cypher apoc

No Cypher, INTERSECTIONas palavras-chave podem ser usadas para executar a operação de interseção de conjuntos. INTERSECTIONPalavras-chave são usadas para encontrar elementos comuns entre duas ou mais coleções.

Aqui está INTERSECTIONum exemplo de uso de palavras-chave para executar operações de interseção definidas:

cypherCopy codeMATCH (p1:Person {name: 'John'})
MATCH (p2:Person {name: 'Alice'})
RETURN apoc.coll.intersection(p1.hobbies, p2.hobbies) AS commonHobbies

No exemplo acima, estamos usando a cláusula MATCH para corresponder aos nós "Person" chamados "John" e "Alice", respectivamente. Em seguida, na cláusula RETURN, usamos apoc.coll.intersectionuma função para localizar os elementos comuns entre as propriedades da coleção "hobbies" desses dois nós e nomeamos o resultado como "commonHobbies".

O resultado da consulta retornará uma lista de interesses comuns, que é a interseção das coleções "hobbies" dos dois nós "Person".

Acho que você gosta

Origin blog.csdn.net/twi_twi/article/details/130703688
Recomendado
Clasificación