Documentación · Modelo de datos

Entidades planas y anidadas

Los mismos datos se presentan en dos formatos. En el archivo plano, cada entidad es una línea independiente y hace referencia a las demás mediante su ID. En el archivo anidado, cada parte incluida en una lista lleva dentro sus inclusiones, de modo que una sola línea cuenta toda la historia.

Las entidades planas están en entities.ftm.json. Las entidades anidadas están en targets.nested.json. Ambas se publican para cada colección; consulte Uso de los datos masivos. El punto de acceso de registro de la API (/api/entity) devuelve por defecto un registro en su propio formato, con otros registros de la misma parte listados en related. Agregue format=ftm para obtener el mismo registro como FollowTheMoney, plano o anidado; consulte Desde la API.

El siguiente ejemplo es el buque PELIKAN (IMO 6922169), con prohibición de acceso a puertos en la región del Memorando de Entendimiento de París (registro crown-380054154).

El formato plano

Dos líneas: el buque y luego su inclusión en la lista, que apunta de vuelta al buque mediante entity.

{
  "id": "crown-380054154",
  "caption": "PELIKAN",
  "schema": "Vessel",
  "properties": {
    "name": [
      "PELIKAN"
    ],
    "topics": [
      "debarment"
    ],
    "alias": [
      "BALTIC ATLANT SHPG-LITHUANIA"
    ],
    "imoNumber": [
      "IMO6922169"
    ],
    "notes": [
      "IMO 6922169 · Flag: Comoros · From: 09/12/2009 · ISM: BALTIC ATLANT SHPG-LITHUANIA"
    ]
  },
  "referents": [],
  "datasets": [
    "paris_mou_banned"
  ],
  "first_seen": "2026-09-24T11:38:49.104591+00:00",
  "last_seen": "2026-09-24T11:38:49.104591+00:00",
  "last_change": "2026-09-24T11:38:49.104591+00:00",
  "target": true
}
{
  "id": "crown-380054154-sanction",
  "schema": "Sanction",
  "caption": "Banned from Paris MoU ports — Multiple detentions",
  "properties": {
    "entity": [
      "crown-380054154"
    ],
    "authority": [
      "Paris MoU Banned"
    ],
    "program": [
      "Banned from Paris MoU ports — Multiple detentions"
    ]
  },
  "datasets": [
    "paris_mou_banned"
  ],
  "first_seen": "2026-09-24T11:38:49.104591+00:00",
  "last_seen": "2026-09-24T11:38:49.104591+00:00",
  "last_change": "2026-09-24T11:38:49.104591+00:00"
}

Para reconstruir el panorama completo a partir de archivos planos, mantenga las entidades en una tabla de búsqueda por ID y siga las referencias. Es el formato más flexible para cargar en una base de datos o en un grafo.

Más información: Estructura de las entidadesCampos, marcas de tiempo y referencias explicados

El formato anidado

Una línea por cada parte incluida en la lista. Sus inclusiones aparecen como una propiedad sanctions que contiene las entidades Sanction completas:

{
  "id": "crown-380054154",
  "caption": "PELIKAN",
  "schema": "Vessel",
  "properties": {
    "name": [
      "PELIKAN"
    ],
    "topics": [
      "debarment"
    ],
    "alias": [
      "BALTIC ATLANT SHPG-LITHUANIA"
    ],
    "imoNumber": [
      "IMO6922169"
    ],
    "notes": [
      "IMO 6922169 · Flag: Comoros · From: 09/12/2009 · ISM: BALTIC ATLANT SHPG-LITHUANIA"
    ],
    "sanctions": [
      {
        "id": "crown-380054154-sanction",
        "schema": "Sanction",
        "caption": "Banned from Paris MoU ports — Multiple detentions",
        "properties": {
          "entity": [
            "crown-380054154"
          ],
          "authority": [
            "Paris MoU Banned"
          ],
          "program": [
            "Banned from Paris MoU ports — Multiple detentions"
          ]
        },
        "datasets": [
          "paris_mou_banned"
        ],
        "first_seen": "2026-09-24T11:38:49.104591+00:00",
        "last_seen": "2026-09-24T11:38:49.104591+00:00",
        "last_change": "2026-09-24T11:38:49.104591+00:00"
      }
    ]
  },
  "referents": [],
  "datasets": [
    "paris_mou_banned"
  ],
  "first_seen": "2026-09-24T11:38:49.104591+00:00",
  "last_seen": "2026-09-24T11:38:49.104591+00:00",
  "last_change": "2026-09-24T11:38:49.104591+00:00",
  "target": true
}

Las referencias de la parte no se expanden

En FollowTheMoney, una parte puede apuntar a otras entidades, como una dirección o un documento de identidad, y un archivo anidado incluiría esas entidades en línea. Nuestras partes aún no apuntan a nada, porque las direcciones y los documentos no están modelados (elementos 9 y 22 del backlog de datos), por lo que no hay nada que expandir.

Las inclusiones aparecen como una propiedad auxiliar

sanctions no es una propiedad que se encuentre en el archivo plano. Es la inversa de Sanction:entity: bajo ella se agrupan todas las entidades Sanction que apuntan a la parte. Hoy cada registro tiene exactamente una inclusión, por lo que la lista contiene una entidad. Cuando en el futuro se fusionen registros de la misma parte entre distintos registros oficiales, la lista contendrá una inclusión por cada registro oficial.

Entidades de relación

Los vínculos de propiedad, familiares y de asociados aún no se publican (elemento 23 del backlog de datos), por lo que el archivo anidado no tiene entidades de relación.

Profundidad de anidamiento

Un nivel: la parte y sus inclusiones. Las entidades Sanction que contiene no se anidan más; su propiedad entity sigue conteniendo el ID de la parte.

Desde la API

El punto de acceso de registro devuelve un registro como FollowTheMoney cuando se agrega format=ftm. El parámetro nested determina el formato:

SolicitudFormato
/api/entity?id=<id>&format=ftmPlano: la parte por sí sola, con el mismo formato que una línea de entities.ftm.json. Es el valor predeterminado cuando se omite nested.
/api/entity?id=<id>&format=ftm&nested=trueAnidado: la parte con su inclusión en línea bajo properties.sanctions, con el mismo formato que una línea de targets.nested.json.

<id> es un ID de registro, tal como se devuelve en el campo id de los resultados de búsqueda y de coincidencias. El ID de FollowTheMoney de la respuesta lleva el prefijo crown- utilizado en los archivos de datos masivos.

curl "https://api.crownintelligence.net/api/entity?id=380818956&format=ftm&nested=true"

Los ID de registro pueden cambiar cuando se vuelve a cargar un registro oficial. Si el ejemplo no devuelve ningún registro, tome un ID nuevo de /api/search?q=. Sin format=ftm, el punto de acceso devuelve su propio formato de registro, descrito en la guía de la API de entidades.

Última actualización: 2026-10-04