# VOCAB-CRF / ONTO-CRF

**Vocabulário e ontologia de concessões rodoviárias federais brasileiras (ANTT)**

Vocabulário controlado e modelo de domínio extraídos por leitura sistemática de **271 documentos** (contratos de concessão, termos aditivos, Programas de Exploração da Rodovia e anexos) de **35 concessões rodoviárias federais**, com editais de **2007 a 2025**.

Estado: **versão 0.1.0** — primeira versão completa e validada. Ver [Limitações](#limitações-conhecidas) antes de usar em produção.

---

## O que há aqui

| Arquivo | Conteúdo |
|---|---|
| `vocabulario/vocab-crf.ttl` | **Tesauro SKOS** — 246 conceitos, definições, sinônimos, notas de escopo, procedência |
| `vocabulario/nao-atestados.ttl` | **Registro negativo** — 9 rótulos que circulam no setor mas *não existem* no corpus |
| `ontologia/onto-crf.ttl` | **Ontologia OWL** — 57 classes e as relações do domínio |
| `dados/concessoes.ttl` | **Dados de instância** — as 35 concessões, como prova de uso |
| `shapes/shapes-crf.ttl` | **SHACL** — validação do tesauro e de dados de terceiros |
| `exportacoes/` | `.csv`, `.json`, `.jsonld`, `.rdf`, `.nt` — para quem não usa RDF |
| `validar.sh` | Bateria de validação (executável) |

```bash
./validar.sh          # requer rdflib e pyshacl
```

## Como consumir

**Não usa RDF?** Use `exportacoes/vocabulario.csv` — uma linha por conceito, com `prefLabel`, `altLabel`, `definicao`, `broader`, `scopeNote` e `vigenteEmGeracao`.

**Usa RDF?** Carregue `vocab-crf.ttl` (o vocabulário) e, se precisar do modelo lógico, `onto-crf.ttl`. Os dois estão ligados por `skos:exactMatch`.

```sparql
# Termos do regime econômico-financeiro atestados em 10+ concessões
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX crfv: <https://w3id.org/rodoviabr/vocab/>
SELECT ?rotulo ?def WHERE {
  ?c skos:broader crfv:faceta-regime-economico-financeiro ;
     skos:prefLabel ?rotulo ; skos:definition ?def ;
     crfv:atestadoEmConcessoes ?n .
  FILTER (?n >= 10)
}
```

---

## Arquitetura: por que dois artefatos

A separação entre **tesauro** (SKOS) e **ontologia** (OWL) é deliberada e segue a ISO 25964-1:

- O **tesauro** responde *"que termos existem, o que significam, quais são sinônimos"* — serve a indexação, busca e alinhamento terminológico.
- A **ontologia** responde *"que entidades existem e como se relacionam logicamente"* — serve a inferência e validação.

Misturar os dois produz um artefato que não faz bem nenhuma das duas coisas. Cada classe OWL aponta para seu conceito SKOS via `skos:exactMatch`.

**Vocabulários reutilizados** (não reinventamos o que já existe): SKOS, Dublin Core Terms, PROV-O (procedência), ORG (organizações), GeoSPARQL (feições espaciais), OWL-Time (fases), VANN, VoaF, SHACL.

### Facetas

Análise facetada em 8 eixos, mais 4 conceitos de topo estruturais:

`Instrumentos e atos` · `Atores e papéis` · `Objeto e ativos` · `Obras e serviços` · `Regime econômico-financeiro` · `Riscos e garantias` · `Desempenho e fiscalização` · `Ciclo de vida`
— mais `Geração contratual`, `Risco`, `Frente de serviço`, `Fase da concessão`.

### Política de URI

Namespace persistente sob `w3id.org`. **Requer registro no repositório w3id.org antes de uso em produção** — até lá, trate como URI de trabalho. Classes em `UpperCamelCase`, propriedades em `lowerCamelCase`, conceitos SKOS em slug minúsculo. Os URI são estáveis por contrato: o rótulo pode mudar (`skos:prefLabel`), o identificador não.

---

## ⚠️ A armadilha central: rótulos estáveis, referentes móveis

**Este é o achado mais importante do trabalho, e ignorá-lo corrompe qualquer integração de dados.**

Os contratos evoluíram em **cinco coortes**. Vários termos **mantiveram o rótulo e trocaram de significado**.

As gerações não foram estipuladas por data e sim **derivadas da evidência terminológica** — quais Fatores e quais mecanismos cada contrato originário define:

| Geração | Editais | Concessões | Fatores | Mecanismo de Contas | Marcador distintivo |
|---|---|---|---|---|---|
| **G1** | 2007–2011 | 7 | nenhum | não | sem Frentes; objeto = *Lote Rodoviário*; tarifa por praça (TBPI) |
| **G2** | 2013–2015 | 5 | **C, Q, X** — Fator D bidirecional | não | únicos com Fator Q e Fator X |
| **G3** | 2018–2020 | 3 | **A, C, D, E** | **não** | **transição**: cinde D em D/A/E, mas sem contas/Verificador/DUF |
| **G4** | 2021–2023 | 7 | A, C, D, E — **sobre a tarifa** | sim | Acordo Tripartite; Verificador (2022+); DUF/DBT |
| **G5** | 2024–2025 | 9 | A, C, D, E — **sobre a alíquota de RV** | sim | IIA, ESG, RCR, **Acordo Direto** |
| **G-R** | reestruturados | 5 | — | — | aplicam o vocabulário G5 retroativamente a concessões G1/G2 |

Ou seja: **"Fator D" em um contrato de 2024 e em um de 2022 são conceitos diferentes com o mesmo nome.** Em G5 ele não toca a tarifa — modula a alíquota de Recursos Vinculados sobre a Receita Bruta, transbordando para a tarifa só no que exceder 5%. Somar, comparar ou agregar sem distinguir a geração produz números sem sentido.

O vocabulário registra isso em `skos:scopeNote` (43 conceitos têm advertências) e em `crfv:vigenteEmGeracao` (181 conceitos datados). **Leia a nota de escopo antes de integrar.**

> **Como a G3 foi descoberta.** A leitura profunda afirmou que o Fator X era exclusivo da G2. A colheita automática mostrou que o contrato originário da **Ecovias do Cerrado (edital 01/2019) define o Fator X** — convivendo com os Fatores A/D/E, e sem nenhum traço do Mecanismo de Contas. A coorte de 2019 é genuinamente intermediária, e a extinção do Fator Q e do Fator X **não foi simultânea**. Os dois métodos se corrigiram mutuamente; nenhum dos dois sozinho teria acertado.

Outras variações de rótulo mapeadas como `skos:altLabel`:

| Conceito | G1/G2 | G3/G4 | G5 / G-R |
|---|---|---|---|
| Interface com financiadores | — | Acordo Tripartite (G4) | **Acordo Direto** (G5) |
| *Dispute board* | — | Comitê de Resolução de Conflitos (G4) | **Comitê de Prevenção e Solução de Disputas** (G5) |
| Frente estrutural | — | Frente de Recuperação e Manutenção | **Frente de Serviços Estruturais** |
| Frente de obras novas | — | Frente de Ampliação de Capacidade e Melhorias | **Frente de Obras** |
| Gatilho de capacidade | VDMA-Equivalente móvel | **Gatilho Volumétrico** | Gatilho Volumétrico |
| Objeto concedido | Lote Rodoviário | **Sistema Rodoviário** | Sistema Rodoviário |

---

## Eixos conceituais que a modelagem preserva

Quatro distinções que os contratos fazem e que sistemas costumam colapsar por engano:

1. **Sanção ⊥ Reequilíbrio.** A multa pune; o Desconto de Reequilíbrio recompõe. Incidem **cumulativamente**. Caso-teste: atraso em licença ambiental sem culpa da Concessionária → *não há multa, mas há desconto*.
2. **Verificador ⊥ ANTT.** O Verificador produz avaliação; a ANTT decide. A aceitação de suas entregas não vincula a Agência.
3. **Faixa de domínio separa Desapropriação de Desocupação.** Fora dela → desapropriação (aquisição de titularidade). Dentro → desocupação (remoção de irregular).
4. **Advento do termo ⊥ Extinção antecipada.** Sem indenização vs. com indenização.

---

## Metodologia

1. **Constituição do corpus** — 1.271 arquivos na pasta; **334 contratos/aditivos/PERs triados**, dos quais **271 têm texto extraível** (`pdftotext -layout`) e 63 são digitalizações sem camada de texto. Total processado: ~18.900 páginas, 4,8 milhões de palavras.
2. **Colheita automática** — as cláusulas de definições dos contratos seguem o padrão `(romano) Termo: definição`. Um parser extraiu 247 termos brutos, exigindo corroboração em ≥2 concessões → **167 termos consolidados**.
3. **Escolha da definição canônica** — preferência por contrato originário mais recente; pseudo-definições por remissão ("significado definido no preâmbulo") descartadas.
4. **Leitura profunda** — quatro análises independentes sobre PER/frentes, riscos, regime econômico e desempenho/governança, cada uma exigindo procedência cláusula-a-cláusula. Produziram os conceitos que *não* estão nos glossários (frentes, matriz de riscos, elementos de infraestrutura) e a detecção da mudança de referente.
5. **Curadoria facetada** e geração dos artefatos.
6. **Validação** — sintaxe, integridade SKOS, integridade cruzada e SHACL.

### Corroboração independente

A divisória **G4×G5** foi encontrada por duas análises independentes, a partir de evidências diferentes: uma pela troca `Acordo Tripartite`→`Acordo Direto` e pelo aparecimento do IIA; outra pela mudança de referente dos Fatores. A convergência é o que dá confiança ao corte. Já a **G3** emergiu do confronto entre a leitura profunda e a colheita automática, que se contradisseram (ver acima).

### Procedência

Todo conceito extraído carrega `dcterms:source` com o **arquivo de origem, a concessionária, o tipo de instrumento e o ano do edital**. `crfv:atestadoEmConcessoes` informa em quantas concessões distintas o termo é definido — uma medida de canonicidade. `crfv:origemDoConceito` distingue três estatutos epistêmicos:

- `corpus` — extraído de uma definição contratual;
- `corpus-sem-definicao` — termo usado no corpus **sem definição própria** (ex.: *faixa de domínio*, herdado da legislação); a definição foi construída a partir do uso;
- `analista` — **superordenado criado nesta ontologia**, ausente do corpus (apenas *Instrumento contratual* e *Fator paramétrico*).

### O que foi recusado

`vocabulario/nao-atestados.ttl` registra rótulos que circulam no setor mas **não ocorrem no corpus**, para que não sejam reintroduzidos por engano:

**step-in** (o rótulo contratual é *Assunção do Controle ou da Administração Temporária pelos Financiadores*) · **Termo de Notificação** (zero ocorrências) · **Bens Não Reversíveis** (existe só por complemento lógico) · **TIR** (o reequilíbrio ancora-se em VPL nulo do Fluxo de Caixa Marginal) · **Plano de Negócios** · **outorga fixa/variável** · **Taxa de Fiscalização** (o encargo real é a *Verba de Fiscalização*) · **ICMBio** · **Área da Concessão** (não é termo autônomo: é o *definiens* de Sistema Rodoviário).

---

## Limitações conhecidas

Leia esta seção antes de confiar nos dados.

1. **Cobertura enviesada para contratos recentes.** Dos 12 contratos anteriores a 2015, apenas 3 têm glossário colhido; os demais são digitalizações sem camada de texto. **A geração G1 (2007) está sub-representada** — sua caracterização repousa em fragmentos com OCR degradado. Os 63 PDFs sem texto exigiriam OCR para serem incorporados.

   O volume de glossário nos contratos originários legíveis sugere adensamento terminológico ao longo do tempo — **G2: 51–53 termos definidos (3 contratos); G5: 123–144 (6 contratos)** — mas a coorte G4 é **heterogênea (18–150)** e não sustenta uma progressão linear. O extremo inferior (EPR Via Mineira, 18) é provável perda de extração, não contrato enxuto. Trate como indício, não como série.

2. **`crfv:atestadoEmConcessoes` mede o corpus, não a história.** Um termo "ausente" na G1 pode estar presente num contrato de 2007 que não conseguimos ler. **Trate como piso observacional, jamais como afirmação histórica.**

3. **`crf:rodoviaReferenciada` registra menção textual, não delimitação oficial.** Uma rodovia pode ser citada por contexto (entroncamento, limite) sem integrar o Sistema Rodoviário concedido. Para a delimitação autoritativa, consulte o PER. As 79 rodovias listadas incluem menções incidentais.

4. **Perdas de extração.** Páginas inteiras se perderam na conversão de alguns PDFs — notadamente o capítulo de Penalidades das minutas G4 e várias tabelas de percentuais. Fórmulas e tabelas estão sistematicamente sub-representadas. Essas lacunas são **de extração, não normativas**: o texto existe no PDF.

5. **Sem alinhamentos externos.** Não há `skos:exactMatch` para Wikidata, EuroVoc ou AGROVOC — mapeamentos exigem verificação individual e não foram feitos. Preferimos ausência a mapeamento inventado.

6. **Namespace não registrado.** Os URI `w3id.org` precisam ser registrados antes de resolver.

7. **`via-araucaria` (edital 01/2023) é híbrido.** Tem Verificador, Fatores A/D/E e Banco Depositário, mas não tem IIA, ESG, RCR nem Acordo Direto. Está classificado em G4 (2021–2023), o que é correto, mas em análises finas convém tratá-lo à parte.

8. **Uma inconsistência do próprio contrato-padrão da ANTT** foi detectada e não corrigida (não nos cabe): o Anexo 14 do EPR Litoral Pioneiro remete às "cláusulas 21.1 e 21.2" quando a alocação de riscos está em 22.1/22.2.

---

## Licença e fonte

Conteúdo derivado de documentos públicos da **Agência Nacional de Transportes Terrestres (ANTT)**:
<https://www.gov.br/antt/pt-br/assuntos/rodovias/concessionarias/lista-de-concessoes>

Este vocabulário: **CC BY 4.0**. Não é documento oficial da ANTT nem substitui a leitura dos contratos — em caso de divergência, **prevalece o texto contratual publicado**.
