Romania: law history in git
收藏数据链接:
官方服务:
资源简介:
将罗马尼亚法律表示为 Git 历史:每篇文章一个文件,每部法律在生效日对应一次提交,并将引起变更的法案作为提交作者。数据包含罗马尼亚宪法、民法典、刑法典、民事诉讼法典、刑事诉讼法典、劳动法典、GDPR 实施法、公司法、税法、行政法典和行政诉讼法等法律文本的各个合并版本,文本为罗马尼亚语原文。每个版本均为 Portalul legislativ 的官方合并形式,可通过 git blame、git log 和按日期检出等方式查看条文变更与历史。
创建时间:
2026-10-29
原始信息汇总
Romania: law history in git 数据集总结
概览
- 数据集地址:https://github.com/lexifina/romania-law
- 核心模型:罗马尼亚法律作为 git 历史;每篇文章一个文件;每部法律在生效日一个 commit;做出修改的法案作为 commit 作者。
- 查询能力:
git blame命名每段背后的法案;git log列出文章的全部变更;检出某一日期可得到当天有效文本。 - 共享设计:遵循 https://github.com/lexifina/global-law 的设计,位于
ro/。 - 文本语言:罗马尼亚语,按发布文本。
当前包含内容
| 文件夹 | 法案 | 版本数 | 历史 |
|---|---|---|---|
constitutia/ |
Constituția României | 2 | 1991 文本(1991-12-08 公投批准生效);Legea nr. 429/2003 修订文本(2003-10-29 生效);此后未修订。 |
codul-civil/ |
Codul civil (Legea nr. 287/2009) | 13 | 2009 文本;同日,2011-10-01 生效的重新发布文本;之后每个整合形式至 2026-05-03。 |
codul-penal/ |
Codul penal (Legea nr. 286/2009) | 45 | 2009 文本;同日,2014-02-01 生效文本;之后每个整合形式至 2026-04-26。 |
codul-procedura-civila/ |
Codul de procedură civilă (Legea nr. 134/2010) | 28 | 2010 文本;同日,2013-02-15 生效的重新发布文本;之后每个整合形式至 2025-12-14,包括 2015 年重新发布。 |
codul-procedura-penala/ |
Codul de procedură penală (Legea nr. 135/2010) | 61 | 2010 文本;同日,2014-02-01 生效文本;之后每个整合形式至 2026-06-13(一个形式 2017-03-02 门户无文本)。 |
codul-muncii/ |
Codul muncii (Legea nr. 53/2003) | 61 | 2003 文本 2003-03-01 生效;之后每个整合形式至 2025-12-18,包括 2011 年重新发布并重新编号文章。 |
legea-190-2018/ |
Legea nr. 190/2018 (GDPR implementation) | 2 | 2018 文本 2018-07-31 生效;唯一整合形式 2019-12-01(Legea nr. 233/2019)。 |
legea-31-1990/ |
Legea societăților nr. 31/1990 (company law) | 43 | 1990 文本 1990-12-17 生效;之后每个整合形式至 2025-12-18,包括 1998 和 2004 年重新发布并重新编号文章。门户在 1991-06-04 至 1998 年重新发布之间无形式。 |
codul-fiscal/ |
Codul fiscal (Legea nr. 227/2015) | 149 | 2015 文本 2016-01-01 生效;之后每个整合形式至 2026-08-08;2026 年四个形式无文本可读,其变更出现在下一形式。 |
codul-administrativ/ |
Codul administrativ (OUG nr. 57/2019) | 46 | 2019 文本 2019-07-05 生效(不含附件);之后每个整合形式至 2026-03-30。 |
legea-554-2004/ |
Legea contenciosului administrativ nr. 554/2004 | 20 | 2004 文本 2005-01-06 生效;之后每个整合形式至 2025-07-10,包括宪法法院判决变更。 |
- 每个版本均为 Portalul legislativ 自身的整合形式(forme consolidate)。
- 每个法案文件夹中的
README.md列出每篇文章、变更频率和时间。
时效性
- 最新持有形式:2026-05-03(Codul civil)、2026-04-26(Codul penal)、2025-12-14(Codul de procedură civilă)、2026-06-13(Codul de procedură penală)、2025-12-18(Codul muncii 和 Legea nr. 31/1990)、2019-12-01(Legea nr. 190/2018)、2026-08-08(Codul fiscal)、2026-03-30(Codul administrativ)、2025-07-10(Legea nr. 554/2004)。
- 每部法案最新版本是所持有的最新形式;之后生效的修正可能缺失。
查询方式
| 问题 | 命令 |
|---|---|
| Codul civil art. 1112 在 2014-10-18 的文本 | python tools/in_vigoare_la.py 2014-10-18 codul-civil 1112 |
| 同上,使用原始 git(bash) | git show $(git rev-list -1 --before="2014-10-18T23:59:59Z" main -- codul-civil/art-1112.md):codul-civil/art-1112.md |
| 同上,在 PowerShell 中 | $r = git rev-list -1 --before="2014-10-18T23:59:59Z" main -- codul-civil/art-1112.md; git show "$($r):codul-civil/art-1112.md" |
| Codul penal art. 336 每段的作者法案 | git blame codul-penal/art-336.md |
| Codul penal art. 297 的逐词变更 | git log -p --word-diff codul-penal/art-297.md |
| 记录中的全部法案,按顺序 | git log --reverse --format="%ad %an" --date=short main |
| 某法案改变的一切 | git show law/legea-200-2023(标签 law/<key> 标记每个法案的 commit) |
| 某日整部法案 | python tools/in_vigoare_la.py 2000-01-01 constitutia |
| 某法案作为整合形式 | git show codul-penal/2023-07-09(标签 <act>/<in-force day>) |
- 后插入文章使用门户编号:art. 112^1 对应文件
art-112-1.md,in_vigoare_la.py接受112^1。 - 重建后刷新标签:
git fetch --force --tags;普通 fetch 会保留过期标签。
日期规则
- 每个 commit 日期为变更生效日欧洲/布加勒斯特中午。
- Enacted 和 Published 为 trailers;
In-force:为工具读取的生效日。 - 生效日为 Portalul legislativ 的日期。默认规则见 Constituția art. 78:法律在 Monitorul Oficial 公布后 3 天生效,或按法律自定的更晚日期。
- 宪法:1991-11-21 通过,1991-12-08 公投批准生效;Legea nr. 429/2003 修订由 2003-10-18/19 公投批准,2003-10-29 生效;立法委员会 2003-10-31 重新发布宪法并重新编号文章(art. 152 变为 art. 156)。文件遵循各文本自身编号,因此 2003-10-29 许多文章变更,部分编号对应不同文章。
- 2009 年两部法典在生效前被修订:民法典主要由 Legea nr. 71/2011,刑法典由 Legea nr. 27/2012、63/2012、187/2012。每部法典首个 commit 为 2009 文本,日期为法典生效日;同日后续 commit 为修订,故当天结束文本为生效文本。
- 2010 年程序法典在生效前被修订:Codul de procedură civilă 由 Legea nr. 76/2012 命令重新发布并设定 2013-02-15 为首日;Codul de procedură penală 主要由 Legea nr. 255/2013,自 2014-02-01 起。首个 commit 为 2010 文本,日期为法典生效日,修订同日后续。
- 其他生效日:Codul muncii 2003-03-01;Legea nr. 190/2018 2018-07-31;Legea nr. 31/1990 1990-12-17;Codul fiscal 2016-01-01;Legea nr. 554/2004 2005-01-06;Codul administrativ 2019-07-05 公布日生效,较晚启动条款也从该日显示,附件不含。
- 提前打印变更:Codul administrativ 的 2023-10-30 形式已打印 arts. 63 和 390 的变更,注释称 2023-11-01 生效;它们日期为 2023-11-01。
- 两个形式之间的变更:Codul fiscal 注释日期为门户无自身形式的日期时(如 2019-04-01,由 2019-04-20 形式携带),变更按注释日期,使用后一形式文本。
- 无自身形式的重新发布:Codul de procedură civilă 2015-04-10 重新发布(Legea nr. 138/2014 art. XIV)和 Codul muncii 2011-05-18 重新发布(Legea nr. 40/2011 art. V,重新编号文章),从重新发布文本读取。其变更归因于命令重新发布的法案,除非文章注释指明另一法案。
- 缺口:Codul de procedură penală 2017-03-02 形式门户无文本,变更出现在 2017-03-03 形式。Legea nr. 31/1990 在 1991-06-04 至 1998-01-29 重新发布之间无形式,那些年份变更一起出现在该日,未归属。Codul fiscal 2026-02-25、2026-04-16、2026-05-08、2026-07-01 形式缺失,变更出现在下一持有形式。
--before="YYYY-MM-DD"单独使用本机时间,当天生效的变更可能在中午前被错过;使用T23:59:59Z或工具。
检查与验证
- 每个法案每个版本在生效日和前一天从 git 读回(
tools/check_repo.py);两者必须匹配语料。结果在REPRODUCE.md。 - 健康检查:
main无 merge commits;commit 日期不倒退;无未来日期;每个 commit 的 trailers 可被 git 解析。 - 与官方文本对照:每部法案最新版本为门户最新整合形式,逐条解析。
- 民法典 2026-05-03 形式从两个独立抓取读取(pages 109884 和 130143),全部 2,674 条一致。
- 四个较晚法案最新形式也从第二独立抓取读取,逐条一致(1,143、641、297 和 16 条);Legea nr. 31/1990(467 条)和 Legea nr. 554/2004(32 条)也一致。
- Codul administrativ 有第二抓取的最新形式为 2025-07-28,与语料当天全部 674 条一致。
- Codul fiscal 最新形式仅一次抓取;其 2026-03-01 生效版本与 legalize-ro(https://github.com/legalize-dev/legalize-ro)中该形式比较,636 条中 632 条逐行一致;其余 4 条仅编号点和表格布局不同。
- 每个版本携带抓取 URL 和解析页面的 sha256。
- 仓库从相同数据重建第二次必须给出相同哈希。
作者与归属
- commit 作者是做出变更的法案,邮箱为不可能存在的地址(如
legea-200-2023@legislatie.invalid),使git blame和git log --author命名法案。 - committer 总是 Lexifina。
- 信用仅来自门户对已修改条款的修订注释,命名修订法案(法律、政府紧急条例、宪法法院判决或更正)。较旧形式打印相同注释但无日期;此时注释在文章上新增时计数。
- 宪法法院判决为 kind “court” 的 commits:门户因判决生效而改变文本时,变更归因于判决,来自文章注释(宪法 art. 147:公布后 45 天除非议会行动)。未改变文字的判决不显示。
- 全文变更:宪法 2003 年重新发布和民法典 2011 年重新发布归因于命令它们的法案(Legea nr. 429/2003、Legea nr. 71/2011),除非文章注释指明另一法案;Legea nr. 31/1990 的 2004 年重新发布(Legea nr. 161/2003)也如此。
- 未解释变更由发布者 Portalul legislativ 提交,标记 “unexplained”:刑法典 2014-05-20 十个变音符号更正;民法典一个(art. 253,2018-10-03,“1)” 改 “(1)”);两个仅段落分隔变更(刑法典 arts. 194 和 378)。较晚法案中多数为门户自身排版,在形式间做出和撤销。
REPRODUCE.md列出每一个。 git blame信用整行(每段一行)。多法案文章使用git log -p --word-diff查看每个法案改变的词。
不包含内容
- 2026 年中之后的修正。
- 编辑注释(门户 “Notă” 框)和修订注释本身不在文本中。自 2019-02-03 形式起,门户打印两个高等法院关于 art. 6 的裁定作为 Codul penal art. 183 段落;它们被省略。
- 仅解释的裁决:高等法院裁决(HP、RIL)和未改变措辞的宪法法院判决不是 commits。
- 章和节标题。只有文章是文件;书、标题、章、节不是。
- 作为文本打印的门户注释。一些形式在文章内打印编辑注释为黑色段落;四个较晚法案中这些段落省略,发布者注释引用另一法案的文章(如 “Articolul XVII”)不是文件。
- 2009 民法典文本故障:门户上 arts. 1.251、2.367、2.374、2.655 打印在文章标记外;它们有自己的文件。Art. 2.448 并入 art. 2.447 并留在那里。
- 过渡条款中的生效和适用条件在文本中,不在日期中;无适用性数据记录。
构建
- Lexifina 读取来源并记录每个法案的带日期版本,及做出每个变更的法律,在一个语料文件。
tools/build.py从该文件写此仓库;相同语料总给出相同 commit hashes;REPRODUCE.md给出细节和检查。- Claude Opus 5.5 写脚本并选择来源;无 AI 模型写或改法律文本,构建历史时无模型运行。
来源
| 来源 | 类型 | 按日期过去版本 | 命名修订法案 | API 或批量 | 备注 |
|---|---|---|---|---|---|
| Portalul legislativ · Web service(https://legislatie.just.ro · https://legislatie.just.ro/ServiciulWebLegislatie.htm) | 官方立法,司法部 | 是,每个整合形式 | 是,每个修订条款有注释 | SOAP web service | 通过 Internet Archive 抓取使用;门户和 web service 关闭来自其网络的所有连接。 |
| Internet Archive(https://web.archive.org) | Web 存档 | n/a | n/a | – | – |
| – | Web 存档 | n/a | n/a | 索引文件,WARC 字节范围 | 门户页面的 40 次爬取(2022-2026)抓取,首先用于四个较晚法案;每个版本固定 WARC 文件、偏移和长度。 |
| legalize-ro(https://github.com/legalize-dev/legalize-ro) | 重建历史(公有领域数据) | 是 | 是 | git | 已检查:除宪法外不包含此处任何法案,因此未使用。 |
| romanian-law-data(https://github.com/scriptogre/romanian-law-data) | 数据集 | n/a | n/a | Parquet | 来自 legislatie.just.ro 的每日发布;未使用。 |
- 研究指南:GlobaLex(https://www.nyulawglobal.org/globalex/)和 Law Library of Congress Guide to Law Online(https://www.loc.gov/research-centers/law-library-of-congress/researcher-resources/guide-to-law-online/)。
许可
- 法律文本是罗马尼亚规范性法案官方文本,由司法部在 Portalul legislativ 发布。Sursa: Portalul legislativ al Ministerului Justiției,https://legislatie.just.ro。
- 罗马尼亚版权法排除官方法律文本保护(Legea nr. 8/1996, art. 9 lit. b)。
- 编排、表格、commit 消息和工具由 Lexifina,根据
LICENSE条款。 - 此仓库不是法律建议,也不是官方出版物。
搜集汇总
数据集介绍

构建方式
在法律信息学日益倚重可追溯版本谱系的背景下,本数据集以 git 仓储重构罗马尼亚规范性法律文件的历时形态。Lexifina 采集 Portalul legislativ 公布的官方合并文本,并借 Internet Archive 捕获留存历史页面,将每部法律各版本的条文、修正法案及生效日期汇入统一语料;tools/build.py 再由该语料生成仓库,使相同语料恒定产生相同提交哈希。每次提交定于变更生效日欧洲布加勒斯特时间正午,提交作者对应作出修改的法律、政府紧急政令或宪法法院裁判,提交者固定为 Lexifina。法律文本未经人工智能撰写或改动。
特点
作为一部可执行的法律历史志,其显著特征在于以文件对应条文、以提交对应法案,将规范文本转化为可检索的版本网络。`git blame` 能指认每段文字背后的修正法案,`git log` 可列举条文的历次更迭,检出某一日期即可复原当日有效文本。仓储涵盖宪法、民法典、刑法典、民事与刑事诉讼法典、劳动法典、公司法、税法、行政法典及行政诉讼法等,覆盖不同合并版本,并以 `law/<key>` 和 `<act>/<in-force day>` 标签标记法案与生效日。条文插入采用门户编号,章节标题与编辑注释不纳入正文,未获修正说明的变动标注为 unexplained。
使用方法
面对法律实务中的时点检索与法源追踪需求,该数据集提供命令行与原生 git 两类查询路径。判断某条文在特定日期是否有效,可运行 `python tools/in_vigoare_la.py 2014-10-18 codul-civil 1112`;以原生 git 查询时,应使用 `git rev-list -1 --before=2014-10-18T23:59:59Z main -- codul-civil/art-1112.md` 并配合 `git show`,以免因时钟时点遗漏当日变更。`git blame` 揭示段落归属,`git log -p --word-diff` 展示逐词修改,`git show law/legea-200-2023` 查看单一法案的全部改动,`git show codul-penal/2023-07-09` 调取指定合并形式。重建后宜以 `git fetch --force --tags` 刷新标签。
背景与挑战
背景概述
在法律信息学与法律史交叉领域,法规文本的时间效力与条款级沿革构成基础性知识基础设施。Romania: law history in git由Lexifina在global-law共享设计下构建,将罗马尼亚法律史编码为Git仓库:每一条文对应一个文件,每一生效法律对应一次提交,提交作者为引致变更的法案。其核心研究问题在于以可审计、可复现的版本控制机制,回答特定日期有效条文、段落修正归属及条文逐词变迁。该数据集涵盖宪法、民法典、刑法典、劳动法典、税法典等主要法律,时间跨度自1991年宪法至2026年若干合并形式,构建与持续校验依托2022—2026年间网络存档抓取。其为计算法学、法律检索与比较法研究提供了可追溯、可执行的语料范式,并扩展了全球法律史的数据基础设施。
当前挑战
法律文本版本演化的计算化重建面临多重挑战。领域层面,需解决特定时点有效法、条文级沿革追踪、修正法案作者归属、共和国重编号及合并文本差异等问题,其难度类似将静态法律语料转化为可查询的时间数据库。构建层面,官方Portalul legislativ关闭网络连接,只能依赖Internet Archive的WARC捕获;部分合并形式或文本缺失,变音符号、表格排版与段落切分存在未解释变动,解释性裁决与章节标题不进入文本,2009年法典生效前修订须同日提交,宪法2003年重编号导致条文编号与内容错位。上述限制要求严格的回溯校验与来源锁定,以维持历史重建的可靠性与可复现性。
常用场景
经典使用场景
在法律信息学与计算法学交汇处,法律文本的历时演进长期受制于非结构化汇编与人工比对。Romania: law history in git 将罗马尼亚法律史建模为 Git 仓库:每一条法律条文对应一个文件,每一次生效修改对应一次提交,提交作者为促成修改的法案。借助 git blame 可以定位每段文字背后的修正法案,git log 展示条文全部变更,检出特定日期即可还原本日有效的法律文本。python tools/in_vigoare_la.py 查询特定日期具体条文,也支持原始 Git 命令回溯。这为法条版本检索、修订链条追踪和司法裁判时点法源识别提供了原子化、可审计的操作范式。
解决学术问题
在实证法学与法律史研究中,法条版本碎片化、修订归属模糊与跨时点文本难以复现构成常见难题。传统整理方式依赖人工汇编,难以大规模追踪法条变迁,亦不易确认某段文字由何法案引入。该数据集以提交元数据、生效日期与作者标记,使法条级修订可计算、可验证、可重现,支持立法频率、法律稳定性、裁判时法、比较法及法律语言演变研究。其意义在于将法律历史转化为可审计数据资源,提升实证法学研究的透明度与可复制性,并为法律信息学提供细粒度版本分析基础。
衍生相关工作
以开放协作与可追溯计算为理念,该数据集衍生工作围绕 lexifina/global-law 的共享设计展开,将不同法域法律史纳入统一 Git 结构,ro/ 成为罗马尼亚法分支。该仓库衍生出跨法域法律版本库、法条时间点查询工具 in_vigoare_la.py、仓库一致性检查 check_repo.py 与 REPRODUCE.md 复现流程。其与 legalize-ro、romanian-law-data 等公开数据形成对照与交叉验证,并推动法律文本 Git 化、可复现法律史和法律信息学基础设施建设。相关实践亦启发将宪法、民法典、刑法典等法典及单行法转化为可 blame、可 diff、可 checkout 的法律数据资源。
以上内容由遇见数据集搜集并总结生成



