# AuthorIndexEntry Collection

- [1. AuthorIndexEntry Collection > AuthorIndexEntry](#items)
  - [1.1. Property `AuthorIndexEntry Collection > AuthorIndexEntry > id`](#items_id)
  - [1.2. Property `AuthorIndexEntry Collection > AuthorIndexEntry > name`](#items_name)
  - [1.3. Property `AuthorIndexEntry Collection > AuthorIndexEntry > display_name`](#items_display_name)
  - [1.4. Property `AuthorIndexEntry Collection > AuthorIndexEntry > affiliation`](#items_affiliation)
  - [1.5. Property `AuthorIndexEntry Collection > AuthorIndexEntry > affiliation_source`](#items_affiliation_source)
  - [1.6. Property `AuthorIndexEntry Collection > AuthorIndexEntry > affiliation_updated`](#items_affiliation_updated)
  - [1.7. Property `AuthorIndexEntry Collection > AuthorIndexEntry > affiliation_history`](#items_affiliation_history)
    - [1.7.1. AuthorIndexEntry Collection > AuthorIndexEntry > affiliation_history > AffiliationHistoryEntry](#items_affiliation_history_items)
      - [1.7.1.1. Property `AuthorIndexEntry Collection > AuthorIndexEntry > affiliation_history > AffiliationHistoryEntry > affiliation`](#items_affiliation_history_items_affiliation)
      - [1.7.1.2. Property `AuthorIndexEntry Collection > AuthorIndexEntry > affiliation_history > AffiliationHistoryEntry > source`](#items_affiliation_history_items_source)
      - [1.7.1.3. Property `AuthorIndexEntry Collection > AuthorIndexEntry > affiliation_history > AffiliationHistoryEntry > date`](#items_affiliation_history_items_date)
  - [1.8. Property `AuthorIndexEntry Collection > AuthorIndexEntry > external_ids`](#items_external_ids)
    - [1.8.1. Property `AuthorIndexEntry Collection > AuthorIndexEntry > external_ids > dblp_pid`](#items_external_ids_dblp_pid)
      - [1.8.1.1. Property `AuthorIndexEntry Collection > AuthorIndexEntry > external_ids > dblp_pid > anyOf > item 0`](#items_external_ids_dblp_pid_anyOf_i0)
      - [1.8.1.2. Property `AuthorIndexEntry Collection > AuthorIndexEntry > external_ids > dblp_pid > anyOf > item 1`](#items_external_ids_dblp_pid_anyOf_i1)
    - [1.8.2. Property `AuthorIndexEntry Collection > AuthorIndexEntry > external_ids > orcid`](#items_external_ids_orcid)
      - [1.8.2.1. Property `AuthorIndexEntry Collection > AuthorIndexEntry > external_ids > orcid > anyOf > item 0`](#items_external_ids_orcid_anyOf_i0)
      - [1.8.2.2. Property `AuthorIndexEntry Collection > AuthorIndexEntry > external_ids > orcid > anyOf > item 1`](#items_external_ids_orcid_anyOf_i1)
    - [1.8.3. Property `AuthorIndexEntry Collection > AuthorIndexEntry > external_ids > openalex_id`](#items_external_ids_openalex_id)
      - [1.8.3.1. Property `AuthorIndexEntry Collection > AuthorIndexEntry > external_ids > openalex_id > anyOf > item 0`](#items_external_ids_openalex_id_anyOf_i0)
      - [1.8.3.2. Property `AuthorIndexEntry Collection > AuthorIndexEntry > external_ids > openalex_id > anyOf > item 1`](#items_external_ids_openalex_id_anyOf_i1)
  - [1.9. Property `AuthorIndexEntry Collection > AuthorIndexEntry > category`](#items_category)

**Title:** AuthorIndexEntry Collection

|              |         |
| ------------ | ------- |
| **Type**     | `array` |
| **Required** | No      |

**Description:** Canonical record for a single author.

Single source of truth for author metadata. Generated by
``generate_author_index.py``, updated by enrichment pipeline.

|                      | Array restrictions |
| -------------------- | ------------------ |
| **Min items**        | N/A                |
| **Max items**        | N/A                |
| **Items unicity**    | False              |
| **Additional items** | False              |
| **Tuple validation** | See below          |

| Each item of this array must be | Description                               |
| ------------------------------- | ----------------------------------------- |
| [AuthorIndexEntry](#items)      | Canonical record for a single author. ... |

## <a name="items"></a>1. AuthorIndexEntry Collection > AuthorIndexEntry

**Title:** AuthorIndexEntry

|                           |                          |
| ------------------------- | ------------------------ |
| **Type**                  | `object`                 |
| **Required**              | No                       |
| **Additional properties** | Not allowed              |
| **Defined in**            | #/$defs/AuthorIndexEntry |

**Description:** Canonical record for a single author.

Single source of truth for author metadata. Generated by
``generate_author_index.py``, updated by enrichment pipeline.

| Property                                             | Pattern | Type             | Deprecated | Definition             | Title/Description   |
| ---------------------------------------------------- | ------- | ---------------- | ---------- | ---------------------- | ------------------- |
| + [id](#items_id )                                   | No      | integer          | No         | -                      | Id                  |
| + [name](#items_name )                               | No      | string           | No         | -                      | Name                |
| + [display_name](#items_display_name )               | No      | string           | No         | -                      | Display Name        |
| + [affiliation](#items_affiliation )                 | No      | string           | No         | -                      | Affiliation         |
| - [affiliation_source](#items_affiliation_source )   | No      | enum (of string) | No         | -                      | Affiliation Source  |
| - [affiliation_updated](#items_affiliation_updated ) | No      | string           | No         | -                      | Affiliation Updated |
| - [affiliation_history](#items_affiliation_history ) | No      | array            | No         | -                      | Affiliation History |
| - [external_ids](#items_external_ids )               | No      | object           | No         | In #/$defs/ExternalIds | ExternalIds         |
| - [category](#items_category )                       | No      | enum (of string) | No         | -                      | Category            |

### <a name="items_id"></a>1.1. Property `AuthorIndexEntry Collection > AuthorIndexEntry > id`

**Title:** Id

|              |           |
| ------------ | --------- |
| **Type**     | `integer` |
| **Required** | Yes       |

**Description:** Stable integer identifier. Assigned once, never reused or changed.

| Restrictions |        |
| ------------ | ------ |
| **Minimum**  | &ge; 1 |

### <a name="items_name"></a>1.2. Property `AuthorIndexEntry Collection > AuthorIndexEntry > name`

**Title:** Name

|              |          |
| ------------ | -------- |
| **Type**     | `string` |
| **Required** | Yes      |

**Description:** Full name in DBLP format. Includes disambiguation suffix when present (e.g., 'Haibo Chen 0001'). Unique across all authors.

### <a name="items_display_name"></a>1.3. Property `AuthorIndexEntry Collection > AuthorIndexEntry > display_name`

**Title:** Display Name

|              |          |
| ------------ | -------- |
| **Type**     | `string` |
| **Required** | Yes      |

**Description:** Human-readable name without DBLP disambiguation suffix.

### <a name="items_affiliation"></a>1.4. Property `AuthorIndexEntry Collection > AuthorIndexEntry > affiliation`

**Title:** Affiliation

|              |          |
| ------------ | -------- |
| **Type**     | `string` |
| **Required** | Yes      |

**Description:** Normalized institution affiliation. Empty string if unknown.

### <a name="items_affiliation_source"></a>1.5. Property `AuthorIndexEntry Collection > AuthorIndexEntry > affiliation_source`

**Title:** Affiliation Source

|              |                    |
| ------------ | ------------------ |
| **Type**     | `enum (of string)` |
| **Required** | No                 |
| **Default**  | `""`               |

**Description:** Which enrichment layer last set the affiliation.

Must be one of:
* "csrankings"
* "dblp"
* "openalex"
* "crossref"
* "manual"
* ""

### <a name="items_affiliation_updated"></a>1.6. Property `AuthorIndexEntry Collection > AuthorIndexEntry > affiliation_updated`

**Title:** Affiliation Updated

|              |          |
| ------------ | -------- |
| **Type**     | `string` |
| **Required** | No       |
| **Default**  | `""`     |

**Description:** ISO 8601 date when affiliation was last updated.

| Restrictions                      |                                                                                                                     |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| **Must match regular expression** | ```^(\d{4}-\d{2}-\d{2})?$``` [Test](https://regex101.com/?regex=%5E%28%5Cd%7B4%7D-%5Cd%7B2%7D-%5Cd%7B2%7D%29%3F%24) |

### <a name="items_affiliation_history"></a>1.7. Property `AuthorIndexEntry Collection > AuthorIndexEntry > affiliation_history`

**Title:** Affiliation History

|              |         |
| ------------ | ------- |
| **Type**     | `array` |
| **Required** | No      |

**Description:** Previous affiliations with dates, tracking institution moves.

|                      | Array restrictions |
| -------------------- | ------------------ |
| **Min items**        | N/A                |
| **Max items**        | N/A                |
| **Items unicity**    | False              |
| **Additional items** | False              |
| **Tuple validation** | See below          |

| Each item of this array must be                             | Description                                                   |
| ----------------------------------------------------------- | ------------------------------------------------------------- |
| [AffiliationHistoryEntry](#items_affiliation_history_items) | A previous affiliation with date, tracking institution moves. |

#### <a name="items_affiliation_history_items"></a>1.7.1. AuthorIndexEntry Collection > AuthorIndexEntry > affiliation_history > AffiliationHistoryEntry

**Title:** AffiliationHistoryEntry

|                           |                                 |
| ------------------------- | ------------------------------- |
| **Type**                  | `object`                        |
| **Required**              | No                              |
| **Additional properties** | Any type allowed                |
| **Defined in**            | #/$defs/AffiliationHistoryEntry |

**Description:** A previous affiliation with date, tracking institution moves.

| Property                                                       | Pattern | Type   | Deprecated | Definition | Title/Description |
| -------------------------------------------------------------- | ------- | ------ | ---------- | ---------- | ----------------- |
| + [affiliation](#items_affiliation_history_items_affiliation ) | No      | string | No         | -          | Affiliation       |
| + [source](#items_affiliation_history_items_source )           | No      | string | No         | -          | Source            |
| + [date](#items_affiliation_history_items_date )               | No      | string | No         | -          | Date              |

##### <a name="items_affiliation_history_items_affiliation"></a>1.7.1.1. Property `AuthorIndexEntry Collection > AuthorIndexEntry > affiliation_history > AffiliationHistoryEntry > affiliation`

**Title:** Affiliation

|              |          |
| ------------ | -------- |
| **Type**     | `string` |
| **Required** | Yes      |

**Description:** Previous institution name.

##### <a name="items_affiliation_history_items_source"></a>1.7.1.2. Property `AuthorIndexEntry Collection > AuthorIndexEntry > affiliation_history > AffiliationHistoryEntry > source`

**Title:** Source

|              |          |
| ------------ | -------- |
| **Type**     | `string` |
| **Required** | Yes      |

**Description:** Enrichment source that set this affiliation.

##### <a name="items_affiliation_history_items_date"></a>1.7.1.3. Property `AuthorIndexEntry Collection > AuthorIndexEntry > affiliation_history > AffiliationHistoryEntry > date`

**Title:** Date

|              |          |
| ------------ | -------- |
| **Type**     | `string` |
| **Required** | Yes      |

**Description:** ISO 8601 date when this affiliation was recorded.

### <a name="items_external_ids"></a>1.8. Property `AuthorIndexEntry Collection > AuthorIndexEntry > external_ids`

**Title:** ExternalIds

|                           |                     |
| ------------------------- | ------------------- |
| **Type**                  | `object`            |
| **Required**              | No                  |
| **Additional properties** | Not allowed         |
| **Defined in**            | #/$defs/ExternalIds |

**Description:** Optional identifiers from external databases.

| Property                                          | Pattern | Type        | Deprecated | Definition | Title/Description |
| ------------------------------------------------- | ------- | ----------- | ---------- | ---------- | ----------------- |
| - [dblp_pid](#items_external_ids_dblp_pid )       | No      | Combination | No         | -          | Dblp Pid          |
| - [orcid](#items_external_ids_orcid )             | No      | Combination | No         | -          | Orcid             |
| - [openalex_id](#items_external_ids_openalex_id ) | No      | Combination | No         | -          | Openalex Id       |

#### <a name="items_external_ids_dblp_pid"></a>1.8.1. Property `AuthorIndexEntry Collection > AuthorIndexEntry > external_ids > dblp_pid`

**Title:** Dblp Pid

|                           |                  |
| ------------------------- | ---------------- |
| **Type**                  | `combining`      |
| **Required**              | No               |
| **Additional properties** | Any type allowed |
| **Default**               | `null`           |

**Description:** DBLP person identifier (e.g., 'homepages/c/HaiboChen0001').

| Any of(Option)                                  |
| ----------------------------------------------- |
| [item 0](#items_external_ids_dblp_pid_anyOf_i0) |
| [item 1](#items_external_ids_dblp_pid_anyOf_i1) |

##### <a name="items_external_ids_dblp_pid_anyOf_i0"></a>1.8.1.1. Property `AuthorIndexEntry Collection > AuthorIndexEntry > external_ids > dblp_pid > anyOf > item 0`

|              |          |
| ------------ | -------- |
| **Type**     | `string` |
| **Required** | No       |

##### <a name="items_external_ids_dblp_pid_anyOf_i1"></a>1.8.1.2. Property `AuthorIndexEntry Collection > AuthorIndexEntry > external_ids > dblp_pid > anyOf > item 1`

|              |        |
| ------------ | ------ |
| **Type**     | `null` |
| **Required** | No     |

#### <a name="items_external_ids_orcid"></a>1.8.2. Property `AuthorIndexEntry Collection > AuthorIndexEntry > external_ids > orcid`

**Title:** Orcid

|                           |                  |
| ------------------------- | ---------------- |
| **Type**                  | `combining`      |
| **Required**              | No               |
| **Additional properties** | Any type allowed |
| **Default**               | `null`           |

**Description:** ORCID identifier (e.g., '0000-0001-2345-6789').

| Any of(Option)                               |
| -------------------------------------------- |
| [item 0](#items_external_ids_orcid_anyOf_i0) |
| [item 1](#items_external_ids_orcid_anyOf_i1) |

##### <a name="items_external_ids_orcid_anyOf_i0"></a>1.8.2.1. Property `AuthorIndexEntry Collection > AuthorIndexEntry > external_ids > orcid > anyOf > item 0`

|              |          |
| ------------ | -------- |
| **Type**     | `string` |
| **Required** | No       |

| Restrictions                      |                                                                                                                                           |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| **Must match regular expression** | ```^\d{4}-\d{4}-\d{4}-\d{3}[\dX]$``` [Test](https://regex101.com/?regex=%5E%5Cd%7B4%7D-%5Cd%7B4%7D-%5Cd%7B4%7D-%5Cd%7B3%7D%5B%5CdX%5D%24) |

##### <a name="items_external_ids_orcid_anyOf_i1"></a>1.8.2.2. Property `AuthorIndexEntry Collection > AuthorIndexEntry > external_ids > orcid > anyOf > item 1`

|              |        |
| ------------ | ------ |
| **Type**     | `null` |
| **Required** | No     |

#### <a name="items_external_ids_openalex_id"></a>1.8.3. Property `AuthorIndexEntry Collection > AuthorIndexEntry > external_ids > openalex_id`

**Title:** Openalex Id

|                           |                  |
| ------------------------- | ---------------- |
| **Type**                  | `combining`      |
| **Required**              | No               |
| **Additional properties** | Any type allowed |
| **Default**               | `null`           |

**Description:** OpenAlex author ID (e.g., 'A1234567890').

| Any of(Option)                                     |
| -------------------------------------------------- |
| [item 0](#items_external_ids_openalex_id_anyOf_i0) |
| [item 1](#items_external_ids_openalex_id_anyOf_i1) |

##### <a name="items_external_ids_openalex_id_anyOf_i0"></a>1.8.3.1. Property `AuthorIndexEntry Collection > AuthorIndexEntry > external_ids > openalex_id > anyOf > item 0`

|              |          |
| ------------ | -------- |
| **Type**     | `string` |
| **Required** | No       |

##### <a name="items_external_ids_openalex_id_anyOf_i1"></a>1.8.3.2. Property `AuthorIndexEntry Collection > AuthorIndexEntry > external_ids > openalex_id > anyOf > item 1`

|              |        |
| ------------ | ------ |
| **Type**     | `null` |
| **Required** | No     |

### <a name="items_category"></a>1.9. Property `AuthorIndexEntry Collection > AuthorIndexEntry > category`

**Title:** Category

|              |                    |
| ------------ | ------------------ |
| **Type**     | `enum (of string)` |
| **Required** | No                 |
| **Default**  | `"systems"`        |

**Description:** Primary research area.

Must be one of:
* "systems"
* "security"
* "both"

----------------------------------------------------------------------------------------------------------------------------
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-04-07 at 10:52:20 +0000
