Este repositório contém a Classificação Decimal de Direito (CDDir), um sistema de classificação bibliográfica para a área jurídica, em um formato JSON estruturado e de fácil utilização.
A Classificação Decimal de Direito (CDDir) é um padrão amplamente utilizado em bibliotecas jurídicas no Brasil para organizar e categorizar seu acervo. Este projeto tem como objetivo principal tornar essa classificação acessível e utilizável por sistemas de software, pesquisadores e desenvolvedores, fornecendo uma versão completa em formato JSON (classificacao.json
).
A digitalização da CDDir facilita a criação de aplicações como:
- Sistemas de busca e organização para bibliotecas digitais.
- Ferramentas de indexação de documentos jurídicos.
- APIs para consulta da estrutura do Direito.
- Análises acadêmicas sobre a organização do conhecimento jurídico.
O coração deste projeto é o arquivo classificacao.json
. Ele contém a estrutura hierárquica da CDDir, permitindo que você navegue pelas categorias e subcategorias do Direito.
O arquivo é um array de objetos, onde cada objeto representa uma classe (ou categoria) da CDDir e pode conter uma lista de filhos
(subclasses).
Exemplo de estrutura de um nó:
{
"codigo": "341",
"descricao": "DIREITO INTERNACIONAL PÚBLICO",
"filhos": [
{
"codigo": "341.1",
"descricao": "Personalidade internacional. Sujeitos do Direito Internacional",
"filhos": []
}
// ... outras subclasses
]
}
codigo
: O código numérico da classe na CDDir.descricao
: O nome por extenso da classe.filhos
: Um array contendo os objetos das subclasses diretas.
Você pode usar este arquivo JSON em qualquer linguagem de programação que suporte a leitura de JSON. Abaixo estão alguns exemplos básicos.
import json
# Carrega o arquivo JSON
with open('classificacao.json', 'r', encoding='utf-8') as f:
cdd = json.load(f)
# Função para buscar uma descrição pelo código
def buscar_por_codigo(codigo, arvore):
for item in arvore:
if item['codigo'] == codigo:
return item['descricao']
if item['filhos']:
resultado = buscar_por_codigo(codigo, item['filhos'])
if resultado:
return resultado
return "Código não encontrado"
# Exemplo de uso
codigo_procurado = "342.15"
print(f"A descrição do código {codigo_procurado} é: {buscar_por_codigo(codigo_procurado, cdd)}")
const fs = require('fs');
// Lê o arquivo JSON
const rawData = fs.readFileSync('classificacao.json', 'utf-8');
const cdd = JSON.parse(rawData);
// Função para buscar um item pelo código
function buscarPorCodigo(codigo, arvore) {
for (const item of arvore) {
if (item.codigo === codigo) {
return item;
}
if (item.filhos && item.filhos.length > 0) {
const resultado = buscarPorCodigo(codigo, item.filhos);
if (resultado) {
return resultado;
}
}
}
return null;
}
// Exemplo de uso
const codigoProcurado = '347.6';
const itemEncontrado = buscarPorCodigo(codigoProcurado, cdd);
if (itemEncontrado) {
console.log(`Item encontrado:`, itemEncontrado);
} else {
console.log(`Código ${codigoProcurado} não encontrado.`);
}
Contribuições são bem-vindas! Se você encontrar algum erro na classificação ou tiver sugestões para melhorar a estrutura do arquivo, sinta-se à vontade para:
- Fazer um Fork deste repositório.
- Criar uma nova Branch (
git checkout -b feature/sua-melhoria
). - Fazer o Commit de suas alterações (
git commit -m 'Adiciona/corrige X'
). - Fazer o Push para a Branch (
git push origin feature/sua-melhoria
). - Abrir um Pull Request.
Este projeto está distribuído sob a licença MIT. Veja o arquivo LICENSE
para mais detalhes.