Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ Examples: `circ:us-boston`, `circ:it-roma`, `circ:al-shkodre-pult`, `circ:us-por
## Repository contents

- [`data/circumscriptions.json`](data/circumscriptions.json) — the seed registry: 2,935 Latin-rite circumscriptions across 203 countries, generated from the Liturgical Calendar API's world dioceses index, each with its draft canonical ID, the API's `diocese_id` as a cross-reference key, name, nation, and (where available) civil province.
- [`data/circumscription_types.json`](data/circumscription_types.json) — the companion types registry: draft canonical IDs (`ctype:diocese`, `ctype:archeparchy`, `ctype:territorial-abbacy`, …) for the 16 canonical ranks and juridic forms a circumscription can hold, each with its Latin name, the church it belongs to, whether it is territorial, the title of the one who governs it, and the governing canon. Each circumscription's `type` field is a cross-reference into this file.
- [`docs/schema-proposal.md`](docs/schema-proposal.md) — the proposed schema and the open questions for the committee.
- [`scripts/generate_seed.py`](scripts/generate_seed.py) — regenerates the seed from the API's `world_dioceses.json`.

Expand Down
167 changes: 167 additions & 0 deletions data/circumscription_types.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
{
"$comment": "CECDR circumscription types: draft canonical IDs for the canonical ranks and juridic forms an ecclesiastical circumscription can take. Referenced from data/circumscriptions.json as the value of each entry's `type` field, following the cross-registry convention used elsewhere in the CDCF family (COECDR embeds CRPDR `rp:` IDs, CDOCTDR embeds CRMEDR `mr:` IDs). All IDs are drafts pending committee review; the `ctype:` prefix is a placeholder pending the namespace coordination in open question 1 of docs/schema-proposal.md. The `church` field records which churches are known to use each form and is provisional: it can only be established by enumerating actual circumscriptions, and the seed is still Latin-rite only, so a form marked `latin` here may prove to be `both` once Eastern circumscriptions are added. Two forms have been corrected from `latin` to `both` on exactly this ground: `ctype:territorial-abbacy` (Grottaferrata) and `ctype:apostolic-vicariate` (the Bulgarian Byzantine vicariates suppressed in 1926, which rule 3 keeps referenceable). The values still marked `latin` were checked against Catholic-Hierarchy and per-form surveys — verification aids, not authorities — and not against the Annuario Pontificio, which has not been consulted. See open question 8 in docs/schema-proposal.md.",
"id_scheme": "ctype:<slug>",
"entry_count": 16,
"entries": [
{
"id": "ctype:diocese",
"name_en": "diocese",
"name_la": "dioecesis",
"church": "latin",
"territorial": true,
"head": "diocesan bishop",
"juridic_reference": "CIC can. 369",
"note": "The paradigm case of a particular Church (can. 368). Elevation to archdiocese does not change the circumscription's identity (schema proposal, rule 1)."
},
{
"id": "ctype:archdiocese",
"name_en": "archdiocese",
"name_la": "archidioecesis",
"church": "latin",
"territorial": true,
"head": "archbishop",
"juridic_reference": "CIC can. 435",
"note": "A diocese whose bishop holds archiepiscopal dignity, most often as metropolitan of an ecclesiastical province. Whether the see is metropolitan is carried by the planned `metropolitan` attribute, not by this type."
},
{
"id": "ctype:eparchy",
"name_en": "eparchy",
"name_la": "eparchia",
"church": "eastern",
"territorial": true,
"head": "eparchial bishop",
"juridic_reference": "CCEO can. 177",
"note": "The Eastern equivalent of a diocese."
},
{
"id": "ctype:archeparchy",
"name_en": "archeparchy",
"name_la": "archieparchia",
"church": "eastern",
"territorial": true,
"head": "archeparch",
"juridic_reference": "CCEO can. 177",
"note": "An eparchy whose bishop holds archiepiscopal dignity. Patriarchal and major archiepiscopal sees are archeparchies; the dignity of the church sui iuris is carried by `church_sui_iuris`, not by this type — see open questions below."
},
{
"id": "ctype:exarchate",
"name_en": "exarchate",
"name_la": "exarchatus",
"church": "eastern",
"territorial": true,
"head": "exarch",
"juridic_reference": "CCEO can. 311",
"note": "A portion of the faithful not yet erected as an eparchy, entrusted to an exarch."
},
{
"id": "ctype:apostolic-exarchate",
"name_en": "apostolic exarchate",
"name_la": "exarchatus apostolicus",
"church": "eastern",
"territorial": true,
"head": "apostolic exarch",
"juridic_reference": "CCEO can. 311-321",
"note": "An exarchate erected by the Holy See outside the territory of the church sui iuris, typical of the diaspora. Subject of open question 5 in docs/schema-proposal.md."
},
{
"id": "ctype:territorial-prelature",
"name_en": "territorial prelature",
"name_la": "praelatura territorialis",
"church": "latin",
"territorial": true,
"head": "prelate",
"juridic_reference": "CIC can. 370",
"note": "Formerly styled praelatura nullius dioecesis. Assimilated to a diocese in law (can. 368)."
},
{
"id": "ctype:territorial-abbacy",
"name_en": "territorial abbacy",
"name_la": "abbatia territorialis",
"church": "both",
"territorial": true,
"head": "abbot",
"juridic_reference": "CIC can. 370",
"note": "Formerly styled abbatia nullius dioecesis. Not a Latin-only form: the Abbazia territoriale di Santa Maria di Grottaferrata is of Byzantine rite and is one of the three circumscriptions of the Chiesa bizantina cattolica in Italia, alongside the eparchies of Lungro and Piana degli Albanesi. Its identity is bound to a monastery rather than to a civil city — see issue #3 on how this affects slug formation."
},
{
"id": "ctype:apostolic-vicariate",
"name_en": "apostolic vicariate",
"name_la": "vicariatus apostolicus",
"church": "both",
"territorial": true,
"head": "vicar apostolic",
"juridic_reference": "CIC can. 371 §1",
"note": "A missionary circumscription not yet erected as a diocese, governed in the name of the Roman Pontiff. Its vicar is ordinarily a titular bishop. The standing Eastern equivalent is the apostolic exarchate, and no Eastern apostolic vicariate is currently active — but the Bulgarian Greek Catholic Church had two, the Apostolic Vicariates of Macedonia (Thessaloniki) and of Thrace (Adrianople), both erected 1883 and suppressed 1926 into the Apostolic Exarchate of Sofia. Since suppressed circumscriptions keep their IDs and are never deleted (schema proposal, rule 3), this form must remain typable for a Byzantine circumscription."
},
{
"id": "ctype:apostolic-prefecture",
"name_en": "apostolic prefecture",
"name_la": "praefectura apostolica",
"church": "latin",
"territorial": true,
"head": "prefect apostolic",
"juridic_reference": "CIC can. 371 §1",
"note": "A missionary circumscription at an earlier stage than an apostolic vicariate; its prefect is ordinarily not a bishop. Both Chinese circumscriptions in issue #6 hold this rank."
},
{
"id": "ctype:apostolic-administration",
"name_en": "apostolic administration",
"name_la": "administratio apostolica",
"church": "both",
"territorial": true,
"head": "apostolic administrator",
"juridic_reference": "CIC can. 371 §2",
"note": "Erected stably where grave and particular reasons prevent the erection of a diocese. Distinct from the temporary administration of a vacant see, which is a state of a circumscription rather than a type of one."
},
{
"id": "ctype:mission-sui-iuris",
"name_en": "mission sui iuris",
"name_la": "missio sui iuris",
"church": "latin",
"territorial": true,
"head": "ecclesiastical superior",
"juridic_reference": null,
"note": "The earliest stage of missionary organization, preceding an apostolic prefecture. Not defined in the 1983 Code; recognized in the Annuario Pontificio and in the practice of the Dicastery for Evangelization. `juridic_reference` is null pending an authoritative citation."
},
{
"id": "ctype:military-ordinariate",
"name_en": "military ordinariate",
"name_la": "ordinariatus militaris",
"church": "both",
"territorial": false,
"head": "military ordinary",
"juridic_reference": "Spirituali Militum Curae (1986)",
"note": "Assimilated to a diocese in law. Its territory is a body of armed forces rather than a place, which is why its identifier retains the type word (schema proposal, rule 5) — see issue #4."
},
{
"id": "ctype:personal-ordinariate",
"name_en": "personal ordinariate",
"name_la": "ordinariatus personalis",
"church": "latin",
"territorial": false,
"head": "ordinary",
"juridic_reference": "Anglicanorum coetibus (2009)",
"note": "Erected for groups of former Anglicans in full communion, retaining elements of Anglican patrimony. Three exist; two of the three are supranational — see issue #5."
},
{
"id": "ctype:personal-prelature",
"name_en": "personal prelature",
"name_la": "praelatura personalis",
"church": "latin",
"territorial": false,
"head": "prelate",
"juridic_reference": "CIC can. 294-297",
"note": "Erected to promote a particular pastoral work among a defined body of faithful. Opus Dei is presently the only one."
},
{
"id": "ctype:ordinariate-for-eastern-faithful",
"name_en": "ordinariate for the faithful of Eastern rites",
"name_la": "ordinariatus pro fidelibus ritus orientalis",
"church": "eastern",
"territorial": false,
"head": "ordinary",
"juridic_reference": null,
"note": "For Eastern faithful in a territory where their church sui iuris has no hierarchy of its own; ordinarily entrusted to the local Latin bishop. Subject of open question 5 in docs/schema-proposal.md. `juridic_reference` is null pending an authoritative citation."
}
]
}
2 changes: 1 addition & 1 deletion data/circumscriptions.json
Original file line number Diff line number Diff line change
Expand Up @@ -13115,7 +13115,7 @@
"name": "Prelatura personale della Santa Croce e Opus Dei",
"nation": null,
"church_sui_iuris": "latin",
"type": "personal_prelature",
"type": "ctype:personal-prelature",
"note": "Supranational personal prelature: reserved segment `int` instead of a country code (schema proposal, rule 5). The source index lists it under Italy and mislabels it 'Diocesi di Lanusei'; fix submitted upstream (LiturgicalCalendarAPI PR #718)."
},
{
Expand Down
62 changes: 55 additions & 7 deletions docs/schema-proposal.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,15 +51,38 @@ circ:<iso3166-1-alpha2>-<slug>
"nation": "US",
"province": "Massachusetts",
"church_sui_iuris": "latin",
"type": "archdiocese"
"type": "ctype:archdiocese"
}
```

Planned attributes beyond the seed: `type` (diocese, archdiocese, eparchy,
archeparchy, exarchate, territorial_prelature, territorial_abbacy,
apostolic_vicariate, apostolic_prefecture, apostolic_administration,
military_ordinariate, personal_ordinariate, personal_prelature, mission_sui_iuris),
`metropolitan` (the ID of the metropolitan see), `status`
## Circumscription types

`type` is not a free string but a cross-reference into a companion registry,
`data/circumscription_types.json`, which mints a canonical ID for each canonical
rank or juridic form a circumscription can hold:

```
ctype:<slug>
```

`ctype:diocese`, `ctype:archeparchy`, `ctype:territorial-abbacy`,
`ctype:apostolic-vicariate`, `ctype:military-ordinariate`,
`ctype:personal-prelature`, and so on — 16 in all. Each entry carries the Latin
name (`name_la`, the Annuario's own nomenclature), the church to which the form
belongs (`latin`, `eastern`, `both`), whether it is territorial, the title of the
one who governs it, and the governing canon or document.

This follows the cross-registry convention already used in the family: COECDR
embeds CRPDR `rp:` IDs, CDOCTDR embeds CRMEDR `mr:` IDs. An entry therefore
reads `"type": "ctype:diocese"`, and `scripts/generate_seed.py` asserts that
every `type` resolves against the types registry.

The `ctype:` prefix is a placeholder on the same footing as `circ:`, pending the
namespace coordination in open question 1.

## Further attributes

Planned beyond the seed: `metropolitan` (the ID of the metropolitan see), `status`
(active | suppressed | merged_into:<id>), `historical_names`, `erected` (date of
erection), and external keys (`litcal_id` now; potentially GCatholic and
Catholic-Hierarchy keys as cross-references).
Expand Down Expand Up @@ -93,4 +116,29 @@ enrichment:
official names (the seed currently carries the API's names, which mix both).
5. Whether Ordinariates for Eastern-rite faithful without their own hierarchy, and
pastoral structures like apostolic exarchates in the diaspora, need a dedicated
type taxonomy beyond the Annuario's.
type taxonomy beyond the Annuario's. Both are provisionally minted in
`data/circumscription_types.json` (`ctype:ordinariate-for-eastern-faithful`,
`ctype:apostolic-exarchate`) so the question can be decided against concrete
entries rather than in the abstract.
6. Whether type IDs should be English (`ctype:territorial-abbacy`, as minted) or
Latin (`ctype:abbatia-territorialis`), following CDOCTDR's use of the Latin
lemma. The Latin name is carried as `name_la` either way, so this is a question
about the identifier alone.
7. Whether patriarchal and major archiepiscopal sees warrant their own type IDs.
They are presently archeparchies, with the dignity of the church *sui iuris*
carried by `church_sui_iuris`; the Annuario lists them distinctly.
8. Confirmation of the `church` field in `data/circumscription_types.json` against
the **Annuario Pontificio itself**. The field records which churches are known
to use each form — an empirical question answerable only by enumerating real
circumscriptions, including suppressed ones, since rule 3 keeps those
referenceable forever. Two initial classifications have already been corrected
on evidence: `ctype:territorial-abbacy` (Grottaferrata, Byzantine, active) and
`ctype:apostolic-vicariate` (the Bulgarian Byzantine vicariates of Macedonia and
Thrace, 1883–1926). The remaining `latin` values were checked against
Catholic-Hierarchy's structured view of the Byzantine tradition and against
per-form surveys, which are verification aids and not authorities; no Eastern
instance was found for diocese, archdiocese, territorial prelature, apostolic
prefecture, mission *sui iuris*, personal prelature or personal ordinariate.
Absence of evidence is weaker than the two positives that forced a change,
particularly for suppressed Eastern circumscriptions, whose coverage in those
sources is uneven. The Annuario remains the authority and has not been consulted.
8 changes: 7 additions & 1 deletion scripts/generate_seed.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
"index; qualifier pending committee review."},
"opudei_it": {"slug": "opus-dei", "iso": "int", "nation": None,
"name": "Prelatura personale della Santa Croce e Opus Dei",
"type": "personal_prelature",
"type": "ctype:personal-prelature",
"note": "Supranational personal prelature: reserved segment "
"`int` instead of a country code (schema proposal, "
"rule 5). The source index lists it under Italy and "
Expand Down Expand Up @@ -91,6 +91,12 @@ def main():
ids = [e["id"] for e in entries]
dupes = {i for i in ids if ids.count(i) > 1}
assert not dupes, f"duplicate ids: {sorted(dupes)[:10]}"
# Every `type` is a cross-reference into data/circumscription_types.json;
# a typo there would silently produce an unresolvable reference.
types_path = repo_root / "data" / "circumscription_types.json"
known = {t["id"] for t in json.load(open(types_path, encoding="utf-8"))["entries"]}
unknown = {e["type"] for e in entries if e["type"] and e["type"] not in known}
assert not unknown, f"unknown circumscription types: {sorted(unknown)}"
out = {
"$comment": "CECDR seed registry: draft canonical IDs for Catholic "
"ecclesiastical circumscriptions, generated from the "
Expand Down