Organizando Nomes de Deuses Gregos para Projetos de Worldbuilding
Achei que era mais simples do que era. Comecei usando planilhas e depois migrei para JSON, porque a ideia era criar um sistema de nomes para um jogo de RPG tabletop. O problema real não era listar os deuses. Era lidar com epítetos, variações regionais e a sobreposição entre divindades menores epersonificações. A abordagem que funcionou para mim foi criar uma estrutura hierárquica com três camadas: a raiz etimológica, o nome principal em grego antigo e os epítetos organizados por função. Usei o Transliterate Unicode padrão com acentos normais em vez de tentar reinventar algo próprio, porque qualquer ferramenta que você conectar depois vai depender de consistência na codificação.
Como construir o banco de dados de nome deus grego
Comecei com um esquema simples. Cada entidade tem campos fixos: ID único, nome em grego antigo, transliteração, nome em grego moderno quando diferente, categoria (Olimpiano, Primordial, Regional, Menor), domínio principal, epítetos como array e notas de variantes. Eu mantinha os epítetos separados porque a mesma divindade pode ter dezenas dependendo do contexto local, e misturar isso com os dados estruturais gerava duplicações constantes. No começo eu colocava tudo num arquivo CSV. Depois de dois meses percebendo que precisava de relacionamentos muitos-para-muitos entre divindades e domínios, migrei para um banco SQLite. A query básica que eu uso pra puxar todos os nomes de uma função específica leva menos de 30 milissegundos num arquivo com cerca de 2.500 entradas. O ganho real foi conseguir cross-reference em tempo real durante a geração procedural de nomes para NPC's e locações.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Pegadinhas que eu aprendi na prática
O primeiro erro foi tratar Hades como se fosse um deus olímpico padrão. Ele tem uma lista enorme de epítetos que variam radicalmente entre textos homéricos, hinos órficos e fontes posteriores. Meu primeiro versionamento do banco tinha cerca de 180 entradas duplicadas para a mesma entidade só por causa de epítetos que eu havia tratado como nomes próprios. Eu acabei resolvendo adicionando um campo "nome canônico" que aponta pra uma entidade pai, e todo epíteto vira um registro filho com metadados de fonte e período. O outro problema foi a distinção entre deuses e personificações. Ética, Nix e Tártaro às vezes aparecem como "deuses" em fontes primárias e como forças abstratas em outras. Minha solução foi adicionar um campo binário de classificação ontológica e uma flag de "controvérsia textual" que eu ativo quando fontes concorrentes divergem. Isso evita que alguém do seu time use uma classificação como fato estabelecido.
Arquivo e download do template
Eu preparei um template em JSON com as primeiras 340 entidades mapeadas, incluindo a estrutura de epítetos e os campos que usei acima. O arquivo está disponível no link abaixo. Ele não é definitivo, mas já serve como ponto de partida sólido. Baixar template JSON nome deus grego
Limitações honestas
Esse sistema funciona bem para listas fechadas e projetos de médio porte. Se você precisar de escalabilidade maior que 10.000 entidades com buscas semânticas em tempo real, vai precisar migrar para Elasticsearch ou algo similar. A.query SQLite que eu mostrei acima começa a ficar pesada além desse limite. Também não cobre a variante micênica em Linear B, que seria outro projeto completamente separado por questões de transliteração e interpretação. Se o seu foco é estritamente combate a nomes duplicados durante geração procedural, um script Python simples de deduplicação baseado em hash de similaridade Levenshtein resolve em cerca de 2 minutos para conjuntos de até 5.000 nomes. Eu uso esse script junto com o template JSON como workflow mínimo viable.