Skip to content

Update guidance on naming of classification schemes #1690

@jpmckinney

Description

@jpmckinney

https://standard.open-contracting.org/staging/1.2-dev/en/guidance/map/organization_classifications/

The general guidance ought to be along the lines of:

  • all uppercase, if the scheme is an acronym, e.g. CPV
  • camelCase, if the scheme is universal
  • {ISO-3166-1 alpha 2}-{suffix}, if scheme is scoped nationally, e.g. US-ABCD
  • {ISO-3166-2}-{suffix}, if scheme is scoped subnationally, e.g. US-OR-ABCD

This is consistent with https://extensions.open-contracting.org/en/extensions/coveredBy/master/#guidance

We should link to the new guidance from https://extensions.open-contracting.org/en/extensions/organizationClassification/master/

In the examples, we should change "COL" to "CO". We can add an admonition about TED_CE_ACTIVITY and TED_CA_TYPE, to explain that they don't conform to our guidance, because we aimed for consistency with the XML elements in the TED Schema. (At the same time, we can update to the 'eu-main-activity' and 'eu-buyer-legal-type' schemes).

Related, we should change this page to use alpha-2: https://standard.open-contracting.org/staging/1.2-dev/en/guidance/map/organization_personal_identifiers/


For reference, https://github.com/open-contracting/standard-maintenance-scripts/blob/main/schema/codelist-schema.json sets the allowed patterns for codes, some of which are relevant for scheme codes:

  • acronyms: [A-Z]+[0-9]? (the only numeric acronym is ISO2 for the ISO 3166-1 alpha-2 gazetteer)
  • camelCase, including at most one subcode, and allowing a 'oc4ids' prefix and EU and GPP acronyms: ([a-z]+|oc4ids)([A-Z][a-z]+|EU|GPP)*(\\.[a-z]+([A-Z][a-z]+)*)?
  • ISO 3166 scoped schemes, with hyphens and uppercase: [A-Z]{2}(-[A-Z]+)+

Exceptional patterns, to match multinational standards:

  • TED XML Schema elements (to match TED style): TED(_[A-Z]+)+
  • EU authority table names (to match eForms style): eu(-[a-z]+)+

These patterns are not relevant for scheme codes (they are examples of being consistent with other standards):

  • JSON Schema types: date-time
  • GeoJSON geometry types: LineString|Point|Polygon|MultiLineString|MultiPoint|MultiPolygon
  • IANA Media Types: (application|audio|font|example|image|message|model|multipart|text|video)/[\w.+-]+

Metadata

Metadata

Assignees

Labels

Focus - DocumentationIncludes corrections, clarifications, new guidance, and UI/UX issuesblockedWe can't merge this yet

Type

No type

Projects

Status

In progress

Relationships

None yet

Development

No branches or pull requests

Issue actions