Archivos delta
En lugar de descargar una colección completa después de cada compilación, puede aplicar solo lo que cambió. Cada compilación publica los registros agregados, modificados y eliminados desde la compilación anterior.
Los deltas cubren las entidades FollowTheMoney de entities.ftm.json (los registros incluidos en la lista, no sus entidades Sanction). No hay deltas para los archivos CSV, de nombres ni de Senzing; reconstruya esos archivos a partir de sus entidades actualizadas o descárguelos de nuevo.
¿Qué es un delta?
En cada compilación se toma una huella de cada registro: el SHA-1 de su línea JSON completa. Al compararla con la huella de la compilación anterior se obtienen tres tipos de cambio:
| Operación | Significado | Qué hacer |
|---|---|---|
ADD | El registro es nuevo en esta compilación | Inserte la entidad |
MOD | Algo cambió en el registro | Reemplace su copia por completo con esta entidad |
DEL | El registro ya no está en la colección | Elimine la entidad con este ID |
Un cambio no siempre es un cambio en la fuente. Un registro también se marca como MOD cuando nuestro propio procesamiento lo modifica, por ejemplo por la corrección de un tipo de entidad, una nueva fusión (canonical_id) o una nueva fecha de confirmación (last_seen). Un registro puede salir de una colección porque su editor lo retiró o porque su registro ya no está autorizado para su redistribución.
Cómo usar los deltas
- Descargue la colección completa una vez y anote su
versiondesdeindex.json. - Más adelante, lea el
deltas.jsonde la colección, que enumera las compilaciones recientes de la más antigua a la más reciente. - Tome todas las compilaciones posteriores a su versión, en orden, y aplique el archivo delta de cada una. Las compilaciones sin cambios tienen
"url": null; omítalas. - Guarde la última versión que aplicó y repita el proceso.
Si su versión es anterior a la primera entrada de deltas.json (conservamos las últimas 30 compilaciones), la cadena se ha interrumpido: descargue de nuevo la colección completa.
/downloads/collections/<collection>/index.json version of the current build
/downloads/collections/<collection>/deltas.json recent builds, oldest first
/downloads/collections/<collection>/delta.json changes in the current build only
Una entrada en deltas.json:
{
"scope": "sanctions",
"keep": 30,
"versions": [
{
"version": "20261004012811-k2p",
"previous_version": "20261003174737-un0",
"generated_at": "2026-10-04T01:28:11.000Z",
"added": 12,
"modified": 40,
"removed": 3,
"url": "/downloads/collections/sanctions/deltas/20261004012811-k2p.json",
"bytes": 48213,
"sha256": "…"
}
],
"oldest_version": "20261004012811-k2p",
"latest_version": "20261004012811-k2p"
}
Los valores anteriores muestran el formato; no son cifras reales. La lista actualizada está a continuación.
Compilaciones recientes
| Versión | Compilada | Agregado | Modificados | Eliminados | Archivo delta |
|---|---|---|---|---|---|
| Cargando… | |||||
Mientras el registro no se actualiza, las compilaciones no detectan cambios y no publican ningún archivo delta. Consulte actualización de datos para saber cuándo se procesaron los datos por última vez.
Cómo entender los archivos delta
Un archivo delta es JSON lines: una operación por línea, cada una con op y entity. ADD y MOD incluyen la entidad completa, exactamente como aparece en entities.ftm.json; DEL incluye solo el ID.
{"op":"ADD","entity":{"id":"crown-380054154","caption":"PELIKAN","schema":"Vessel","properties":{…},"datasets":["paris_mou_banned"],…}}
{"op":"MOD","entity":{"id":"crown-379700342","caption":"CHIRURGUL","schema":"Person","properties":{…},…}}
{"op":"DEL","entity":{"id":"crown-378468435"}}
import json
def apply_delta(store: dict, path: str):
"""store maps record id -> entity"""
with open(path, encoding="utf-8") as f:
for line in f:
change = json.loads(line)
entity = change["entity"]
if change["op"] == "DEL":
store.pop(entity["id"], None)
else: # ADD or MOD: replace in full
store[entity["id"]] = entity
Fusiones y cambios de ID
El ID de un registro (crown-<number>) corresponde a una fila de un registro de origen; fusionar registros no lo cambia. Una fusión aparece como operaciones MOD que agregan o modifican canonical_id en cada registro involucrado, y una división lo elimina o lo modifica. Si agrupa los registros por canonical_id, vuelva a agrupar los registros mencionados en cada MOD. Si un editor vuelve a emitir una inclusión con una nueva referencia, espere un DEL para el registro anterior y un ADD para el nuevo. Consulte identificadores y deduplicación.
Última actualización 2026-10-03