diff --git a/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/load.py b/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/load.py
index 4f58bf4..f4f317e 100644
--- a/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/load.py
+++ b/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/load.py
@@ -14,7 +14,17 @@ from aki_prj23_transparenzregister.utils.mongo.connector import (
MongoConnector,
)
+
def load_directory_to_mongo(base_path: str, service: CompanyMongoService) -> int:
+ """Load all json files in a directory to MongoDB company collection.
+
+ Args:
+ base_path (str): Directory to scan
+ service (CompanyMongoService): MongoDB service
+
+ Returns:
+ int: Number of processed files
+ """
num_processed = 0
for file in tqdm(glob.glob1(base_path, "*.json")):
path = os.path.join(base_path, file)
@@ -26,10 +36,14 @@ def load_directory_to_mongo(base_path: str, service: CompanyMongoService) -> int
num_processed += 1
return num_processed
+
if __name__ == "__main__":
provider = JsonFileConfigProvider("secrets.json")
conn_string = provider.get_mongo_connection_string()
connector = MongoConnector(conn_string)
service = CompanyMongoService(connector)
- load_directory_to_mongo("./Jupyter/API-tests/Unternehmensregister/data/Unternehmensregister/transformed", service)
\ No newline at end of file
+ load_directory_to_mongo(
+ "./Jupyter/API-tests/Unternehmensregister/data/Unternehmensregister/transformed",
+ service,
+ )
diff --git a/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/__init__.py b/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/__init__.py
index e69de29..e6ede79 100644
--- a/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/__init__.py
+++ b/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/__init__.py
@@ -0,0 +1 @@
+"""Transform Unternehmensregister data to Transparenzregister API."""
diff --git a/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/main.py b/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/main.py
index 9025029..452e620 100644
--- a/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/main.py
+++ b/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/main.py
@@ -3,16 +3,21 @@ import dataclasses
import glob
import json
import os
-import re
import sys
+import typing
import xmltodict
-from tqdm import tqdm
from loguru import logger
+from tqdm import tqdm
-from aki_prj23_transparenzregister.utils.data_extraction.unternehmensregister.transform.v1 import v1
-from aki_prj23_transparenzregister.utils.data_extraction.unternehmensregister.transform.v3 import v3
from aki_prj23_transparenzregister.models.company import Company
+from aki_prj23_transparenzregister.utils.data_extraction.unternehmensregister.transform.v1 import (
+ v1,
+)
+from aki_prj23_transparenzregister.utils.data_extraction.unternehmensregister.transform.v3 import (
+ v3,
+)
+
def transform_xml_to_json(source_dir: str, target_dir: str) -> None:
"""Convert all xml files in a directory to json files.
@@ -36,13 +41,27 @@ def transform_xml_to_json(source_dir: str, target_dir: str) -> None:
except Exception as e:
logger.error(e)
-def determine_version(data: dict):
+
+def determine_version(data: dict) -> typing.Any:
+ """Determine Unternehmensregister data API version of given entry.
+
+ Args:
+ data (dict): Unternehmensregister data
+
+ Raises:
+ ValueError: If version could not be determined
+
+ Returns:
+ module: Version module
+ """
if "XJustiz_Daten" in data:
+ # TODO consider class inheritance for version modules
return v1
- elif "tns:nachrichtenkopf" in data[list(data.keys())[0]]:
+ if "tns:nachrichtenkopf" in data[list(data.keys())[0]]:
return v3
raise ValueError("Could not determine Unternehmensregister version.")
+
def map_unternehmensregister_json(data: dict) -> Company:
"""Processes the Unternehmensregister structured export to a Company by using several helper methods.
@@ -57,8 +76,6 @@ def map_unternehmensregister_json(data: dict) -> Company:
if __name__ == "__main__":
- from loguru import logger
-
base_path = "./Jupyter/API-tests/Unternehmensregister/data/Unternehmensregister"
for file in tqdm(glob.glob1(f"{base_path}/export", "*.json")):
path = os.path.join(f"{base_path}/export", file)
diff --git a/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/v1/v1.py b/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/v1/v1.py
index 92164fa..d9e8868 100644
--- a/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/v1/v1.py
+++ b/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/v1/v1.py
@@ -1,13 +1,5 @@
"""Transform raw Unternehmensregister export (*.xml) to processed .json files for loading."""
-import dataclasses
-import glob
-import json
-import os
import re
-import sys
-
-import xmltodict
-from tqdm import tqdm
from aki_prj23_transparenzregister.models.company import (
Capital,
diff --git a/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/v3/__init__.py b/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/v3/__init__.py
index e69de29..dcfe19d 100644
--- a/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/v3/__init__.py
+++ b/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/v3/__init__.py
@@ -0,0 +1 @@
+"""Transforms data from the Unternehmensregister v3 API to the data model of the Transparenzregister API."""
diff --git a/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/v3/role_mapper.py b/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/v3/role_mapper.py
index 81a24a8..586ccf9 100644
--- a/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/v3/role_mapper.py
+++ b/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/v3/role_mapper.py
@@ -1,34 +1,60 @@
+"""RoleMapper for Unternehmensregister v3 API."""
import os
+from pathlib import Path
+
import xmltodict
-from pathlib import Path
from aki_prj23_transparenzregister.models.company import RelationshipRoleEnum
class RoleMapper:
+ """RoleMapper for Unternehmensregister v3 API."""
+
singleton = None
- def __init__(self):
- # TODO Automated file retrieval
+
+ def __init__(self) -> None:
+ """Initialize RoleMapper by ingesting XSD schema file."""
+ # TODO Automated file retrieval
base_path = os.path.dirname(Path(__file__))
- path = os.path.join(base_path, "assets", "xjustiz_0040_cl_rollenbezeichnung_3_3.xsd")
+ path = os.path.join(
+ base_path, "assets", "xjustiz_0040_cl_rollenbezeichnung_3_3.xsd"
+ )
with open(path, encoding="utf-8") as file:
content = file.read()
data = xmltodict.parse(content)
mapping = {}
- for entry in data["xs:schema"]["xs:simpleType"]["xs:restriction"]["xs:enumeration"]:
- mapping[entry['@value']] = entry['xs:annotation']['xs:appinfo']['wert']
+ for entry in data["xs:schema"]["xs:simpleType"]["xs:restriction"][
+ "xs:enumeration"
+ ]:
+ mapping[entry["@value"]] = entry["xs:annotation"]["xs:appinfo"]["wert"]
self.dictionary = mapping
@staticmethod
- def mapper():
+ def mapper() -> "RoleMapper":
+ """Singleton getter for RoleMapper.
+
+ Returns:
+ RoleMapper: Singleton instance
+ """
if RoleMapper.singleton is None:
RoleMapper.singleton = RoleMapper()
return RoleMapper.singleton
def get(self, key: str) -> RelationshipRoleEnum:
+ """Get mapped value for given key.
+
+ Args:
+ key (str): Key to map
+
+ Returns:
+ RelationshipRoleEnum: Mapped value
+ """
return RelationshipRoleEnum(self.dictionary[key])
-if __name__ == '__main__':
+
+if __name__ == "__main__":
+ from loguru import logger
+
mapper = RoleMapper()
- print(mapper.get("201"))
\ No newline at end of file
+ logger.info(f"Mapped value for role 201 - {mapper.get('201')}")
diff --git a/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/v3/v3.py b/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/v3/v3.py
index f66dc69..cdc9981 100644
--- a/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/v3/v3.py
+++ b/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform/v3/v3.py
@@ -1,13 +1,8 @@
"""Transform raw Unternehmensregister export (*.xml) to processed .json files for loading."""
-import dataclasses
-import glob
-import json
-import os
-import re
-import sys
-import xmltodict
-from tqdm import tqdm
+import re
+import typing
+from collections.abc import Sequence
from aki_prj23_transparenzregister.models.company import (
Capital,
@@ -25,15 +20,14 @@ from aki_prj23_transparenzregister.models.company import (
PersonToCompanyRelationship,
RelationshipRoleEnum,
)
+from aki_prj23_transparenzregister.utils.data_extraction.unternehmensregister.transform.v3.role_mapper import (
+ RoleMapper,
+)
from aki_prj23_transparenzregister.utils.string_tools import (
remove_traling_and_leading_quotes,
transform_date_to_iso,
)
-from aki_prj23_transparenzregister.utils.data_extraction.unternehmensregister.transform.v3.role_mapper import (
- RoleMapper,
-)
-
def parse_date_of_birth(data: dict) -> str | None:
"""Retreives the date of birth from a stakeholder entry if possible.
@@ -56,6 +50,14 @@ def parse_date_of_birth(data: dict) -> str | None:
def map_role_id_to_enum(role_id: str) -> RelationshipRoleEnum:
+ """Map Unternehmensregister role ID to RelationshipRoleEnum.
+
+ Args:
+ role_id (str): Unternehmensregister role ID
+
+ Returns:
+ RelationshipRoleEnum: Role enum
+ """
mapper = RoleMapper.mapper()
return mapper.get(role_id)
@@ -229,10 +231,7 @@ def loc_from_beteiligung(data: dict) -> Location:
# "tns:anschrift",
]
base = traversal(data, base_path)
- if "tns:anschrift" in base:
- base = base["tns:anschrift"]
- else:
- base = base["tns:sitz"]
+ base = base["tns:anschrift"] if "tns:anschrift" in base else base["tns:sitz"]
if isinstance(base, list):
base = base[0]
@@ -318,7 +317,9 @@ def map_rechtsform(company_name: str, data: dict) -> CompanyTypeEnum | None:
return None
-def map_capital(data: dict, company_type: CompanyTypeEnum) -> Capital | None:
+def map_capital( # noqa: PLR0912
+ data: dict, company_type: CompanyTypeEnum
+) -> Capital | None:
"""Extracts the company capital from the given Unternehmensregister export.
Args:
@@ -332,7 +333,11 @@ def map_capital(data: dict, company_type: CompanyTypeEnum) -> Capital | None:
if "tns:auswahl_zusatzangaben" not in data["tns:fachdatenRegister"]:
return None
capital: dict = {"tns:zahl": 0.0, "tns:waehrung": {"code": None}}
- if company_type == CompanyTypeEnum.KG and "tns:personengesellschaft" in data["tns:fachdatenRegister"]["tns:auswahl_zusatzangaben"]:
+ if (
+ company_type == CompanyTypeEnum.KG
+ and "tns:personengesellschaft"
+ in data["tns:fachdatenRegister"]["tns:auswahl_zusatzangaben"]
+ ):
capital_type = "Hafteinlage"
base = data["tns:fachdatenRegister"]["tns:auswahl_zusatzangaben"][
"tns:personengesellschaft"
@@ -475,17 +480,40 @@ def map_founding_date(data: dict) -> str | None:
return None
-def traversal(data: dict, path: list[str | int]) -> any:
+def traversal(data: dict, path: Sequence[str | int | object]) -> typing.Any:
+ """Traverse a dict using list of keys.
+
+ Args:
+ data (dict): Data export
+ path (Sequence[str | int | object]): List of keys
+
+ Raises:
+ KeyError: If key not found
+
+ Returns:
+ any: Value at the end of the path
+ """
current = data
for key in path:
try:
current = current[key]
- except:
- raise KeyError(f"Key {key} not found")
+ except KeyError as e:
+ raise KeyError(f"Key {key} not found") from e
return current
def map_hr_number(data: dict) -> str:
+ """Extract the HR number from a given Unternehmensregister export.
+
+ Args:
+ data (dict): Data export
+
+ Raises:
+ KeyError: If key not found
+
+ Returns:
+ str: HR number
+ """
base = data["tns:grunddaten"]["tns:verfahrensdaten"]["tns:instanzdaten"][
"tns:aktenzeichen"
]["tns:auswahl_aktenzeichen"]
@@ -493,12 +521,20 @@ def map_hr_number(data: dict) -> str:
hr_prefix = base["tns:aktenzeichen.strukturiert"]["tns:register"]["code"]
hr_number = base["tns:aktenzeichen.strukturiert"]["tns:laufendeNummer"]
return f"{hr_prefix} {hr_number}"
- elif "tns:aktenzeichen.freitext" in base:
+ if "tns:aktenzeichen.freitext" in base:
return base["tns:aktenzeichen.freitext"]
- return hr_full
+ raise KeyError("Could not find HR number")
def map_district_court(data: dict) -> DistrictCourt:
+ """Extract the district court from a given Unternehmensregister export.
+
+ Args:
+ data (dict): Data export
+
+ Returns:
+ DistrictCourt: District court
+ """
base_path = [
"tns:grunddaten",
"tns:verfahrensdaten",
@@ -525,11 +561,13 @@ def map_company_id(data: dict) -> CompanyID:
CompanyID: ID of the company
"""
try:
- return CompanyID(
- **{"hr_number": map_hr_number(data), "district_court": map_district_court(data)}
- )
+ return CompanyID(map_hr_number(data), map_district_court(data)) # type: ignore
except KeyError:
- hr_number = data["tns:grunddaten"]["tns:verfahrensdaten"]["tns:beteiligung"][0]["tns:beteiligter"]["tns:auswahl_beteiligter"]["tns:organisation"]["tns:registereintragung"]["tns:registernummer"]
+ hr_number = data["tns:grunddaten"]["tns:verfahrensdaten"]["tns:beteiligung"][0][
+ "tns:beteiligter"
+ ]["tns:auswahl_beteiligter"]["tns:organisation"]["tns:registereintragung"][
+ "tns:registernummer"
+ ]
district_court = map_district_court(data)
return CompanyID(hr_number=hr_number, district_court=district_court)
diff --git a/tmp/transformation.ipynb b/tmp/transformation.ipynb
deleted file mode 100644
index cd06c34..0000000
--- a/tmp/transformation.ipynb
+++ /dev/null
@@ -1,1215 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "code",
- "execution_count": 15,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "id: 001\n",
- "value: Abwesenheitspfleger(in)\n",
- "id: 002\n",
- "value: Aliasidentität\n",
- "id: 003\n",
- "value: Angehörige(r)\n",
- "id: 004\n",
- "value: Angeklagte(r)\n",
- "id: 005\n",
- "value: Angeschuldigte(r)\n",
- "id: 006\n",
- "value: Annehmende(r)\n",
- "id: 007\n",
- "value: Anschlussberufungsbeklagte(r)\n",
- "id: 008\n",
- "value: Anschlussberufungskläger(in)\n",
- "id: 009\n",
- "value: Anschlussbeschwerdeführer(in)\n",
- "id: 010\n",
- "value: Anschlussbeschwerdegegner(in)\n",
- "id: 011\n",
- "value: Anschlussrechtsbeschwerdeführer(in)\n",
- "id: 012\n",
- "value: Anschlussrechtsbeschwerdegegner(in)\n",
- "id: 013\n",
- "value: Anschlussrevisionsbeklagte(r)\n",
- "id: 014\n",
- "value: Anschlussrevisionskläger(in)\n",
- "id: 015\n",
- "value: Antragsgegner(in)\n",
- "id: 016\n",
- "value: Antragsteller(in)\n",
- "id: 017\n",
- "value: Anzeigeerstatter(in)\n",
- "id: 018\n",
- "value: Anzunehmende(r)\n",
- "id: 019\n",
- "value: Arrestgläubiger(in)\n",
- "id: 020\n",
- "value: Arrestschuldner(in)\n",
- "id: 021\n",
- "value: Aufsichtsbehörde\n",
- "id: 022\n",
- "value: Ausschlagende(r)\n",
- "id: 023\n",
- "value: Beamter (Beamtin)\n",
- "id: 024\n",
- "value: Behörde\n",
- "id: 025\n",
- "value: Beigeladene(r)\n",
- "id: 026\n",
- "value: Beistand\n",
- "id: 027\n",
- "value: Bekannte(r)\n",
- "id: 028\n",
- "value: Beklagte(r)\n",
- "id: 029\n",
- "value: Berufungsbeklagte(r)\n",
- "id: 030\n",
- "value: Berufungskläger(in)\n",
- "id: 031\n",
- "value: Beschuldigte(r)\n",
- "id: 032\n",
- "value: Beschwerdeführer(in)\n",
- "id: 033\n",
- "value: Beschwerdegegner(in)\n",
- "id: 034\n",
- "value: Besucher(in)\n",
- "id: 036\n",
- "value: Betreibende(r) Gläubige(r)\n",
- "id: 037\n",
- "value: Betreuer(in)\n",
- "id: 038\n",
- "value: Betreute(r)\n",
- "id: 039\n",
- "value: Betreuungsbehörde\n",
- "id: 040\n",
- "value: Betroffene(r)\n",
- "id: 041\n",
- "value: Bevollmächtigte(r)\n",
- "id: 042\n",
- "value: Bewährungshelfer(in)\n",
- "id: 043\n",
- "value: Beweisanwalt (-anwältin)\n",
- "id: 044\n",
- "value: Bruder (Schwester)\n",
- "id: 045\n",
- "value: Bundeswehrdisziplinaranwalt (-anwältin)\n",
- "id: 046\n",
- "value: Bußgeldempfänger(in)\n",
- "id: 047\n",
- "value: Cousin(e)\n",
- "id: 048\n",
- "value: Dienstvorgesetzte(r)\n",
- "id: 049\n",
- "value: director\n",
- "id: 050\n",
- "value: Dolmetscher(in)\n",
- "id: 051\n",
- "value: Dritte(r)\n",
- "id: 052\n",
- "value: Drittschuldner(in)\n",
- "id: 053\n",
- "value: Drittwiderbeklagte(r)\n",
- "id: 054\n",
- "value: Drittwiderkläger(in)\n",
- "id: 056\n",
- "value: Ehemann (Ehefrau)\n",
- "id: 057\n",
- "value: Eigentümer(in)\n",
- "id: 058\n",
- "value: Eingetragene(r) Lebenspartner(in)\n",
- "id: 059\n",
- "value: Einleitungsbehörde\n",
- "id: 060\n",
- "value: Eltern\n",
- "id: 061\n",
- "value: Elternteil\n",
- "id: 062\n",
- "value: Enkel(in)\n",
- "id: 063\n",
- "value: Erbe (Erbin)\n",
- "id: 064\n",
- "value: Erbe (Erbin) (ausschlagend)\n",
- "id: 065\n",
- "value: Erbe (Erbin) (vorverstorben)\n",
- "id: 066\n",
- "value: Erblasser(in)\n",
- "id: 067\n",
- "value: Ergänzungspfleger(in)\n",
- "id: 068\n",
- "value: Erinnerungsführer(in)\n",
- "id: 069\n",
- "value: Erinnerungsgegner(in)\n",
- "id: 070\n",
- "value: Ersatzbetreuer(in)\n",
- "id: 071\n",
- "value: Ersteher(in)\n",
- "id: 072\n",
- "value: Erwerber(in)\n",
- "id: 073\n",
- "value: Erziehungsberechtigte(r)\n",
- "id: 074\n",
- "value: Frühere(r) Ehegatte (Ehegattin)\n",
- "id: 075\n",
- "value: Frühere(r) Beklagte(r)\n",
- "id: 076\n",
- "value: Frühere(r) Beteiligte(r)\n",
- "id: 077\n",
- "value: Frühere(r) Gläubiger(in)\n",
- "id: 078\n",
- "value: Frühere(r) Kläger(in)\n",
- "id: 079\n",
- "value: Frühere(r) Soldat(in)\n",
- "id: 080\n",
- "value: Gegenvormund\n",
- "id: 081\n",
- "value: Generalbundesanwalt (-anwältin)\n",
- "id: 082\n",
- "value: Gericht\n",
- "id: 083\n",
- "value: Gerichtsvollzieher(in)\n",
- "id: 084\n",
- "value: Geschädigte(r)\n",
- "id: 085\n",
- "value: Geschäftsführende(r) Gesellschafter(in)\n",
- "id: 086\n",
- "value: Geschäftsführer(in)\n",
- "id: 087\n",
- "value: Gesetzliche(r) Erbe (Erbin)\n",
- "id: 088\n",
- "value: Gesetzliche(r) Vertreter(in)\n",
- "id: 089\n",
- "value: Gläubiger(in)\n",
- "id: 090\n",
- "value: Großeltern\n",
- "id: 092\n",
- "value: Großvater (Großmutter)\n",
- "id: 093\n",
- "value: Hauptbevollmächtigte(r)\n",
- "id: 094\n",
- "value: Hoferbe (Hoferbin)\n",
- "id: 095\n",
- "value: Inhaber(in) der Firma\n",
- "id: 096\n",
- "value: Insolvenzverwalter(in)\n",
- "id: 097\n",
- "value: Jugendamt\n",
- "id: 098\n",
- "value: Kammer\n",
- "id: 099\n",
- "value: Kammermitglied\n",
- "id: 100\n",
- "value: Kind\n",
- "id: 101\n",
- "value: Kläger(in)\n",
- "id: 102\n",
- "value: Kontrollbetreuer(in)\n",
- "id: 103\n",
- "value: Korrespondenzanwalt (-anwältin)\n",
- "id: 104\n",
- "value: Kostenschuldner(in)\n",
- "id: 105\n",
- "value: Landwirtschaftsrichter(in)\n",
- "id: 106\n",
- "value: Lebenspartner(in)\n",
- "id: 107\n",
- "value: Liquidator(in)\n",
- "id: 108\n",
- "value: Minderjährige(r)\n",
- "id: 109\n",
- "value: Mitvormund\n",
- "id: 110\n",
- "value: Mündel\n",
- "id: 112\n",
- "value: Nachbesserungsgläubiger(in)\n",
- "id: 113\n",
- "value: Nachlasspfleger(in)\n",
- "id: 114\n",
- "value: Nachlassverwalter(in)\n",
- "id: 115\n",
- "value: Nebenkläger(in)\n",
- "id: 116\n",
- "value: Neffe (Nichte)\n",
- "id: 117\n",
- "value: Nicht verwandt\n",
- "id: 118\n",
- "value: Onkel (Tante)\n",
- "id: 119\n",
- "value: Opfer\n",
- "id: 120\n",
- "value: Pächter(in)\n",
- "id: 121\n",
- "value: Pflegeeltern\n",
- "id: 123\n",
- "value: Pfleger(in)\n",
- "id: 124\n",
- "value: Pfleger(in) für das Sammelvermögen\n",
- "id: 125\n",
- "value: Pfleger(in) für die Leibesfrucht\n",
- "id: 126\n",
- "value: Pflegevater (Pflegemutter) des Mündels\n",
- "id: 127\n",
- "value: Pflegling\n",
- "id: 128\n",
- "value: Pflichtverteidiger(in)\n",
- "id: 129\n",
- "value: Polizei\n",
- "id: 130\n",
- "value: Privatbeklagte(r)\n",
- "id: 131\n",
- "value: Privatkläger(in)\n",
- "id: 132\n",
- "value: Prozessbevollmächtigte(r)\n",
- "id: 133\n",
- "value: Prozesskostenhilfe-Anwalt (-Anwältin)\n",
- "id: 134\n",
- "value: Prozesskostenhilfe-Korrespondenzanwalt (-anwältin)\n",
- "id: 135\n",
- "value: Rechtsanwalt (-anwältin)\n",
- "id: 136\n",
- "value: Rechtsbeistand\n",
- "id: 137\n",
- "value: Rechtsbeschwerdeführer(in)\n",
- "id: 138\n",
- "value: Rechtsbeschwerdegegner(in)\n",
- "id: 139\n",
- "value: Revisionsbeklagte(r)\n",
- "id: 140\n",
- "value: Revisionskläger(in)\n",
- "id: 141\n",
- "value: Sachbearbeiter(in)\n",
- "id: 142\n",
- "value: Sachverständige(r)\n",
- "id: 143\n",
- "value: Schuldner(in)\n",
- "id: 144\n",
- "value: Schwager (Schwägerin)\n",
- "id: 146\n",
- "value: Schwiegersohn (Schwiegertochter)\n",
- "id: 148\n",
- "value: Schwiegervater (Schwiegermutter)\n",
- "id: 149\n",
- "value: Sohn (Tochter)\n",
- "id: 150\n",
- "value: Soldat(in)\n",
- "id: 151\n",
- "value: Sonstige(r) Beteiligte(r)\n",
- "id: 152\n",
- "value: Sonstige(r) Vertreter(in)\n",
- "id: 153\n",
- "value: Staatsanwaltschaft\n",
- "id: 154\n",
- "value: Stiefeltern\n",
- "id: 156\n",
- "value: Stiefvater (Stiefmutter)\n",
- "id: 157\n",
- "value: Streithelfer(in) Beklagte(r)\n",
- "id: 158\n",
- "value: Streithelfer(in) Kläger(in)\n",
- "id: 159\n",
- "value: Streitverkündete(r) Beklagte(r)\n",
- "id: 160\n",
- "value: Streitverkündete(r) Kläger(in)\n",
- "id: 161\n",
- "value: Terminsbevollmächtigte(r)\n",
- "id: 162\n",
- "value: Testamentsvollstrecker(in)\n",
- "id: 163\n",
- "value: Testator(in)\n",
- "id: 164\n",
- "value: Übernehmer(in)\n",
- "id: 165\n",
- "value: Unterbevollmächtigte(r)\n",
- "id: 166\n",
- "value: Ur-Enkel(in)\n",
- "id: 167\n",
- "value: Vater (Mutter)\n",
- "id: 168\n",
- "value: Veräußerer (Veräußerin)\n",
- "id: 169\n",
- "value: Verfahrensbevollmächtigte(r)\n",
- "id: 170\n",
- "value: Verfahrenskostenhilfe-Anwalt(-Anwältin)\n",
- "id: 171\n",
- "value: Verfahrenskostenhilfe-Korrespondenzanwalt (-anwältin)\n",
- "id: 172\n",
- "value: Verfahrenspfleger(in)\n",
- "id: 173\n",
- "value: Verfahrensvertreter(in) (§787 ZPO)\n",
- "id: 174\n",
- "value: Verfügungsbeklagte(r)\n",
- "id: 175\n",
- "value: Verfügungskläger(in)\n",
- "id: 176\n",
- "value: Verkehrsanwalt (-anwältin)\n",
- "id: 177\n",
- "value: Verlobte(r)\n",
- "id: 178\n",
- "value: Vermächtnisnehmer(in)\n",
- "id: 179\n",
- "value: Vermieter(in)\n",
- "id: 180\n",
- "value: Verpächter(in)\n",
- "id: 181\n",
- "value: Versorgungsträger(in)\n",
- "id: 182\n",
- "value: Verteidiger(in)\n",
- "id: 183\n",
- "value: Vertreter(in) der Interessen des Ausgleichsfonds\n",
- "id: 184\n",
- "value: Vertreter(in) der Staatskasse\n",
- "id: 185\n",
- "value: Vertreter(in) des Bundesinteresses beim Bundesverwaltungsgericht\n",
- "id: 186\n",
- "value: Vertreter(in) des öffentlichen Interesses\n",
- "id: 187\n",
- "value: Verurteilte(r)\n",
- "id: 188\n",
- "value: Verwalter(in) der Wohnungseigentümergemeinschaft\n",
- "id: 189\n",
- "value: Verwaltungsbehörde\n",
- "id: 190\n",
- "value: Vollstreckungsgläubiger(in)\n",
- "id: 191\n",
- "value: Vollstreckungsschuldner(in)\n",
- "id: 192\n",
- "value: Vorläufige(r) Betreuer(in)\n",
- "id: 193\n",
- "value: Vormund\n",
- "id: 194\n",
- "value: Vorstand\n",
- "id: 195\n",
- "value: Vorsorgebevollmächtigte(r)\n",
- "id: 196\n",
- "value: Wahlverteidiger(in)\n",
- "id: 197\n",
- "value: Widerbeklagte(r)\n",
- "id: 198\n",
- "value: Widerkläger(in)\n",
- "id: 199\n",
- "value: Wiederaufnahmebeklagte(r)\n",
- "id: 200\n",
- "value: Wiederaufnahmekläger(in)\n",
- "id: 201\n",
- "value: Zahlungs- und Auflagenempfänger(in)\n",
- "id: 202\n",
- "value: Zeuge (Zeugin)\n",
- "id: 203\n",
- "value: Zeugenbeistand\n",
- "id: 204\n",
- "value: Zulassungsantragsgegner(in)\n",
- "id: 205\n",
- "value: Zulassungsantragsteller(in)\n",
- "id: 206\n",
- "value: Zustellungsbevollmächtigte(r)\n",
- "id: 207\n",
- "value: Zustellungsvertreter(in) (§6 ZVG)\n",
- "id: 208\n",
- "value: Notar(in)\n",
- "id: 209\n",
- "value: Auskunftsempfänger(in)\n",
- "id: 210\n",
- "value: Melder(in)\n",
- "id: 211\n",
- "value: Verwahrstelle\n",
- "id: 212\n",
- "value: Aussteller(in)\n",
- "id: 213\n",
- "value: Berechtigte(r)\n",
- "id: 214\n",
- "value: Berechtigte(r) an einem Recht\n",
- "id: 215\n",
- "value: Einreicher(in)\n",
- "id: 216\n",
- "value: Erbbauberechtigte(r)\n",
- "id: 217\n",
- "value: Finanzamt\n",
- "id: 218\n",
- "value: Grundbuchvertreter(in)\n",
- "id: 219\n",
- "value: Insolvenzgericht\n",
- "id: 220\n",
- "value: Mitteilungsempfänger(in)\n",
- "id: 221\n",
- "value: Nacherbe (Nacherbin)\n",
- "id: 222\n",
- "value: Rechnungsempfänger(in)\n",
- "id: 223\n",
- "value: Veranlasser(in)\n",
- "id: 224\n",
- "value: Versteigerungsabteilung\n",
- "id: 225\n",
- "value: Vertretungsberechtigte(r)\n",
- "id: 226\n",
- "value: Zweitschuldner(in)\n",
- "id: 227\n",
- "value: Vertreter(in)\n",
- "id: 228\n",
- "value: Arbeitgeber(in)\n",
- "id: 229\n",
- "value: RV-Träger(in)\n",
- "id: 230\n",
- "value: Vollstreckungsstelle\n",
- "id: 231\n",
- "value: Abkömmling\n",
- "id: 232\n",
- "value: Kreditnehmer(in)\n",
- "id: 233\n",
- "value: Neu vorzutragende(r) Eigentümer(in)\n",
- "id: 234\n",
- "value: Notariatsverwalter(in)\n",
- "id: 235\n",
- "value: Notarvertreter(in)\n",
- "id: 236\n",
- "value: Partei kraft Amtes\n",
- "id: 237\n",
- "value: Sequester\n",
- "id: 238\n",
- "value: Treuhänder(in)\n",
- "id: 239\n",
- "value: Zustimmende(r)\n",
- "id: 240\n",
- "value: Gläubigervertreter(in)\n",
- "id: 241\n",
- "value: Schuldnervertreter(in)\n",
- "id: 242\n",
- "value: Zahlungsempfänger(in)\n",
- "id: 243\n",
- "value: Anteilsinhaber(in)\n",
- "id: 244\n",
- "value: Antragsteller(in) -Eröffnung\n",
- "id: 245\n",
- "value: Debitor(in)\n",
- "id: 246\n",
- "value: Gesellschafter(in)\n",
- "id: 247\n",
- "value: Handlungsbevollmächtigte(r)\n",
- "id: 248\n",
- "value: Mitglied einer Gesamt-Anteilsinhaberschaft\n",
- "id: 249\n",
- "value: Mitglied einer Gläubigergemeinschaft\n",
- "id: 250\n",
- "value: Mitreeder(in)\n",
- "id: 251\n",
- "value: Partner(in)\n",
- "id: 252\n",
- "value: Persönlich haftende(r) Gesellschafter(in)\n",
- "id: 253\n",
- "value: Prozesspfleger(in)\n",
- "id: 254\n",
- "value: Sachwalter(in)\n",
- "id: 255\n",
- "value: Treuhänder(in) (Wohlverhaltensperiode)\n",
- "id: 256\n",
- "value: Vermögensträger(in)\n",
- "id: 257\n",
- "value: Vorläufige(r) Insolvenzverwalter(in)\n",
- "id: 258\n",
- "value: Vorläufige(r) Treuhänder(in)\n",
- "id: 259\n",
- "value: Sondersachwalter(in)\n",
- "id: 260\n",
- "value: Sonderinsolvenzverwalter(in)\n",
- "id: 261\n",
- "value: Vorläufige(r) Sachwalter(in)\n",
- "id: 262\n",
- "value: Abwickler(in)\n",
- "id: 263\n",
- "value: Übernehmender Rechtsträger\n",
- "id: 264\n",
- "value: Aufsichtsrat (-rätin)\n",
- "id: 265\n",
- "value: Besondere(r) Vertreter(in) nach § 30 BGB\n",
- "id: 266\n",
- "value: Betriebsleiter(in)\n",
- "id: 267\n",
- "value: Empfangsberechtigte(r)\n",
- "id: 268\n",
- "value: Geschäftsführende(r) Direktor(in)\n",
- "id: 269\n",
- "value: Geschäftsleiter(in)\n",
- "id: 271\n",
- "value: Gründer(in)\n",
- "id: 272\n",
- "value: Gründungsprüfer(in)\n",
- "id: 273\n",
- "value: Hauptniederlassung\n",
- "id: 274\n",
- "value: Inhaber(in)\n",
- "id: 275\n",
- "value: Kommanditist(in)\n",
- "id: 276\n",
- "value: Konkursverwalter(in)\n",
- "id: 277\n",
- "value: Mitglied des Leitungsorgans\n",
- "id: 278\n",
- "value: Mitglied EWIV\n",
- "id: 279\n",
- "value: Nachgründungsprüfer(in)\n",
- "id: 280\n",
- "value: Nachtragsabwickler(in)\n",
- "id: 281\n",
- "value: Nachtragsliquidator(in)\n",
- "id: 282\n",
- "value: Notgeschäftsführer(in)\n",
- "id: 283\n",
- "value: Notliquidator(in)\n",
- "id: 284\n",
- "value: Notvorstand\n",
- "id: 285\n",
- "value: Prokurist(in)\n",
- "id: 287\n",
- "value: Rechtsträger(in)\n",
- "id: 288\n",
- "value: Registergericht\n",
- "id: 289\n",
- "value: Sacheinlagenprüfer(in)\n",
- "id: 290\n",
- "value: Ständige(r) Vertreter(in) für die Zweigniederlassung\n",
- "id: 291\n",
- "value: Übertragender Rechtsträger\n",
- "id: 292\n",
- "value: Vergleichsverwalter(in)\n",
- "id: 293\n",
- "value: Verwaltungsrat (-rätin)\n",
- "id: 294\n",
- "value: Vorstandsvorsitzende(r)\n",
- "id: 295\n",
- "value: Zweigniederlassung\n",
- "id: 296\n",
- "value: Vertreter(in) des Klägers/der Klägerin\n",
- "id: 297\n",
- "value: Vertreter(in) des/der Beklagten\n",
- "id: 298\n",
- "value: Bewährungshilfe\n",
- "id: 299\n",
- "value: Gerichtshilfe\n",
- "id: 300\n",
- "value: Justizvollzug\n",
- "id: 301\n",
- "value: Pseudoname\n",
- "id: 302\n",
- "value: Gesetzliche(r) Vertreter(in) des Gläubigers/der Gläubigerin\n",
- "id: 303\n",
- "value: Gesetzliche(r) Vertreter(in) des Schuldners/der Schuldnerin\n",
- "id: 304\n",
- "value: Bevollmächtigte(r) des Gläubigers/der Gläubigerin\n",
- "id: 305\n",
- "value: Bevollmächtigte(r) des Schuldners/der Schuldnerin\n",
- "id: 306\n",
- "value: Fahrzeughalter(in)\n",
- "id: 307\n",
- "value: Frühere(r) Lebenspartner(in)\n",
- "id: 308\n",
- "value: Sicherungsverwalter(in)\n",
- "id: 309\n",
- "value: Zwangsverwalter(in)\n",
- "id: 310\n",
- "value: Mieter(in)\n",
- "id: 311\n",
- "value: Bürge (Bürgin)\n",
- "id: 312\n",
- "value: Meistbietende(r)\n",
- "id: 313\n",
- "value: Abschlussprüfer(in)\n",
- "id: 314\n",
- "value: Antragstellervertreter(in)\n",
- "id: 315\n",
- "value: Aufsichtsratsvorsitzende(r)\n",
- "id: 316\n",
- "value: Berufskammer\n",
- "id: 317\n",
- "value: Betroffenenvertreter(in)\n",
- "id: 318\n",
- "value: Bürgermeister(in)\n",
- "id: 319\n",
- "value: Eingliederungsbeteiligte(r)\n",
- "id: 320\n",
- "value: Formwechselnder Rechtsträger\n",
- "id: 321\n",
- "value: Gewerbeamt\n",
- "id: 322\n",
- "value: Inhaber(in) (nicht eingetragen)\n",
- "id: 323\n",
- "value: Kostenempfänger(in)\n",
- "id: 324\n",
- "value: Nachlassgericht\n",
- "id: 325\n",
- "value: Sonderprüfer(in)\n",
- "id: 326\n",
- "value: Sonstige(r) gerichtlich bestellte(r) Vertreter(in)\n",
- "id: 327\n",
- "value: Sonstige(r) gesetzliche(r) Vertreter(in) BGB\n",
- "id: 328\n",
- "value: Sonstige(r) organschaftliche(r) Vertreter(in) HRB\n",
- "id: 329\n",
- "value: Standardkostenschuldner(in)\n",
- "id: 330\n",
- "value: Übernahmeschuldner(in)\n",
- "id: 331\n",
- "value: Unternehmensvertragsbeteiligte(r)\n",
- "id: 332\n",
- "value: Vertreter(in) des persönlich haftenden Gesellschafters\n",
- "id: 333\n",
- "value: Werkleiter(in)\n",
- "id: 334\n",
- "value: Mehrfachsitz\n",
- "id: 335\n",
- "value: Mitglied VR\n",
- "id: 336\n",
- "value: Mitglied e. BGB-Gesellschaft als Abwicklerin\n",
- "id: 337\n",
- "value: Mitglied e. BGB-Gesellschaft als ges. Vertreterin\n",
- "id: 338\n",
- "value: Mitglied e. BGB-Gesellschaft als Kommanditistin\n",
- "id: 339\n",
- "value: Mitglied e. BGB-Gesellschaft als Liquidatorin\n",
- "id: 340\n",
- "value: Mitglied e. BGB-Gesellschaft als Mitglied e. EWIV\n",
- "id: 341\n",
- "value: Mitglied e. BGB-Gesellschaft als phG\n",
- "id: 342\n",
- "value: Mitglied e. Erbengemeinschaft als ges. Vertreterin\n",
- "id: 343\n",
- "value: Mitglied e. Erbengemeinschaft als Inhaberin\n",
- "id: 344\n",
- "value: Mitglied e. Erbengemeinschaft als Kommanditistin\n",
- "id: 345\n",
- "value: Mitglied e. Erbengemeinschaft als Mitglied e. EWIV\n",
- "id: 346\n",
- "value: Nebensitz\n",
- "id: 347\n",
- "value: Gesamthandsgemeinschaft\n",
- "id: 348\n",
- "value: Mitglied einer Gesamthandsgemeinschaft\n",
- "id: 349\n",
- "value: Leitungsperson i.S.v. § 30 Abs. 1 Nr. 1 bis 5 OWiG\n",
- "id: 350\n",
- "value: Einziehungsbeteiligter\n",
- "id: 351\n",
- "value: Antragsgegnervertreter(in)\n",
- "id: 352\n",
- "value: Verbraucher(in)\n",
- "id: 353\n",
- "value: Vielmelder(in)\n",
- "id: 354\n",
- "value: Vollmachtgeber(in)\n",
- "id: 355\n",
- "value: Nebenbeteiligte(r) § 444 StPO\n",
- "id: 356\n",
- "value: Verfallsbeteiligte(r) § 442 StPO a.F.\n",
- "id: 357\n",
- "value: Verfolgte(r) § 34 IRG\n",
- "id: 358\n",
- "value: Rechtsnachfolger(in)\n",
- "id: 359\n",
- "value: Statuswechselnde(r) Rechtsträger(in)\n",
- "id: 360\n",
- "value: Haftangehörige\n"
- ]
- },
- {
- "data": {
- "text/plain": [
- "{'001': 'Abwesenheitspfleger(in)',\n",
- " '002': 'Aliasidentität',\n",
- " '003': 'Angehörige(r)',\n",
- " '004': 'Angeklagte(r)',\n",
- " '005': 'Angeschuldigte(r)',\n",
- " '006': 'Annehmende(r)',\n",
- " '007': 'Anschlussberufungsbeklagte(r)',\n",
- " '008': 'Anschlussberufungskläger(in)',\n",
- " '009': 'Anschlussbeschwerdeführer(in)',\n",
- " '010': 'Anschlussbeschwerdegegner(in)',\n",
- " '011': 'Anschlussrechtsbeschwerdeführer(in)',\n",
- " '012': 'Anschlussrechtsbeschwerdegegner(in)',\n",
- " '013': 'Anschlussrevisionsbeklagte(r)',\n",
- " '014': 'Anschlussrevisionskläger(in)',\n",
- " '015': 'Antragsgegner(in)',\n",
- " '016': 'Antragsteller(in)',\n",
- " '017': 'Anzeigeerstatter(in)',\n",
- " '018': 'Anzunehmende(r)',\n",
- " '019': 'Arrestgläubiger(in)',\n",
- " '020': 'Arrestschuldner(in)',\n",
- " '021': 'Aufsichtsbehörde',\n",
- " '022': 'Ausschlagende(r)',\n",
- " '023': 'Beamter (Beamtin)',\n",
- " '024': 'Behörde',\n",
- " '025': 'Beigeladene(r)',\n",
- " '026': 'Beistand',\n",
- " '027': 'Bekannte(r)',\n",
- " '028': 'Beklagte(r)',\n",
- " '029': 'Berufungsbeklagte(r)',\n",
- " '030': 'Berufungskläger(in)',\n",
- " '031': 'Beschuldigte(r)',\n",
- " '032': 'Beschwerdeführer(in)',\n",
- " '033': 'Beschwerdegegner(in)',\n",
- " '034': 'Besucher(in)',\n",
- " '036': 'Betreibende(r) Gläubige(r)',\n",
- " '037': 'Betreuer(in)',\n",
- " '038': 'Betreute(r)',\n",
- " '039': 'Betreuungsbehörde',\n",
- " '040': 'Betroffene(r)',\n",
- " '041': 'Bevollmächtigte(r)',\n",
- " '042': 'Bewährungshelfer(in)',\n",
- " '043': 'Beweisanwalt (-anwältin)',\n",
- " '044': 'Bruder (Schwester)',\n",
- " '045': 'Bundeswehrdisziplinaranwalt (-anwältin)',\n",
- " '046': 'Bußgeldempfänger(in)',\n",
- " '047': 'Cousin(e)',\n",
- " '048': 'Dienstvorgesetzte(r)',\n",
- " '049': 'director',\n",
- " '050': 'Dolmetscher(in)',\n",
- " '051': 'Dritte(r)',\n",
- " '052': 'Drittschuldner(in)',\n",
- " '053': 'Drittwiderbeklagte(r)',\n",
- " '054': 'Drittwiderkläger(in)',\n",
- " '056': 'Ehemann (Ehefrau)',\n",
- " '057': 'Eigentümer(in)',\n",
- " '058': 'Eingetragene(r) Lebenspartner(in)',\n",
- " '059': 'Einleitungsbehörde',\n",
- " '060': 'Eltern',\n",
- " '061': 'Elternteil',\n",
- " '062': 'Enkel(in)',\n",
- " '063': 'Erbe (Erbin)',\n",
- " '064': 'Erbe (Erbin) (ausschlagend)',\n",
- " '065': 'Erbe (Erbin) (vorverstorben)',\n",
- " '066': 'Erblasser(in)',\n",
- " '067': 'Ergänzungspfleger(in)',\n",
- " '068': 'Erinnerungsführer(in)',\n",
- " '069': 'Erinnerungsgegner(in)',\n",
- " '070': 'Ersatzbetreuer(in)',\n",
- " '071': 'Ersteher(in)',\n",
- " '072': 'Erwerber(in)',\n",
- " '073': 'Erziehungsberechtigte(r)',\n",
- " '074': 'Frühere(r) Ehegatte (Ehegattin)',\n",
- " '075': 'Frühere(r) Beklagte(r)',\n",
- " '076': 'Frühere(r) Beteiligte(r)',\n",
- " '077': 'Frühere(r) Gläubiger(in)',\n",
- " '078': 'Frühere(r) Kläger(in)',\n",
- " '079': 'Frühere(r) Soldat(in)',\n",
- " '080': 'Gegenvormund',\n",
- " '081': 'Generalbundesanwalt (-anwältin)',\n",
- " '082': 'Gericht',\n",
- " '083': 'Gerichtsvollzieher(in)',\n",
- " '084': 'Geschädigte(r)',\n",
- " '085': 'Geschäftsführende(r) Gesellschafter(in)',\n",
- " '086': 'Geschäftsführer(in)',\n",
- " '087': 'Gesetzliche(r) Erbe (Erbin)',\n",
- " '088': 'Gesetzliche(r) Vertreter(in)',\n",
- " '089': 'Gläubiger(in)',\n",
- " '090': 'Großeltern',\n",
- " '092': 'Großvater (Großmutter)',\n",
- " '093': 'Hauptbevollmächtigte(r)',\n",
- " '094': 'Hoferbe (Hoferbin)',\n",
- " '095': 'Inhaber(in) der Firma',\n",
- " '096': 'Insolvenzverwalter(in)',\n",
- " '097': 'Jugendamt',\n",
- " '098': 'Kammer',\n",
- " '099': 'Kammermitglied',\n",
- " '100': 'Kind',\n",
- " '101': 'Kläger(in)',\n",
- " '102': 'Kontrollbetreuer(in)',\n",
- " '103': 'Korrespondenzanwalt (-anwältin)',\n",
- " '104': 'Kostenschuldner(in)',\n",
- " '105': 'Landwirtschaftsrichter(in)',\n",
- " '106': 'Lebenspartner(in)',\n",
- " '107': 'Liquidator(in)',\n",
- " '108': 'Minderjährige(r)',\n",
- " '109': 'Mitvormund',\n",
- " '110': 'Mündel',\n",
- " '112': 'Nachbesserungsgläubiger(in)',\n",
- " '113': 'Nachlasspfleger(in)',\n",
- " '114': 'Nachlassverwalter(in)',\n",
- " '115': 'Nebenkläger(in)',\n",
- " '116': 'Neffe (Nichte)',\n",
- " '117': 'Nicht verwandt',\n",
- " '118': 'Onkel (Tante)',\n",
- " '119': 'Opfer',\n",
- " '120': 'Pächter(in)',\n",
- " '121': 'Pflegeeltern',\n",
- " '123': 'Pfleger(in)',\n",
- " '124': 'Pfleger(in) für das Sammelvermögen',\n",
- " '125': 'Pfleger(in) für die Leibesfrucht',\n",
- " '126': 'Pflegevater (Pflegemutter) des Mündels',\n",
- " '127': 'Pflegling',\n",
- " '128': 'Pflichtverteidiger(in)',\n",
- " '129': 'Polizei',\n",
- " '130': 'Privatbeklagte(r)',\n",
- " '131': 'Privatkläger(in)',\n",
- " '132': 'Prozessbevollmächtigte(r)',\n",
- " '133': 'Prozesskostenhilfe-Anwalt (-Anwältin)',\n",
- " '134': 'Prozesskostenhilfe-Korrespondenzanwalt (-anwältin)',\n",
- " '135': 'Rechtsanwalt (-anwältin)',\n",
- " '136': 'Rechtsbeistand',\n",
- " '137': 'Rechtsbeschwerdeführer(in)',\n",
- " '138': 'Rechtsbeschwerdegegner(in)',\n",
- " '139': 'Revisionsbeklagte(r)',\n",
- " '140': 'Revisionskläger(in)',\n",
- " '141': 'Sachbearbeiter(in)',\n",
- " '142': 'Sachverständige(r)',\n",
- " '143': 'Schuldner(in)',\n",
- " '144': 'Schwager (Schwägerin)',\n",
- " '146': 'Schwiegersohn (Schwiegertochter)',\n",
- " '148': 'Schwiegervater (Schwiegermutter)',\n",
- " '149': 'Sohn (Tochter)',\n",
- " '150': 'Soldat(in)',\n",
- " '151': 'Sonstige(r) Beteiligte(r)',\n",
- " '152': 'Sonstige(r) Vertreter(in)',\n",
- " '153': 'Staatsanwaltschaft',\n",
- " '154': 'Stiefeltern',\n",
- " '156': 'Stiefvater (Stiefmutter)',\n",
- " '157': 'Streithelfer(in) Beklagte(r)',\n",
- " '158': 'Streithelfer(in) Kläger(in)',\n",
- " '159': 'Streitverkündete(r) Beklagte(r)',\n",
- " '160': 'Streitverkündete(r) Kläger(in)',\n",
- " '161': 'Terminsbevollmächtigte(r)',\n",
- " '162': 'Testamentsvollstrecker(in)',\n",
- " '163': 'Testator(in)',\n",
- " '164': 'Übernehmer(in)',\n",
- " '165': 'Unterbevollmächtigte(r)',\n",
- " '166': 'Ur-Enkel(in)',\n",
- " '167': 'Vater (Mutter)',\n",
- " '168': 'Veräußerer (Veräußerin)',\n",
- " '169': 'Verfahrensbevollmächtigte(r)',\n",
- " '170': 'Verfahrenskostenhilfe-Anwalt(-Anwältin)',\n",
- " '171': 'Verfahrenskostenhilfe-Korrespondenzanwalt (-anwältin)',\n",
- " '172': 'Verfahrenspfleger(in)',\n",
- " '173': 'Verfahrensvertreter(in) (§787 ZPO)',\n",
- " '174': 'Verfügungsbeklagte(r)',\n",
- " '175': 'Verfügungskläger(in)',\n",
- " '176': 'Verkehrsanwalt (-anwältin)',\n",
- " '177': 'Verlobte(r)',\n",
- " '178': 'Vermächtnisnehmer(in)',\n",
- " '179': 'Vermieter(in)',\n",
- " '180': 'Verpächter(in)',\n",
- " '181': 'Versorgungsträger(in)',\n",
- " '182': 'Verteidiger(in)',\n",
- " '183': 'Vertreter(in) der Interessen des Ausgleichsfonds',\n",
- " '184': 'Vertreter(in) der Staatskasse',\n",
- " '185': 'Vertreter(in) des Bundesinteresses beim Bundesverwaltungsgericht',\n",
- " '186': 'Vertreter(in) des öffentlichen Interesses',\n",
- " '187': 'Verurteilte(r)',\n",
- " '188': 'Verwalter(in) der Wohnungseigentümergemeinschaft',\n",
- " '189': 'Verwaltungsbehörde',\n",
- " '190': 'Vollstreckungsgläubiger(in)',\n",
- " '191': 'Vollstreckungsschuldner(in)',\n",
- " '192': 'Vorläufige(r) Betreuer(in)',\n",
- " '193': 'Vormund',\n",
- " '194': 'Vorstand',\n",
- " '195': 'Vorsorgebevollmächtigte(r)',\n",
- " '196': 'Wahlverteidiger(in)',\n",
- " '197': 'Widerbeklagte(r)',\n",
- " '198': 'Widerkläger(in)',\n",
- " '199': 'Wiederaufnahmebeklagte(r)',\n",
- " '200': 'Wiederaufnahmekläger(in)',\n",
- " '201': 'Zahlungs- und Auflagenempfänger(in)',\n",
- " '202': 'Zeuge (Zeugin)',\n",
- " '203': 'Zeugenbeistand',\n",
- " '204': 'Zulassungsantragsgegner(in)',\n",
- " '205': 'Zulassungsantragsteller(in)',\n",
- " '206': 'Zustellungsbevollmächtigte(r)',\n",
- " '207': 'Zustellungsvertreter(in) (§6 ZVG)',\n",
- " '208': 'Notar(in)',\n",
- " '209': 'Auskunftsempfänger(in)',\n",
- " '210': 'Melder(in)',\n",
- " '211': 'Verwahrstelle',\n",
- " '212': 'Aussteller(in)',\n",
- " '213': 'Berechtigte(r)',\n",
- " '214': 'Berechtigte(r) an einem Recht',\n",
- " '215': 'Einreicher(in)',\n",
- " '216': 'Erbbauberechtigte(r)',\n",
- " '217': 'Finanzamt',\n",
- " '218': 'Grundbuchvertreter(in)',\n",
- " '219': 'Insolvenzgericht',\n",
- " '220': 'Mitteilungsempfänger(in)',\n",
- " '221': 'Nacherbe (Nacherbin)',\n",
- " '222': 'Rechnungsempfänger(in)',\n",
- " '223': 'Veranlasser(in)',\n",
- " '224': 'Versteigerungsabteilung',\n",
- " '225': 'Vertretungsberechtigte(r)',\n",
- " '226': 'Zweitschuldner(in)',\n",
- " '227': 'Vertreter(in)',\n",
- " '228': 'Arbeitgeber(in)',\n",
- " '229': 'RV-Träger(in)',\n",
- " '230': 'Vollstreckungsstelle',\n",
- " '231': 'Abkömmling',\n",
- " '232': 'Kreditnehmer(in)',\n",
- " '233': 'Neu vorzutragende(r) Eigentümer(in)',\n",
- " '234': 'Notariatsverwalter(in)',\n",
- " '235': 'Notarvertreter(in)',\n",
- " '236': 'Partei kraft Amtes',\n",
- " '237': 'Sequester',\n",
- " '238': 'Treuhänder(in)',\n",
- " '239': 'Zustimmende(r)',\n",
- " '240': 'Gläubigervertreter(in)',\n",
- " '241': 'Schuldnervertreter(in)',\n",
- " '242': 'Zahlungsempfänger(in)',\n",
- " '243': 'Anteilsinhaber(in)',\n",
- " '244': 'Antragsteller(in) -Eröffnung',\n",
- " '245': 'Debitor(in)',\n",
- " '246': 'Gesellschafter(in)',\n",
- " '247': 'Handlungsbevollmächtigte(r)',\n",
- " '248': 'Mitglied einer Gesamt-Anteilsinhaberschaft',\n",
- " '249': 'Mitglied einer Gläubigergemeinschaft',\n",
- " '250': 'Mitreeder(in)',\n",
- " '251': 'Partner(in)',\n",
- " '252': 'Persönlich haftende(r) Gesellschafter(in)',\n",
- " '253': 'Prozesspfleger(in)',\n",
- " '254': 'Sachwalter(in)',\n",
- " '255': 'Treuhänder(in) (Wohlverhaltensperiode)',\n",
- " '256': 'Vermögensträger(in)',\n",
- " '257': 'Vorläufige(r) Insolvenzverwalter(in)',\n",
- " '258': 'Vorläufige(r) Treuhänder(in)',\n",
- " '259': 'Sondersachwalter(in)',\n",
- " '260': 'Sonderinsolvenzverwalter(in)',\n",
- " '261': 'Vorläufige(r) Sachwalter(in)',\n",
- " '262': 'Abwickler(in)',\n",
- " '263': 'Übernehmender Rechtsträger',\n",
- " '264': 'Aufsichtsrat (-rätin)',\n",
- " '265': 'Besondere(r) Vertreter(in) nach § 30 BGB',\n",
- " '266': 'Betriebsleiter(in)',\n",
- " '267': 'Empfangsberechtigte(r)',\n",
- " '268': 'Geschäftsführende(r) Direktor(in)',\n",
- " '269': 'Geschäftsleiter(in)',\n",
- " '271': 'Gründer(in)',\n",
- " '272': 'Gründungsprüfer(in)',\n",
- " '273': 'Hauptniederlassung',\n",
- " '274': 'Inhaber(in)',\n",
- " '275': 'Kommanditist(in)',\n",
- " '276': 'Konkursverwalter(in)',\n",
- " '277': 'Mitglied des Leitungsorgans',\n",
- " '278': 'Mitglied EWIV',\n",
- " '279': 'Nachgründungsprüfer(in)',\n",
- " '280': 'Nachtragsabwickler(in)',\n",
- " '281': 'Nachtragsliquidator(in)',\n",
- " '282': 'Notgeschäftsführer(in)',\n",
- " '283': 'Notliquidator(in)',\n",
- " '284': 'Notvorstand',\n",
- " '285': 'Prokurist(in)',\n",
- " '287': 'Rechtsträger(in)',\n",
- " '288': 'Registergericht',\n",
- " '289': 'Sacheinlagenprüfer(in)',\n",
- " '290': 'Ständige(r) Vertreter(in) für die Zweigniederlassung',\n",
- " '291': 'Übertragender Rechtsträger',\n",
- " '292': 'Vergleichsverwalter(in)',\n",
- " '293': 'Verwaltungsrat (-rätin)',\n",
- " '294': 'Vorstandsvorsitzende(r)',\n",
- " '295': 'Zweigniederlassung',\n",
- " '296': 'Vertreter(in) des Klägers/der Klägerin',\n",
- " '297': 'Vertreter(in) des/der Beklagten',\n",
- " '298': 'Bewährungshilfe',\n",
- " '299': 'Gerichtshilfe',\n",
- " '300': 'Justizvollzug',\n",
- " '301': 'Pseudoname',\n",
- " '302': 'Gesetzliche(r) Vertreter(in) des Gläubigers/der Gläubigerin',\n",
- " '303': 'Gesetzliche(r) Vertreter(in) des Schuldners/der Schuldnerin',\n",
- " '304': 'Bevollmächtigte(r) des Gläubigers/der Gläubigerin',\n",
- " '305': 'Bevollmächtigte(r) des Schuldners/der Schuldnerin',\n",
- " '306': 'Fahrzeughalter(in)',\n",
- " '307': 'Frühere(r) Lebenspartner(in)',\n",
- " '308': 'Sicherungsverwalter(in)',\n",
- " '309': 'Zwangsverwalter(in)',\n",
- " '310': 'Mieter(in)',\n",
- " '311': 'Bürge (Bürgin)',\n",
- " '312': 'Meistbietende(r)',\n",
- " '313': 'Abschlussprüfer(in)',\n",
- " '314': 'Antragstellervertreter(in)',\n",
- " '315': 'Aufsichtsratsvorsitzende(r)',\n",
- " '316': 'Berufskammer',\n",
- " '317': 'Betroffenenvertreter(in)',\n",
- " '318': 'Bürgermeister(in)',\n",
- " '319': 'Eingliederungsbeteiligte(r)',\n",
- " '320': 'Formwechselnder Rechtsträger',\n",
- " '321': 'Gewerbeamt',\n",
- " '322': 'Inhaber(in) (nicht eingetragen)',\n",
- " '323': 'Kostenempfänger(in)',\n",
- " '324': 'Nachlassgericht',\n",
- " '325': 'Sonderprüfer(in)',\n",
- " '326': 'Sonstige(r) gerichtlich bestellte(r) Vertreter(in)',\n",
- " '327': 'Sonstige(r) gesetzliche(r) Vertreter(in) BGB',\n",
- " '328': 'Sonstige(r) organschaftliche(r) Vertreter(in) HRB',\n",
- " '329': 'Standardkostenschuldner(in)',\n",
- " '330': 'Übernahmeschuldner(in)',\n",
- " '331': 'Unternehmensvertragsbeteiligte(r)',\n",
- " '332': 'Vertreter(in) des persönlich haftenden Gesellschafters',\n",
- " '333': 'Werkleiter(in)',\n",
- " '334': 'Mehrfachsitz',\n",
- " '335': 'Mitglied VR',\n",
- " '336': 'Mitglied e. BGB-Gesellschaft als Abwicklerin',\n",
- " '337': 'Mitglied e. BGB-Gesellschaft als ges. Vertreterin',\n",
- " '338': 'Mitglied e. BGB-Gesellschaft als Kommanditistin',\n",
- " '339': 'Mitglied e. BGB-Gesellschaft als Liquidatorin',\n",
- " '340': 'Mitglied e. BGB-Gesellschaft als Mitglied e. EWIV',\n",
- " '341': 'Mitglied e. BGB-Gesellschaft als phG',\n",
- " '342': 'Mitglied e. Erbengemeinschaft als ges. Vertreterin',\n",
- " '343': 'Mitglied e. Erbengemeinschaft als Inhaberin',\n",
- " '344': 'Mitglied e. Erbengemeinschaft als Kommanditistin',\n",
- " '345': 'Mitglied e. Erbengemeinschaft als Mitglied e. EWIV',\n",
- " '346': 'Nebensitz',\n",
- " '347': 'Gesamthandsgemeinschaft',\n",
- " '348': 'Mitglied einer Gesamthandsgemeinschaft',\n",
- " '349': 'Leitungsperson i.S.v. § 30 Abs. 1 Nr. 1 bis 5 OWiG',\n",
- " '350': 'Einziehungsbeteiligter',\n",
- " '351': 'Antragsgegnervertreter(in)',\n",
- " '352': 'Verbraucher(in)',\n",
- " '353': 'Vielmelder(in)',\n",
- " '354': 'Vollmachtgeber(in)',\n",
- " '355': 'Nebenbeteiligte(r) § 444 StPO',\n",
- " '356': 'Verfallsbeteiligte(r) § 442 StPO a.F.',\n",
- " '357': 'Verfolgte(r) § 34 IRG',\n",
- " '358': 'Rechtsnachfolger(in)',\n",
- " '359': 'Statuswechselnde(r) Rechtsträger(in)',\n",
- " '360': 'Haftangehörige'}"
- ]
- },
- "execution_count": 15,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "import xmltodict\n",
- "\n",
- "with open('../src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/xjustiz_0040_cl_rollenbezeichnung_3_3.xsd', encoding=\"utf-8\") as file:\n",
- " content = file.read()\n",
- " data = xmltodict.parse(content)\n",
- "mapping = {}\n",
- "for entry in data[\"xs:schema\"][\"xs:simpleType\"][\"xs:restriction\"][\"xs:enumeration\"]:\n",
- " mapping[entry['@value']] = entry['xs:annotation']['xs:appinfo']['wert']\n",
- " print(f\"id: {entry['@value']}\")\n",
- " print(f\"value: {entry['xs:annotation']['xs:appinfo']['wert']}\")\n",
- "mapping"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 19,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "'Geschäftsführer(in)'"
- ]
- },
- "execution_count": 19,
- "metadata": {},
- "output_type": "execute_result"
- },
- {
- "ename": "",
- "evalue": "",
- "output_type": "error",
- "traceback": [
- "\u001b[1;31mThe Kernel crashed while executing code in the the current cell or a previous cell. Please review the code in the cell(s) to identify a possible cause of the failure. Click here for more info. View Jupyter log for further details."
- ]
- }
- ],
- "source": [
- "mapping[\"086\"]"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 4,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Company(id=CompanyID(district_court=DistrictCourt(name='Amtsgericht Hamm', city='Hamm'), hr_number='HRB 5363'), location=Location(city='Bönen', street='Siemensstraße', house_number='25-27', zip_code='59199'), name='GEA Farm Technologies GmbH', last_update='2023-10-27', relationships=[PersonToCompanyRelationship(role=, location=Location(city='Oelde', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Reinhard', lastname='Gebing'), date_of_birth='1964-04-26'), PersonToCompanyRelationship(role=, location=Location(city='Wetter', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Markus', lastname='Kreft'), date_of_birth='1966-04-03'), PersonToCompanyRelationship(role=, location=Location(city='Holzminden', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Kai', lastname='Luntz'), date_of_birth='1970-12-04'), PersonToCompanyRelationship(role=, location=Location(city='Rheda-Wiedenbrück', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Thomas', lastname='Mader'), date_of_birth='1972-05-24'), PersonToCompanyRelationship(role=, location=Location(city='Düsseldorf', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Peter', lastname='Lauwers'), date_of_birth='1970-03-26'), PersonToCompanyRelationship(role=, location=Location(city='Erkrath', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Erkul', lastname='Basaran'), date_of_birth='1977-05-06'), PersonToCompanyRelationship(role=, location=Location(city='Bochum', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Henrik', lastname='Böttner'), date_of_birth='1982-11-07'), PersonToCompanyRelationship(role=, location=Location(city='Oelde', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Ulrich', lastname='Raßenhövel'), date_of_birth='1969-04-16'), PersonToCompanyRelationship(role=, location=Location(city='Herdecke', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Andreas', lastname='Naroska'), date_of_birth='1967-03-23'), PersonToCompanyRelationship(role=, location=Location(city='Witten', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Mark', lastname='Kramps'), date_of_birth='1967-09-04'), PersonToCompanyRelationship(role=, location=Location(city='Dortmund', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Ralf', lastname='Barkmeyer'), date_of_birth='1974-02-28'), PersonToCompanyRelationship(role=, location=Location(city='Tönnisvorst', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Holger', lastname='Siegwarth'), date_of_birth='1967-05-13'), PersonToCompanyRelationship(role=, location=Location(city='Herne', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Oliver', lastname='Liß'), date_of_birth='1981-04-13'), PersonToCompanyRelationship(role=, location=Location(city='Göppingen', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Liang', lastname='Cheng'), date_of_birth='1980-12-29'), PersonToCompanyRelationship(role=, location=Location(city='Beckum', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Astrid', lastname='Dörner-Rodeheger'), date_of_birth='1968-12-24'), PersonToCompanyRelationship(role=, location=Location(city='Dortmund', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Jon', lastname='Lange'), date_of_birth='1978-04-25'), PersonToCompanyRelationship(role=, location=Location(city='Werne', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Ralf', lastname='Frombach'), date_of_birth='1977-01-25'), PersonToCompanyRelationship(role=, location=Location(city='Berlin', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Sven', lastname='Hommel'), date_of_birth='1979-04-22'), PersonToCompanyRelationship(role=, location=Location(city='Oberhausen', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Matthias', lastname='Peters'), date_of_birth='1973-08-28')], company_type=, capital=Capital(value=5115000.0, currency=, type=), business_purpose='Entwicklung, Herstellung und der Vertrieb von Landtechnik, insbesondere\\n von Komponenten und Anlagen (a) zur Gewinnung, Kühlung, Behandlung und Lagerung von\\n Milch; (b) für das Milchvieh-Herdenmanagement; (c) zur Tierhygiene und Sicherung der\\n Milchqualität und (d) zur Aufstallung von Tieren; sowie die Herstellung und der\\n Vertrieb von Anlagen und Fahrzeugen zur Aufbereitung und zum Transport von Gülle.', founding_date='1995-04-25')\n"
- ]
- }
- ],
- "source": [
- "import json\n",
- "import dataclasses\n",
- "from aki_prj23_transparenzregister.utils.data_extraction.unternehmensregister.transform import map_unternehmensregister_json\n",
- "\n",
- "with open('../tmp/json/GEAFarmTechnologiesGmbH.json', \"r\") as file:\n",
- " content = json.load(file)\n",
- " company_data = map_unternehmensregister_json(content)\n",
- " print(company_data)\n",
- " with open('../tmp/transformed/GEAFarmTechnologiesGmbH.json', \"w+\", encoding=\"utf-8\") as file:\n",
- " json.dump(dataclasses.asdict(company_data), file, ensure_ascii=False)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Company(id=CompanyID(district_court=DistrictCourt(name='Amtsgericht Charlottenburg', city='Berlin'), hr_number='HRB 153385 B'), location=Location(city='Berlin', street='Valeska-Gert-Straße', house_number='5', zip_code='10243'), name='Zalando Lounge Service GmbH', last_update='2022-10-05', relationships=[PersonToCompanyRelationship(role=, location=Location(city='Berlin', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Martin', lastname='Rost'), date_of_birth='1982-09-24'), PersonToCompanyRelationship(role=, location=Location(city='Berlin', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Karen', lastname='Kennes'), date_of_birth='1979-06-22'), PersonToCompanyRelationship(role=, location=Location(city='Berlin', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Andre', lastname='Hörschel'), date_of_birth='1973-06-15')], company_type=, capital=Capital(value=25000.0, currency=, type=), business_purpose='Die Erbringung von Dienstleistungen für e-Commerce Unternehmen im Bereich Kundenservice und Logistik.', founding_date='2014-02-05')\n"
- ]
- }
- ],
- "source": [
- "with open('../tmp/json/ZalandoLoungeServiceGmbH.json', \"r\") as file:\n",
- " content = json.load(file)\n",
- " company_data = map_unternehmensregister_json(content)\n",
- " print(company_data)\n",
- " with open('../tmp/transformed/ZalandoLoungeServiceGmbH.json', \"w+\", encoding=\"utf-8\") as file:\n",
- " json.dump(dataclasses.asdict(company_data), file, ensure_ascii=False)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Company(id=CompanyID(district_court=DistrictCourt(name='Amtsgericht Charlottenburg', city='Berlin'), hr_number='HRB 158855 B'), location=Location(city='Berlin', street='Valeska-Gert-Straße', house_number='5', zip_code='10243'), name='Zalando SE', last_update='2023-07-04', relationships=[PersonToCompanyRelationship(role=, location=Location(city='Berlin', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Robert', lastname='Gentz'), date_of_birth='1983-09-24'), PersonToCompanyRelationship(role=, location=Location(city='Berlin', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='David', lastname='Schneider'), date_of_birth='1982-07-29'), PersonToCompanyRelationship(role=, location=Location(city='Berlin', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='David', lastname='Schröder'), date_of_birth='1982-11-27'), PersonToCompanyRelationship(role=, location=Location(city='Berlin', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Astrid', lastname='Arndt'), date_of_birth='1971-11-05'), PersonToCompanyRelationship(role=, location=Location(city='Passau', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Sandra', lastname='Dembeck'), date_of_birth='1974-03-06'), PersonToCompanyRelationship(role=, location=Location(city='Berlin', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Martin', lastname='Rost'), date_of_birth='1982-09-24'), PersonToCompanyRelationship(role=, location=Location(city='Berlin', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Jan-Hendrik', lastname='Bartels'), date_of_birth='1980-11-05'), PersonToCompanyRelationship(role=, location=Location(city='Berlin', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Ulrich', lastname='Kalk'), date_of_birth='1978-05-27'), PersonToCompanyRelationship(role=, location=Location(city='Berlin', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Anne', lastname='Pascual'), date_of_birth='1976-01-03'), PersonToCompanyRelationship(role=, location=Location(city='Knokke/Belgien', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Bruno', lastname='Vanhoorickx'), date_of_birth='1981-08-25'), PersonToCompanyRelationship(role=, location=Location(city='Berlin', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Andreas', lastname='Antrup'), date_of_birth='1983-06-27'), PersonToCompanyRelationship(role=, location=Location(city='Berlin', street=None, house_number=None, zip_code=None), type=, name=PersonName(firstname='Lena', lastname='Wallenhorst'), date_of_birth='1978-07-20')], company_type=, capital=Capital(value=263531672.0, currency=, type=), business_purpose='Die Entwicklung, Vermarktung und Erbringung von Internetdienstleistungen (E-Commerce-Handel mit Waren verschiedener Art, insbesondere Bekleidung und Schuhe), die Entwicklung, Herstellung, Vermarktung und der Handel mit solchen Waren, insbesondere Bekleidung und Schuhe, die Erbringung von Logistikdienstleistungen, digitalen Dienstleistungen und alle mit dem vorgenannten Unternehmensgegenstand zusammenhängenden Dienstleistungen.', founding_date='2023-05-24')\n"
- ]
- }
- ],
- "source": [
- "with open('../tmp/json/ZalandoSE.json', \"r\") as file:\n",
- " content = json.load(file)\n",
- " company_data = map_unternehmensregister_json(content)\n",
- " print(company_data)\n",
- " with open('../tmp/transformed/ZalandoSE.json', \"w+\", encoding=\"utf-8\") as file:\n",
- " json.dump(dataclasses.asdict(company_data), file, ensure_ascii=False)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Test"
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "aki-prj23-transparenzregister-jVJfu35g-py3.11",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.11.3"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 2
-}