OCDEP 5: People, Organizations, Posts, and Memberships

Created:

2014-06-12

Author:

James Turk

Status:

Accepted

Overview

Adoption of Popolo types for the Open Civic Data Person, Organization, Post, and Membership types.

Definitions

Person

An individual that has served in a political office.

Organization

A group of people, typically in a legislative or rule-making context.

Post

A position in an organization that exists independently of the person holding it.

Membership

A relationship between a Person and an Organization, possibly including a Post.

Rationale

At the core of the Open Civic Data mission is helping people discover who represents them and the structure of their government. People, Posts, Organizations, and Memberships are the means to describing that structure.

Furthermore, we have adopted (with minor differences) the Popolo schemas for these objects in the aim of being interoperable with a wide range of civic software that is being built, and due to the technical merits and completeness of the specification.

Implementation

To avoid duplicating the entire Popolo specification, this proposal only aims to highlight the differences (omitted or added fields) between Popolo and the Open Civic Data implementation.

Person

The basis for the Open Civic Data Person object is the Popolo Person.

Omitted Fields

Several fields have been omitted:

additional_name, honorific_prefix, honorific_suffix, patronymic_name

Due to the inherent fragile nature of trying to segment names, all name fields other than name, sort_name, family_name, given_name, and other_names are omitted to avoid implying that they can be relied upon.

email

Considered redundant with using an entry in Person.contact_details with type email.

Additional Fields

extras

Common to all Open Civic Data types, the value is a key-value store suitable for storing arbitrary information not covered elsewhere.

Organization

The basis for the Open Civic Data Organization object is the Popolo Organization.

Omitted Fields

area, area_id

Open Civic Data does not make use of the Popolo Area type here, instead favoring the concept of Jurisdiction as described in OCDEP 3: Jurisdictions. (See Areas, Divisions, and Jurisdictions)

Additional Fields

jurisdiction, jurisdiction_id

An organization exists as part of a Jurisdiction as described in OCDEP 3: Jurisdictions. (See Areas, Divisions, and Jurisdictions)

extras

Common to all Open Civic Data types, the value is a key-value store suitable for storing arbitrary information not covered elsewhere.

Post

The basis for the Open Civic Data Post object is the Popolo Post.

Omitted Fields

other_label

This field was added to Popolo after our adoption, and we have not yet found a need to add it.

Additional Fields

division, division_id

An post may have an associated Division, which is a synonym of Popolo’s Area. (See Areas, Divisions, and Jurisdictions)

These fields are synonymous with area and area_id. It is strongly suggested that both exist for compatibility reasons.

extras

Common to all Open Civic Data types, the value is a key-value store suitable for storing arbitrary information not covered elsewhere.

Membership

The basis for the Open Civic Data Membership object is the Popolo Membership.

Omitted Fields

area, area_id

Memberships are not used to relate to defined areas/divisions, this must be done through a Post.

member, member_id

We do not support Organization-Organization memberships, and therefore use the more specific person and person_id fields

Additional Fields

extras

Common to all Open Civic Data types, the value is a key-value store suitable for storing arbitrary information not covered elsewhere.

Areas, Divisions, and Jurisdictions

Two main differences have emerged between our handling of political areas and that of Popolo:

The first difference is the use of Division instead of Area on Post. Division in Open Civic Data predates Area’s inclusion in Popolo, but the two are now essentially synonymous. For compatibility reasons Open Civic Data will continue to use the term Division, but for compatibility with other Popolo-based systems area and area_id should be present in any API.

Additionally, Open Civic Data uses the concept of Jurisdictions, which represent entities with authority over a given area. (For more detail on Jurisdictions see OCDEP 3: Jurisdictions.)

Due to the presence of Jurisdictions, a decision was made to not use area & area_id on Organizations, instead Organization objects are linked instead to a Jurisdiction. A link to Division (a synonym for Area does exist on Jurisdiction so it is still possible to get the Area represented by an Organization).