A Neo Technology disponibilizou o Neo4j 2.0, agora com novo navegador de grafos, rótulos nos nós, esquema opcional e aprimoramento da linguagem de consulta Cypher.
O destaque do Neo4j 2.0 vai para o novo navegador gráfico que permite visualizar e editar os dados na forma de grafo ou tabular. A imagem a seguir demonstra uma base de dados de filmes, destacando um ator em particular e seu relacionamento com os filmes que atuou (em cinza) e com outros atores (em vermelho):
Os nós agora podem ter rótulos e desta forma é possível marcar os nós pertencentes a um grupo. Cada nó pode ter múltiplos rótulos.
No que parece ser um retorno para as bases de dados relacionais, o Neo4j 2.0 agora suporta a adição opcional de esquema. O objetivo é adicionar meta informações que aprimoram a execução das consultas.
A linguagem de consulta Cypher foi aprimorada com as cláusulas OPTIONAL MATCH e MERGE, além de padrões de nós literais e a habilidade para retornar mapa e coleções de literais.
O InfoQ.com entrevistou Michael Hunger, líder da Spring Integration, desenvolvedor e evangelista da Neo Technology, para conhecer sobre as novas funcionalidades do Neo4j 2.0, o uso do esquema e o que está planejado no roadmap.
InfoQ.com: Há algum problema de compatibilidade entre o Neo4j 2.0 e as versões anteriores?
Hunger: Sim, o Neo4j tem uma grande quebra de compatibilidade devido ao aprimoramento do modelo de dados com a adição do conceito de rótulos e informações opcionais de esquema.
A linguagem de consulta Cypher também passou por uma grande evolução desde a versão 1.9 e para os usuários da API embarcada tornou-se obrigatório as transações também para leitura e muitos itens depreciados foram removidos.
Mais informações podem ser obtidas nas notas de publicação da versão 2.0 e no documento que aborda a atualização para a versão 2.0.
InfoQ.com: Como o novo esquema introduzido tornará as consultas mais rápidas?
Hunger: As informações opcionais de esquema (rótulos) permitem que os índices e restrições únicas sejam automaticamente utilizados nas consultas para transformar as condições dos filtros em pesquisas de índices. Também pode ser usado rótulos como parte das consultas, dessa forma a base de dados somente procurará nos sub conjuntos de toda a base de dados quando pesquisar por informações não indexadas. E como terceiro aspecto, as informações dos rótulos estão incorporadas nos registros dos nós, fazendo dos testes nos nós existentes contra os rotulados uma operação instantânea e não precisará pesquisar em mais propriedades ou relacionamentos.
InfoQ.com: O que ocorre quando a base é alterada? Tem que atualizar manualmente o esquema também?
Hunger: Os índices e restrições serão mantidos nas mudanças dos dados.
Por exemplo: a adição de novos rótulos fornecerá também novas definições de índices e restrições, mas os dados existentes serão ampliados com os novos rótulos e será automaticamente indexado por trás das cenas.
InfoQ.com: Qual o roadmap para o Neo4j?
Hunger: Temos o seguinte roadmap para as próximas versões:
- aprimoramento continuo da experiência do usuário;
- desempenho (leitura, escrita, linguagem de consulta);
- aumento (artificial) dos limites dos nós, relacionamentos;
- melhoria na importação e exportação;
- BI e integração;
- aprimoramento operacional;
- algum desenvolvimento de big data e computação em grafo;
- simplificar a experiência com instalação;
- melhorar a comunicação remota e drivers.