Grafos avançados sem cópia: detecção de fraudes no Snowflake
Autoria: Neo4j · Assistir no YouTube
Vídeo de autoria do canal indicado, não da IANIA; todos os direitos pertencem ao criador. Transcrição, resumo e tradução gerados automaticamente; o conteúdo no idioma original é preservado na versão em idioma original.
Idioma original: inglês
Vídeo original: Zero-Copy Advanced Graphs: Fraud Detection in Snowflake · Canal: Neo4j · 25:06 · Assistir no YouTube
Tópicos: Agentes de IA, Cibersegurança e segurança de software, Dados, bancos de dados e embeddings, Privacidade e proteção de dados
O webinar apresenta o Virtual Graph da Neo4j, que permite consultar dados armazenados no Snowflake como um grafo, sem mover os dados nem fazer ETL. A demonstração mostra como criar um modelo de grafo com assistência de IA, explorar relações com Bloom e identificar padrões suspeitos, como transações circulares. Os apresentadores também explicam como combinar o Virtual Graph com algoritmos de grafos, bancos de grafos nativos e agentes conectados por MCP. A abordagem mantém os dados no Snowflake e aproveita os controles de governança da plataforma.
Pontos-chave
Seção intitulada “Pontos-chave”- O Virtual Graph permite consultar tabelas do Snowflake como um grafo sem copiar ou ingerir os dados em um banco de grafos nativo.
- Consultas em Cypher são traduzidas para SQL e executadas no warehouse do Snowflake; apenas os resultados retornam às ferramentas da Neo4j.
- Um modelo de grafo pode ser criado manualmente, a partir do esquema das tabelas ou com assistência de IA.
- Bloom e Browser permitem visualizar e explorar o grafo, e consultas em linguagem natural podem ser convertidas em Cypher.
- O Graph Data Science pode calcular métricas e detectar comunidades; o Virtual Graph facilita explorar e consultar os resultados desses algoritmos.
- Na demonstração, a centralidade de intermediação ajuda a identificar contas que podem merecer investigação, e uma consulta encontra transações circulares.
- O Virtual Graph pode ser combinado com grafos nativos e outras fontes por meio de consultas federadas.
- A conexão com Claude por MCP permite que agentes consultem relações e caminhos do grafo, em vez de raciocinar apenas sobre tabelas desconectadas.
Capítulos
Seção intitulada “Capítulos”| Início | Capítulo | Resumo |
|---|---|---|
| 00:03 | Apresentação e objetivo do webinar | Os apresentadores introduzem o tema e explicam que vão mostrar como usar grafos para investigar fraudes sem abrir mão da governança do Snowflake. |
| 03:17 | Como funciona o Virtual Graph | O Virtual Graph consulta dados do Snowflake com Cypher, sem ETL, e permite explorar os resultados com ferramentas da Neo4j. |
| 06:56 | Casos de uso e algoritmos de grafos | A apresentação aborda dados sensíveis e de grande escala, a criação de modelos de grafo e a combinação do Virtual Graph com algoritmos do Graph Data Science. |
| 10:00 | Consultas federadas e arquitetura | Os apresentadores explicam como combinar Virtual Graph, bancos de grafos nativos e fontes como Databricks em consultas federadas. |
| 13:11 | Demonstração: criar um grafo a partir do Snowflake | A demonstração mostra a conexão com o Snowflake, a criação de um modelo de grafo com assistência de IA e a exploração dos dados no Bloom. |
| 17:54 | Explorar o grafo e detectar transações suspeitas | O apresentador executa uma análise de centralidade e uma consulta para encontrar transações circulares, sem retirar os dados do Snowflake. |
| 20:04 | Consultar o grafo com Claude e MCP | Uma pergunta em linguagem natural é convertida em Cypher e executada por meio do Virtual Graph para localizar cadeias de transações circulares. |
| 22:58 | Próximos passos e encerramento | Os apresentadores recapitulam a demonstração, indicam documentação e recursos de acesso antecipado e encerram o webinar. |
Citações
Seção intitulada “Citações”Não há ETL. Não é necessário ingerir dados em um grafo nativo da Neo4j. — 03:47
Os dados nunca saíram. Só o SQL foi enviado, e apenas os resultados voltaram. — 18:26
Uma transação passa de uma conta para outra e depois volta à conta original, ocultando a origem dos fundos. — 20:04
Você pode conectar facilmente algo como o Claude, fazer perguntas e obter respostas de agentes e servidores MCP quase em tempo real. — 23:31
Conceitos e entidades
Seção intitulada “Conceitos e entidades”- Virtual Graph (ferramenta): Produto da Neo4j que permite modelar e consultar dados do Snowflake como um grafo sem mover os dados.
- Neo4j (empresa): Empresa que apresenta o Virtual Graph e ferramentas de grafos para análise e investigação.
- Snowflake (empresa): Plataforma de dados na qual ficam armazenadas as tabelas consultadas na demonstração.
- Cypher (conceito): Linguagem de consulta de grafos usada para consultar o modelo, com consultas traduzidas para SQL no Snowflake.
- Bloom (ferramenta): Ferramenta de visualização e exploração de grafos usada na demonstração.
- Neo4j Browser (ferramenta): Ferramenta da Neo4j para executar consultas e explorar dados em grafos.
- Graph Data Science (GDS) (conceito): Biblioteca de algoritmos de grafos da Neo4j, mencionada para análises como detecção de comunidades e cálculo de PageRank.
- Snowpark Container Services (ferramenta): Serviço do Snowflake no qual clientes podem executar algoritmos de grafos da Neo4j.
- MCP (conceito): Protocolo usado na demonstração para conectar ferramentas e agentes ao Virtual Graph.
- Claude (modelo): Assistente conectado ao Virtual Graph por MCP para transformar uma pergunta em linguagem natural em uma consulta.
- Neo4j Aura (ferramenta): Ambiente da Neo4j usado na demonstração para criar um Virtual Graph.
- Graph Analytics for Snowflake (ferramenta): Produto da Neo4j disponível no Snowflake Marketplace para executar algoritmos de grafos no Snowflake.
Tradução completa (pt-BR)
Seção intitulada “Tradução completa (pt-BR)”00:03 [música] Oi, sejam bem-vindos ao webinar de hoje. Obrigado por participar. O tema é “Grafos avançados sem cópia: como o Virtual Graph acelera a detecção de fraudes no Snowflake”. Hoje estou acompanhado de Cardon Baylor, gerente sênior de marketing de produto na NEOJ, e ele fará a demonstração de hoje. Colin, quer dar um oi rapidinho? >> Oi, sou K Baylor. Como o Stu disse, sou profissional de marketing técnico de produto aqui, e um dos produtos que gosto de defender é o Virtual Graph. >> Obrigado.
00:35 E eu sou Stu Moore, gerente líder de produto do nosso ecossistema de dados e integrações com parceiros. Somos parceiros do Snowflake. Já faz mais de 18 meses, quase dois anos, acho. E estamos aqui hoje para falar sobre como podemos fazer investigação de fraudes e solução de problemas dentro do Snowflake.
01:09 Tenho certeza de que muitos de vocês que já passaram algum tempo com o Snowflake viram este slide sobre como o Snowflake posiciona sua AI Data Cloud e como quer ajudar a levar IA aos seus dados. O que vamos mostrar hoje é como vocês podem deixar sua AI Data Cloud ainda mais inteligente com recursos de grafos. Cardon vai mostrar um pouco disso mais adiante, mantendo também a governança integrada que é
01:41 fornecida pela plataforma Snowflake. Estamos aqui para falar do Virtual Graph. Isso sugere que ele é a resposta para alguma coisa. Qual é a pergunta? Bem, muitos de vocês talvez estejam se perguntando: como posso fazer minhas equipes de IA usarem o poder expressivo dos grafos e, ao mesmo tempo, manter uma única fonte imutável de verdade dos dados dentro da infraestrutura do Snowflake, ou seja, preservar essa governança? Para quem conhece a Neo forj,
02:13 isso muitas vezes envolve criar e usar nosso recurso nativo de grafos, o que exige ETL. Muitos desses projetos e outros projetos acabam sendo bloqueados por desafios de migração de dados, seja por questões de segurança, GDPR ou outras barreiras políticas relacionadas à governança, sejam elas geopolíticas ou internas à organização. E, no fim, chega-se a um
02:45 problema de escala. Como vocês verão, alguns clientes têm muitos petabytes de dados no Snowflake. Talvez não precisem de tudo isso para grafos, mas, como veremos, é bastante comum em muitas organizações haver fontes de dados enormes, com vários terabytes. Além disso, é comum que projetos-piloto de qualquer software fiquem parados. Quanto mais rápido vocês conseguirem comprovar o valor, mais rápido poderão revelar
03:17 e resolver problemas, e maior será a probabilidade de o projeto avançar. Então, o que é o Virtual Graph? O Virtual Graph oferece uma maneira de consultar seus dados dentro do Snowflake usando Cypher, nossa linguagem de consulta compatível com GQL. Assim, vocês têm todos os benefícios de consultas semelhantes às de grafos,
03:47 podendo executá-las sobre os dados dentro do Snowflake. Não há ETL. Não é preciso ingerir dados em um grafo nativo da Neo Forj. Vocês têm acesso a todas as ferramentas da Neo Forj. Isso significa que podem usar o Bloom, nossa ferramenta para analistas de negócios, que permite visualizar dados, e o Browser, que oferece recursos de consulta mais usados por
04:18 cientistas de dados ou engenheiros de dados. Antes, era preciso conhecer Cypher; agora, basta digitar uma pergunta em linguagem natural. A consulta em Cypher é traduzida em uma instrução SQL, que é então executada no seu warehouse. Assim, não é preciso mover os dados. Os resultados em formato de grafo retornam para nossas ferramentas e podem ser usados por
04:49 nossos agents. Ou seja, vocês podem ter agents capazes de fazer e responder perguntas por meio do Virtual Graph. Também podem criar aplicações com nossas APIs e nossos drivers. Isso significa, em última análise, que os dados podem permanecer no seu data lake do Snowflake, sem ETL, e vocês podem demonstrar valor para a empresa em poucos dias, ou até mesmo horas, em vez de meses.
05:21 E, só para dar uma ideia de alguns casos de uso que vão além dos serviços financeiros: a demonstração que veremos é voltada, obviamente, à fraude financeira. Bancos e instituições financeiras têm um número muito grande de clientes e várias ordens de magnitude a mais de dados de transações para analisar e encontrar redes de fraude, além de
05:53 outros tipos de fraude. Pensem em fraude de seguros, em qualquer setor, do automotivo a pedidos de indenização médica. Estamos falando de informações muito sensíveis, cuja remoção da infraestrutura do Snowflake pode ser difícil de aprovar. O mesmo vale para a jornada do paciente. Informações pessoais de segurados e prontuários médicos são altamente sensíveis e estão sujeitas a exigências regulatórias
06:25 rigorosas. Grafos de conhecimento genômico na área da saúde e das ciências da vida representam uma enorme quantidade de propriedade intelectual, e as empresas são muito rigorosas quanto à possibilidade de tirar esses dados do Snowflake. E temos também as telecomunicações, com enormes volumes de dados em suas redes físicas e virtuais.
06:56 Todos esses casos representam situações em que há dados sensíveis, questões de privacidade e governança, ou quantidades muito grandes de dados que precisam ser analisadas. Se quiserem usar grafos para investigar esses tipos de problema, o Virtual Graph consegue se conectar às tabelas e aos esquemas do Snowflake. Podemos criar um modelo de grafo. Temos assistência de IA, que pode propor um
07:26 grafo candidato. Depois, vocês podem ajustá-lo, modificando qualquer aspecto da modelagem que queiram representar no grafo para responder às perguntas que desejam investigar. Como eu disse, vocês podem escrever consultas em Cypher, se conhecerem GQL e Cypher, ou digitar uma pergunta em linguagem natural e receber as respostas. Também podemos executar nossos algoritmos de grafos, muitas vezes chamados de GDS, nossa biblioteca de ciência de dados em grafos,
07:57 sobre os dados. Assim, vocês se beneficiam de PageRank, detecção de comunidades, percursos de vários saltos e padrões de caminho quantificados, quando procuram um padrão específico nos dados. E então, fundamentar o contexto do processamento em lote de geração, mover dados para qualquer lugar, apenas
08:28 os resultados do grafo retornam às nossas ferramentas, permitindo que os analistas respondam às perguntas e encontrem a fraude. Talvez vocês conheçam nossos algoritmos de grafos para Snowflake. Esse produto pode ser implantado pelo Snowflake Marketplace, e os clientes já se beneficiam da execução de algoritmos de grafos diretamente nos serviços de contêineres do Snowpark.
08:59 Então, talvez vocês estejam se perguntando: como isso se encaixa no Virtual Graph? Os algoritmos de grafos são executados sobre todos os dados. Eles encontram e pontuam, por exemplo, identificam comunidades. Também podem propor pontuações de risco com base em algum modelo e pontuar os dados. Mas as ferramentas de visualização e exploração são um tanto limitadas, pois é preciso criar a própria interface usando
09:29 nossa biblioteca. Agora, com o Virtual Graph, vocês podem criar um grafo virtual sobre as tabelas que contêm os resultados desses algoritmos e, em seguida, visualizá-los e explorá-los usando o Bloom e o Browser, algo que não era possível antes. Mais importante ainda, vocês podem executar Cypher sobre esse grafo e aproveitar todos os recursos avançados de correspondência de padrões e percursos por caminhos que oferecemos.
10:00 Portanto, esses dois produtos são complementares e, na verdade, o Virtual Graph permite descobrir insights mais profundos e criar visualizações. Nenhuma das ferramentas exige movimentação de dados. Vocês podem fazer tudo mantendo os dados no Snowflake, e ambas são adequadas para análises em grande escala. Eu diria que talvez uma das diferenças que vocês devem esperar, ao executar os algoritmos de grafos diretamente no Snowflake, é que eles são do tipo processamento em lote.
10:33 Os jobs podem levar dezenas de segundos, potencialmente uma hora. Depende do algoritmo. Por exemplo, a busca semanal por componentes conectados em um grafo com um bilhão de nós e três bilhões de relacionamentos pode levar cerca de uma hora. Mas os recursos de consulta do virtual graph tendem a ter latências de segundos a minutos. Para clientes que talvez já tenham o banco de dados de grafos nativo da Neo4j, seja autogerenciado ou usando o Aura, vocês podem ampliar o valor dele criando virtual graphs e usando os dois produtos juntos. Vocês podem então executar consultas que abrangem um único comando Cypher, passando pelo virtual graph e pelo grafo nativo. Então, talvez tenham diferentes tipos de dados e precisem de diferentes tempos de resposta. O formato de armazenamento nativo da Neo4j permite que
11:06 possamos ter tempos de resposta de milissegundos para as consultas, enquanto com o virtual graph é mais provável que vocês esperem de segundos a minutos. Então, Composite é a nossa maneira de permitir que vocês federem consultas. Isso significa responder a uma pergunta abrangendo um virtual graph com dados no Snowflake e um grafo nativo. Em muitas organizações, vocês também podem ter dados no
11:38 Databricks. Assim, vocês poderiam combinar respostas das três fontes e produzir uma resposta a partir dessa combinação, tudo com uma única instrução Cypher. Apresentamos aqui um breve slide sobre a arquitetura corporativa. Como podem ver, vocês têm os domínios de dados do Snowflake e do Databricks, e o domínio de conhecimento, que é como o virtual graph, capaz de responder
12:08 a essas perguntas usando cada uma dessas fontes de dados. Depois, há o grafo de conhecimento combinado, que usa o Composite para consultar qualquer uma delas. E, então, quer vocês tenham cientistas de dados trabalhando com dados analíticos no domínio de machine learning, quer tenham agentes e GenAI, esse é um resumo geral da arquitetura e de como os produtos da Neo4j trabalham juntos de forma
12:40 complementar. Agora vamos passar a palavra a Carden, que vai nos mostrar uma demonstração do nosso produto virtual graph e criar um grafo sobre tabelas do Snowflake. Pode começar. >> Ótimo. Obrigado, Stu. Vou compartilhar minha tela. Stu, me avise se conseguir ver tudo. >> Sim, está tudo certo. Estou vendo
13:11 suas transações. >> Ótimo. Então, como a Sue estava dizendo, o virtual graph permite criar grafos de conhecimento a partir dos seus data warehouses sem precisar mover os dados. Esses grafos de conhecimento podem ser usados para coisas como combater fraudes de forma mais eficaz — que é basicamente o que vamos abordar hoje — ou para fornecer contexto ao seu LLM, para que ele responda aos prompts corretamente logo na primeira vez e reduza o gasto total com tokens. Vamos começar onde a maioria das instituições de serviços financeiros mantém os dados transacionais: em um lugar como
13:42 o Snowflake, ou talvez no Databricks ou no BigQuery. Mas hoje vamos nos concentrar no Snowflake. Aqui no Snowflake, temos uma tabela de transações. Também temos algumas outras tabelas, como tabelas de contas e de clientes, com informações adicionais sobre os clientes e coisas do tipo. Isso leva à pergunta: e se não quiséssemos mover nossos dados para fora do Snowflake para fazer consultas de grafo sobre eles? É exatamente aí que entra o virtual graph da Neo4j. Vou
14:13 levar vocês ao Aura. Para criar um, é bem simples. Vocês vão clicar em Virtual Graph, depois em Create Virtual Graph e em Add New Data Source. Aqui podem ver as três opções que temos atualmente. Uma delas é o Snowflake. Basta selecioná-lo. Depois, vocês vão preencher este formulário rápido com as informações necessárias para acessar os dados. São apenas os detalhes da conexão. Depois disso, serão apresentados
14:47 três pontos de partida diferentes para o modelo. Vocês podem defini-lo completamente de forma manual. Podem gerá-lo a partir do esquema associado às tabelas. Se as tabelas tiverem chaves estrangeiras ou chaves primárias — talvez não tenham, já que estão no Snowflake, mas ainda assim podem ter —, ao selecionar essa opção, será gerado um modelo com base nelas. Também temos a opção de gerar com IA. É por isso que geralmente sugiro que as pessoas comecem por
15:18 ela. Será criado um modelo de grafo muito bom com base nos metadados das tabelas. E, novamente, se vocês tiverem chaves primárias e chaves estrangeiras, isso também será levado em conta. Então, sugiro que quase todo mundo comece com GenAI, que vai criar um bom modelo de grafo para vocês. Este é um exemplo de modelo de grafo criado com GenAI. Temos o cliente aqui no centro. Temos coisas associadas a esse cliente, como endereço, e-mail,
15:49 telefone, o endereço dele, em qual jurisdição fica e coisas do tipo. Também temos alertas que podem estar associados a esse cliente. É claro que todos os clientes têm contas. E essas contas fazem transações, que podem retornar ao beneficiário. O importante é que vocês vejam aqui a fonte de dados na lateral. Cada uma dessas contas ou desses clientes representa uma tabela. E
16:20 temos relacionamentos com informações sobre como essas tabelas se conectam. Neste caso, temos uma tabela diferente que mostra como um cliente se relaciona com uma conta. Vocês podem ver como os IDs da tabela de clientes e da tabela de contas correspondem entre si. E, com isso, este modelo foi criado com GenAI, como eu disse, mas
16:52 vocês podem entrar nele e mudar os nomes, inverter as direções. Então, isto é como uma tela de trabalho para vocês usarem. O que eu acho ótimo no virtual graph é que, depois de criado, ele se integra à nossa plataforma de inteligência de grafos. Assim, vocês têm acesso a todas as ferramentas: Bloom, Graph Analytics e suporte ao servidor MCP. E hoje vamos começar no Bloom. Vamos usar o mesmo construtor visual de consultas a que vocês estão acostumados, se já usaram o Bloom. Vou procurar clientes que tenham contas, cujas contas façam transações e cujas transações beneficiem contas. Podemos fazer isso, e ele vai criar um grafo bem legal para nós. Mais uma vez, depois que criamos esse modelo de grafo, que é o virtual graph, ele vai traduzir
17:23 as consultas Cypher que executamos sobre esse modelo de grafo para SQL e executá-las no Snowflake. Aqui, criamos uma consulta Cypher, que é enviada ao virtual graph e então executada no Snowflake como SQL. O grafo que vocês veem aqui foi criado com dados que continuam no Snowflake. Os dados nunca saíram de lá. A única coisa enviada para lá foi SQL. A única coisa que voltou foram os resultados, usados para montar este grafo. Como eu disse, podemos
17:54 ir até a cena e executar algoritmos de grafos sobre ela. Neste caso, executei a centralidade de intermediação. Este é, na verdade, o mesmo grafo, mas deixei esse resultado pronto para vocês. Executei a centralidade de intermediação, que nos mostra quais contas estão atuando como intermediárias ou gargalos, ou pelas quais passa uma quantidade excepcionalmente alta de transações no nosso grafo. Então, essas contas podem
18:26 ser usadas em algum tipo de contexto fraudulento e provavelmente merecem ser analisadas mais de perto. Passando agora à execução de consultas: como dissemos, vocês também podem executar consultas de grafo diretamente sobre os dados do Snowflake. Vou fazer algo que considero realmente difícil de fazer em SQL: encontrar uma transação circular. Vou executar esta consulta. Ela vai procurar um ciclo circular de três etapas
19:01 Vamos para a cena, onde podemos executar algoritmos de grafos. Neste caso, executei a centralidade de intermediação. Na verdade, é o mesmo grafo, mas já executei esse algoritmo para nós. A centralidade de intermediação vai nos mostrar quais contas atuam como intermediárias ou gargalos, ou têm, de forma incomum, um volume excepcionalmente alto de transações passando por elas dentro do nosso grafo. Portanto, essas contas podem
19:33 ser usadas em algum tipo de contexto fraudulento e provavelmente merecem uma análise mais detalhada. Agora, passando à execução de consultas, como dissemos, também é possível executar consultas de grafos diretamente nos seus dados do Snowflake. Vou fazer algo que considero genuinamente difícil de fazer em SQL: encontrar uma transação circular. Então, vou executar isto. A consulta vai procurar uma transação circular com três etapas.
20:04 transação que ele encontra. Esse é, obviamente, um padrão muito comum e, em um contexto de fraude, temos contas, ou uma conta, movimentando dinheiro em círculos para ocultar sua origem. Então, uma transação vai para esta conta, depois para aquela conta, depois para outra conta e, por fim, volta para a conta original, ocultando a origem dos fundos. O que também acho realmente incrível no Virtual Graph é como ele se conecta a ferramentas como Claude. Então, acho
20:36 muito importante que o Virtual Graph se torne parte de uma camada de conhecimento sobre o seu warehouse. Assim, em vez de os agents precisarem raciocinar sobre tabelas desconectadas, eles podem começar a raciocinar sobre as relações entre entidades e os caminhos usando Cypher. Aqui, posso fazer uma pergunta em linguagem natural. Vou especificar o servidor MCP que quero usar, já que tenho vários deles ativos, e fazer a mesma pergunta para a qual acabei de executar uma consulta Cypher. Então, usando este servidor MCP,
21:08 você consegue encontrar uma transação circular? O que ele vai fazer é pegar essa pergunta em linguagem natural e traduzi-la para Cypher. Depois, essa consulta Cypher será executada no Virtual Graph. O Virtual Graph vai traduzi-la para SQL, que será executado no Snowflake; o resultado vai percorrer todo o caminho de volta e aparecer aqui no Claude. Vamos dar um ou dois segundos para executar e veremos
21:38 o que aparece. Ele encontrou algumas aqui. Encontrou duas que têm dois saltos. Vamos ver se encontra mais alguma coisa. Há alguma com três saltos? Vou tentar mais uma vez para encontrar uma com três saltos, como a que encontramos antes.
22:26 Ao clicar aqui, você pode ver as diferentes consultas sendo executadas. Aqui, ele está executando uma consulta Cypher mais complexa. Está recebendo os resultados. Sim, encontra seis cadeias circulares de três saltos. Então, você pode levantar essas questões ou investigar mais a fundo no Claude, ou encaminhá-las para algum tipo de equipe de contas, para descobrir exatamente o que está acontecendo. Com isso, vou parar de compartilhar minha tela e passar a palavra
22:58 de volta para Stu, para encerrar. Stu, acho que você está no mudo. Obrigado, Cardon. Ótima demonstração. Foi muito bom ver o grafo em ação e como foi fácil criá-lo, ver a IA sugerir um grafo candidato e ajustá-lo às necessidades específicas. Depois,
23:31 usar nossas ferramentas, como Bloom e Browser, para consultar esse grafo. E o fato de ser tão fácil se conectar a algo como Claude, fazer essas perguntas e ter agents e servidores MCP fornecendo as respostas praticamente em tempo real é fantástico. Então, preparamos uma pequena lista de próximos passos. Há links para nossa documentação. Também há o blog que anunciou o Virtual Graph, cuja prévia pública começou
24:04 em meados ou no fim de julho. Estamos nos preparando para a disponibilidade geral em novembro, que está chegando em breve. Ainda dá tempo de experimentar a prévia hoje. O Neo4j Graph Analytics também está disponível no marketplace do Snowflake, e você pode ler mais sobre nossa parceria com o Snowflake e enviar perguntas para nossa equipe de ecossistema na Neo4j, se estiver
24:35 assistindo a esta gravação. Também vamos responder a algumas perguntas ao longo desta sessão e podemos retornar às que ficarem sem resposta. Temos muitos outros eventos de ecossistema acontecendo com nossos parceiros. Todos estão chegando em breve. Então, é só se inscrever. Você receberá uma notificação. E, para mim, só resta agradecer mais uma vez pelo seu tempo e por participar, e pelas
25:06 ótimas perguntas. Até breve. Obrigado. >> Obrigado, pessoal. >> [música]
Transcrição original
[00:03] [music] Hi uh welcome uh today’s webinar uh thanks for joining uh the zero copy advanced graphs how virtual graph accelerates fraud detection in snowflake uh I’m joined here today by Cardon Baylor he’s a senior product marketing manager at NEOJ and he’ll be doing uh today’s demo Colin, do you want to say a quick hi? >> Hi, I’m K Baylor. Like Stu said, I’m a
[00:35] technical product marketer here and one of the products I like to advocate for is virtual graph. >> Thanks. And uh I’m Stu Moore, lead product manager for our data ecosystem and partner integrations. Um we’re a Snowflake partner. We have been for over 18 months, nearly two years now, I think. Um and uh we’re here today to talk about how we can uh do fraud investigation and uh troubleshooting with inside uh Snowflake.
[01:09] Uh I am sure uh many of you uh who’ve spent any time with Snowflake will have seen this slide about how Snowflake positioned their AI data cloud and how they want to help bring AI uh to your data. What we’ll say today is how uh you can make uh your AI data cloud even smarter with uh graph capabilities uh and uh Cardon will be showing some of that later but whilst also maintaining the built-in governance uh that is
[01:41] provided by the snowflake platform. So we’re here talking about virtual graph. So that would suggest that’s the answer to something. Uh what’s the question? Well, many of you may be asking, you know, how can I make my data AI teams use the expressive power of graph uh whilst maintaining that single unmoved source of truth of data uh within your snowflake infrastructure i.e. keep that governance. Um but for anyone who’s familiar with uh Neo forj
[02:13] that very often involves uh building and using our native graph capability which requires ETL uh and many of those projects and other projects uh are often kind of blocked around data migration challenges whether you’re talking about security issues GDPR or other governance political barriers whether those are geopolitical barriers whether those political barriers within the organization. Um and then you know you ultimately get to a
[02:45] scale problem. Uh some customers as you’ll see uh have you know many pabytes of data in Snowflake. Um whilst you might not need all of that for for graph um you know it’s quite typical as we’ll see across many organizations to have very very large uh terabyte data sources. Plus, you know, it’s quite common for pilots uh of any software to stall. Uh the faster you can get to prove value, the faster you can get to uh revealing
[03:17] uh and solving uh problems, uh the more likely uh a project is to proceed. So, uh what is virtual graph? virtual graph uh provides a way for users to query uh your data with inside of Snowflake um using Cipher, our Gore uh compliant query language. So you get all the benefits of uh graph-like queries um
[03:47] being able to push that down into uh your data within Snowflake. There’s no ETL. There’s no need to ingest data into a Neo Forj native graph. You get all the full Neo forj tooling. So that means you’re able to use bloom which is our uh business analyst or um uh tool um which can kind of visualize data uh our browser which provides kind of query capabilities more typically used for by
[04:18] maybe a data scientist or um you know data engineer. Um but you know whereas once you used to have to know cipher you can now just type in a natural language question but the cipher gets translated into a SQL uh statement which is then executed down in your warehouse. So there’s no need to move any data. You get the graph like results back um into our tooling. Uh and it can be used by
[04:49] our agents. Um so you know you can have agents being answer able to ask and answer questions uh through virtual graph. Um you can build applications um with our APIs and our drivers um which ultimately means your data can remain inside your snowflake data lake uh and there’s no ETL and you can get show value to the business within days if not even hours um uh instead of months.
[05:21] And just to kind of give you a flavor of some of the the use cases which kind of expand beyond financial services. The demo that we’ll be seeing is obviously targeted at financial fraud. Um but um you know uh banks uh financial institutions have a very large number of customers and you know a magnet several mag orders of magnitude more transaction data um to to kind of sort through to find fraud rings uh you know um and
[05:53] other types of fraud whether you’re looking at insurance fraud um across you know any type of industry from the motor industry uh to medical claim claim you’re talking about very sensitive information that is kind of hard to get buy in to take out of your your snowflake infrastructure. The same for patient journey. Um you know insurer and uh personal information medical records are highly sensitive. Um under strict uh uh regulatory
[06:25] guidelines. um genomic uh knowledge graphs in the healthare health care and life sciences represents a huge amount of intellectual property and have you know um you know the businesses are are very strict on being able to take this data out of Snowflake and then you got kind of you know telecoms again you know huge numbers of uh data across you know their physical and virtual networks
[06:56] So all of these kind of represent situations where you’ve got, you know, data sensitivity, data privacy, governance or very very large quantities of data that need to be analyzed. So if you want to be able to use graph to investigate these uh types of issue, um virtual graph is able to connect to your snowflake tables and schema. Um we can create a graph model. We have um AI assistance. So it can propose a
[07:26] candidate graph for you. You can then adjust that uh adjust any modeling that you want to represent the graph and answer the questions that you would like to be able to uncover. Uh and then as I said, you’re either able to write cipher query if you know GQL cipher or type in a natural language question uh and have your answers come back. we’re able to run our graph algorithms uh often referred to as GDS, our graph data
[07:57] science library, um over your data as well. So you benefit from you know page rank community detection multihop traversals quantified path patterns where you’re looking for a particular pattern within the data uh and then um ground uh the context of uh gener batch processing move data anywhere just
[08:28] the uh graph results come back uh into our tooling to enable your analysts uh to answer and find the fraud. Uh you may have be aware of our uh graph algorithms for Snowflake. Uh this product is deployable from our Snowflake marketplace and um customers um today are benefiting from running graph algorithms directly inside of Snowpark
[08:59] container services. So you might be asking well you know how does that fit into virtual graph? So um graph algorithms run over all the data. So they find and score like identify communities. They could um propose risk scores based on some model um and score your data. Um but um visualization and exploration tools are kind of limited to having to build uh your own uh UI using
[09:29] our library. Um with virtual graph now you’re able to um create a virtual graph over the uh tables um with the results from these algorithms uh and then uh visualize them, explore them using Bloom and Browser, something that wasn’t previously possible. And more importantly, you’re able to run cipher over that graph uh and get all the rich pattern matching and um path traversal uh that we offer.
[10:00] So these two products are complimentary and in fact virtual graph enables you to uncover deeper insights, build visualizations. Neither tool requires any data movement. you’re able to do everything with your data remaining in Snowflake and both are suited to large scale analytics. I would say perhaps one of the differences uh that um you should expect if you’re running the graph algorithms directly inside of Snowflake um those batch style
[10:33] jobs could take tens of seconds uh potentially an hour. It depends on the the algorithm. For example, weekly connected component over a billion does take a billion nodes and three billion relationships can take about an hour. Um, but virtual graph uh it query capabilities are more likely your sec second to minute type latencies. Um for customers who may already have uh Neo forj’s uh native graph database be
[11:06] it self-managed um or using Aura um you’re able to uh extend the value of that by creating virtual graphs uh and use the two products together um and you can then run queries across a single cipher query across your virtual graph and your native graph. So you might have different types of data um uh and need different kind of response times. So Neoj’s native uh storage format enables
[11:38] us to have millisecond response times from from queries whereas virtual graph you might more expect to seconds to minutes. Um so uh composite uh is our way of allowing you to federate uh queries. So that means answer a question across uh a virtual graph that has data in snowflake a native graph. You in many organizations you may also have a data
[12:08] and data brick. So you would be able to combine answers from all three uh uh sources uh and and yield um an answer from uh a combination of that all with a single cipher statement. We’ve uh provided a a short kind of enterprise uh architecture slide here. So you can see you’ve got your data domains of snowflake and data bricks. your knowledge domain which is like virtual graph which is able to answer
[12:40] those questions from each of those data sources and then your kind of combined knowledge graph which uses composite to query any of one of those and then uh whether you’ve got analytical uh data scientists working in your machine learning domain or Janai you’ve got agents and so that’s kind of a a broad summary of kind the the architecture and how Neoj’s products all work together uh in a
[13:11] complimentary fashion. Um we’re now going to hand over to Carden who’s going to take us through a demo of uh our virtual graph product uh and build a graph uh over snowflake tables. Over to you. >> Awesome. Thank you, Stu. Uh let me share my screen. Ste, let me know if you can see everything. >> Yeah, that’s uh that’s all good. Seeing
[13:42] your transactions. >> Awesome. Okay, so like Sue was saying, uh, virtual graph lets you build knowledge graphs from your data warehouses without having to move your data. So these knowledge graphs can be used from things like more effectively fighting fraud, which is basically what we’re going to be covering today to grounding your LLM so that your LLMs answer prompts correctly the first time and lower overall token spend. So we’re going to start where most financial services are keeping their transactional. That’s in a place like
[14:13] Snowflake or perhaps data bricks or bigquery. But today we’re going to be focusing on snowflake. So here in Snowflake we have a transactions table. We also have a couple other tables in here like account um customer tables different tables more information about the customers that sort of thing. So that leads to the question of you know what if we didn’t want to move our data out of Snowflake in order to ask graph questions of it. So that’s exactly where Neo4j virtual graph comes in. Uh I’m
[14:47] going to take us over to Aura. And in order to create one, it’ll be pretty simple. You’re going to click virtual graph. Uh create virtual graph. Um add new data source. And then you can see the three options that we have here currently. Uh so snowflake being one of them. You just put snowflake. Then you’ll fill out uh this quick like form about um you know what you need uh to access. These are just your connection details. After you do that, you’ll be prompted
[15:18] with um three different starting points for your model. So you can either define it completely manually. You can generate it from uh the schema that’s associated with your tables. So if you have things like foreign keys or primary keys in your tables, which you may not given that it’s uh snowflake, but uh you may have that regardless. But if you did and you clicked that, it would generate a model based on that. Uh we also have a generate with AI option. That’s why I usually suggest people start with um
[15:49] it’ll create like a a very good graph model uh based off of you know metadata about your tables and again if you have the primary keys and for keys that will inform that as well. Um so for almost everybody I suggest start with genai uh and it’ll create like a a nice graph model for you. So um this is an example of a graph model that was created using Genai. So we have our customer here at the center. We have things associated with that customer like address, email,
[16:20] phone, um you know their address, what jurisdiction is it in, that sort of thing. We also have alerts that could be associated with that customer. Of course we have customers all have accounts. Um and those accounts are performing transactions and those transactions can go back to benefit in. So importantly you’ll see here that we have the data source on the side. So each one of these uh you know accounts or customers those the the nodes here represent a table. Um
[16:52] and we have these relationships that have information like how these tables connect to each other. So um in this case we have like you know a different table that showed how a customer relates to an account and you can see how the ids from the customer table uh to the account table those sorts of things how they map closely to each other and with that um this is obviously like I said creative geni but
[17:23] you can go in you can change names you can re reverse the directions uh so this is just kind of like a a canvas for which uh you can work off. So what I think is great about um virtual graph is that once it’s created it plugs into our graph intelligence platform. So you get all the tooling with that. That means bloom graph analytics mc mcp server support and we’re going to start today in bloom. So we’re going to use that same visual pora
[17:54] builder that you’re used to if you’ve used bloom before. I look for customers that um have account those accounts uh perform transactions and those transactions benefit accounts. We can do that and it will create like a nice little uh graph for us. So once again um while after we create that graph model which is virtual graph uh it’ll translate
[18:26] cypher queries that we run against that graph model down into SQL and run on snowflake. So here we created a cipher query and then it’s pushed to the virtual graph then run down on snowflake in as SQL. So this graph that you see here is performed is created off of data that’s still in snowflake. Data never left. The only thing that went down was SQL. The only thing that came back up is the results uh which was then used to build this graph. Um like said we can uh
[19:01] go over to the scene we can run graph algorithms against it. So in this case I ran um between the centrality. This is actually just the same graph but I pre-ran that one for us. I ran between the centrality which will show us um what uh you know accounts are acting as intermediaries or bottlenecks or unusually have a high unusual amount of transactions flowing through them within our graph. So these accounts may um you
[19:33] know be used in some sort of fraudulent context and are probably worthy of a closer look uh in them. So moving on to running queries like we said you can also run graph queries directly against your snowflake data. So I’m going to do something I think is genuinely hard to do in SQL and that’s find a circular transaction. So, I’m going to run this. It’s going to look look for a three-legged uh circular
[20:04] transaction which it finds. This is obviously a very common pattern and in a fraud context, you know, we have accounts or an account that is layering money around in a circle to conceal its source. So, a transaction goes to this account to that account to that account and then back to this original account hiding the original source of funds. Um what I also think is really great about virtual graph is how it hooks up uh to tools like claude. So um I think
[20:36] it’s really important that virtual graph will become part of a knowledge layer on top of your uh warehouse. So instead of agents having to reason over like disconnected tables, they can now start to reason over the entity relationships and paths um using cipher. So here I can ask a natural language question like using I’m going to specify the MCP server I wanted to use uh given that I have a bunch of them up. Um and ask that same question I just ran a cipher query for. So using uh this MCP
[21:08] server can you find a circular transaction? So um what it’s going to do is it’s going to take this natural language question. is going to translate it into cipher and then it’s going to translate that ciph that cipher will uh run against virtual graph. Virtual graph will translate that into SQL and then uh SQL will be run down on snowflake and it’ll go all the way back up to and land here in cloud. So we’re going to give it second or two to run and we’ll we’ll see
[21:38] what it comes back with. So it found a couple ones right here. Found two uh two hop ones. Let’s see if it finds anything else. Um, see, are there any three? Give it one more shot to find like a three hop one like we had found earlier.
[22:26] You click this, you can see um the different queries are running. So here it’s running more complex cipher query. Uh it’s getting results back. Yes, it finds um six to sync three hop uh circular chains. So you can then um raise those issues or investigate further either in claw or bring them over to um some sort of uh you know account team to figure out exactly what’s going on. So with that I will stop sharing my screen and I’ll hand it
[22:58] back over to Stu to to wrap it up. Stu, I think you’re on mute. Um, thanks Cardon. Great demo. Uh, as a really good see graph in action and how easy it was to uh create the graph, see AI propose a candidate graph. You can be tune it to uh individual needs uh then
[23:31] use our our tools like Bloom and Browser to query that graph. and the fact that you can so easily hook up uh to something like Claude and ask those questions and have agents and MTP servers all kind of provide those answers um in near real time is uh is fantastic. So uh we provided uh a short set of uh next steps. So there’s links to our documentation. There was the blog announcing virtual graph uh which uh we
[24:04] had the preview start uh the public preview started back in uh mid to late July. Um and we’re preparing for general availability in Nora which will be coming soon. Um so there’s still time to try the preview today. Um, the NEOJ graph analytics is also available via the Snowflake marketplace and you can read more about our partnership with Snowflake um and send questions to our ecosystem team at NeoJ if you’re
[24:35] watching this recording back live. We’ll be taking um some questions as well uh throughout uh this session uh and we can follow up with any unanswered ones as well. Um we’ve got many other uh ecosystem events happening in our partner ecosystem. They’re all coming up soon. Um so please just register. You’ll get notified. Um and uh all that remains for me uh once again is to thank you for your time and attendance and the the
[25:06] great questions and uh we’ll see you again soon. Thank you. >> Thank you guys. >> [music]