Princípio de design: toda propriedade tem rótulo + descrição instrutiva que diz ao agente quando usar, o que NÃO confundir, e o que fazer se estiver ausente. Só propriedades abaixo — nenhum item.
GRUPO 1 — Estrutura hierárquica (contenção)
| P-ID
|
Rótulo
|
Tipo
|
Descrição instrutiva
|
| P208
|
contém dispositivo
|
Item
|
Liga um continente ao seu conteúdo direto (Lei→Capítulo, Capítulo→Seção, Artigo→Parágrafo). Use APENAS para o nível imediatamente abaixo — nunca pule níveis. Se o agente não encontrar essa propriedade num item, significa que ele é uma folha (não contém nada), não que a informação esteja faltando.
|
| P209
|
pertence a
|
Item
|
Inverso de P208. Todo item exceto a Lei-raiz deve ter exatamente um valor aqui. Se um dispositivo tiver mais de um valor nesta propriedade, é erro de modelagem — reportar, não escolher um.
|
| P210
|
tipo de dispositivo
|
Item (de lista fechada)
|
Valores permitidos: Lei / Capítulo / Seção / Subseção / Artigo / Parágrafo / Inciso / Alínea / Item-numérico. Uso obrigatório em toda entidade. Um agente NUNCA deve inferir o tipo pelo formato do texto — sempre ler este campo.
|
| P211
|
posição ordinal
|
Número inteiro
|
Ordem de aparição dentro do pai (1, 2, 3...). Existe para permitir reconstruir a sequência de leitura mesmo que a numeração oficial tenha saltos (ex: "Art. 32. (VETADO)" seguido por outro Art. 32 promulgado depois). NÃO confundir com P212.
|
| P212
|
rótulo oficial
|
String
|
O texto exato como aparece na norma: "Art. 2º", "§ 1º", "III", "alínea h". Preservar caracteres originais (º, §). Usado para exibição e citação — nunca para ordenação (use P211).
|
GRUPO 2 — Conteúdo (texto)
| P-ID
|
Rótulo
|
Tipo
|
Descrição instrutiva
|
| P213
|
texto literal vigente
|
Texto monolíngue (pt-br)
|
Cópia exata, palavra por palavra, do dispositivo na sua redação atualmente em vigor. Um agente/LLM NUNCA deve parafrasear, resumir ou completar isso — se o campo existir, é a fonte de verdade citável. Se um dispositivo foi revogado, este campo fica vazio e o agente deve consultar Px31xx (status).
|
| P214
|
resumo gerado
|
String
|
Resumo em linguagem natural, gerado por IA, do conteúdo de P213. Existe separado de P213 exatamente para que um agente NUNCA cite isto como texto legal — serve só para busca/indexação semântica. Toda leitura desta propriedade deve vir acompanhada do aviso "isto é um resumo, não o texto da lei".
|
| P215
|
hash do texto literal
|
String
|
Assinatura do conteúdo de P213 no momento da extração. Serve para o agente detectar se o texto mudou desde a última vez que ele consultou (evita trabalhar com cache desatualizado).
|
GRUPO 3 — Ciclo de vida normativo (o que evita mais alucinação)
| P-ID
|
Rótulo
|
Tipo
|
Descrição instrutiva
|
| P216
|
status atual
|
Item
|
Valores: vigente / revogado / vetado-e-mantido / vetado-e-promulgado / sem-efeito / com-vacatio-legis. Obrigatório em toda entidade de tipo Artigo/Parágrafo/Inciso/Alínea. Um agente deve SEMPRE checar este campo antes de afirmar que um dispositivo "está em vigor".
|
| P217
|
redação dada por
|
Item
|
Aponta para a norma que produziu o texto atual (ex: "Lei nº 13.853/2019").
|
| Pxxxx
|
histórico de redações
|
Lista ordenada de (Item-texto-versionado, data-início, data-fim)
|
é apenas a coleção de todos os statements existentes de P217 no item, cada um com seu par de qualificadores de data.
|
| P218
|
revogado por
|
Item (norma ou dispositivo) + data
|
Preenchido apenas quando P216 = revogado. Nunca inferir revogação por ausência de P217 — pode ser um erro de extração, não revogação real; nesse caso o agente deve reportar incerteza, não concluir.
|
| P219
|
vetado em
|
Data
|
Data da mensagem de veto original (existe mesmo quando o veto foi depois derrubado — histórico não se apaga).
|
| P220
|
veto derrubado / promulgado em
|
Data + base legal
|
Caso específico brasileiro: dispositivo vetado pelo Executivo e depois promulgado pelo Congresso via art. 66 §5º CF. Sem esta propriedade, um agente vendo só "(VETADO)" no texto concluiria erroneamente que o dispositivo nunca existiu — quando na verdade pode estar vigente. Esta é a propriedade que resolve diretamente o padrão "Art. 32. (VETADO)" seguido de promulgação posterior que aparece na Lei 14.129.
|
GRUPO 4 — Vigência temporal
| P-ID
|
Rótulo
|
Tipo
|
Descrição instrutiva
|
| P221
|
vigente desde
|
Data
|
Início de vigência deste texto específico (não da lei toda).
|
| P222
|
vigente até
|
Data (ou vazio = indeterminado)
|
Fim de vigência. Vazio significa "ainda vigente", não "desconhecido" — para marcar desconhecido use P032.
|
| Pxxx
|
vacatio legis / vigência escalonada
|
isso se resolve reaproveitando a propriedade P222 (vigente desde) que você já tem, só usando ela várias vezes no mesmo item, uma vez por âmbito, cada uma com dois qualificadores.
|
Cobre casos como o art. 55 da Lei 14.129 (90/120/180 dias para União/Estados/Municípios). Um agente que ver só "entra em vigor após decorridos 90 dias" no texto NÃO deve calcular a data sozinho — deve usar o valor já calculado aqui, para evitar erro de contagem de prazo.
|
GRUPO 5 — Relações entre normas (inter-documento)
| P-ID
|
Rótulo
|
Tipo
|
Descrição instrutiva
|
| P223
|
altera
|
Item (dispositivo específico, não a lei toda) + qualificadores (redação-anterior, redação-nova)
|
Uso estrito: só quando o texto literalmente substitui outro dispositivo (padrão "(NR)" ou "passa a vigorar com a seguinte redação"). NUNCA usar para simples menção — para isso use P225.
|
| P224
|
acrescenta dispositivo a
|
Item (norma-alvo)
|
Para casos de inclusão de artigo/parágrafo novo numa lei existente (ex: "Art. 10-A" incluído na Lei 13.460 pelo art. 54 da Lei 14.129). Distinto de P040 porque não há "redação anterior" a substituir.
|
| P225
|
observa / remete a
|
Item
|
Uso quando o texto diz "nos termos da Lei X", "conforme art. Y", "observadas as Leis Z" — SEM alterar nada. Esta é a propriedade mais importante para evitar que um agente confunda "menciona" com "modifica". Regra fixa: se o verbo do texto for "altera", "passa a vigorar", "inclui", "revoga" → é P223/P224/P044; qualquer outro verbo de referência → é P225.
|
| P226
|
regulamenta / regulamentado por
|
Item
|
Reservado para relação Decreto→Lei ou Resolução→Lei. Nunca usar entre duas leis do mesmo nível hierárquico.
|
| P227
|
revoga
|
Item (dispositivo ou norma)
|
Só quando há revogação expressa e literal no texto.
|
GRUPO 6 — Relações internas ao mesmo documento
| P-ID
|
Rótulo
|
Tipo
|
Descrição instrutiva
|
| P228
|
condiciona / restringe
|
Item (outro dispositivo do mesmo documento)
|
Ex: "§ 1º não se aplica a..." qualificando um inciso. Sem isso o agente lê os dois dispositivos como independentes e pode responder "aplica-se" ignorando a exceção.
|
| P229
|
remete internamente a
|
Item (outro dispositivo do mesmo documento)
|
Ex: art. 21 dizendo "de que trata o inciso I do caput do art. 20" — cross-reference dentro da mesma lei, sem o qual o agente teria que resolver a referência lendo texto livre (fonte de erro).
|
| P230
|
define conceito
|
Item (conceito)
|
Liga um dispositivo tipo "Art. 4º considera-se..." ao conceito que ele define formalmente (ex: "autosserviço", "dado aberto"). Permite ao agente responder "onde está definido X" sem buscar por palavra-chave no texto todo.
|
GRUPO 7 — Proveniência e verificação (a camada anti-alucinação propriamente dita)
| P-ID
|
Rótulo
|
Tipo
|
Descrição instrutiva
|
| P31
|
fonte primária
|
URL
|
Link direto e obrigatório para o texto oficial no Planalto/LexML. Toda resposta de um agente que cite P31deve poder linkar isso.
|
| P231
|
método de extração
|
Item de lista fechada
|
Valores: extração automática (parser XML LexML) / revisão humana / não verificado. Um agente deve ajustar sua confiança de resposta conforme este valor — nunca tratar dado "não verificado" com a mesma certeza que "revisão humana".
|
| P80
|
data da última verificação
|
Data
|
Quando humano ou processo automatizado confirmou que P213 ainda bate com a fonte oficial. Se muito antiga, o agente deve avisar o usuário que a informação pode estar desatualizada em vez de responder com certeza absoluta.
|
| P232
|
nível de confiança estrutural
|
String (0–1) ou enum
|
Quão certa é a extração da hierarquia/relações (P001-P052) para este item — útil quando o parser teve ambiguidade (ex: um "(NR)" span com formatação irregular). Abaixo de um limiar 2, o agente deve responder "não tenho certeza da estrutura aqui" em vez de inventar.
|
GRUPO 8 — Identificação canônica e assinatura de proveniência
| P-ID
|
Rótulo
|
Padrão (variável = número da lei)
|
Função anti-alucinação
|
| P66
|
URN
|
determinar.ia.br:slug
|
Identificador único e estável do item dentro do seu próprio namespace — permite a um agente resolver "este item específico" sem ambiguidade, mesmo que o rótulo (label) mude no futuro. slug numero da lei
|
| P67
|
CURIE
|
br:slug
|
Forma compacta/prefixada do mesmo identificador, para uso em contextos onde se precisa de uma referência curta (ex: dentro de outro triple, em nota de rodapé, em citação cruzada). slug numero dalei
|
| P68
|
URI Canônica
|
Link para o próprio item (.../wiki/Item:Q...)
|
Endereço resolvível — um agente pode desreferenciar isso e obter o item real, fechando o ciclo identificador→dado.
|
| P70
|
Token Canário
|
determinar-dki-slug
|
Este é o mais importante pra sua regra de ouro: um marcador único que, se aparecer em qualquer texto gerado por um agente/LLM sem ter vindo de uma consulta real ao grafo, denuncia que o modelo inventou a referência em vez de buscar. Serve como prova de que a resposta passou pelo grafo de fato. slug numero lei
|
| P78
|
Engenheiro de Dados (assinatura)
|
https://determinar.ia.br/wiki/Item:Q110 (URL do item de Paulo C. P. Santos)
|
Registra quem fez a curadoria/coleta daquela fonte — cadeia de responsabilidade e proveniência humana, distinta da proveniência automática (P061 do esquema anterior). Nota de correção (auditoria de tipos, 2026-08): esta propriedade foi cadastrada no Wikibase com datatype url, não Item como versões anteriores deste documento diziam. Um agente/script NUNCA deve gravar aqui uma referência wikibase-entityid (isso falha com "Bad value type wikibase-entityid, expected string") — deve gravar a URL do item Q110 como valor string. Equivalente em código: dv_string(url), não dv_item(qid).
|
A regra de ouro fica assim
Regra de ouro embutida no esquema
Cada propriedade tem uma frase fixa de "modo de falha seguro": ausência de propriedade = "não sei/não se aplica", nunca = licença para o agente completar com conhecimento geral. É essa regra, mais do que qualquer property individual, que impede alucinação — porque o esquema separa explicitamente texto legal P213, resumo de IA P214, e metadado de confiança (P231-P232), algo que nenhum modelo genérico tipo Wikidata faz.
Nota de auditoria de tipos (2026-08)
Auditoria de datatype real (via auditar_tipos.py, chamada action=wbgetentities&props=datatype contra cada P-ID deste documento) confirmou que 31 das 32 propriedades batem exatamente com o tipo aqui documentado. A única divergência encontrada foi P78, corrigida acima (Item → URL). As demais 31 propriedades (P31, P66-P70, P78, P80, P208-P232) permanecem como documentadas e não precisam de ajuste no código de ingestão.