Corpus/Edge types

From Dura Lex Wiki
Revision as of 02:09, 23 April 2026 by Nicolas (talk | contribs) (Import from duralex/spec/EDGE-TYPES.md — faithful conversion to wikitext (via create-page on MediaWiki MCP Server))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Edge Types

[edit | edit source]

Edge types (stored in corpus.edges.kind) form an open vocabulary — new types are added when data sources provide them. This document lists all known types organized by category.

The properties JSONB column on edges carries type-specific metadata (grounds for partial cassation, commencement date, reservation text, confidence, etc.).

Universality

[edit | edit source]

Edge kinds have varying degrees of cross-jurisdiction applicability. Universal kinds (amends, repeals, cites, interprets...) appear in 3+ legal traditions and are documented here. Multi-jurisdiction kinds (cassation_of, preliminary_reference_to...) appear in 2+ jurisdictions. Local kinds (establishes_jurisprudencia, violates...) are specific to one legal system and documented in the emitting plugin. This is a documentation convention, not a runtime constraint — the kind column has no enum. See ADR: edge pipeline architecture (design-decisions/2026-04-22-edge-pipeline-architecture.md).

Category 1: Textual modification (legislation <-> legislation)

[edit | edit source]
Edge kind Direction Description Open data
amends A->B A amends B (umbrella term). Alias: modifies (FR LEGI: MODIFIE/MODIFICATION) FR LEGI, UK legislation.gov.uk, IT normattiva
inserts A->B A inserts text into B UK legislation.gov.uk
substitutes A->B A substitutes text in B UK legislation.gov.uk
omits A->B A removes text from B UK legislation.gov.uk
rectifies A->B A corrects an error in B (no policy change). FR LEGI: RECTIFICATION/RECTIFIE FR LEGI, EU corrigenda, EU CELLAR resource_legal_corrects_resource_legal
renumbers A->B A renumbers provisions in B. Alias: moves (FR LEGI: DEPLACE/DEPLACEMENT) FR LEGI
[edit | edit source]
Edge kind Direction Description Open data
repeals A->B A repeals B entirely FR LEGI, UK, all
repeals_in_part A->B A repeals specific provisions of B UK legislation.gov.uk
creates A->B A creates/establishes B FR LEGI
expires A->B B expires by operation of A (or by its own sunset clause). FR LEGI: PERIME/PEREMPTION, PERIME_NVCC_IDCC/PEREMPTION_NVCC_IDCC FR LEGI
suspends A->B A temporarily suspends B Rare in open data
revives A->B A revives previously suspended/repealed B UK
saves A->B A carves B out from a wider repeal UK legislation.gov.uk
extends A->B A extends the application of B (territorial, temporal, or personal scope). FR LEGI: EXTENSION/ETEND, ADHESION/ADHERE, ELARGISSEMENT/ELARGIT FR labor (extension), UK
restricts A->B A restricts the scope of B UK legislation.gov.uk
annuls A->B A annuls B (judicial or legislative) FR LEGI
denounces A->B A terminates convention/treaty B FR labor conventions
disjoins A->B A splits a relationship between two texts FR LEGI
converts A->B Parliament converts emergency decree A into law B IT, FR (ordonnance), ES, BR (medida provisoria)

Category 3: Hierarchical / delegation

[edit | edit source]
Edge kind Direction Description Open data
implements A->B A implements/applies B (implementing regulation -> framework law). FR LEGI: APPLICATION/APPLIQUE, SPEC_APPLI FR LEGI, EU
transposes A->B A transposes EU directive B into national law. FR LEGI: TRANSPOSITION, DIRECTIVE_EUROPEENNE EU CELLAR NIM, FR LEGI
commences A->B Commencement order A brings B into force UK legislation.gov.uk
enables A->B A grants power to make B (delegation) Extraction
made_under A->B A is made under authority of B UK
ratifies A->B A ratifies treaty B FR LEGI
codifies A->B A codifies standalone text B into a code FR LEGI
based_on A->B A has B as treaty base (EU) EU
requires_implementation A->B "pending"|"moot", measure_object: "..."} FR Baromètre AN
supplements A->B A adds sectoral provisions to framework B EU
complies_with A->B A ensures compliance with standard/rule B EU, compliance
derogates_from A->B A explicitly derogates from B EU, FR
adopts A->B A adopts the text of B (Council decision adopting a regulation/directive) EU CELLAR resource_legal_adopts_resource_legal

Category 4: Cross-reference / concordance

[edit | edit source]
Edge kind Direction Description Open data
cites A->B A cites B (neutral reference). FR LEGI: CITATION, RENVOI/RENVOIT, CITATION_JURI_LEGI FR LEGI, EU CELLAR work_cites_work, ECHR HUDOC extractedappno
replaces A->B A replaces B (renumbering: article 1240 replaces 1382). FR LEGI: TEXTE_SUITE FR LEGI
corresponds_to A<->B A and B are concordant (synchronized texts) FR LEGI
transfers A->B A moved provision from B to another location FR LEGI
source_text A->B B is the source text that A codifies/implements FR LEGI
associated_text A<->B A and B are associated texts. FR LEGI: TXT_ASSOCIE, RATTACHEMENT/RATTACHE FR LEGI
pilot_follower A<->B A and B are synchronized (labor: pilot/follower) FR LEGI
historical A->B Historical link between A and B FR LEGI
consolidates A->B A consolidates multiple texts including B All, EU CELLAR act_consolidated_consolidates_resource_legal
language_variant A<->B A and B are language versions of the same document Multilingual jurisdictions

Category 5: Judicial treatment (decision <-> decision)

[edit | edit source]

Negative treatments

[edit | edit source]
Edge kind Direction Description
overrules A->B A overrules B (B's ratio is no longer good law)
partially_overrules A->B A overrules B on specific grounds. Properties: {grounds: [...]}
reverses A->B A reverses B in the same case (appellate)
vacates A->B A vacates B (US)
not_followed A->B A explicitly declines to follow B
criticizes A->B A criticizes reasoning in B
doubts A->B A expresses doubt about B
limits A->B A narrows the scope of B without overruling
distinguishes A->B A distinguishes its facts from B (rule in B does not apply)

Positive treatments

[edit | edit source]
Edge kind Direction Description
follows A->B A follows the reasoning of B
applies_rule_of A->B A applies the rule established in B
affirms A->B A affirms B in the same case (appellate)
confirms A->B A confirms B's position on a legal question
explains A->B A explains or clarifies B
harmonizes A->B A reconciles B with another apparently conflicting decision

Procedural relationships

[edit | edit source]
Edge kind Direction Description
appeal_of A->B A is an appeal of B
cassation_of A->B A is a cassation review of B (civil law)
remanded_from A->B A results from remand by B
preliminary_reference_to A->B National court A refers question to CJEU/constitutional court B
answers_preliminary_reference A->B A answers the preliminary reference from B
constitutional_reference_to A->B A refers constitutionality question to constitutional court B (FR QPC, IT, DE)
joined_with A<->B A and B are joined cases
reviews A->B A reviews B (generic procedural link). FR LEGI: SUITE_PROCEDURALE
opinion_for A->B "avocat_general"|"amicus_curiae"}
referred_to_grand_chamber A->B Chamber judgment A was referred to Grand Chamber, resulting in judgment B. ECHR (deferred — requires re-ingest with new fields)
execution_of A->B Execution supervision document A monitors compliance with judgment B. ECHR HUDOC-EXEC (deferred — requires HUDOC-EXEC ingestion)
case_group_member A->B Judgment A belongs to the execution group led by judgment B. ECHR HUDOC-EXEC (deferred — requires HUDOC-EXEC ingestion)

Category 6: Decision <-> legislation

[edit | edit source]
Edge kind Direction Description
interprets A->B Decision A interprets provision B. FR LEGI: JURISPRUDENTIEL. EU CELLAR case-law_interpretes_resource_legal, FR LEGI
declares_unconstitutional A->B Decision A declares B unconstitutional
declares_constitutional A->B Decision A declares B constitutional
declares_constitutional_with_reservation A->B A declares B constitutional under specific interpretation. Properties: {reservation: "..."}
annuls A->B Administrative court A annuls administrative act B (same edge kind as Category 2 annuls)
quashes A->B A quashes B (UK judicial review)
disapplies A->B A disapplies national law B (EU primacy). Also: plea of illegality (Art. 277 TFEU). EU CELLAR case-law_incidentally_declares_void_resource_legal
states_infringement_of A->B Infringement judgment A declares member state failure to comply with directive/regulation B (Art. 258 TFEU). EU CELLAR case-law_states_failure_concerning_resource_legal
violates A->B Judgment A finds a violation of Convention article B. ECHR (deferred — requires Convention text ingestion)

Category 7: Civil law doctrine-specific

[edit | edit source]
Edge kind Direction Description Country
establishes_jurisprudencia A->B 5th concordant decision A makes tesis B binding MX
interrupts_jurisprudencia A->B Contradictory decision A breaks the reiteracion chain of tesis B MX
substitutes_jurisprudencia A->B New tesis A replaces old tesis B MX
establishes_sumula A->B Decision A contributes to creating sumula B BR
cancels_sumula A->B Decision A cancels sumula B BR
guiding_case_reference A->B Decision A refers to guiding case B CN
judicial_interpretation_of A->B SPC interpretation A interprets statute B CN

Category 8: Cross-regulation stacking

[edit | edit source]
Edge kind Direction Description
lex_specialis_to A->B A prevails over B in their overlap area (lex specialis)
stacks_with A<->B A and B apply concurrently with no displacement

Notes

[edit | edit source]
  • All types are directional (A->B) unless marked A<->B.
  • The UNIQUE constraint (source_id, target_id, kind) prevents duplicate edges.
  • With nullable target_id and PostgreSQL's NULL-is-distinct-from-NULL behavior, multiple unresolved references from the same source are allowed.
  • Edge properties carry type-specific metadata:
    • partially_overrules: {grounds: ["moyen_2", "moyen_3"], scope: "partial"}
    • declares_constitutional_with_reservation: {reservation: "conforme sous reserve que..."}
    • commences: {commencement_date: "2024-06-01", extent: "england_and_wales"}
    • suspends: {start: "2024-01-01", end: "2024-12-31"}
  • The vocabulary is open — new types added when data sources provide them. No enum constraint in the schema.