6个版本
0.0.5 | 2022年3月29日 |
---|---|
0.0.4 | 2022年3月27日 |
#120 in 数据库实现
用于 eyecite
125KB
957 行
代码检查徽章 | 测试徽章 | 版本徽章 |
Free Law法庭记录员数据库的背景
很久以前,在一个不远的法院附近,人们开始记录所有曾经写过的每个重要观点。这些书被称为记录员,通常由古代图书管理员类型的人如威廉·克兰奇先生和亚历山大·J·达拉斯等人创建。
这些人忙了几百年,创建了数千本书,最终形成了我们今天所知的West's reporters或区域报道如"Dakota Reports"或详尽的"Synopses of the Decisions of the Supreme Court of Texas Arising from Restraints by Conscript and Other Military Authorities (Robards)。"。
在这个存储库中,我们查看所有这些记录员,并试图整理我们所知道的信息,并将其转换为数据。这些数据以JSON文件、Python变量形式提供,可以通过非官方的CSV浏览(通常过时)。
显然,将几个世纪的历史转换为干净的数据会变成一团糟,但我们已经尽力了,下面的几个项目中正在使用这个混乱。截至2.0版本,这些数据包含关于733位记录员的信息,包括1,466个名称变体和830个版本。
我们希望这些信息对您的努力有所帮助,如果您改进或使用此作品,我们希望您能与社区分享。
数据来源
该项目已经通过几个来源的数据进行了多次增强
- 原始数据来自对CourtListener中数百万个案例的引用字段的解析。
- 第二次巨大的推动来自从两个主要法律出版商获取的元数据,以及解析哈佛Case.law数据库的引用字段。
- 进行了审计,并使用正则表达式在哈佛Case.law数据库的整个数据库中查找数字-单词-数字字符串,添加了额外的字段。结果按频率排序,并修复了最严重的遗漏。
在识别并修复缺口的过程中,进行了一些小的、次要的改进。
结果是,这个数据库在报道者缩写和变体方面应该非常完整。它包含了来自CourtListener、两家主要法律出版商和哈佛大学Case.law的数据。为了使这个数据库完整,已经投入了数百个小时。
CSV
您可以通过运行以下命令来创建此数据的CSV文件:
make_csv.py
我们在这个存储库中保留了这个CSV的副本(reporters.csv),但它并不保持最新。然而,它应该能很好地展示这里的内容。
已知实现
- 这项工作最初于2012年开始部署在CourtListener引用查找器中。它被 literally 数百万次用于识别案件之间的引用。
- 一个名为Free Law Ferret的Firefox扩展使用此代码在您阅读内容时(在互联网的任何地方)查找引用。
- 一个名为Walverine的Node模块使用此代码的变体,通过V8 JavaScript引擎查找引用。
其他用法可以在GitHub上找到。
关于数据的一些说明
在您检查免费法律报道者数据库时,请注意以下几点
- 每个报道者键映射到一个列表,该键可以代表该报道者。在某些情况下(特别是在早期的报道者中),键是模糊的,指代多个可能的报道者。
- 格式遵循蓝皮书标准,列出了地方规则和其他律师多年来或意外缩写的变体。
- “变体”键由地方规则的数据组成,通过我们语料库中的有机使用和卡迪夫法律缩写索引找到。我们使用字典来存储这些值,因为这些值可以有每个系列的变体。
- mlz_jurisdiction对应于为多语言Zotero进行的工作。这个字段由Frank Bennett维护,有时可能缺少值。
- 一些报道者有href或notes字段,提供链接到最佳可用的参考(通常是维基百科)或提供有关该报道者的说明。
- 关于版本日期,有一些事情要知道。在具有多个系列的报道者中,如果有多个卷有相同的日期,这表明一个系列结束和另一个系列开始的点是不确定的。如果一个版本的开始日期是1750年,这表明实际开始日期是未知的。同样,如果一个版本的结束日期是null,这表明实际结束日期要么是未知的,要么已知该系列尚未完成。在我们发布数据库的1.1版本之前,这些领域需要进行研究。最后,日期是包含的,因此报道者系列中的第一个和最后一个意见与数据库的日期相同。
完整的数据点具有如下字段:
"$citation": [ { "cite_type": "state|federal|neutral|specialty|SpecialtyWest|specialty_lexis|state_regional|ScotusEarly", "editions": { "$citation": { "end": null, "regexes": [], "start": "1750-01-01T00:00:00" }, "$citation 2d": { "end": null, "regexes": [], "start": "1750-01-01T00:00:00" } }, "examples": [], "mlz_jurisdiction": [], "name": "", "variations": {}, "notes": "", "href": "", "publisher": "" } ],
“regexes”字段和regexes.json占位符
“regexes”字段可以包含用于匹配自定义引用格式的原始正则表达式,或者可以包含从regexes.json中替换的占位符,使用python模板格式化。
如果提供了自定义正则表达式,则测试将需要所有正则表达式至少匹配一个examples中的示例,并且所有示例至少匹配一个正则表达式。
在添加新正则表达式时,可以使用以下命令pip install exrex并运行测试不添加任何示例,以获取新正则表达式可能匹配的潜在引用的列表。
state_abbreviations和case_name_abbreviations文件
- 缩写基于《蓝皮书》第19版中的数值数据,并补充了我们语料库中发现的缩写。
- case_name_abbreviations.json包含可能在意见案例名称中出现的缩写。
- state_abbreviations.json包含可能用于指代美国各州的缩写。
特定数据点和参考文献说明
- 查找缩写的好方法是查阅普林斯·贝伯法律缩写词典。您可以在Google Books上找到这本书的大部分内容,但我们也有PDF版本。只需询问即可。
- 密西西比州支持中立引用,但以他们自己的格式进行,具体可参考本规则。需要研究reporters.json的格式,以查看它是否被错误地作为其规则的变体使用,或者这是数据库中的错误。
- 新墨西哥州的案件日期可以通过以下链接的表格确认。
- 波多黎各和“宾夕法尼亚州州报告,Penrose和Watts”都使用引用“P.R.”
安装(Python)
您可以通过几个简单的命令安装免费法律报告员数据库
pip install reporters-db
安装完成后,您可以在代码中使用它,如下所示
from reporters_db import REPORTERS
您可以通过查看__init__.py来查看所有可以导入的变量。其他变量目前包括STATE_ABBREVIATIONS, CASE_NAME_ABBREVIATIONS, SPECIAL_FORMATS, VARIATIONS_ONLY,以及EDITIONS。后两个是便利变量,您可以使用它们获取不同视图的REPORTERS数据。
当然,如果您不使用Python,数据是json格式,因此您应该能够使用您选择的语言导入它。
测试
我们有几个测试确保事情没有完全损坏。每次推送完成后,Travis CI都会自动运行它们,开发人员也应该在推送之前运行。它们可以用
python tests.py
运行
这是不是很简单吗?
版本
更新setup.py,给提交添加一个带版本号的git标签,然后推送到master。请确保您已经设置了工具以推送git标签。这通常不是默认设置。如果测试通过,Github Actions会将版本推送到PyPi。
许可证
此存储库可在宽松的BSD许可证下使用,使其易于且安全地集成到您自己的库中。
欢迎拉取和功能请求。在Github上可以进行在线编辑(而且很容易!)
依赖关系
~4–6MB