O Neo4j Relate foi lançado em 11 de novembro como um banco de grafos de código aberto, escrito em Rust, que pode rodar dentro do processo de uma aplicação. O motor trabalha em memória e oferece persistência opcional em disco. Uma consulta em Cypher pode buscar itens por similaridade vetorial e percorrer as relações entre eles.
A Neo4j anunciou a disponibilidade do Relate sob a licença Apache 2.0. O projeto inclui uma interface de linha de comando, um servidor MCP e interfaces Bolt e HTTP. A escolha entre usar o banco embutido ou expor uma interface muda como a aplicação administra acesso, memória e recuperação de dados.
O que um agente pode buscar em um grafo
Imagine que um agente de suporte receba o relato “o pagamento foi aprovado, mas o pedido sumiu”. Uma busca vetorial pode localizar chamados e manuais com descrições parecidas. O grafo permite continuar a consulta pelo que está ligado a esses registros, como o serviço que confirma pagamentos, a fila de pedidos e os procedimentos de recuperação associados a cada componente.
Nesse exemplo, o agente pode recuperar um manual que nem sequer contém as palavras do chamado, desde que a relação entre o manual e o serviço esteja no banco. Também pode trazer a dependência que justifica a escolha daquele procedimento. Isso exige que a equipe modele as ligações e mantenha os dados atualizados. Se uma dependência mudar e o grafo ficar desatualizado, a consulta continuará recuperando o caminho antigo.
Essa combinação de recuperação por similaridade e navegação por relações é uma aplicação de GraphRAG. O banco entrega ao agente os dados encontrados. A resposta final ainda depende de como a aplicação seleciona, valida e apresenta esse material.
O que muda ao executar o banco dentro da aplicação
No modo embutido, a aplicação pode consultar o grafo no próprio processo, sem precisar abrir uma conexão com um serviço de banco separado. Isso facilita experimentos em notebooks, ferramentas locais e ambientes isolados que montam um conjunto de dados para uma tarefa e o descartam ao final. Como o motor mantém dados em memória, o tamanho do grafo e o volume das consultas entram no orçamento de RAM da aplicação.
Para dados que precisam sobreviver ao encerramento do processo, a Neo4j descreve um log de escrita opcional sincronizado em disco e mecanismos para gravar o estado. A distinção importa. Um grafo descartável pode ser reconstruído a cada execução. Um grafo que guarda decisões ou histórico de trabalho precisa de configuração de persistência e de um teste de recuperação com o armazenamento que será usado.
Como o Relate conversa com ferramentas de agentes
A Neo4j informa que o servidor MCP permite integrar o banco a ferramentas que usam esse protocolo. O Relate também oferece uma CLI e interfaces para clientes Bolt e HTTP. O mesmo motor pode, assim, ser usado localmente por uma aplicação ou consultado por um cliente separado, conforme o modo de execução escolhido.
O lançamento inclui respostas estruturadas para certos erros e limite de linhas com indicação de truncamento. Se uma consulta devolver apenas parte dos registros, a aplicação pode detectar o corte e refazer a busca com um recorte menor. Para o exemplo do pagamento, isso pode significar buscar dependências somente dos serviços associados ao incidente antes de enviar os dados ao modelo.
O que medir no primeiro teste
Use um conjunto pequeno de incidentes com dependências conhecidas e compare a busca vetorial isolada com a consulta combinada. Registre se cada uma encontrou os serviços corretos, quantos dados precisou enviar ao modelo e quanto de memória consumiu. Caso o grafo seja persistente, inclua no teste a reabertura do banco depois de encerrar o processo.
As metas de latência divulgadas pela Neo4j são resultados apresentados pelo fornecedor. A carga do teste precisa refletir o tamanho do grafo, a profundidade das relações e o volume de gravação do uso pretendido.