Record schema
The fields of a journal record, as published in /data/journal/{code}.json and the Discovered shards. Each field states its basis so declared claims are never mistaken for measurements. Machine-readable copy: https://data.posi.panorama-sg.com/site/v1/meta/schema.json.
Provenance basis
- Identifier
- A persistent identifier, checked against the issuing registry where possible.
- Declared
- Stated by the publisher about itself (website, author guidelines). Not independently measured.
- Registry
- Taken as-is from an open scholarly registry (Crossref, OpenAlex, DOAJ, ISSN Portal).
- Computed
- Calculated by posi-engine from registry data under a versioned, published specification.
- Curated
- Assigned by a POSI collection rule (e.g. admission gate, benchmark selection).
Fields
| Field | Type | Basis | Source | Meaning |
|---|---|---|---|---|
| posi_id | string · POSI-J-###### | Identifier | posi-data registry/ | Permanent POSI identifier. Never reused, never reassigned. |
| journal_code | string | Curated | posi-data corpus/ | URL-safe key used in record paths (/journal/<code>/). |
| title | string | Registry | ISSN Portal / Crossref | Journal title as registered with the ISSN Portal. |
| alternate_titles | array · string | { title, type, lang?, until? } | Curated | posi-data corpus/ | Other titles the journal is known by: former titles, translations, abbreviations, and variants such as a Crossref/OpenAlex title that lags a rename. Searchable; never the display title. |
| issn_online | string · ####-#### | Identifier | ISSN Portal / Crossref | Electronic ISSN. Null when none is registered - never guessed. |
| issn_print | string · ####-#### | Identifier | ISSN Portal / Crossref | Print ISSN. Null when none is registered. |
| openalex_source_id | string · S######### | Identifier | OpenAlex | OpenAlex source record the ISSN resolves to. |
| publisher | string | Registry | Crossref / OpenAlex | Publisher name as registered. |
| registration_country | string | Registry | ISSN Portal | Country of ISSN registration - not necessarily where the journal operates. |
| country | string | Declared | Publisher | Country the publisher states it operates from. |
| language | string | Declared | Publisher / DOAJ | Primary publication language. |
| frequency | string | Declared | Publisher | Declared publication frequency. Observed cadence may differ. |
| open_access | boolean | null | Registry | DOAJ / OpenAlex | Whether the journal is recorded as fully open access. null when it is not known, for example a journal DOAJ does not list and no other source describes. |
| license | string | Declared | Publisher / DOAJ | Default article license. |
| peer_review_type | string | Declared | Publisher | Declared peer-review model. POSI does not observe review directly. |
| doaj_status | enum | Registry | DOAJ | listed · application_submitted · not_listed · null (not checked). |
| website_url | url | Declared | Publisher | Journal home page. |
| apc | object · { amount, currency, note, source_url, checked_at } | Declared | Journal website | The APC the journal states on its own website, with the page it is stated on and the date POSI checked it. An amount of 0 means the journal states it charges no APC. Absent when POSI could not find a stated APC. |
| article_count | integer | Registry | Crossref | DOIs registered under the journal ISSN at the data cutoff. |
| psc_category | string · P#.## | Computed | OpenAlex topics → PSC crosswalk | POSI Subject Classification category derived from the journal’s OpenAlex topic distribution. |
| psc_confidence | enum | Computed | posi-engine | high · low. Low means no single topic dominated - common for multidisciplinary journals. |
| pqf | object | Computed | posi-engine (PQF v1.0) | Editorial-selection evidence score, six sub-factors. Admission gate for the Core Collection only. |
| early_stage_rating | object | Computed | posi-engine (AJR-E) | Lifecycle stage and, for a journal 12-59 months old where rateable, its AJR-E score and rating. Core Collection journals only. Null fields are never filled with estimates. |
| mature_rating | object | Computed | posi-engine (AJR-M, rate-mature.mjs) | For a journal 60 months or more old: its AJR-M rating status, score and rating where rateable, model version and rating date. Core Collection journals only; published from AJR-M-1.2. |
| collection | enum | Curated | posi-data | core · curated · benchmark · discovered. Only core is certified; curated is a POSI curated record outside the Core Collection. |
| verification | enum | Curated | Derived (see Provenance) | VERIFIED · PARTIALLY_VERIFIED · NEEDS_CHECK · REJECTED. |
| updated_at | datetime | Curated | posi-data | Last time any field of the record changed. |
Index file keys
The files under /data/index/ use one-letter keys to stay small. The CSV versions use full column names.
| Key | Field | Note |
|---|---|---|
| id | posi_id | |
| c | journal_code | |
| t | title | |
| i | issn_online, issn_print | array, online first, de-duplicated |
| p | publisher | |
| co | registration_country ?? country | normalised to an English display name |
| s | psc_category | |
| k | collection | |
| v | verification | |
| oa | open_access | |
| d | doaj_status | |
| n | article_count | |
| u | updated_at | date only |
See Provenance and verification for how k and v are assigned.