Introdução ao banco de dados de gráficos neo4j

  • Introdução ao neo4j
    • Banco de dados gráfico
    • Configuração da variável de ambiente (requer ambiente Java): NEO4J_HOME + diretório de arquivos; Caminho:% NEO4J_HOME% \ bin; insira na janela de comando: console neo4j e digite neo4j install-service para instalar o serviço localmente; neo4j start inicia o serviço e
      abre o navegador de dados: http : // localhost: 7474 / navegador /
    • Armazenamento de dados: armazene dados em uma estrutura de gráfico, que pode armazenar nós de gráfico, atributos (pares de valores-chave) e arestas. Atributos e nós são armazenados separadamente, e o relacionamento entre atributos e nós constitui arestas.
    • Leitura e escrita de dados: No Neo4j, a tecnologia Index-free Adjacency é utilizada para armazenar nós, ou seja, cada nó possui um ponteiro para seu nó vizinho, o que nos permite encontrar o nó vizinho quando a complexidade de tempo é O (1) . Além disso, de acordo com o comunicado oficial, a borda é o mais importante no Neo4j, que é Entidades de primeira classe, por isso é armazenada separadamente, o que é mais propício para melhorar a velocidade ao percorrer o gráfico, e também pode ser facilmente percorrida em qualquer direção.
    • Outros semelhantes: Flockdb, Orientdb, Arangodb. Neo4j tem a melhor estabilidade
  • Uso Neo4j
    • O relacionamento é direcional (use mesclar ao criar um relacionamento, então retorne, se não, crie; use criar, ele sempre criará)

    • O banco de dados de gráficos armazena todos os seus dados em nós e relacionamentos, e armazena os dados na forma de gráficos no formato nativo

    • Use o mecanismo GPE nativo para usar seu formato de armazenamento de imagem nativo

    • Um relacionamento pode ter um atributo como um par de valores-chave. Por exemplo: ID = 123

    • Os rótulos associam um conjunto de nós ou relacionamentos comuns, e os nós ou relacionamentos podem conter um ou mais rótulos

    • Use () para identificar o nó, use [] para identificar o relacionamento

    • criar Criar nó, relacionamento e
      correspondência de atributo Recuperar nó relacionado, relacionamento e
      retorno de atributo Retornar resultado da consulta
      onde Fornece condição para recuperar dados
      excluir excluir nó e relacionamento
      remover nó excluir e
      ordem de atributo de relacionamento classificando recuperar
      conjunto de dados Adicionar ou atualizar rótulo

    • booleano tipo booleano: verdadeiro, falso
      byte inteiro de 8 bits
      curto inteiro de 16 bits
      int inteiro de 32 bits
      longo inteiro de 64
      bits flutuante número de ponto flutuante de 32 bits
      duplo número de ponto flutuante de 64 bits
      char caractere de 16 bits
      String de caracteres

    • O servidor de banco de dados Neo4j usa <node-name> para armazenar os detalhes do nó no banco de dados. Como Neo4j DBA ou Developer, e não pode ser usado para acessar os detalhes do nó.
      O servidor de banco de dados Neo4j cria um <label-name> como um alias para o nome do nó interno . Use este nome de tag para acessar os detalhes do nó

    • match deve ser usado com return, set e delete

    • Modificação do arquivo de configuração neo4j

    • match (a:author) set a.name="wu" return a      #增加属性或者修改属性。这里'a'是给'author'起个"变量名",下面类似
      match (n:author) where n.name=~'w*' return n   #可以使用正则匹配
      match (n:author) where n.name contains 'w' return n   #包含查询
      DETACH DELETE    #子句允许你删除一个节点的同时删除与其相连的所有关系
      match(c:Customer) where id(c)=110 delete c return c    #根据节点id删除节点
      match (c:Creditcard) where id(c)=111 set c.name="工商银行" return c  #根据节点id增加属性
      match (c:Customer) match (a:Creditcard) create (a)-[r:消费]->(c)  return r    #创建关系                                                
      match (w:weibo),(c:chaping) where w.emot=0 create (w)-[r1:差评]->(c) return r1 #根据属性建立节点关系
      MATCH p=()-[r:`消费`]->() where id(r)=0 set r.`额度`=200000 return r #创建关系的属性
      match (c:Customer) return c.name as name,c.id as id union match (a:Creditcard) return a.id as id,a.name as name        #联合查询,此处id只能返回节点属性里设置的id,默认节点id会返回null.(union查询会过滤掉重复行,union all 返回所有数据)
      create(drop) index on :author(name)   #创建/删除索引
      create(drop) constraint on (a:author) assert (a:author) is unique  #创建/删除约束
      
    • APOC (um pacote de componente) :

      • Dois pacotes jar, coloque-os no diretório de plug-ins de neo4j: apoc-3.4.0.3.jar e mysql-connector-java-5.1.21.jar
      • Índices de texto e pesquisa (pesquisa de texto e índice)
      • funções utilitárias (funções utilitárias): extração de nome de domínio, hora, data, conversão de formato de dados e outras funções
      • algoritmos de gráfico: detecção de comunidade, PageRank, algoritmo central, etc.
      • Espacial (função espacial): geocodificação, cálculo de localização, pesquisa no espaço e no tempo, etc.
      • integração de dados: JSON, JDBC, CSV e outro carregamento de dados
      • refatorações de gráfico: fusão de nós, especificação e classificação de atributos, etc.
      • nades / rels virtuais (nós / relações virtuais): Fornece a criação de gráficos virtuais
      • operações de cifra: operação de instrução de cifra única e múltipla e operação de script
      • Gatilhos (gatilhos): a mesma maneira de entender os gatilhos dos bancos de dados relacionais
    • Neo4j importar grupo de dados triplo

      • Desligue o serviço neo4j do computador
      • Exclua o arquivo de banco de dados padrão \ data \ databases \ graph.db de neo4j, caso contrário, crie um novo arquivo de banco de dados neste caminho, o nome do arquivo é ***. Db, e então modifique o arquivo de configuração de neo4j \ conf \ neo4j.conf, modifique Escritório: # dbms.active_database = graph.db, altere o nome do banco de dados recém-criado e descomente
      • Existem muitas maneiras de importar dados, usei o método de importação para colocar o nó organizado csv e csv de relacionamento no arquivo de importação de neo4j
      • 导入 文件 命令 : neo4j-admin import --nodes E: \ neo4j-community-3.5.14 \ import \ entity.csv --relationships E: \ neo4j-community-3.5.14 \ import \ relationship.csv --multiline- fields = true --ignore-missing-nodes = true
      • Abra o serviço neo4j, entre no site de visualização integrado para ver o banco de dados de gráficos

Acho que você gosta

Origin blog.csdn.net/weixin_46046193/article/details/108632351
Recomendado
Clasificación