Corpus des Deutschen Bundesrechts (C-DBR) Codebook Version 2025-10-02 DOI: 10.5281/zenodo.17136224
Titel Corpus des Deutschen Bundesrechts Abkürzung C-DBR Autor Seán Fobbe Version 2025-10-02 Download https://doi.org/10.5281/zenodo.17136224 Lizenz CC0 1.0 Universal Zitiervorschlag Seán Fobbe (2025). Corpus des Deutschen Bundesrechts (C-DBR). Version 2025-10-02. Zenodo. DOI: 10.5281/zenodo.17136224. Digital Object Identifier (DOI): Concept DOI und Version DOI Soweit nicht anders angegeben ist die DOI immer eine »Version DOI« und bezieht sich nur auf eine bestimmte Version des Datensatzes. Sie verweist daher nur auf Version 2025-10-02. Für das Gesamtkonzept dieses Datensatzes steht eine »Concept DOI« zur Verfügung, die auf der Zenodo-Seite jeder Version unter »Cite all versions?« zu finden ist. Sie lautet 10.5281/zenodo.3832111. Die »Concept DOI« verlinkt immer die aktuellste Version. Urheberrecht Der Datensatz und dieses Dokument sind unter einer Creative Commons CC0 1.0 Universal (CC0 1.0) Public Domain Dedication Lizenz veröffentlicht. Ich stelle den Datensatz und das Codebook vollständig gemeinfrei und verzichte weltweit auf alle damit verbundenen Urheberrechte, einschließlich aller ähnlichen Rechte, soweit dies gesetzlich möglich ist. Sie können die Werke kopieren, modifizieren, verteilen und aufführen ohne um Erlaubnis bitten zu müssen, selbst für kommerzielle Zwecke. Patente und Markenschutzrechte bleiben von CC0 unberührt. CC0 hat auch keine Auswirkungen auf etwaige Datenschutzoder Persönlichkeitsrechte. Jegliche Haftung für die Benutzung dieses Werkes ist ausgeschlossen, bis zu dem maximalen Umfang in dem dies gesetzlich möglich ist. Wenn Sie diese Werke nutzen oder zitieren sollten Sie nicht den Eindruck erwecken, der Autor unterstütze ihre Nutzung. Dies ist nur eine unverbindliche deutsche Zusammenfassung der Lizenz, den vollständigen und rechtsverbindlichen Lizenztext finden Sie hier: https://creativecommons.org/publicdo main/zero/1.0/legalcode Disclaimer Dieser Datensatz ist eine private wissenschaftliche Initiative und steht in keiner Verbindung zu Behörden, Gerichten oder anderen öffentlichen Stellen der Bundesrepublik Deutschland. 2
Inhaltsverzeichnis 1 Einführung 5 2 Nutzung 6 2.1 CSV-Dateien ................................... 6 2.2 XML-Dateien................................... 6 2.3 TXT-Dateien ................................... 6 3 Konstruktion 7 3.1 Beschreibung des Datensatzes . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.2 Datenquellen ................................... 7 3.3 SammlungderDaten............................... 7 3.4 Source Code und Compilation Report . . . . . . . . . . . . . . . . . . . . . 7 3.5 Grenzen des Datensatzes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.6 Urheberrechtsfreiheit von Rohdaten und Datensatz . . . . . . . . . . . . . . 9 3.7 Metadaten..................................... 9 3.7.1 Schema für die Dateinamen (PDF, TXT, EPUB) . . . . . . . . . . . 9 3.7.2 Beispiel eines Dateinamens . . . . . . . . . . . . . . . . . . . . . . . 9 3.8 Qualitätsprüfung................................. 10 4 Varianten und Zielgruppen 11 4.1 Überblick ..................................... 11 4.2 CSV_Einzelnormen_ Datensatz . . . . . . . . . . . . . . . . . . . . . . . . 11 4.3 CSV_Einzelnormen_ Metadaten . . . . . . . . . . . . . . . . . . . . . . . . 11 4.4 CSV_Rechtsakte_ Datensatz . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.5 CSV_Rechtsakte_ Metadaten . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.6 CSV_MetadatenXML .............................. 12 4.7 XML_Datensatz ................................. 12 4.8 XML_Anlagen .................................. 12 4.9 PDF_Datensatz ................................. 12 4.10EPUB_Datensatz ................................ 12 4.11TXT_Datensatz ................................. 13 4.12Netzwerke..................................... 13 4.13Analyse ...................................... 13 5 Variablen 14 5.1 Hinweise...................................... 14 5.2 Erläuterungen der einzelnen Variablen . . . . . . . . . . . . . . . . . . . . . 14 5.3 Konkordanztabelle: XML-Struktur und CSV-Variablen . . . . . . . . . . . . 21 6 Linguistische Kennzahlen 22 6.1 Erläuterung der Kennzahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 6.2 Kennzahlen: Einzelnormen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 6.3 Kennzahlen: Rechtsakte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 6.4 VerteilungZeichen ................................ 23 6.5 VerteilungTokens................................. 24 6.6 VerteilungTypen................................. 25 6.7 VerteilungSätze ................................. 26 3
7 Inhalt 27 7.1 NachPeriodikum................................. 27 7.1.1 Einzelnormen............................... 27 7.1.2 Rechtsakte mit veröffentlichtem Normtext . . . . . . . . . . . . . . . 29 7.1.3 Alle Rechtsakte (mit und ohne Normtext) . . . . . . . . . . . . . . . 31 7.2 Nach Ausfertigungsjahr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 7.2.1 Einzelnormen............................... 34 7.2.2 Rechtsakte mit veröffentlichtem Normtext . . . . . . . . . . . . . . . 39 7.2.3 Alle Rechtsakte (mit und ohne Normtext) . . . . . . . . . . . . . . . 44 8 Dateigrößen 49 9 Kryptographische Signaturen 51 9.1 Zwei-Phasen-Signatur .............................. 51 9.2 Persönliche GPG-Signatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 10 Changelog 52 10.1Version2025-10-02 ................................ 52 10.2Version2025-07-06 ................................ 52 10.3Version2025-04-04 ................................ 52 10.4Version2025-01-07 ................................ 52 10.5Version2024-10-12 ................................ 52 10.6Version2024-07-04 ................................ 52 10.7Version2024-04-03 ................................ 52 10.8Version2024-01-07 ................................ 53 10.9Version2023-10-03 ................................ 53 10.10Version2023-07-09 ................................ 53 10.11Version2023-04-07 ................................ 53 10.12Version2023-01-05 ................................ 53 10.13Version2022-08-05 ................................ 53 10.14Version2022-05-22 ................................ 54 10.15Version2022-01-12 ................................ 54 10.16Version2021-09-16 ................................ 54 10.17Version2021-07-30 ................................ 54 10.18Version2021-01-05 ................................ 55 10.19Version2020-10-09 ................................ 55 10.20Version2020-07-08 ................................ 55 10.21Version2020-05-18 ................................ 55 11 Parameter für strenge Replikationen 56 Literaturverzeichnis 58 4
1 Einführung Dem Bundesrecht kommt im Normengefüge der Bundesrepublik Deutschland herausragende Bedeutung zu. Zwar sind die Länder gemäß Art. 30, 70 GG primär für die Gesetzgebung zuständig, im Katalog der Art. 71 ff GG sind aber derart viele Kompetenzen dem Bund zugewiesen, dass das Bundesrecht praktisch jedes rechtliche Problem in der Bundesrepublik dominiert. Ausnahmen sind in der Regel nur die Bereiche innere Sicherheit, Bildung und Kultur, die weitgehend in der Hand der Bundesländer verblieben sind. Aber auch in diesen Bereichen finden sich Regelungen des Bundes. Beispiele dafür sind manche Regelungen des Bundespolizeigesetzes (BPolG) oder das Kulturgutschutzgesetz (KGSG). Bundesgesetze werden vom Bundestag im Zusammenwirken mit dem Bundesrat erlassen und vom Bundespräsidenten ausgefertigt (Art. 76 ff GG). Das Initiativrecht liegt bei Abgeordneten aus der Mitte des Bundestags, der Bundesregierung und dem Bundesrat (Art. 76 Abs. 1 GG). Der Bundesrat ist je nach Gesetzescharakter mit einem Zustimmungserfordernis oder einem Einspruchsrecht beteiligt (Art. 77, 78 GG). Verordnungen werden in der Regel von der Exekutive erlassen, in seltenen Fällen vom Bundestag selbst. Durch Bundesgesetz können nur Bundesregierung, Bundesminister oder Landesregierungen hierzu ermächtigt werden (Art. 80 Abs. 1 S.1 GG), eine im Gesetz vorgesehen Sub-Delegation ist aber möglich (Art. 80 Abs. 1 S. 4 GG). Verordnungen müssen einem speziellen Bestimmtheitsgebot genügen und ihre Rechtsgrundlage in der Verordnung angeben (Art. 80 Abs. 1 S. 2 und 3). Der Erlass von Verordnungen erfordert zudem nicht selten die Zustimmung des Bundesrates, entweder aufgrund von Art. 80 Abs. 2 GG oder bedingt durch eine Regelung in einem einfachen Bundesgesetz. Warum dieser Datensatz? Die quantitative Analyse von juristischen Texten, insbesondere von Gesetzen und Verordnungen, ist in den deutschen Rechtswissenschaften ein noch junges und kaum bearbeitetes Feld. 1 Zu einem nicht unerheblichen Teil liegt dies auch daran, dass die Anzahl an frei nutzbaren Datensätzen außerordentlich gering ist. Die meisten hochwertigen Datensätze lagern (fast) unerreichbar in kommerziellen Datenbanken und sind wissenschaftlich gar nicht oder nur gegen Entgelt zu nutzen. Frei verfügbare Datenbanken wie Opinio Iuris 2 und openJur 3 verbieten ausdrücklich das maschinelle Auslesen der Rohdaten. 4 Wissenschaftliche Initiativen wie der Juristische Referenzkorpus (JuReKo) sind nach jahrelanger Arbeit hinter verschlossenen Türen verschwunden. In einem funktionierenden Rechtsstaat muss die Rechtsetzung öffentlich, transparent und nachvollziehbar sein. Im 21. Jahrhundert bedeutet dies auch, dass sie quantitativen Analysen zugänglich sein muss. Der Erstellung und Aufbereitung des Datensatzes liegen daher die Prinzipien der allgemeinen Verfügbarkeit durch Urheberrechtsfreiheit, strenge Transparenz und vollständige wissenschaftliche Reproduzierbarkeit zugrunde. Die FAIRPrinzipien (Findable, Accessible, Interoperable and Reusable) für freie wissenschaftliche Daten inspirieren sowohl die Konstruktion, als auch die Art der Publikation.5 1Positive Ausnahmen finden sich vor allem unter: https://www.quantitative-rechtswissenschaft.de/ 2https://opinioiuris.de/ 3https://openjur.de/ 4 Openjur beabsichtigt eine API anzubieten, diese war aber im Januar 2021 immernoch nicht verfügbar. Openjur ist seit 2008 in Betrieb. 5 Wilkinson, M., Dumontier, M., Aalbersberg, I. et al. The FAIR Guiding Principles for Scientific Data Management and Stewardship. Sci Data 3, 160018 (2016). https://doi.org/10.1038/sdata.2016.18 5
2 Nutzung Die Daten sind in offenen, interoperablen und weit verbreiteten Formaten (CSV, XML, TXT, PDF, EPUB) veröffentlicht. Sie lassen sich grundsätzlich mit allen modernen Programmiersprachen (z.B. Python oder R), sowie mit grafischen Programmen nutzen. Wichtig: Nicht vorhandene Werte sind sowohl in den Dateinamen als auch in der CSVDatei mit »NA« codiert. 2.1 CSV-Dateien Am einfachsten ist es die CSV-Dateien einzulesen. Die Nutzung der CSV-Varianten ist aus Qualitätsgründen und den umfangreicheren Metadaten empfohlen. CSV 6 ist ein einfaches und maschinell gut lesbares Tabellen-Format. In diesem Datensatz sind die Werte komma-separiert. Jede Spalte entspricht einer Variable, jede Zeile einer Einzelnorm bzw. einem Rechtsakt (je nach Variante). Die Variablen sind unter Punkt 5 genauer erläutert. Zum Einlesen empfehle ich für Rdas package data.table (via CRAN verfügbar). Dessen Funktion fread() ist etwa zehnmal so schnell wie die normale read.csv()-Funktion in Base-R. Sie erkennt auch den Datentyp von Variablen sicherer. Ein Beispiel: library(data.table) csv.dbr <- fread("filename.csv") 2.2 XML-Dateien Das Einlesen der XML-Rohdaten ist komplex und die Entscheidung welche XML-Nodes zu extrahieren sind wird ganz erheblich von der Forschungsfrage beeinflusst. Falls Sie über vertiefte XML-Kenntnisse verfügen, sollten Sie eine eigenständige Extraktion dennoch in Erwägung ziehen, weil sie so die Datenanalyse besser auf Ihre Bedürfnisse anpassen können. Lesen Sie hierfür bitte die Document Type Definition (DTD) genau und greifen Sie ggf. auf den im Source Code zur Verfügung gestellten XML Parser zurück. 2.3 TXT-Dateien Die TXT-Dateien enthalten nur sehr rudimentäre Metadaten! Benutzen Sie daher für statistische Analysen vorzugsweise die CSVoder XML-Dateien. Die TXT-Dateien inklusive Metadaten können zum Beispiel mit Rund dem package readtext (via CRAN verfügbar) eingelesen werden. Ein Vorschlag: library(readtext) txt.dbr <- readtext("./*.txt", docvarsfrom = "filenames", docvarnames = c("kurztitel", "langtitel"), dvsep = "_", encoding = "UTF-8") 6Das CSV-Format ist in RFC 4180 definiert, siehe https://tools.ietf.org/html/rfc4180 6
3 Konstruktion 3.1 Beschreibung des Datensatzes Der Datensatz ist eine möglichst vollständige Sammlung der konsolidierten Fassungen aller Gesetze und Verordnungen auf Bundesebene. Änderungsgesetze und -verordnungen sind nicht enthalten. Er enthält alle Rechtsakte, die auf der amtlichen Webseite »Gesetze im Internet« des Bundesministerium des Justiz am jeweiligen Stichtag verfügbar waren. Die Stichtage für jede Version sind in der Versionsnummer festgehalten. Zusätzlich zu den einfach maschinenlesbaren Formaten (CSV und TXT) sind die XML-, PDFund EPUB-Rohdaten enthalten, damit Analysten gegebenenfalls ihre eigene Konvertierung vornehmen können. Die Rohdaten wurden inhaltlich nicht verändert. Die PDFund EPUB-Varianten der Rechtsakte sollen primär traditionelle juristische Forschung und mixed methods-Ansätze unterstützen. In diesem Datensatz sind nur Rechtsakte mit Außenwirkung (d.h. das Grundgesetz, Bundesgesetze und Bundesverordnungen) enthalten. Verwaltungsvorschriften sind nicht Teil des Datensatzes. 3.2 Datenquellen Datenquelle Fundstelle Primäre Datenquelle https://www.gesetze-im-internet.de/ Source Code https://doi.org/10.5281/zenodo.17136225 3.3 Sammlung der Daten Die Daten wurden vollautomatisiert gesammelt und mit Abschluss der Verarbeitung kryptographisch signiert. Die Webseite des Justizministeriums ist laut dem Reiter »Hinweise« 7 ausdrücklich für die vollautomatisierte Datensammlung freigegeben. Der Abruf geschieht ausschließlich über TLS-verschlüsselte Verbindungen. 3.4 Source Code und Compilation Report Der gesamte Source Code — sowohl für die Erstellung des Datensatzes, als auch für dieses Codebook — ist öffentlich einsehbar und dauerhaft erreichbar im wissenschaftlichen Archiv des CERN unter dieser Addresse hinterlegt: https://doi.org/10.5281/zenodo.17136225 Mit jeder Kompilierung des vollständigen Datensatzes wird auch ein umfangreicher Compilation Report in einem attraktiv designten PDF-Format erstellt (ähnlich diesem Codebook). Der Compilation Report enthält den vollständigen Source Code, dokumentiert relevante Rechenergebnisse, gibt sekundengenaue Zeitstempel an und ist mit einem klickbaren Inhaltsverzeichnis versehen. Er ist zusammen mit dem Source Code hinterlegt. Wenn Sie sich für Details des Erstellungs-Prozesses interessieren, lesen Sie diesen bitte zuerst. 7https://www.gesetze-im-internet.de/hinweise.html 7
files.xml files.xml.all report.codebook report.quality zip.all url.xml dt.filenames dt.download csv_xml_meta csv_normen_meta dt.meta dt.rechtsakte.meta hashes dt.rechtsakte.final dt.rechtsakte dt.normen files.xmlzip csv_normen dt.normen.final files.epub files.network csv_rechtsakte dt.conctable files.pdf changelog dt.normen.meta files.txt latexdefsfile.var_codebook zip_analysis zip_attachments zip_einzelnormen zip_einzelnormen_meta zip_epub zip_networks zip_pdf zip_rechtsakte zip_rechtsakte_meta zip_source zip_txt zip_xml zip_xml_meta var_lingstats.normen var_lingstats.rechtsakte csv_rechtsakte_meta files.source dt.var_codebook lingstats.summary.normen lingstats.summary.rechtsakte csv_download csv.hashes csv_conctable C−DBR | Version 2025−10−02 | Vollständiger Prozess der Datensatz−Kompilierung Fobbe | DOI: 10.5281/zenodo.17136224 Abbildung 1: Der vollständige Prozess der Datensatz-Kompilierung. 8
3.5 Grenzen des Datensatzes Nutzer sollten folgende wichtige Grenzen beachten: • Der Datensatz enthält nur das, was das Bundesjustizministerium auch tatsächlich veröffentlicht (publication bias). Es fehlen insbesondere Änderungsgesetze und - verordnungen. Manche Rechtsakte sind zudem nur mit den Metadaten nachgewiesen — ihr Inhalt fehlt aus technischen Gründen oder weil in der Bereinigten Sammlung Bundesgesetzblatt Teil III nur bibliographische Angaben enthalten sind (§ 3 Abs. 2 BRSG).8 • Es kann aufgrund technischer Grenzen bzw. Fehler sein, dass manche — im Grunde verfügbare — Rechtsakte nicht oder nicht korrekt abgerufen werden (automation bias). • Es sind nur am Tag des Abrufs veröffentlichte konsolidierte Rechtsakte enthalten, eine diachronische Untersuchung muss somit mehrere verfügbare Versionen auswerten (temporal bias). 3.6 Urheberrechtsfreiheit von Rohdaten und Datensatz An den Rechtsakten und Rechtsnormen besteht gem. § 5 Abs. 1 UrhG kein Urheberrecht, da sie amtliche Werke sind. § 5 UrhG ist auf amtliche Datenbanken analog anzuwenden (BGH, Beschluss vom 28.09.2006, I ZR 261/03, »Sächsischer Ausschreibungsdienst«). Alle eigenen Beiträge (z.B. durch Zusammenstellung und Anpassung der Metadaten) und damit den gesamten Datensatz stelle ich gemäß einer CC0 1.0 Universal Public Domain Lizenz vollständig urheberrechtsfrei. 3.7 Metadaten Alle Metadaten wurden aus den XML-Rohdaten zeitgleich mit dem Text der Normen extrahiert. Der volle Satz an Metadaten ist nur in den CSV-Dateien enthalten. Bitte beachten Sie, dass bei weitem nicht alle XML-Nodes ausgewertet wurden. Viele Nodes enthalten nur optische Informationen und wurden deshalb ignoriert. Manche Nodes (z.B. einzelne Absätze, Listen) wurden nicht extrahiert, weil nicht alle Normen in Absätze und Listen unterteilt sind und die Bereitstellung in einem nicht-hierarchischen Format wie CSV keine Vorteile gegenüber dem XML-Format bringen würde. Die Dateinamen der PDF-, TXT und EPUB-Dateien enthalten nur eine Abkürzung und einen modifizierten Langtitel (auf 200 Zeichen gekürzt und um Sonderzeichen bereinigt). Diese wurden aus den jeweiligen Header-Markierungen der HTML-Seiten extrahiert. 3.7.1 Schema für die Dateinamen (PDF, TXT, EPUB) [Abkürzung]_[modifizierter_Langtitel] 3.7.2 Beispiel eines Dateinamens 2.WasSV_ZweiteWassersicherstellungsverordnung.pdf 8https://www.gesetze-im-internet.de/hinweise.html 9
(continued) Variable Typ Erläuterung bezkette String Die volle Hierarchie der Bezeichnungen der Gliederungsebenen in Form einer Kette. Beispiel: »Buch 2 | Abschnitt 8 | Titel 5 | Untertitel 2 | Kapitel 5 | Unterkapitel 4«. titelkette String Die volle Hierarchie der Titel der Gliederungsebenen in Form einer Kette. Beispiel: »Recht der Schuldverhältnisse | Einzelne Schuldverhältnisse | Mietvertrag, Pachtvertrag | Mietverhältnisse über Wohnraum | Beendigung des Mietverhältnisses | Werkwohnungen«. ausfertigung_datum Datum (ISO) Das Datum an dem der Rechtsakt ausgefertigt wurde. Das Format ist YYYY-MM-DD (Langform nach ISO-8601). Für Einzelnormen bezieht sich die Angabe auf den gesamten Rechtsakt! Daher sind beispielsweise für das BGB alle Normen mit dem Ausfertigungsjahr 1896 versehen, auch wenn die Einzelnorm später erlassen wurde. ausfertigung_jahr Natürliche Zahl Das Jahr in dem der Rechtsakt ausgefertigt wurde. Für Einzelnormen bezieht sich die Angabe auf den gesamten Rechtsakt. Das Format ist eine vierstellige Jahreszahl (YYYY). Wurde durch den Autor aus dem Ausfertigungsdatum berechnet. aenderung_datum Datum (ISO) Das Datum der letzten Änderung des Rechtsakts. Das Format ist YYYY-MM-DD (Langform nach ISO-8601). Aus der Variable »stand« mittels regular expressions extrahiert. Aufhebung_ verkuendung_datum Datum (ISO) Das Datum an dem ein etwaiger aufhebender Rechtsakt verkündet wurde. Das Format ist YYYY-MM-DD (Langform nach ISO-8601). Aus der Variable »aufh« mittels regular expressions extrahiert. aufhebung_wirkung_ datum Datum (ISO) Das Datum an dem ein etwaiger aufhebender Rechtsakt wirksam wird. Das Format ist YYYYMM-DD (Langform nach ISO-8601). Aus der Variable »aufh« mittels regular expressions extrahiert. neufassung_datum String Das Datum an dem der Rechtsakt zuletzt neugefasst wurde. Das Format ist YYYY-MM-DD (Langform nach ISO-8601). Aus der Variable »neuf« mittels regular expressions extrahiert. 16
(continued) Variable Typ Erläuterung builddate_original String Datum und Uhrzeit an dem die XMLRepräsentation der Norm konstruiert wurde, eine Serie von Zahlen ohne Interpunktion. Das genaue Format ist nicht dokumentiert, es ist aber sehr wahrscheinlich so aufgebaut: vierstellige Jareszahl, zweistellige Monatszahl, zweistellige Tageszahl, zweistellige Stundenzahl, zweistellige Minutenzahl und eine zweistellige Sekundenzahl. builddate_iso Zeitstempel (ISO) Eine Interpretation der builddate-Variable im ISO 8601-Format (z.B. 2016-09-12T18:12:16Z). Das genaue Original-Format ist nicht dokumentiert, die Variable wurde aber unter folgenden Annahmen extrahiert: vierstellige Jareszahl, zweistellige Monatszahl, zweistellige Tageszahl, zweistellige Stundenzahl, zweistellige Minutenzahl und eine zweistellige Sekundenzahl. fundstellentyp String Ob es sich um eine amtliche Fundstelle handelt oder nicht. Mögliche Werte sind »amtlich« oder »nichtamtlich«. Für Einzelnormen bezieht sich die Angabe auf den gesamten Rechtsakt! periodikum String Die Abkürzung des Periodikums in dem die amtliche Fassung des Rechtsaktes erschienen ist, beispielsweise »BGBl I« (Bundesgesetzblatt I). Für Einzelnormen bezieht sich die Angabe auf den gesamten Rechtsakt! zitstelle String Die genaue Fundstelle im jeweiligen Periodikum. Für Einzelnormen bezieht sich die Angabe auf den gesamten Rechtsakt! stand String Informationen zum aktuellen Stand des Rechtsaktes, als Fließtext. Enthält insbesondere Informationen zur letzten Änderung und dem letzten Änderungsrechtsakt. Jeweils durch einen vertikalen Strich »|« getrennt, falls mehr als eine Bemerkung vorhanden ist. Falls nicht vorhanden ist der Wert »NA«. Für Einzelnormen bezieht sich die Angabe auf den gesamten Rechtsakt! 17
(continued) Variable Typ Erläuterung aufh String Informationen zur etwaigen Aufhebung des Rechtsaktes, als Fließtext. Jeweils durch einen vertikalen Strich »|« getrennt, falls mehr als eine Bemerkung vorhanden ist. Falls nicht vorhanden ist der Wert »NA«. Für Einzelnormen bezieht sich die Angabe auf den gesamten Rechtsakt! neuf String Informationen zur letzten Neufassung des Rechtsaktes, als Fließtext. Jeweils durch einen vertikalen Strich »|« getrennt, falls mehr als eine Bemerkung vorhanden ist. Falls nicht vorhanden ist der Wert »NA«. Für Einzelnormen bezieht sich die Angabe auf den gesamten Rechtsakt! hinweis String Hinweise zur dokumentarischen Bearbeitung des Rechtsaktes, als Fließtext. Jeweils durch einen vertikalen Strich »|« getrennt, falls mehr als eine Bemerkung vorhanden ist. Falls nicht vorhanden ist der Wert »NA«. Für Einzelnormen bezieht sich die Angabe auf den gesamten Rechtsakt! sonst String Sonstige Informationen zum Stand des Rechtsaktes, als Fließtext. Jeweils durch einen vertikalen Strich »|« getrennt, falls mehr als eine Bemerkung vorhanden ist. Falls nicht vorhanden ist der Wert »NA«. Für Einzelnormen bezieht sich die Angabe auf den gesamten Rechtsakt! check_* String Ob die Angabe der jeweiligen Stand-Variable geprüft wurde. Es ist unklar, welche Prüfung hier vom Ministerium vorgenommen wurde. Mögliche Werte sind »ja« oder »NA«. Für Einzelnormen bezieht sich die Angabe auf den gesamten Rechtsakt! tokens Natürliche Zahl Die Anzahl Tokens (beliebige Zeichenfolge getrennt durch whitespace) eines Dokumentes. Diese Zahl kann je nach Tokenizer und verwendeten Einstellungen erheblich schwanken. Für diese Berechnung wurde eine reine Tokenisierung ohne Entfernung von Inhalten durchgeführt. Benutzen Sie diesen Wert eher als Anhaltspunkt für die Größenordnung denn als exakte Aussage und führen sie ggf. mit ihrer eigenen Software eine Kontroll-Rechnung durch. 18
(continued) Variable Typ Erläuterung typen Natürliche Zahl Die Anzahl einzigartiger Tokens (beliebige Zeichenfolge getrennt durch whitespace) eines Dokumentes. Diese Zahl kann je nach Tokenizer und verwendeten Einstellungen erheblich schwanken. Für diese Berechnung wurde eine reine Tokenisierung und Typenzählung ohne Entfernung von Inhalten durchgeführt. Benutzen Sie diesen Wert eher als Anhaltspunkt für die Größenordnung denn als exakte Aussage und führen sie ggf. mit ihrer eigenen Software eine Kontroll-Rechnung durch. saetze Natürliche Zahl Die Anzahl Sätze. Entsprechen in etwa dem üblichen Verständnis eines Satzes. Die Regeln für die Bestimmung von Satzanfang und Satzende sind im Detail sehr komplex und in »Unicode Standard Annex No 29« beschrieben. Diese Zahl kann je nach Software und verwendeten Einstellungen erheblich schwanken. Für diese Berechnung wurde eine reine Zählung ohne Entfernung von Inhalten durchgeführt. Benutzen Sie diesen Wert eher als Anhaltspunkt für die Größenordnung denn als exakte Aussage und führen sie ggf. mit ihrer eigenen Software eine Kontroll-Rechnung durch. version Datum Die Versionsnummer des Datensatzes im Format YYYY-MM-DD (Langform nach ISO-8601). Die Versionsnummer entspricht immer dem Datum an dem der Datensatz erstellt und die Daten von der Webseite des Gerichts abgerufen wurden. doi_concept String Der Digital Object Identifier (DOI) des Gesamtkonzeptes des Datensatzes. Dieser ist langzeitstabil (persistent). Über diese DOI kann via www.doi.org immer die aktuellste Version des Datensatzes abgerufen werden. Prinzip F1 der FAIR-Data Prinzipien (»data are assigned globally unique and persistent identifiers«) empfiehlt die Dokumentation jeder Messung mit einem persistenten Identifikator. Selbst wenn die CSV-Dateien ohne Kontext weitergegeben werden kann ihre Herkunft so immer zweifelsfrei und maschinenlesbar bestimmt werden. 19
(continued) Variable Typ Erläuterung doi_version String Der Digital Object Identifier (DOI) der konkreten Version des Datensatzes. Dieser ist langzeit-stabil (persistent). Über diese DOI kann via www.doi.org immer diese konkrete Version des Datensatzes abgerufen werden. Prinzip F1 der FAIR-Data Prinzipien (»data are assigned globally unique and persistent identifiers«) empfiehlt die Dokumentation jeder Messung mit einem persistenten Identifikator. Selbst wenn die CSV-Dateien ohne Kontext weitergegeben werden kann ihre Herkunft so immer zweifelsfrei und maschinenlesbar bestimmt werden. lizenz String Die Lizenz des Datensatzes. In diesem Fall immer »Creative Commons Zero 1.0 Universal«. 20
5.3 Konkordanztabelle: XML-Struktur und CSV-Variablen CSV-Variable XPath Attribut text /norm/textdaten/text/Content - builddate_original /norm builddate fundstellentyp /norm/metadaten/fundstelle typ periodikum /norm/metadaten/fundstelle/periodikum - zitstelle /norm/metadaten/fundstelle/zitstelle - stand /norm/metadaten/standangabe/standtyp - /norm/metadaten/standangabe/standkommentar - aufh /norm/metadaten/standangabe/standtyp - /norm/metadaten/standangabe/standkommentar - neuf /norm/metadaten/standangabe/standtyp - /norm/metadaten/standangabe/standkommentar - hinweis /norm/metadaten/standangabe/standtyp - /norm/metadaten/standangabe/standkommentar - sonst /norm/metadaten/standangabe/standtyp - /norm/metadaten/standangabe/standkommentar - check_* /norm/metadaten/standangabe checked amtabk /norm/metadaten/amtabk - jurabk /norm/metadaten/jurabk - langue /norm/metadaten/langue - kurzue /norm/metadaten/kurzue - gliederungskennzahl /norm/metadaten/gliederungseinheit/gliederungskennzahl - gliederungsbez /norm/metadaten/gliederungseinheit/gliederungsbez - gliederungstitel /norm/metadaten/gliederungseinheit/gliederungstitel - enbez /norm/metadaten/enbez - ausfertigung_datum /norm/metadaten/ausfertigung-datum - 21
6 Linguistische Kennzahlen 6.1 Erläuterung der Kennzahlen Zur besseren Einschätzung des inhaltlichen Umfangs des Korpus dokumentiere ich an dieser Stelle die Verteilung der Werte für verschiedene klassische linguistische Kennzahlen: Variable Definition Zeichen Zeichen entsprechen grob den Graphemen, den kleinsten funktionalen Einheiten in einem Schriftsystem. Beispiel: das Wort »Richterin« besteht aus 9 Zeichen. Tokens Eine beliebige Zeichenfolge, getrennt durch whitespace-Zeichen, d.h. ein Token entspricht in der Regel einem »Wort«, kann aber gelegentlich auch sinnlose Zeichenfolgen enthalten, weil es rein syntaktisch berechnet wird. Typen Einzigartige Tokens. Beispiel: wenn das Token »gewerblich« mehrmals in einer Norm vorhanden ist, wird es als ein Typ gezählt. Sätze Entsprechen in etwa dem üblichen Verständnis eines Satzes. Die Regeln für die Bestimmung von Satzanfang und Satzende sind in »Unicode Standard: Annex No 29« beschrieben. Für Rechtsnormen ist diese Zählweise vermutlich nicht robust genug. Interpretieren Sie die Ergebnisse mit großer Vorsicht! 6.2 Kennzahlen: Einzelnormen Variable Gesamt Min 1. Quartil Median Mittel 3. Quartil Max Zeichen 154,562,738 1 301 709 1,467.75 1,524 679,927 Tokens 24,560,048 1 48 112 233.23 240 300,612 Typen 471,893 1 36 68 95.39 116 30,664 Sätze 788,070 1 2 4 7.48 8 2,515 6.3 Kennzahlen: Rechtsakte Variable Gesamt Min 1. Quartil Median Mittel 3. Quartil Max Zeichen 154,662,144 98 1,559.00 5,693.5 26,213.92 23,355.50 2,492,400 Tokens 24,560,048 17 264.75 916.5 4,162.72 3,560.25 379,859 Typen 471,893 15 129.00 300.0 658.44 826.00 35,693 Sätze 776,576 1 13.00 35.0 131.62 117.00 14,306 22
6.4 Verteilung Zeichen 0.0 0.2 0.4 0.6 0.8 100101102103104105106 Zeichen Dichte C−DBR | Version 2025−10−02 | Verteilung der Zeichen je Norm Fobbe | DOI: 10.5281/zenodo.17136224 0.0 0.2 0.4 100101102103104105106 Zeichen Dichte C−DBR | Version 2025−10−02 | Verteilung der Zeichen je Rechtsakt Fobbe | DOI: 10.5281/zenodo.17136224 23
6.5 Verteilung Tokens 0.0 0.2 0.4 0.6 0.8 100101102103104105106 Tokens Dichte C−DBR | Version 2025−10−02 | Verteilung der Tokens je Norm Fobbe | DOI: 10.5281/zenodo.17136224 0.0 0.2 0.4 100101102103104105106 Tokens Dichte C−DBR | Version 2025−10−02 | Verteilung der Tokens je Rechtsakt Fobbe | DOI: 10.5281/zenodo.17136224 24
6.6 Verteilung Typen 0.0 0.3 0.6 0.9 100101102103104105106 Typen Dichte C−DBR | Version 2025−10−02 | Verteilung der Typen je Norm Fobbe | DOI: 10.5281/zenodo.17136224 0.0 0.2 0.4 0.6 0.8 100101102103104105106 Typen Dichte C−DBR | Version 2025−10−02 | Verteilung der Typen je Rechtsakt Fobbe | DOI: 10.5281/zenodo.17136224 25
Periodikum Rechtsakte % Gesamt % Kumulativ NA 1 0.01 0.01 ABl EU 1 0.01 0.03 BAGVBl 2 0.03 0.06 BAnz 225 3.29 3.35 BGBl 22 0.32 3.67 BGBl I 4987 72.93 76.60 BGBl II 1152 16.85 93.45 BGBl III 1 0.01 93.46 BGBl. I 165 2.41 95.88 BGBl. II 2 0.03 95.91 BremGBl 4 0.06 95.96 GBl DDR 15 0.22 96.18 GBl DDR I 43 0.63 96.81 GBl DDR II 3 0.04 96.86 GVBl BE 1 0.01 96.87 GVBl BY 4 0.06 96.93 GVBl HE 4 0.06 96.99 GVBl RP I 2 0.03 97.02 Mtbl BAA 1 0.01 97.03 NV 1 0.01 97.05 RAnz 2 0.03 97.08 RBesBl 1 0.01 97.09 RGBl 55 0.80 97.89 RGBl I 53 0.78 98.67 RGBl II 47 0.69 99.36 RMBl 4 0.06 99.42 RegBl WB 4 0.06 99.47 RegBl WH 1 0.01 99.49 VOBl BrZ 3 0.04 99.53 VkBl 13 0.19 99.72 WiGBl 7 0.10 99.82 ZBl 2 0.03 99.85 32
(continued) Periodikum Rechtsakte % Gesamt % Kumulativ eBAnz 6 0.09 99.94 Öff Anz 4 0.06 100.00 Total 6838 100.00 100.00 33
7.2 Nach Ausfertigungsjahr 7.2.1 Einzelnormen 0 1000 2000 3000 4000 1900 1950 2000 Ausfertigungsjahr Einzelnormen C−DBR | Version 2025−10−02 | Einzelnormen je Ausfertigungsjahr Fobbe | DOI: 10.5281/zenodo.17136224 Jahr Einzelnormen % Gesamt % Kumulativ 1869 146 0.14 0.14 1871 566 0.54 0.68 1877 103 0.10 0.77 1884 10 0.01 0.78 1886 3 0.00 0.79 1887 4 0.00 0.79 1889 220 0.21 1.00 1892 117 0.11 1.11 1894 4 0.00 1.11 1895 74 0.07 1.18 1896 2932 2.78 3.97 1897 1154 1.10 5.06 1898 3 0.00 5.07 1899 2 0.00 5.07 1901 51 0.05 5.12 34
(continued) Jahr Einzelnormen % Gesamt % Kumulativ 1903 1 0.00 5.12 1906 1 0.00 5.12 1907 26 0.02 5.14 1908 9 0.01 5.15 1909 128 0.12 5.27 1910 11 0.01 5.28 1911 47 0.04 5.33 1913 37 0.04 5.36 1919 99 0.09 5.46 1920 7 0.01 5.47 1921 40 0.04 5.50 1922 209 0.20 5.70 1923 15 0.01 5.72 1924 2 0.00 5.72 1925 2 0.00 5.72 1926 31 0.03 5.75 1927 32 0.03 5.78 1928 8 0.01 5.79 1929 8 0.01 5.79 1930 14 0.01 5.81 1931 46 0.04 5.85 1933 196 0.19 6.04 1934 417 0.40 6.43 1935 157 0.15 6.58 1936 287 0.27 6.86 1937 337 0.32 7.18 1938 30 0.03 7.20 1939 91 0.09 7.29 1940 210 0.20 7.49 1941 25 0.02 7.51 1942 20 0.02 7.53 35
(continued) Jahr Einzelnormen % Gesamt % Kumulativ 1943 24 0.02 7.56 1944 12 0.01 7.57 1947 19 0.02 7.58 1948 73 0.07 7.65 1949 315 0.30 7.95 1950 2093 1.99 9.94 1951 579 0.55 10.49 1952 445 0.42 10.91 1953 1820 1.73 12.64 1954 209 0.20 12.84 1955 265 0.25 13.09 1956 696 0.66 13.75 1957 819 0.78 14.53 1958 134 0.13 14.66 1959 768 0.73 15.39 1960 956 0.91 16.29 1961 1276 1.21 17.51 1962 212 0.20 17.71 1963 254 0.24 17.95 1964 318 0.30 18.25 1965 1508 1.43 19.68 1966 485 0.46 20.14 1967 331 0.31 20.46 1968 460 0.44 20.89 1969 721 0.68 21.58 1970 406 0.39 21.96 1971 771 0.73 22.70 1972 809 0.77 23.46 1973 228 0.22 23.68 1974 787 0.75 24.43 1975 872 0.83 25.26 36
(continued) Jahr Einzelnormen % Gesamt % Kumulativ 1976 2480 2.36 27.61 1977 691 0.66 28.27 1978 399 0.38 28.65 1979 457 0.43 29.08 1980 1073 1.02 30.10 1981 533 0.51 30.61 1982 536 0.51 31.12 1983 226 0.21 31.33 1984 351 0.33 31.66 1985 568 0.54 32.20 1986 537 0.51 32.71 1987 451 0.43 33.14 1988 1302 1.24 34.38 1989 1033 0.98 35.36 1990 2465 2.34 37.70 1991 734 0.70 38.40 1992 948 0.90 39.30 1993 771 0.73 40.03 1994 3779 3.59 43.62 1995 728 0.69 44.31 1996 886 0.84 45.15 1997 1683 1.60 46.75 1998 1386 1.32 48.06 1999 703 0.67 48.73 2000 699 0.66 49.40 2001 1300 1.23 50.63 2002 1938 1.84 52.47 2003 1162 1.10 53.57 2004 2299 2.18 55.76 2005 2042 1.94 57.70 2006 2234 2.12 59.82 37
(continued) Jahr Einzelnormen % Gesamt % Kumulativ 2007 1553 1.47 61.29 2008 2098 1.99 63.28 2009 2669 2.53 65.82 2010 1400 1.33 67.15 2011 2254 2.14 69.29 2012 1336 1.27 70.56 2013 3334 3.17 73.72 2014 1481 1.41 75.13 2015 1983 1.88 77.01 2016 2896 2.75 79.76 2017 3437 3.26 83.03 2018 1533 1.46 84.48 2019 1875 1.78 86.26 2020 2873 2.73 88.99 2021 4121 3.91 92.90 2022 1962 1.86 94.77 2023 2471 2.35 97.11 2024 2123 2.02 99.13 2025 916 0.87 100.00 Total 105306 100.00 100.00 38
7.2.2 Rechtsakte mit veröffentlichtem Normtext 0 50 100 150 200 1900 1950 2000 Ausfertigungsjahr Rechtsakte C−DBR | Version 2025−10−02 | Rechtsakte mit Normtext je Ausfertigungsjahr Fobbe | DOI: 10.5281/zenodo.17136224 Jahr Rechtsakte % Gesamt % Kumulativ 1869 1 0.02 0.02 1871 3 0.05 0.07 1877 3 0.05 0.12 1884 1 0.02 0.14 1886 2 0.03 0.17 1887 1 0.02 0.19 1889 2 0.03 0.22 1892 1 0.02 0.24 1894 2 0.03 0.27 1895 2 0.03 0.31 1896 2 0.03 0.34 1897 6 0.10 0.44 1898 1 0.02 0.46 1899 2 0.03 0.49 1901 2 0.03 0.53 1903 1 0.02 0.54 39
(continued) Jahr Rechtsakte % Gesamt % Kumulativ 1906 1 0.02 0.56 1907 1 0.02 0.58 1908 1 0.02 0.59 1909 3 0.05 0.64 1910 2 0.03 0.68 1911 2 0.03 0.71 1913 2 0.03 0.75 1919 4 0.07 0.81 1920 1 0.02 0.83 1921 4 0.07 0.90 1922 6 0.10 1.00 1923 2 0.03 1.03 1924 2 0.03 1.07 1925 2 0.03 1.10 1926 4 0.07 1.17 1927 5 0.08 1.25 1928 3 0.05 1.31 1929 3 0.05 1.36 1930 3 0.05 1.41 1931 5 0.08 1.49 1933 8 0.14 1.63 1934 7 0.12 1.75 1935 3 0.05 1.80 1936 7 0.12 1.92 1937 9 0.15 2.07 1938 9 0.15 2.22 1939 6 0.10 2.32 1940 6 0.10 2.42 1941 2 0.03 2.46 1942 2 0.03 2.49 1943 1 0.02 2.51 40
(continued) Jahr Rechtsakte % Gesamt % Kumulativ 1944 1 0.02 2.53 1947 1 0.02 2.54 1948 5 0.08 2.63 1949 12 0.20 2.83 1950 20 0.34 3.17 1951 31 0.53 3.69 1952 14 0.24 3.93 1953 40 0.68 4.61 1954 17 0.29 4.90 1955 25 0.42 5.32 1956 32 0.54 5.86 1957 44 0.75 6.61 1958 19 0.32 6.93 1959 27 0.46 7.39 1960 32 0.54 7.93 1961 49 0.83 8.76 1962 30 0.51 9.27 1963 23 0.39 9.66 1964 27 0.46 10.12 1965 45 0.76 10.88 1966 22 0.37 11.25 1967 39 0.66 11.92 1968 39 0.66 12.58 1969 52 0.88 13.46 1970 42 0.71 14.17 1971 53 0.90 15.07 1972 51 0.86 15.93 1973 32 0.54 16.47 1974 51 0.86 17.34 1975 62 1.05 18.39 1976 70 1.19 19.58 41
(continued) Jahr Rechtsakte % Gesamt % Kumulativ 2005 145 2.12 60.46 2006 134 1.96 62.42 2007 109 1.59 64.01 2008 137 2.00 66.01 2009 152 2.22 68.24 2010 125 1.83 70.06 2011 127 1.86 71.92 2012 109 1.59 73.52 2013 173 2.53 76.05 2014 93 1.36 77.41 2015 128 1.87 79.28 2016 143 2.09 81.37 2017 168 2.46 83.83 2018 87 1.27 85.10 2019 106 1.55 86.65 2020 155 2.27 88.91 2021 225 3.29 92.21 2022 133 1.95 94.15 2023 160 2.34 96.49 2024 162 2.37 98.86 2025 78 1.14 100.00 Total 6838 100.00 100.00 48
8 Dateigrößen 0.0 0.2 0.4 0.6 10−3 10−2 10−1 100 Dateigröße in MB Dichte C−DBR | Version 2025−10−02 | Verteilung der Dateigrößen (XML) Fobbe | DOI: 10.5281/zenodo.17136224 0.0 0.5 1.0 1.5 2.0 2.5 10−1.5 10−1 10−0.5 100100.5 101101.5 Dateigröße in MB Dichte C−DBR | Version 2025−10−02 | Verteilung der Dateigrößen (PDF) Fobbe | DOI: 10.5281/zenodo.17136224 49
0.0 0.2 0.4 0.6 10−3 10−2 10−1 100 Dateigröße in MB Dichte C−DBR | Version 2025−10−02 | Verteilung der Dateigrößen (TXT) Fobbe | DOI: 10.5281/zenodo.17136224 0.0 0.5 1.0 1.5 10−2 10−1 100101 Dateigröße in MB Dichte C−DBR | Version 2025−10−02 | Verteilung der Dateigrößen (EPUB) Fobbe | DOI: 10.5281/zenodo.17136224 50
9 Kryptographische Signaturen 9.1 Zwei-Phasen-Signatur Die Integrität und Echtheit der einzelnen Archive des Datensatzes sind durch eine ZweiPhasen-Signatur sichergestellt. In Phase I werden während der Kompilierung für jedes ZIP-Archiv, das Codebook und die Robustness Checks Hash-Werte in zwei verschiedenen Verfahren (SHA2-256 und SHA3-512) berechnet und in einer CSV-Datei dokumentiert. In Phase II werden diese CSV-Datei und der Compilation Report mit meinem persönlichen geheimen GPG-Schlüssel signiert. Dieses Verfahren stellt sicher, dass die Kompilierung von jedermann durchgeführt werden kann, insbesondere im Rahmen von Replikationen, die persönliche Gewähr für Ergebnisse aber dennoch vorhanden bleibt. 9.2 Persönliche GPG-Signatur Die während der Kompilierung des Datensatzes erstellte CSV-Datei mit den HashPrüfsummen und der Compilation Report sind mit meiner persönlichen GPG-Signatur versehen. Der mit dieser Version korrespondierende Public Key ist sowohl mit dem Datensatz als auch mit dem Source Code hinterlegt. Er hat folgende Kenndaten: Name: Sean Fobbe (
[email protected]) Fingerabdruck: FE6F B888 F0E5 656C 1D25 3B9A 50C4 1384 F44A 4E42 51
10 Changelog 10.1 Version 2025-10-02 •Vollständige Aktualisierung der Daten 10.2 Version 2025-07-06 •Vollständige Aktualisierung der Daten 10.3 Version 2025-04-04 •Vollständige Aktualisierung der Daten •Reparatur der Clean Run-Option in der Konfigurationsdatei 10.4 Version 2025-01-07 •Vollständige Aktualisierung der Daten •Überarbeitung der Dokumentation zu den Varianten des Datensatzes •Expliziter R Package Version Lock für 2024-06-13 (CRAN Date) •Überarbeitung des Dockerfiles • Vereinheitlichung der Komponenten für PDF-Extraktion und Berechnung kryptographischer Hashes •Vereinfachung der Run-Skripte und stärkere Integration mit Docker Compose •/tmp in Arbeitsspeicher ausgelagert •Entfernung von überholtem Source Code •Entfernung der Tesseract System Library •Entfernung der Nummerierung von Diagrammen 10.5 Version 2024-10-12 •Vollständige Aktualisierung der Daten •Überarbeitung der Berechnung linguistischer Kennzahlen •Erweiterung des Lösch-Skriptes •Download-Timeout nun bei 300 sek •Anzahl paralleler Downloads kann separat konfiguriert werden 10.6 Version 2024-07-04 •Vollständige Aktualisierung der Daten • LIZENZÄNDERUNG: Source Code jetzt unter GNU General Public License Version 3 (GPLv3) oder später lizenziert •Docker Image auf R 4.4.0 aktualisiert (wegen CVE-2024-27322) •Python Toolchain entfernt 10.7 Version 2024-04-03 •Vollständige Aktualisierung der Daten •Aktualisierung der Python Toolchain •Aktualisierung des Public GPG Keys im Repository 52
10.8 Version 2024-01-07 •Vollständige Aktualisierung der Daten 10.9 Version 2023-10-03 •Vollständige Aktualisierung der Daten 10.10 Version 2023-07-09 •Vollständige Aktualisierung der Daten •Konfigurations-Dateien in etc/ verschoben 10.11 Version 2023-04-07 •Vollständige Aktualisierung der Daten •Gesamte Laufzeitumgebung nun mit Docker versionskontrolliert • Download-Manifest wird nun spätestens nach 24h Stunden invalidiert, damit keine alten Daten aus früheren Kompilierungen den Prozess zum Absturz bringen •ZIP-Archiv der TXT-Dateien wird nun auch gehasht • Verbesserte Formatierung von Warnungen und Fehlermeldungen im Compilation Report •Veränderung der Download-Reihenfolge • Falls im ersten Download-Durchlauf Dateien fehlen werden die Folgeversuche nun korrekt durchgeführt • Die Pipeline mit allen Zwischenergebnissen wird nun automatisch in “output/” archiviert •Source Code ZIP-Archiv wird nun anhand des git-Manifestes generiert •README im Hinblick auf Docker aktualisiert • Struktur des Compilation Reports angepasst, um Warnungen und Fehler prominenter anzuzeigen •Zusätzliche Unit Tests 10.12 Version 2023-01-05 •Vollständige Aktualisierung der Daten •Neuer Entwurf des gesamten Source Codes im {targets} Framework •Zusätzliche Netzwerk-Diagramme für alle Rechtsakte: Sunburst und Circlepacking •Reguläre Netzwerk-Diagramme nun in blau auf schwarzem Hintergrund •Manche finale Dateinamen nun mit Trennstrichen statt Pascal Case • TXT-Konvertierung bricht bei Fehler nicht ab, dokumentiert aber fehlende TXTDateien •Einführung eines separaten Berichts für Robustness Checks 10.13 Version 2022-08-05 •Vollständige Aktualisierung der Daten • Wenn der Download einer Datei scheitert wird der Kompilierungs-Prozess nicht mehr abgebrochen; Kontrolle über Datenabgleich im Compilation Report 53
• Diagramme für Norm/Rechtsakt/Metadaten je Periodikum sind nun logarithmisch skaliert •Technischer Bugfix bei der Berechnung von Netzwerkdiagrammen • Neuer Unit Test um identische Länge von HTML-Links und extrahierten PDFund EPUB-Dateinamen • Fehlende PDFoder EPUB-Dateien führen nun nicht mehr zu Fehlern in der Pipeline •Unterscheidung zwischen VBVG 2005 und VBVG 2023 10.14 Version 2022-05-22 •Vollständige Aktualisierung der Daten • README und CHANGELOG sind nun externe Dateien die bei der Kompilierung automatisch eingebunden werden • Das für renv notwendige Skript activate.R ist im ZIP-Archiv in den Ordner “renv” sortiert 10.15 Version 2022-01-12 •Vollständige Aktualisierung der Daten •Strenge Versionskontrolle aller R packages • Der Prozess der Kompilierung ist jetzt detailliert konfigurierbar, insbesondere die Parallelisierung •Parallelisierung der XML-Parser deaktivert, weil instabil •Parallelisierung nun vollständig mit future statt mit foreach und doParallel • Fehlerhafte Kompilierungen werden beim vor der nächsten Kompilierung vollautomatisch aufgeräumt • Alle Ergebnisse werden automatisch fertig verpackt in den Ordner »output« sortiert •Source Code des Changelogs zu Markdown konvertiert •Einführung eines Debugging-Modus um die Entwicklung zu beschleunigen 10.16 Version 2021-09-16 •Vollständige Aktualisierung der Daten • Einfügung von Kurzbezeichnungen der Rechtsakte in die Dateinamen der Netzwerkanalysen •Einfügung der ID der Rechtsakte in die CSV-Tabelle aller Kurzund Langtitel 10.17 Version 2021-07-30 •Vollständige Aktualisierung der Daten • Einführung von neuen Variablen für letzte Änderung (Datum), Neufassung (Datum), Aufhebung (Datum jeweils für Verkündung und Wirkung), Lizenz und hierarchische Ketten von Gliederungsbezeichnungen und -titeln •Parallelisierung der Downloads um Kompilierung des Korpus zu beschleunigen • Korrektur bei den Dateinamen der Allgemeinen Eisenbahngesetze: GII weist zwei gleichnamige Rechtsakte (»Allgemeines Eisenbahngesetz«) nach. Beide werden nun mit dem Jahr ihrer Ausfertigung 1951 und 1993 im Langtitel differenziert. In der Vorversion wurde das neuere AEG noch mit dem Jahr 1994 (Inkrafttreten) beschriftet und das andere AEG ohne Jahreszahl. 54
•Einführung von Netzwerkanalysen (experimentell!) •Variablen in CSV-Dateien sind nun semantisch sortiert •Neues Diagramm für Verteilung von Zeichen • Falls die XML-Datei mehrere Bemerkungen für Hinweise, Änderung, Neufassung, den Stand oder sonstige Angaben aufweist werden diese nun durch einen vertikalen Strich getrennt (vorher nur mehrere Leerzeichen). •Kleinere Korrekturen und Ergänzungen im Codebook 10.18 Version 2021-01-05 •Vollständige Aktualisierung der Daten •Komplette Überarbeitung des Source Codes •Erstveröffentlichung eines Codebooks •Einführung der vollautomatischen Erstellung von Datensatz und Codebook • Einführung von Compilation Reports um den Erstellungsprozess exakt zu dokumentieren •CSV-Dateien werden durch Parsing der XML-Dateien erstellt •Automatisierung und deutliche Erweiterung der Qualitätskontrolle •Einführung von Diagrammen zur Visualisierung von Prüfergebnissen •Einführung kryptographischer Signaturen 10.19 Version 2020-10-09 •Vollständige Aktualisierung der Daten •Erstveröffentlichung des Source Codes • XML-Daten nun fehlerfrei. In Version 2020-07-08 waren XML-Dateien mit Anhängen fehlerhaft. 10.20 Version 2020-07-08 •Vollständige Aktualisierung der Daten 10.21 Version 2020-05-18 •Erstveröffentlichung 55
11 Parameter für strenge Replikationen ## [1] "OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)" ## R version 4.4.0 (2024-04-24) ## Platform: x86_64-pc-linux-gnu ## Running under: Ubuntu 22.04.4 LTS ## ## Matrix products: default ## BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 ## LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.20.so; LAPACK version 3.10.0 ## ## locale: ## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C ## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 ## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 ## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C ## [9] LC_ADDRESS=C LC_TELEPHONE=C ## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C ## ## time zone: Europe/Berlin ## tzcode source: system (glibc) ## ## attached base packages: ## [1] stats graphics grDevices utils datasets methods base ## ## other attached packages: ## [1] future.apply_1.11.2 future_1.33.2 quanteda_4.0.2 ## [4] readtext_0.91 data.table_1.15.4 scales_1.3.0 ## [7] igraph_2.0.3 ggraph_2.2.1 ggplot2_3.5.1 ## [10] pdftools_3.4.0 kableExtra_1.4.0 knitr_1.47 ## [13] rvest_1.0.4 xml2_1.3.6 httr_1.4.7 ## [16] zip_2.3.1 fs_1.6.4 testthat_3.2.1.1 ## [19] RcppTOML_0.2.2 tarchetypes_0.9.0 targets_1.7.0 ## ## loaded via a namespace (and not attached): ## [1] tidyselect_1.2.1 viridisLite_0.4.2 dplyr_1.1.4 ## [4] farver_2.1.2 viridis_0.6.5 fastmap_1.2.0 ## [7] tweenr_2.0.3 stringfish_0.16.0 digest_0.6.35 ## [10] base64url_1.4 lifecycle_1.0.4 secretbase_0.5.0 ## [13] qpdf_1.3.3 waldo_0.5.2 processx_3.8.4 ## [16] magrittr_2.0.3 compiler_4.4.0 rlang_1.1.4 ## [19] tools_4.4.0 utf8_1.2.4 yaml_2.3.8 ## [22] labeling_0.4.3 askpass_1.2.0 stopwords_2.3 ## [25] graphlayouts_1.1.1 curl_5.2.1 pkgload_1.3.4 ## [28] withr_3.0.0 purrr_1.0.2 desc_1.4.3 ## [31] grid_4.4.0 polyclip_1.10-6 fansi_1.0.6 ## [34] colorspace_2.1-0 globals_0.16.3 MASS_7.3-60.2 ## [37] tinytex_0.51 cli_3.6.2 rmarkdown_2.27 ## [40] generics_0.1.3 RcppParallel_5.1.7 rstudioapi_0.16.0 ## [43] RApiSerialize_0.1.3 cachem_1.1.0 ggforce_0.4.2 ## [46] stringr_1.5.1 parallel_4.4.0 selectr_0.4-2 56
## [49] vctrs_0.6.5 Matrix_1.7-0 callr_3.7.6 ## [52] ggrepel_0.9.5 listenv_0.9.1 systemfonts_1.1.0 ## [55] tidyr_1.3.1 glue_1.7.0 parallelly_1.37.1 ## [58] codetools_0.2-20 ps_1.7.6 stringi_1.8.4 ## [61] gtable_0.3.5 munsell_0.5.1 tibble_3.2.1 ## [64] pillar_1.9.0 htmltools_0.5.8.1 brio_1.1.5 ## [67] R6_2.5.1 rprojroot_2.0.4 tidygraph_1.3.1 ## [70] evaluate_0.24.0 lattice_0.22-6 qs_0.26.3 ## [73] backports_1.5.0 memoise_2.0.1 Rcpp_1.0.12 ## [76] fastmatch_1.1-4 svglite_2.1.3 gridExtra_2.3 ## [79] xfun_0.44 pkgconfig_2.0.3 57