Legal Citation Extraction
You can only verify what you first find. Grounding a citation checks whether it exists in the source - but it runs on a list that someone has to assemble first. This workflow is that front-end: it walks the text and lists every authority, so none slips past verification. A missed citation is an unverified one.
Extraction is mechanical - by patterns and rules, not by judgement - on purpose: an unconstrained reading might miss a citation or invent one.
Three steps
- Extraction - recognise and capture every reference by the patterns below.
- Aggregation - resolve short references (ibid., id., supra, op. cit., "the above-cited judgment") to their antecedents by the pointer-aware rules below, so they count as one citation, not several.
- Hand-off - pass the structured list to verification: does each cited authority exist, and does it say what the text claims.
Citation patterns
Case law
- ECLI (EU):
ECLI:EU:C:2020:559(Court of Justice),ECLI:EU:T:2019:...(General Court). - ECLI (national):
ECLI:NL:HR:2021:...,ECLI:DE:BGH:...,ECLI:PL:SN:.... - Case names and numbers:
Party v Party; CJEU case numbersC-123/20,C-123/20 P(appeal), joined casesC-123/20 and C-124/20; General CourtT-456/19.
EU legislation
- CELEX:
32016R0679,32019L0790(sector + year + type + number). - Named acts:
Regulation (EU) 2016/679,Directive 2019/790,Regulation (EC) No 1/2003. - Official Journal:
OJ L 119,OJ C 326.
Provisions
Article 5(1)(a) GDPR,Art. 263 TFEU,section 12,§ 3(2).
Aggregation - short references
Short reference forms carry different resolution rules - they cannot all be sent to the nearest antecedent:
ibid.,id.,loc. cit.- refer to the immediately preceding authority.supra,op. cit.- often carry a pointer that overrides proximity: an author name, a title fragment, or a note number ("Kranenborg, op. cit., p. 12"; "supra note 14"). Resolve by the pointer first; fall back to proximity only when the reference is bare.- Descriptive forms (
the cited judgment,the above-cited) - match by the described attributes (court, party, subject), not by position alone.
Where more than one antecedent matches, or none does, mark the reference unresolved - manual review instead of guessing: a wrong merge silently fuses two distinct authorities into one. Count each resolved reference as the same citation as its antecedent, but record where it occurs.
Output format
A numbered table with columns: Type, Citation (normalised), Occurrences (page or offset), Antecedent (if a short reference). Close with the list of citations to verify.
Limits
- Extraction catches references in a known format. A descriptive reference with no identifier ("the Court's data-protection case law") has nothing to match - mark it "no identifier, manual check".
- This is not existence verification - it says what is cited, not whether the citation is real.
- The patterns cover the common EU and ECLI formats; an unusual citation style may slip through. At high stakes, review by hand as well.
Attribution
The extraction, aggregation, and annotation architecture follows eyecite (Free Law Project), BSD-2-Clause (https://github.com/freelawproject/eyecite), as a design pattern only - no eyecite code is used. US reporter patterns are dropped; the ECLI, CELEX, OJ, and EU citation patterns and the antecedent rules are the author's own.


