Biblia Codex - People Module Support
Este guia define como extrair o máximo de informação de módulos de personagens (People/Dictionary) que utilizam tabelas relacionais em vez de uma única coluna de descrição.
🌳 UI de Genealogia Visual
O Biblia Codex inclui componente GenealogyTree (src/components/GenealogyTree.tsx) que renderiza:
- Nós interativos estilo mind map
- tree_id agrupa famílias (tree_id 1 = 833 pessoas, etc)
- gender determina cor (M = azul, F = rosa)
- Exibe birthyear, deathyear, birthplace, deathplace
Exemplo de uso:
import { GenealogyTree } from './components/GenealogyTree';
<GenealogyTree bookId="Gn" chapter={1} verse={26} />
Dados MySword (peopledata.mybible)
- 3.085 pessoas bíblicas com nomes NVI
- 375 genealogias (tree_id)
- Campos: name, gender, birthyear, deathyear, birthplace, deathplace, tree_id, verses
🛠 Arquitetura de Mapeamento
Estrutura de Tabelas Comuns
people: Contém metadados (id, nome, nascimento, etc).verse(ouverses): Frequentemente contém o texto biográfico longo.- Chave Estrangeira: O campo
iddepeoplegeralmente mapeia para o campochapteroubookna tabelaverse.
Lógica de Extração (Algoritmo)
- Busca Inicial: Localizar o personagem na tabela
peoplevianame LIKE %termo%. - Join/Busca Secundária: Se encontrado, buscar na tabela
verseonde o índice coincide com oidda pessoa (ex:SELECT text FROM verse WHERE chapter = ?). - Filtro de Conteúdo: Remover tags MyBible/MySword (ex:
<FI>,<FR>) do texto antes da exibição.
- Busca Inicial: Localizar o personagem na tabela
Formatação de Saída
- Mesclar os metadados (Gênero, Ano, Local) no topo.
- Seguir com o texto extraído da tabela
verse. - Incluir referências bíblicas se disponíveis na coluna
verses.
🤝 Boas Práticas
- Prioridade de Tabela: Sempre que houver uma tabela
people, assumir que ela é a fonte primária de IDs, mas não de texto biográfico. - Robustez: Se a tabela
versenão retornar dados, fazer o fallback para a "Ficha Técnica" baseada apenas nos metadados da tabelapeople.