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
, andother_names
are omitted to avoid implying that they can be relied upon.Considered redundant with using an entry in
Person.contact_details
with typeemail
.
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 ofJurisdiction
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’sArea
. (See Areas, Divisions, and Jurisdictions)These fields are synonymous with
area
andarea_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
andperson_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
).
Copyright¶
This document has been placed in the public domain per the Creative Commons CC0 1.0 Universal license (http://creativecommons.org/publicdomain/zero/1.0/deed).