Os bancos de dados gráficos são agora oficialmente uma entidade de primeira classe no mundo da ciência da computação.
O International Standard for Organization (ISO) publicou um padrão internacional para consulta de gráficos, denominado Graph Query Language (ISO/IEC 39075:2024).
É a primeira linguagem de consulta de banco de dados publicada pela ISO desde 1987, quando ratificou o SQL naquele ano. O órgão de padronização passou mais de cinco anos resolvendo os detalhes.
“Não há nada como um padrão formal internacional, um irmão do SQL que sai da mesma organização que o SQL, para falar muito sobre o valor mainstream” do GQL, disse Philip Rathle, diretor de tecnologia da Neo4j, em entrevista ao TNS.
O lançamento “marca um novo capítulo na história das linguagens de consulta, revolucionando a maneira como interagimos e aproveitamos o poder dos dados interconectados”, disse Tony Holland, líder de comunicações do Comitê Técnico Conjunto 1/AG 1 da ISO/IEC, em comunicado. . “GQL representa um avanço significativo na consulta e manipulação de dados, oferecendo uma linguagem unificada e expressiva para navegar em estruturas gráficas complexas.”
Além da expertise da Neo4J, engenheiros do HypergraphDB, Redis Labs, TigerGraph, Oracle e da Universidade Alemã de Bonn também participaram do projeto.
Uma visualização de um banco de dados gráfico (cortesia: Neo4J)
Vantagens da padronização
A ratificação da linguagem por um órgão de padronização global, assim como aconteceu com o próprio SQL, traz garantia de sua estabilidade, incentivando usuários e fornecedores de ferramentas a investirem ainda mais na tecnologia.
A base para a computação gráfica é o gráfico de propriedades, que é superior na descrição de dados que mudam dinamicamente.
Os bancos de dados gráficos têm sido amplamente utilizados há décadas e, apenas recentemente, o formulário gerou um novo interesse em ser um componente essencial em aplicativos de IA generativa baseados em modelos de linguagem grande. Um modelo gráfico pode visualizar sistemas complexos e interconectados.
A desvantagem dos LLMs é que eles são uma espécie de caixas pretas, explicou Rathle. “Não há como entender o raciocínio por trás do modelo de linguagem. É apenas seguir uma rede neural e fazer o que quer”, disse ele. Um gráfico de conhecimento pode servir como memória externa, uma forma de visualizar como o LLM construiu sua visão de mundo.
“Para que eu possa rastrear o gráfico e ver por que ele chegou com essa resposta”, disse Rathle.
Os bancos de dados gráficos também são amplamente utilizados em empresas de saúde para descoberta de medicamentos e por aeronaves e outros fabricantes como forma de visualizar projetos de sistemas complexos, disse Rathle. “Você tem todas essas dependências em cascata e esse cálculo funciona muito bem no gráfico”, disse Rathle.
O que há no GQL?
O padrão GQL tem mais de 600 páginas e faz referência a mais de 400 artigos.
Os componentes incluem:
Tipos de dados somente gráficos (vértice, aresta, caminho)
Tipos de dados escalares
Operações, funções e predicados para os tipos escalares
um modelo de transação
Um modelo de segurança
Correspondência de padrões gráficos
Tipos de gráfico, para restringir o conteúdo de um gráfico
GQL é baseado em Cypher — e sua variante de código aberto OpenCypher — a linguagem de consulta para um dos sistemas de banco de dados gráficos mais populares, o Neo4j.
A sintaxe principal do GQL é praticamente idêntica à do Cypher, com as instruções MATCH… RETURN funcionando da mesma forma. A pergunta:
MATCH (filme:Filme) RETURN filme.título
CORRESPONDER(filme:Filme)
RETORNARfilme.título
retornará todos os nós com o rótulo “Movie” no banco de dados.
GQL também usa as mesmas expressões básicas, composição linear e outros aspectos do Cypher.
A melhor parte do GQL, claro, é a capacidade de percorrer um gráfico. Por exemplo, este exemplo de consulta do Neo4J mostra a próxima parada de um serviço de transporte que para em Denmark Hill às 22h37:
MATCH (n:Estação {nome: ‘Denmark Hill’})<-(:CALLS_AT)- (s:Stop WHERE s.departs = time(’22:37′))-(:NEXT)-> (:Parar)-(:CALLS_AT)->(d:Estação) RETURN d.name AS nextCallingPoint
CORRESPONDER(n:Estação{carne:‘Colina da Dinamarca’})<-(:CALLS_AT)-
Tabela 4. Resultado próximoCallingPoint “Clapham High Street”
Mesa4.Resultado
próximoCallingPoint
“Clapham rua principal”
Existem algumas diferenças básicas entre Cypher e GQL, entretanto.
GQL usará a palavra-chave INSERT para adicionar um nó ou relacionamento a um gráfico, enquanto Cypher usará CREATE. A instrução FOR substitui o UNWIND do Cypher.
Outras linguagens de consulta gráfica incluem NQL do NebulaGraph, Gremlin do Apache Tinkerpop, SPARQL para RDF e AQL do ArangoDB. Há também a linguagem GraphQL, uma linguagem de consulta orientada a gráficos para construção de APIs.
O caminho de atualização das linguagens de consulta gráfica existentes deveria ser bastante fácil, pelo menos se essas implementações fossem baseadas em Cypher. De acordo com Rathlee, pelo menos uma dúzia de sistemas de banco de dados gráficos diferentes são construídos em OpenCypher, incluindo o popular Neptune da Amazon Web Services.
YOUTUBE.COM/THENEWSTACK
A tecnologia avança rápido, não perca um episódio. Inscreva-se em nosso canal no YouTube para transmitir todos os nossos podcasts, entrevistas, demonstrações e muito mais.
SE INSCREVER
Joab Jackson é editor sênior do The New Stack, cobrindo computação nativa em nuvem e operações de sistema. Ele faz reportagens sobre infraestrutura e desenvolvimento de TI há mais de 25 anos, incluindo passagens pela IDG e pela Government Computer News. Antes disso, ele…
Este site utiliza cookies para melhorar sua experiência de navegação. Ao continuar, você concorda com o uso de cookies. Para mais informações, consulte nossa Política de Privacidade.
Funcional
Sempre ativo
O armazenamento ou acesso técnico é estritamente necessário para a finalidade legítima de permitir a utilização de um serviço específico explicitamente solicitado pelo assinante ou utilizador, ou com a finalidade exclusiva de efetuar a transmissão de uma comunicação através de uma rede de comunicações eletrónicas.
Preferências
O armazenamento ou acesso técnico é necessário para o propósito legítimo de armazenar preferências que não são solicitadas pelo assinante ou usuário.
Estatísticas
O armazenamento ou acesso técnico que é usado exclusivamente para fins estatísticos.O armazenamento técnico ou acesso que é usado exclusivamente para fins estatísticos anônimos. Sem uma intimação, conformidade voluntária por parte de seu provedor de serviços de Internet ou registros adicionais de terceiros, as informações armazenadas ou recuperadas apenas para esse fim geralmente não podem ser usadas para identificá-lo.
Marketing
O armazenamento ou acesso técnico é necessário para criar perfis de usuário para enviar publicidade ou para rastrear o usuário em um site ou em vários sites para fins de marketing semelhantes.