Analisando grafos com Neo4j

NoSQL Databases

Neo4j está se convertendo em um dos mais populares e eficientes bancos de grafos (GraphDatabase). Por necessidade de pesquisa comecei a usá-lo e esta postagem é uma espécie de diário de viagem por esse mundo. Instalação É fácil instalar o Neo4j em ambientes Linux, uso a distro Fedora, na sua versão 19. O que pode parecer um problema inicial é que o Neo4j faz parte de um pacote Debian, isso significa que se a instalação for feita seguindo o passo a passo do site, o Fedora não consegue interpretar a linha que começa com deb no arquivo emitindo a seguinte mensagem de erro:

Type ‘deb’ is not known in on line 1 in source list /etc/apt/sources.list.d/neo4j.list

. Não se assuste, você pode fazer o download e descompactar direto no diretório do seu interesse (No meu caso, o diretório /home/Applications)

Logo de início é bom alterar o arquivo de configurações do Neo4j (~/Applications/neo4j-community-1.9.3/conf/neo4j.properties), descomentando as linhas “node_auto_indexing = true” e “relationship_autoindexing = true”, já que o default é false. Feito isso, tudo ok. Mas tem que ter alguns cuidados:

  • O Neo4j não indexa automaticamente, então você tem que fazer isso pela linguagem de consulta do Neo4, o CYPHER. Para saber sobre o CYPHER, clique neste link.
  • Como indexar? A melhor coisa é seguir as postagens do stackoverflow. Principalmente as de Nigel Small e Michael Hunger. O código sugerido pelo segundo é start n=node(*)
    where has(n.type)
    set n.type=n.type
    Mas tem que estar ligado, isso, como no meu caso, se os nós forem inseridos antes da alteração do arquivo de configuração.
  • Agora, divirta-se!
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: