Pular para o conteúdo principal

API e Dados

A camada pública da aplicação importa api de src/lib/api.ts. Na versão documentada, esse arquivo reexporta src/lib/demo-api.ts.

Grupos da API

GrupoMétodos
subprojectslist()
projectslist(), get(id), create(body), update(id, body), remove(id)
collectionslist(params), get(id)
documentslist(params), updateMetadata(id, body), reprocess(ids)
samplesget(id), createAnnotation(id, body), updateOverride(id, body), deleteOverride(id)
reviewsamples(params)
searchtext(body), pos(body), annotation(body), semantic(body)
analysisfrequency, ngrams, collocations, diachronic, compare, clitics, geodistribution
ingeststatus(), startLocal()
exportcorpus(format, body)

Payload principal

O JSON público do corpus segue a forma geral:

type CorpusPayload = {
summary: Record<string, unknown>
overrides?: { samples: number; documents: number }
collections: Collection[]
documents: CorpusDocument[]
samples: Sample[]
}

Coleção

CampoTipoDescrição
idstringIdentificador estável.
namestringNome público da coleção.
genrestringGênero agregado.
supportstringSuporte, como impresso ou manuscrito.
access_formstringForma de acesso ou transcrição.
century`XVIIIXIX
half_century`12`
statestringUF.
citystringCidade quando disponível.
bibliographic_refstringReferência editorial.
sample_countnumberTotal de amostras.
token_countnumberTotal de tokens.
status`pendingprocessing

Documento

CorpusDocument representa o arquivo de origem ou documento consolidado.

CampoDescrição
collection_idVínculo com coleção.
titleTítulo exibido.
filenameNome do arquivo.
source_pathCaminho de origem no payload sanitizado.
originlocal ou upload.
metadataMetadados editoriais herdados da coleção e do arquivo.
sample_countQuantidade de amostras associadas.
token_countSoma de tokens.

Amostra

Sample é a unidade exibida na leitura e na busca.

CampoDescrição
idIdentificador da amostra.
collection_idColeção de origem.
positionOrdem dentro da coleção.
raw_textTexto consultável.
source_labelRótulo da fonte.
metadataMetadados livres.
parserParser de segmentação usado no pipeline de preparação.
statusauto, partial ou review.
granularidadeNível de segmentação.
categoria, subgenero, tipoCampos editoriais para filtros.
periodoSéculo, metade e intervalo.
localUF, cidade ou outros dados geográficos.

Busca

Payload de busca:

type SearchBody = {
query?: string
filters?: {
century?: string
state?: string
genre?: string
status?: string
parser?: string
granularidade?: string
}
limit?: number
}

Retorno principal:

CampoDescrição
totalQuantidade de resultados.
resultsLista de KwicResult.

Análises

MétodoPayload principalRetorno
frequencypos, period, tipo, modeFrequencyItem[]
ngramsn, period, tipoNgramItem[]
collocationsnode, period, tipoCollocationItem[]
diachronicterms, tipoSéries por termo.
comparefilter_a, filter_bListas características de A e B.
cliticstipo, granularidadeDistribuição e tabela por documento.
geodistributionscopeGeoItem[]

Exportação

Formatos aceitos:

FormatoMIMEExtensão
jsonapplication/json;charset=utf-8.json
csvtext/csv;charset=utf-8.csv
tsvtext/tab-separated-values;charset=utf-8.tsv
conllutext/plain;charset=utf-8.conllu
teiapplication/xml;charset=utf-8.xml
analysistext/csv;charset=utf-8.csv

O nome padrão é phpb-export.{ext}.

Persistência local

ChaveOrigem
phpb-demo-projects:{tenant}:v1demo-api.ts
phpb-demo-annotations:{tenant}:v1demo-api.ts
phpb-demo-ingest:{tenant}:v1demo-api.ts
phpb-corpus-overrides:{tenant}:v1corpus-loader.ts

Sanitização de build

O script scripts/check-public-build.mjs é executado após build:hub e build:sc. Ele deve bloquear artefatos sensíveis no diretório dist.