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 | OpenAlex / Crossref | Works the journal has published: the OpenAlex works count, refreshed daily, or the DOIs registered under the journal ISSN in Crossref when OpenAlex does not list the journal. The journal directory and the journal page show the same figure. |
| 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.