xnths.

Subprojeto · No ar · Parte de USP Aberta

Ágora: o calendário de eventos de toda a USP

Um calendário de palestras, simpósios, concertos e exposições da Universidade de São Paulo, montado a partir de divulgações e enriquecido com fontes abertas.

Engenharia da Xnths como parte do USP Aberta. Antes chamado Orfeu.

Em resumo

Papel
Engenheiro único
Links
Tecnologias
Go · Apache Airflow · PostgreSQL · REST · iCalendar
41
provedores abertos de enriquecimento
83
eventos recuperados num replay de 233 linhas da planilha
após corrigir a etapa de carga; 49 linhas em quarentena

1Problema

Em uma universidade deste tamanho, os eventos são divulgados em todo lugar e reunidos em nenhum. A prova de conceito partiu de e-mails de divulgação e de uma planilha.

2Pipeline

  1. 01Extrairplanilha publicada · adaptadores
  2. 02Normalizardatas · unidades
  3. 03Validarquarentena
  4. 04Deduplicarblocagem + similaridade
  5. 05Carregaridempotente
Fig. 1Pipeline de eventos. Linhas que falham na validação vão para quarentena, em vez de serem descartadas ou carregadas.

Deduplicação. Duplicatas são unidas por blocagem em título e data, comparando depois o horário de início (dentro de 30 minutos) e a similaridade do local (no mínimo 0,8), no espírito de Fellegi e Sunter[1].

  • Os adaptadores de fonte seguem o padrão adapter: uma fonte nova é um arquivo novo, não uma mudança no núcleo.
  • O enriquecimento cruza identificadores com union-find sobre equivalências (no máximo três rodadas) e guarda cache por sete dias, servindo dados defasados quando a origem falha[2].

Referências

  1. [1]Fellegi, I. P., & Sunter, A. B.. A theory for record linkage. Journal of the American Statistical Association 64(328) (1969).
  2. [2]Nottingham, M.. HTTP Cache-Control Extensions for Stale Content (RFC 5861) (2010).