Added iGraph

This commit is contained in:
Tim committed 2023-11-10 18:48:17 +01:00
1 parent 5cd03306d6
commit 5f4f732eb2
10 files changed
+212782 -106

No files matched your search

@@ -0,0 +1,21 @@
# Weekly *X*: DD.MM.YYYY
## Teilnehmer
- Prof. Arinir
- Tristan Nolde
- Tim Ronneburg
- Philipp Horstenkamp
- Kim Mesewinkel-Risse
- Sascha Zhu
- Sebastian Zeleny
## Themen
- ABC:
- ...
## Abgeleitete Action Items
| Action Item | Verantwortlicher | Deadline |
|-------------|------------------|-----------------|
| Beispiel | Max Mustermann | nächstes Weekly |
Binary file not shown.

After

Width:  |  Height:  |  Size: 406 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

@@ -0,0 +1,180 @@
<html>
<head>
<meta charset="utf-8">
<script src="lib/bindings/utils.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/vis-network/9.1.2/dist/dist/vis-network.min.css" integrity="sha512-WgxfT5LWjfszlPHXRmBWHkV2eceiWTOBvrKCNbdgDYTHrT2AeLCGbF4sZlZw3UMN3WtL0tGUoIAKsu8mllg/XA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/vis-network/9.1.2/dist/vis-network.min.js" integrity="sha512-LnvoEWDFrqGHlHmDD2101OrLcbsfkrzoSpvtSQtxK3RMnRV0eOkhhBN2dXHKRrUU8p2DGRTk35n4O8nWSVe1mQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<center>
<h1></h1>
</center>
<!-- <link rel="stylesheet" href="../node_modules/vis/dist/vis.min.css" type="text/css" />
<script type="text/javascript" src="../node_modules/vis/dist/vis.js"> </script>-->
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6"
crossorigin="anonymous"
/>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-JEW9xMcG8R+pH31jmWH6WWP0WintQrMb4s7ZOdauHnUtxwoG2vI5DkLtS3qm9Ekf"
crossorigin="anonymous"
></script>
<center>
<h1></h1>
</center>
<style type="text/css">
#mynetwork {
width: 100%;
height: 600px;
background-color: white;
border: 1px solid lightgray;
position: relative;
float: left;
}
#config {
float: left;
width: 400px;
height: 600px;
}
</style>
</head>
<body>
<div class="card" style="width: 100%">
<div id="mynetwork" class="card-body"></div>
</div>
<div id="config"></div>
<script type="text/javascript">
// initialize global variables.
var edges;
var nodes;
var allNodes;
var allEdges;
var nodeColors;
var originalNodes;
var network;
var container;
var options, data;
var filter = {
item : '',
property : '',
value : []
};
// This method is responsible for drawing the graph, returns the drawn network
function drawGraph() {
var container = document.getElementById('mynetwork');
// parsing and collecting nodes and edges from the python
nodes = new vis.DataSet([{"branche": "Automobilhersteller", "color": " #729b79ff", "font": {"color": "black"}, "id": 2, "label": "Volkswagen AG", "shape": "dot", "size": 10, "title": "Volkswagen AG\nAutomobilhersteller", "type": "Company"}, {"branche": "Automobilhersteller", "color": " #729b79ff", "font": {"color": "black"}, "id": 1, "label": "Porsche Automobil Holding", "shape": "dot", "size": 10, "title": "Porsche Automobil Holding\nAutomobilhersteller", "type": "Company"}, {"branche": "Automobilhersteller", "color": " #729b79ff", "font": {"color": "black"}, "id": 3, "label": "Volkswagen", "shape": "dot", "size": 10, "title": "Volkswagen\nAutomobilhersteller", "type": "Company"}, {"branche": "Automobilhersteller", "color": " #729b79ff", "font": {"color": "black"}, "id": 4, "label": "Audi", "shape": "dot", "size": 10, "title": "Audi\nAutomobilhersteller", "type": "Company"}, {"branche": "Automobilhersteller", "color": " #729b79ff", "font": {"color": "black"}, "id": 5, "label": "Seat", "shape": "dot", "size": 10, "title": "Seat\nAutomobilhersteller", "type": "Company"}, {"branche": "Automobilhersteller", "color": " #729b79ff", "font": {"color": "black"}, "id": 6, "label": "Skoda Auto", "shape": "dot", "size": 10, "title": "Skoda Auto\nAutomobilhersteller", "type": "Company"}, {"branche": "Automobilhersteller", "color": " #729b79ff", "font": {"color": "black"}, "id": 7, "label": "Porsche AG", "shape": "dot", "size": 10, "title": "Porsche AG\nAutomobilhersteller", "type": "Company"}, {"branche": "Automobilhersteller", "color": " #729b79ff", "font": {"color": "black"}, "id": 8, "label": "Lamborghini", "shape": "dot", "size": 10, "title": "Lamborghini\nAutomobilhersteller", "type": "Company"}, {"branche": "Automobilhersteller", "color": " #729b79ff", "font": {"color": "black"}, "id": 9, "label": "Bentley", "shape": "dot", "size": 10, "title": "Bentley\nAutomobilhersteller", "type": "Company"}, {"branche": "Automobilzulieferer", "color": "#475b63ff", "font": {"color": "black"}, "id": 10, "label": "Forvia", "shape": "dot", "size": 10, "title": "Forvia\nAutomobilzulieferer", "type": "Company"}, {"branche": "Automobilzulieferer", "color": "#475b63ff", "font": {"color": "black"}, "id": 11, "label": "Hella", "shape": "dot", "size": 10, "title": "Hella\nAutomobilzulieferer", "type": "Company"}]);
edges = new vis.DataSet([{"from": 2, "label": "part_of", "to": 1, "width": 1}, {"from": 1, "label": "part_of", "to": 3, "width": 1}, {"from": 1, "label": "part_of", "to": 4, "width": 1}, {"from": 1, "label": "part_of", "to": 5, "width": 1}, {"from": 1, "label": "part_of", "to": 6, "width": 1}, {"from": 1, "label": "part_of", "to": 7, "width": 1}, {"from": 4, "label": "part_of", "to": 8, "width": 1}, {"from": 4, "label": "part_of", "to": 9, "width": 1}, {"from": 4, "label": "supplierer", "to": 10, "width": 1}, {"from": 11, "label": "part_of", "to": 10, "width": 1}]);
nodeColors = {};
allNodes = nodes.get({ returnType: "Object" });
for (nodeId in allNodes) {
nodeColors[nodeId] = allNodes[nodeId].color;
}
allEdges = edges.get({ returnType: "Object" });
// adding nodes and edges to the graph
data = {nodes: nodes, edges: edges};
var options = {
"configure": {
"enabled": true,
"filter": [
"physics"
]
},
"edges": {
"color": {
"inherit": false
},
"smooth": {
"enabled": true,
"type": "dynamic"
}
},
"interaction": {
"dragNodes": true,
"hideEdgesOnDrag": false,
"hideNodesOnDrag": false
},
"physics": {
"enabled": true,
"repulsion": {
"centralGravity": 0.2,
"damping": 0.09,
"nodeDistance": 150,
"springConstant": 0.05,
"springLength": 50
},
"solver": "repulsion",
"stabilization": {
"enabled": true,
"fit": true,
"iterations": 1000,
"onlyDynamicEdges": false,
"updateInterval": 50
}
}
};
// if this network requires displaying the configure window,
// put it in its div
options.configure["container"] = document.getElementById("config");
network = new vis.Network(container, data, options);
network.on("click", neighbourhoodHighlight);
return network;
}
drawGraph();
</script>
</body>
</html>
@@ -141,7 +141,7 @@
},
{
"cell_type": "code",
"execution_count": 22,
"execution_count": 1,
"metadata": {},
"outputs": [
{
@@ -203,7 +203,7 @@
},
{
"cell_type": "code",
"execution_count": 23,
"execution_count": 2,
"metadata": {},
"outputs": [
{
@@ -241,14 +241,14 @@
},
{
"cell_type": "code",
"execution_count": 60,
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA1gAAANYCAYAAADZn0yoAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAB7LklEQVR4nO3deZyP9f7/8ednhtlknUF2iZKyZC/JVp1UfOtEjPpWZJsoa6LldEj1tVXI0nYsdSwRhXROcigVEWVJixGJkaOxDbMZc/3+uMb8pJmYmc/n876uz/W4327nRsNc19MpM5/n5/V+vy+fZVmWAAAAAABFFmY6AAAAAACECgoWAAAAAPgJBQsAAAAA/ISCBQAAAAB+QsECAAAAAD+hYAEAAACAn1CwAAB/cOjQIfXo0UO1atVSkyZNdN1112np0qV+u37NmjX122+/Ffrzf/jhB7Vt21aNGjXSVVddpb59+0qSZs+erYEDB/orJgAABVbMdAAAgLNYlqU777xTDzzwgObNmydJ+vnnn7Vs2bI//N6srCwVKxb8byWPPvqohgwZov/5n/+RJG3fvj3oGQAAyAsTLADA7/znP/9RRESE+vfvn/uxGjVq6JFHHpFkT4k6d+6s9u3bq0OHDjp58qQ6dOigxo0bq379+nr//fclSXv37lXdunV177336qqrrlKXLl2Umpqae82pU6fmfs73339foIwHDx5U1apVc/+5fv36uT9PSkrSrbfeqjp16mjEiBG5H09ISFDTpk119dVX65lnnsn9eM2aNTVixAjVr19fzZs3V2JioiTp8OHDuvvuu9WsWTM1a9ZMn3/+uSTpk08+UaNGjdSoUSNde+21SklJKVB2AEBoo2ABAH7n22+/VePGjf/092zZskWLFy/WJ598oqioKC1dulRbtmzRmjVrNGzYMFmWJcleyvfwww/ru+++U6lSpTR9+vTca8TFxWnLli1KSEjQxIkTC5RxyJAhat++vTp27KiXXnpJx44dy/21b775RgsXLtT27du1cOFC/fLLL5Kk5557Tl999ZW2bdumTz75RNu2bcv9nNKlS2v79u0aOHCgBg8eLEkaNGiQhgwZok2bNundd99V7969JUkTJ07UtGnT9M0332jdunWKjo4uUHYAQGijYAEA/tSAAQPUsGFDNWvWLPdjN998s8qVKyfJXlL4xBNPqEGD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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAASmCAYAAAD/KRjlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAADM3klEQVR4nOzdeZiVdd0/8PfMsMumiEu578riglruZZbt2WbPk09lm2muaZaIIoq4LwGmIiIMmJmauZuaO24gyDJkLlhqZWkoKiLbzPz+GPSnicoyc+5zZl6v6+IaPJw55317Fc685/P53lWNjY2NAQAAAIASqi46AAAAAABtj1IKAAAAgJJTSgEAAABQckopAAAAAEpOKQUAAABAySmlAAAAACg5pRQAAAAAJaeUAgAAAKDklFIAAAAAlJxSCgBokz7xiU/kqKOOKuS9DzzwwOy3336FvDcAQLlQSgEAJfevf/0rRx55ZDbbbLN06tQpa6+9dnbbbbdcdNFFmT9/ftHxVtno0aOz7bbbpmvXrunZs2e23377nH766UXHAgAoK+2KDgAAtC3PPPNMdtttt/Ts2TOnnXZa+vXrl44dO2bmzJm55JJL8tGPfjRf/vKXl/m5ixcvTvv27UuceMVcdtllOeqoozJixIjstddeWbhwYWbMmJG6urqiowEAlBWTUgBASf30pz9Nu3bt8uijj2b//ffP1ltvnU022SRf+cpXcvPNN+dLX/rS28+tqqrKRRddlC9/+ctZbbXVMmzYsNTX1+eHP/xhNt5443Tu3Dlbbrllhg8f/q73eGs97uSTT07v3r3TvXv3HHzwwVm0aNG7ntfQ0JBf/OIXWWONNbLOOutkyJAhq3x9N9xwQ/bff//88Ic/zGabbZY+ffrkf//3fzNs2LD3PPecc87Juuuum169euXQQw/N4sWL3/6zCRMmZMcdd0y3bt2yzjrr5Nvf/nZefPHFt//8nnvuSVVVVW6++eb0798/nTp1ysc//vH3lF8TJ07MHnvskc6dO2f99dfPEUcckTfeeOPtP7/wwguz+eabvz2x9o1vfGOV/x0AACwPpRQAUDJz5szJ7bffnkMPPTSrrbbaMp9TVVX1rn8eMmRIvvrVr2bmzJn5wQ9+kIaGhqy33nq5+uqr8+c//zmDBw/O8ccfn6uuuupdn3fnnXfm8ccfzz333JPf/va3ufbaa3PyySe/6zm1tbVZbbXV8sgjj+Sss87KKaeckjvuuGOVrnGdddbJww8/nGefffYDn3f33Xdn9uzZufvuu1NbW5tx48Zl3Lhxb//54sWLM3To0EyfPj3XXXdd/va3v+XAAw98z+sce+yxOffcczN58uT07t07X/rSl94ut2bPnp3Pfvaz+frXv54ZM2bkd7/7XSZOnJjDDjssSfLoo4/miCOOyCmnnJInnngif/zjH7Pnnnuu0vUDACyvqsbGxsaiQwAAbcMjjzySj3/847n22mvz1a9+9e3H11xzzSxYsCBJcuihh+bMM89M0lRQHXXUUTn//PM/8HUPO+yw/Otf/8o111yTpGlS6sYbb8zzzz+fLl26JEkuvvjiHHvssXn11VdTXV2dT3ziE6mvr8/999//9uvsvPPO2XvvvXPGGWes9DW+8MIL+drXvpaHH344W2yxRXbZZZd8/vOfzze+8Y1UV1e/ne+ee+7J7NmzU1NTkyTZf//9U11dnSuvvHKZr/voo49mp512yuuvv56uXbvmnnvuySc/+clceeWV+da3vpUkefnll7Peeutl3Lhx2X///fOjH/0oNTU1GTVq1NuvM3HixOy111554403csstt+T73/9+/v73v6dbt24rfc0AACvDpBQAULhJkyZl2rRp6dOnTxYuXPiuP9txxx3f8/xf//rXGTBgQHr37p2uXbvmkksuyXPPPfeu52y77bZvF1JJsssuu2TevHl5/vnn336sf//+7/qcdddd910rcu90//33p2vXrm//+s1vfrPM56277rp56KGHMnPmzBx55JFZsmRJvve97+Wzn/1sGhoa3n5enz593i6klvXeU6ZMyZe+9KVssMEG6datW/baa68kec917rLLLm//fo011siWW26Zxx9/PEkyffr0jBs37l2599133zQ0NOSvf/1rPv3pT2fDDTfMJptsku985zv5zW9+0yoOmgcAKoODzgGAktlss81SVVWVJ5544l2Pb7LJJkmSzp07v+dz/nvN78orr8zPf/7znHvuudlll13SrVu3nH322XnkkUdWOM9/H5peVVX1ruLonXbcccdMmzbt7X9ee+21P/C1+/btm759++anP/1pDj744Oyxxx65995788lPfvJD3/uNN97Ivvvum3333Te/+c1v0rt37zz33HPZd99933Mu1geZN29efvKTn+SII454z59tsMEG6dChQ6ZOnZp77rknt99+ewYPHpwhQ4Zk8uTJ6dmz53K/DwDAylBKAQAl06tXr3z605/OBRdckMMPP/x9z5X6IA888EB23XXX/PSnP337sdmzZ7/nedOnT8+bb775dtH18MMPp2vXrll//fVXKnvnzp2z2WabrdTnbrPNNknyrgPGP8hf/vKXzJkzJ2ecccbbeR999NFlPvfhhx/OBhtskCR55ZVX8uSTT2brrbdOkuywww7585///IG527Vrl3322Sf77LNPTjrppPTs2TN33XVXvva1ry339QEArAzrewBASV144YVZsmRJdtxxx/zud7/L448/nieeeCKXX355/vKXv7xrpW1ZNt988zz66KO57bbb8uSTT+bEE0/M5MmT3/O8RYsW5Yc//GH+/Oc/55ZbbslJJ52Uww477O1znVrKIYcckqFDh+aBBx7Is88+m4cffjjf/e5307t373et2n2Qt6aYRo4cmWeeeSY33HBDhg4dusznnnLKKbnzzjtTV1eXAw88MGuuuWb222+/JMkvf/nLPPjggznssMMybdq0PPXUU7n++uvfPuj8pptuyogRIzJt2rQ8++yzGT9+fBoaGrLllls2y78LAIAPopQCAEpq0003zWOPPZZ99tknAwcOzLbbbpsdd9wxI0eOzM9//vP3LV/e8pOf/CRf+9rX8q1vfSsf+9jHMmfOnHdNTb3lU5/6VDbffPPsueee+da3vpUvf/nLGTJkSAtd1f+3zz775OGHH843v/nNbLHFFvn617+eTp065c4770yvXr2W6zV69+6dcePG5eqrr84222yTM844I+ecc84yn3vGGWfkyCOPzIABA/Kvf/0rN954Yzp06JCk6cyse++9N08++WT22GOPbL/99hk8eHA+8pGPJEl69uyZa6+9NnvvvXe23nrrXHzxxfntb3+bPn36NM+/DACAD+DuewBAq3PggQdm7ty5ue6664qO0mLeuvveK6+84vwnAKAimZQCAAAAoOSUUgAAAACUnPU9AAAAAErOpBQAAAAAJaeUAgAAAKDklFIAAAAAlJxSCgAAAICSU0oBAAAAUHJKKQAAAABKTikFAAAAQMkppQAAAAAoOaUUAAAAACWnlAIAAACg5JRSAAAAAJScUgoAAACAklNKAQAAAFBySikAAAAASk4pBQAAAEDJKaUAAAAAKDmlFAAAAAAlp5QCAAAAoOSUUgAAAACUnFIKAAAAgJJTSgEAAABQckopAAAAAEpOKQUAAABAySmlAAAAACg5pRQAAAAAJaeUAgAAAKDklFIAAAAAlJxSCgAAAICSU0oBAAAAUHJKKQAAAABKTikFAAAAQMkppQAAAAAoOaUUAAAAACWnlAIAAACg5JRSAAAAAJScUgoAAACAklNKAQAAAFBySikAAAAASk4pBQAAAEDJKaUAAAAAKDmlFAAAAAAlp5QCAAAAoOSUUgAAAACUnFIKAAAAgJJTSgEAAABQckopAAAAAEpOKQUAAABAySmlAAAAACg5pRQAAAAAJaeUAgAAAKDklFIAAAAAlJxSCgAAAICSU0oBAAAAUHJKKQAAAABKTikFAAAAQMkppQAAAAAoOaUUAAAAACWnlAIAAACg5JRSAAAAAJScUgoAAACAklNKAQAAAFBySikAAAAASk4pBQAAAEDJKaUAAAAAKDmlFAAAAAAlp5QCAAAAoOSUUgAAAACUnFIKAAAAgJJTSgEAAABQckopAAAAAEpOKQUAAABAySmlAAAAACg5pRQAAAAAJaeUAgAAAKDklFIAAAAAlJxSCgAAAICSa1d0AGh5jUkWJVmw9GOHJJ2WfqwqMBcAAAC0XUopWpmGJE8lmbL016QkU5PMX8ZzuyTZIcnOSQYs/bV5DBACAABAy6tqbGxsLDoErLrZSS5OcmmSuUsfa59k8XJ87juf1zPJj5IcnGTTZk0IAAAA/H9KKSpYfZJbkoxMckeSmqWPraq3XufTSQ5P8vmljwEAAADNRSlFhZqY5HtJnknzlVH/7a3X3SRJbZLdW+A9AAAAoG1yeA4VZn6SnyXZM8mzSx9riULqna/77NL3+1mWfTYVAAAAsKJMSlFBJib5TpLn0nSgealVJ9kwyfiYmgIAAIBVY1KKCjEyTdNKz6eYQipL3/e5pTlGFpQBAAAAWgelFGWuMcnQJEcs/X1Lreotr/qlOY5IcurS3wMAAAArSilFmTs1yeCiQ7yPE5MMKzoEAAAAVCRnSlHGRiQ5sugQy2FEksOLDgEAAAAVRSlFmZqYprObKuF/nlVJ7ovDzwEAAGD5KaUoQ/OT9EnToeZFnyG1PGqSrJ9kVpIuBWcBAACAyuBMKcrQoDTd5a4SCqmkKedzSU4oOggAAABUDJNSlJn7k+yVyljb+2/W+AAAAGB5KaUoI/VJtkjybCpnSuqdapJsmOTJpb8HAAAA3o/1PcrILUmeSWUWUklT7meS3Fp0EAAAACh7SinKyMhU/oRRTZILig4BAAAAZc/6HmVidpLNig7RTKqSPJVk06KDAAAAQNkyKUWZuDiVPyX1luoko4oOAQAAAGXNpBRLine truncated
"text/plain": [
"<Figure size 864x864 with 1 Axes>"
"<Figure size 1200x1200 with 1 Axes>"
]
},
"metadata": {},
@@ -257,7 +257,7 @@
{
"data": {
"text/plain": [
"<Figure size 432x288 with 0 Axes>"
"<Figure size 640x480 with 0 Axes>"
]
},
"metadata": {},
@@ -592,29 +592,19 @@
},
{
"cell_type": "code",
"execution_count": 96,
"execution_count": 7,
"metadata": {},
"outputs": [
{
"ename": "AssertionError",
"evalue": "",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mAssertionError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32mc:\\Users\\Tim\\Documents\\Master\\Semester 4\\Projektgruppe\\aki_prj23_transparenzregister\\documentations\\seminararbeiten\\Verflechtungsanalyse\\mockup_verflechtungsanalyse_with_networkx.ipynb Cell 17\u001b[0m in \u001b[0;36m<cell line: 4>\u001b[1;34m()\u001b[0m\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/Tim/Documents/Master/Semester%204/Projektgruppe/aki_prj23_transparenzregister/documentations/seminararbeiten/Verflechtungsanalyse/mockup_verflechtungsanalyse_with_networkx.ipynb#X41sZmlsZQ%3D%3D?line=0'>1</a>\u001b[0m net \u001b[39m=\u001b[39m Network(directed\u001b[39m=\u001b[39m\u001b[39mFalse\u001b[39;00m, neighborhood_highlight\u001b[39m=\u001b[39m\u001b[39mTrue\u001b[39;00m, bgcolor \u001b[39m=\u001b[39m \u001b[39m\"\u001b[39m\u001b[39mwhite\u001b[39m\u001b[39m\"\u001b[39m, font_color\u001b[39m=\u001b[39m\u001b[39m\"\u001b[39m\u001b[39mblack\u001b[39m\u001b[39m\"\u001b[39m)\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/Tim/Documents/Master/Semester%204/Projektgruppe/aki_prj23_transparenzregister/documentations/seminararbeiten/Verflechtungsanalyse/mockup_verflechtungsanalyse_with_networkx.ipynb#X41sZmlsZQ%3D%3D?line=2'>3</a>\u001b[0m \u001b[39m# pass networkx graph to pyvis\u001b[39;00m\n\u001b[1;32m----> <a href='vscode-notebook-cell:/c%3A/Users/Tim/Documents/Master/Semester%204/Projektgruppe/aki_prj23_transparenzregister/documentations/seminararbeiten/Verflechtungsanalyse/mockup_verflechtungsanalyse_with_networkx.ipynb#X41sZmlsZQ%3D%3D?line=3'>4</a>\u001b[0m net\u001b[39m.\u001b[39;49mfrom_nx(s)\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/Tim/Documents/Master/Semester%204/Projektgruppe/aki_prj23_transparenzregister/documentations/seminararbeiten/Verflechtungsanalyse/mockup_verflechtungsanalyse_with_networkx.ipynb#X41sZmlsZQ%3D%3D?line=5'>6</a>\u001b[0m \u001b[39m# set edge options \u001b[39;00m\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/Tim/Documents/Master/Semester%204/Projektgruppe/aki_prj23_transparenzregister/documentations/seminararbeiten/Verflechtungsanalyse/mockup_verflechtungsanalyse_with_networkx.ipynb#X41sZmlsZQ%3D%3D?line=6'>7</a>\u001b[0m net\u001b[39m.\u001b[39minherit_edge_colors(\u001b[39mFalse\u001b[39;00m)\n",
"File \u001b[1;32mc:\\Users\\Tim\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\pyvis\\network.py:689\u001b[0m, in \u001b[0;36mNetwork.from_nx\u001b[1;34m(self, nx_graph, node_size_transf, edge_weight_transf, default_node_size, default_edge_weight, show_edge_weights, edge_scaling)\u001b[0m\n\u001b[0;32m 660\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mfrom_nx\u001b[39m(\u001b[39mself\u001b[39m, nx_graph, node_size_transf\u001b[39m=\u001b[39m(\u001b[39mlambda\u001b[39;00m x: x), edge_weight_transf\u001b[39m=\u001b[39m(\u001b[39mlambda\u001b[39;00m x: x),\n\u001b[0;32m 661\u001b[0m default_node_size \u001b[39m=\u001b[39m\u001b[39m10\u001b[39m, default_edge_weight\u001b[39m=\u001b[39m\u001b[39m1\u001b[39m, show_edge_weights\u001b[39m=\u001b[39m\u001b[39mTrue\u001b[39;00m, edge_scaling\u001b[39m=\u001b[39m\u001b[39mFalse\u001b[39;00m):\n\u001b[0;32m 662\u001b[0m \u001b[39m\"\"\"\u001b[39;00m\n\u001b[0;32m 663\u001b[0m \u001b[39m This method takes an exisitng Networkx graph and translates\u001b[39;00m\n\u001b[0;32m 664\u001b[0m \u001b[39m it to a PyVis graph format that can be accepted by the VisJs\u001b[39;00m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 687\u001b[0m \u001b[39m >>> nt.show(\"nx.html\")\u001b[39;00m\n\u001b[0;32m 688\u001b[0m \u001b[39m \"\"\"\u001b[39;00m\n\u001b[1;32m--> 689\u001b[0m \u001b[39massert\u001b[39;00m(\u001b[39misinstance\u001b[39m(nx_graph, nx\u001b[39m.\u001b[39mGraph))\n\u001b[0;32m 690\u001b[0m edges\u001b[39m=\u001b[39mnx_graph\u001b[39m.\u001b[39medges(data \u001b[39m=\u001b[39m \u001b[39mTrue\u001b[39;00m)\n\u001b[0;32m 691\u001b[0m nodes\u001b[39m=\u001b[39mnx_graph\u001b[39m.\u001b[39mnodes(data \u001b[39m=\u001b[39m \u001b[39mTrue\u001b[39;00m)\n",
"\u001b[1;31mAssertionError\u001b[0m: "
]
}
],
"outputs": [],
"source": [
"# visualize using pyvis\n",
"from pyvis.network import Network\n",
"\n",
"net = Network(\n",
" directed=False, neighborhood_highlight=True, bgcolor=\"white\", font_color=\"black\"\n",
")\n",
"\n",
"# pass networkx graph to pyvis\n",
"net.from_nx(s)\n",
"net.from_nx(graph)\n",
"\n",
"# set edge options\n",
"net.inherit_edge_colors(False)\n",
@@ -641,7 +631,7 @@
"net.show_buttons(filter_=[\"physics\"])\n",
"\n",
"# save graph as HTML\n",
"net.save_graph(\"./metrics/connected_components_networkx.html\")"
"net.save_graph(\"./metrics/test.html\")"
]
}
],
@@ -664,7 +654,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.13"
"version": "3.11.4"
},
"orig_nbformat": 4
},
@@ -174,8 +174,8 @@
// parsing and collecting nodes and edges from the python
nodes = new vis.DataSet([{"color": "#729b79ff", "font": {"color": "black"}, "id": "person_1", "label": "Tetau, Nicolas", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_1", "label": "0 10 24 Telefondienste GmbH", "shape": "dot", "size": 10, "type": "Company"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_4", "label": "01050.com GmbH", "shape": "dot", "size": 10, "type": "Company"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_2", "label": "Dammast, Lutz", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_3", "label": "Tutsch, Rosemarie", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_2", "label": "1. Staiger Grundst\u00fccksverwaltung GmbH \u0026 Co. KG", "shape": "dot", "size": 10, "type": "Company"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_4", "label": "Staiger, Marc", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_5", "label": "Staiger, Michaela", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_6", "label": "Staiger, Margarete", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_7", "label": "Staiger, Bruno", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_8", "label": "Hofmann, Nicole", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_9", "label": "Autenrieth, Steffen", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_3", "label": "1 A Autenrieth Kunststofftechnik GmbH \u0026 Co. KG", "shape": "dot", "size": 10, "type": "Company"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_10", "label": "Bischoff, Stefanie", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_2213", "label": "Multi-Center Warenvertriebs GmbH", "shape": "dot", "size": 10, "type": "Company"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_5", "label": "2. Schaper Objekt GmbH \u0026 Co. Kiel KG", "shape": "dot", "size": 10, "type": "Company"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_11", "label": "Achilles, Christel", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_6", "label": "AASP Filmproduktionsgesellschaft mbH \u0026 Co. Leonie KG", "shape": "dot", "size": 10, "type": "Company"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_12", "label": "Ackermann, Wilhelm", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_13", "label": "Ahrens, Harald", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_14", "label": "Al Sibai, Mohamed Maged", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_15", "label": "Al-Bazaz, Salim", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_16", "label": "Attawar, Marina", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_17", "label": "Babic-Pavicic, Ankica", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_18", "label": "Bak, Ingo", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_19", "label": "Becker, Christoph", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_20", "label": "Becker, Olaf", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_21", "label": "Berg, Rainer", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_22", "label": "Berkhout, Pieter", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_23", "label": "Berns, Bernhard", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_24", "label": "Betz, Franz-Hartwig", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_25", "label": "Birken, Claus", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "person_26", "label": "Blessing, Helmut", "shape": "dot", "size":Line truncated
edges = new vis.DataSet([{"from": "person_1", "label": "Gesch\u00e4ftsf\u00fchrer", "to": "company_1", "width": 1}, {"from": "person_1", "label": "Gesch\u00e4ftsf\u00fchrer", "to": "company_4", "width": 1}, {"from": "company_1", "label": "Prokurist", "to": "person_2", "width": 1}, {"from": "person_2", "label": "Prokurist", "to": "company_4", "width": 1}, {"from": "person_3", "label": "Kommanditist", "to": "company_2", "width": 1}, {"from": "company_2", "label": "Kommanditist", "to": "person_4", "width": 1}, {"from": "company_2", "label": "Kommanditist", "to": "person_5", "width": 1}, {"from": "company_2", "label": "Kommanditist", "to": "person_6", "width": 1}, {"from": "company_2", "label": "Kommanditist", "to": "person_7", "width": 1}, {"from": "company_2", "label": "Kommanditist", "to": "person_8", "width": 1}, {"from": "person_9", "label": "Kommanditist", "to": "company_3", "width": 1}, {"from": "company_3", "label": "Prokurist", "to": "person_10", "width": 1}, {"from": "company_2213", "label": "Organisation", "to": "company_5", "width": 1}, {"from": "person_11", "label": "Kommanditist", "to": "company_6", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_12", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_13", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_14", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_15", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_16", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_17", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_18", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_19", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_20", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_21", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_22", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_23", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_24", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_25", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_26", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_27", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_28", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_29", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_30", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_31", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_32", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_33", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_34", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_35", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_36", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_37", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_38", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_39", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_40", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_41", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_42", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_43", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_44", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_45", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_46", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_47", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_48", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_49", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_50", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_51", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_52", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_53", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_54", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_55", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_56", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_57", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_58", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_59", "width": 1}, {"from": "company_6", "label": "Kommanditist", "tLine truncated
nodes = new vis.DataSet([{"color": "blue", "font": {"color": "black"}, "id": "person_1", "label": "Nicolas, Tetau", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_1", "label": "0 10 24 Telefondienste GmbH", "shape": "dot", "size": 10, "type": "Company"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_4", "label": "01050.com GmbH", "shape": "dot", "size": 10, "type": "Company"}, {"color": "blue", "font": {"color": "black"}, "id": "person_2", "label": "Lutz, Dammast", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_3", "label": "Rosemarie, Tutsch", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_2", "label": "1. Staiger Grundst\u00fccksverwaltung GmbH \u0026 Co. KG", "shape": "dot", "size": 10, "type": "Company"}, {"color": "blue", "font": {"color": "black"}, "id": "person_4", "label": "Marc, Staiger", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_5", "label": "Michaela, Staiger", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_6", "label": "Margarete, Staiger", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_7", "label": "Bruno, Staiger", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_8", "label": "Nicole, Hofmann", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_9", "label": "Steffen, Autenrieth", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_3", "label": "1 A Autenrieth Kunststofftechnik GmbH \u0026 Co. KG", "shape": "dot", "size": 10, "type": "Company"}, {"color": "blue", "font": {"color": "black"}, "id": "person_10", "label": "Stefanie, Bischoff", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_2213", "label": "Multi-Center Warenvertriebs GmbH", "shape": "dot", "size": 10, "type": "Company"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_5", "label": "2. Schaper Objekt GmbH \u0026 Co. Kiel KG", "shape": "dot", "size": 10, "type": "Company"}, {"color": "blue", "font": {"color": "black"}, "id": "person_11", "label": "Christel, Achilles", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_6", "label": "AASP Filmproduktionsgesellschaft mbH \u0026 Co. Leonie KG", "shape": "dot", "size": 10, "type": "Company"}, {"color": "blue", "font": {"color": "black"}, "id": "person_12", "label": "Wilhelm, Ackermann", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_13", "label": "Harald, Ahrens", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_14", "label": "Mohamed Maged, Al Sibai", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_15", "label": "Salim, Al-Bazaz", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_16", "label": "Marina, Attawar", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_17", "label": "Ankica, Babic-Pavicic", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_18", "label": "Ingo, Bak", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_19", "label": "Christoph, Becker", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_20", "label": "Olaf, Becker", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_21", "label": "Rainer, Berg", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_22", "label": "Pieter, Berkhout", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_23", "label": "Bernhard, Berns", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_24", "label": "Franz-Hartwig, Betz", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_25", "label": "Claus, Birken", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_26", "label": "Helmut, Blessing", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_27", "label": "Heinz G., Bohnet", "shape": "doLine truncated
edges = new vis.DataSet([{"from": "person_1", "label": "Gesch\u00e4ftsf\u00fchrer(in)", "to": "company_1", "width": 1}, {"from": "person_1", "label": "Gesch\u00e4ftsf\u00fchrer(in)", "to": "company_4", "width": 1}, {"from": "company_1", "label": "Prokurist(in)", "to": "person_2", "width": 1}, {"from": "person_2", "label": "Prokurist(in)", "to": "company_4", "width": 1}, {"from": "person_3", "label": "Kommanditist(in)", "to": "company_2", "width": 1}, {"from": "company_2", "label": "Kommanditist(in)", "to": "person_4", "width": 1}, {"from": "company_2", "label": "Kommanditist(in)", "to": "person_5", "width": 1}, {"from": "company_2", "label": "Kommanditist(in)", "to": "person_6", "width": 1}, {"from": "company_2", "label": "Kommanditist(in)", "to": "person_7", "width": 1}, {"from": "company_2", "label": "Kommanditist(in)", "to": "person_8", "width": 1}, {"from": "person_9", "label": "Kommanditist(in)", "to": "company_3", "width": 1}, {"from": "company_3", "label": "Prokurist(in)", "to": "person_10", "width": 1}, {"from": "company_2213", "label": "Kommanditist(in)", "to": "company_5", "width": 1}, {"from": "person_11", "label": "Kommanditist(in)", "to": "company_6", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_12", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_13", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_14", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_15", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_16", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_17", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_18", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_19", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_20", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_21", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_22", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_23", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_24", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_25", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_26", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_27", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_28", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_29", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_30", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_31", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_32", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_33", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_34", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_35", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_36", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_37", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_38", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_39", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_40", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_41", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_42", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_43", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_44", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_45", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_46", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_47", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_48", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_49", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_50", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_51", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_52", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_53", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_54", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_55", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_56", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)",Line truncated
nodeColors = {};
allNodes = nodes.get({ returnType: "Object" });
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,923 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"import os.path\n",
"\n",
"import pandas as pd\n",
"\n",
"# if not os.path.exists(\"src\"):\n",
"# %cd \"../\"\n",
"# os.path.abspath(\".\")"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"from aki_prj23_transparenzregister.utils.sql import entities\n",
"from sqlalchemy.orm import aliased\n",
"from sqlalchemy import func, text\n",
"\n",
"# Alias for Company table for the base company\n",
"base_company = aliased(entities.Company, name=\"base_company\")\n",
"\n",
"# Alias for Company table for the head company\n",
"head_company = aliased(entities.Company, name=\"head_company\")"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"from aki_prj23_transparenzregister.config.config_providers import JsonFileConfigProvider\n",
"from aki_prj23_transparenzregister.utils.sql.connector import get_session\n",
"\n",
"session = get_session(JsonFileConfigProvider(\"../secrets.json\"))"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'SELECT base_company.name AS name_company_base, relation.relation AS relation_type, head_company.name AS name_company_head \\nFROM company AS base_company JOIN (relation JOIN company_relation ON relation.id = company_relation.id) ON relation.company_id = base_company.id JOIN company AS head_company ON company_relation.company2_id = head_company.id'"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Query to fetch relations between companies\n",
"relations_query = (\n",
" session.query(\n",
" base_company.name.label(\"name_company_base\"),\n",
" entities.CompanyRelation.relation.label(\"relation_type\"),\n",
" head_company.name.label(\"name_company_head\"),\n",
" )\n",
" .join(\n",
" entities.CompanyRelation,\n",
" entities.CompanyRelation.company_id == base_company.id,\n",
" )\n",
" .join(\n",
" head_company,\n",
" entities.CompanyRelation.company2_id == head_company.id,\n",
" )\n",
")\n",
"str(relations_query)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"121 ms ± 9.27 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
]
}
],
"source": [
"%timeit pd.read_sql_query(str(relations_query), session.bind)"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>name_company_base</th>\n",
" <th>relation_type</th>\n",
" <th>name_company_head</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2. Schaper Objekt GmbH &amp; Co. Kiel KG</td>\n",
" <td>KOMMANDITIST</td>\n",
" <td>Multi-Center Warenvertriebs GmbH</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Alb-Windkraft GmbH &amp; Co. KG</td>\n",
" <td>KOMMANDITIST</td>\n",
" <td>EnBW Windkraftprojekte GmbH</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Anneliese Köster GmbH &amp; Co. KG</td>\n",
" <td>KOMMANDITIST</td>\n",
" <td>INDUS Holding Aktiengesellschaft</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>AURELIUS Equity Opportunities SE &amp; Co. KGaA</td>\n",
" <td>HAFTENDER_GESELLSCHAFTER</td>\n",
" <td>AURELIUS Management SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Aurelius KG</td>\n",
" <td>HAFTENDER_GESELLSCHAFTER</td>\n",
" <td>Aurelius Verwaltungs GmbH</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>573</th>\n",
" <td>Zalando BTD 011 SE &amp; Co. KG</td>\n",
" <td>HAFTENDER_GESELLSCHAFTER</td>\n",
" <td>Zalando SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>574</th>\n",
" <td>Zalando BTD 011 SE &amp; Co. KG</td>\n",
" <td>KOMMANDITIST</td>\n",
" <td>Zalando Operations GmbH</td>\n",
" </tr>\n",
" <tr>\n",
" <th>575</th>\n",
" <td>zLabels Creation &amp; Sales GmbH &amp; Co. KG</td>\n",
" <td>HAFTENDER_GESELLSCHAFTER</td>\n",
" <td>zLabels GmbH</td>\n",
" </tr>\n",
" <tr>\n",
" <th>576</th>\n",
" <td>Zalando Customer Care International SE &amp; Co. KG</td>\n",
" <td>HAFTENDER_GESELLSCHAFTER</td>\n",
" <td>Zalando SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>577</th>\n",
" <td>Zalando Customer Care International SE &amp; Co. KG</td>\n",
" <td>KOMMANDITIST</td>\n",
" <td>Zalando Operations GmbH</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>578 rows × 3 columns</p>\n",
"</div>"
],
"text/plain": [
" name_company_base \\\n",
"0 2. Schaper Objekt GmbH & Co. Kiel KG \n",
"1 Alb-Windkraft GmbH & Co. KG \n",
"2 Anneliese Köster GmbH & Co. KG \n",
"3 AURELIUS Equity Opportunities SE & Co. KGaA \n",
"4 Aurelius KG \n",
".. ... \n",
"573 Zalando BTD 011 SE & Co. KG \n",
"574 Zalando BTD 011 SE & Co. KG \n",
"575 zLabels Creation & Sales GmbH & Co. KG \n",
"576 Zalando Customer Care International SE & Co. KG \n",
"577 Zalando Customer Care International SE & Co. KG \n",
"\n",
" relation_type name_company_head \n",
"0 KOMMANDITIST Multi-Center Warenvertriebs GmbH \n",
"1 KOMMANDITIST EnBW Windkraftprojekte GmbH \n",
"2 KOMMANDITIST INDUS Holding Aktiengesellschaft \n",
"3 HAFTENDER_GESELLSCHAFTER AURELIUS Management SE \n",
"4 HAFTENDER_GESELLSCHAFTER Aurelius Verwaltungs GmbH \n",
".. ... ... \n",
"573 HAFTENDER_GESELLSCHAFTER Zalando SE \n",
"574 KOMMANDITIST Zalando Operations GmbH \n",
"575 HAFTENDER_GESELLSCHAFTER zLabels GmbH \n",
"576 HAFTENDER_GESELLSCHAFTER Zalando SE \n",
"577 KOMMANDITIST Zalando Operations GmbH \n",
"\n",
"[578 rows x 3 columns]"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"company_relations = pd.read_sql_query(str(relations_query), session.bind)\n",
"company_relations"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
"relations_query = (\n",
" session.query(\n",
" entities.Company.name.label(\"name_company\"),\n",
" entities.PersonRelation.relation.label(\"relation_type\"),\n",
" entities.Person.lastname.label(\"lastname\"),\n",
" entities.Person.firstname.label(\"firstname\"),\n",
" entities.Person.date_of_birth.label(\"date_of_birth\"),\n",
" )\n",
" .join(\n",
" entities.PersonRelation,\n",
" entities.PersonRelation.company_id == entities.Company.id,\n",
" )\n",
" .join(\n",
" entities.Person,\n",
" entities.PersonRelation.person_id == entities.Person.id,\n",
" )\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"373 ms ± 25.6 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
]
}
],
"source": [
"%timeit pd.read_sql_query(str(relations_query), session.bind)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>name_company</th>\n",
" <th>relation_type</th>\n",
" <th>lastname</th>\n",
" <th>firstname</th>\n",
" <th>date_of_birth</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0 10 24 Telefondienste GmbH</td>\n",
" <td>GESCHAEFTSFUEHRER</td>\n",
" <td>Tetau</td>\n",
" <td>Nicolas</td>\n",
" <td>1971-01-02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0 10 24 Telefondienste GmbH</td>\n",
" <td>PROKURIST</td>\n",
" <td>Dammast</td>\n",
" <td>Lutz</td>\n",
" <td>1966-12-06</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1. Staiger Grundstücksverwaltung GmbH &amp; Co. KG</td>\n",
" <td>KOMMANDITIST</td>\n",
" <td>Tutsch</td>\n",
" <td>Rosemarie</td>\n",
" <td>1941-10-09</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1. Staiger Grundstücksverwaltung GmbH &amp; Co. KG</td>\n",
" <td>KOMMANDITIST</td>\n",
" <td>Staiger</td>\n",
" <td>Marc</td>\n",
" <td>1969-10-22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1. Staiger Grundstücksverwaltung GmbH &amp; Co. KG</td>\n",
" <td>KOMMANDITIST</td>\n",
" <td>Staiger</td>\n",
" <td>Michaela</td>\n",
" <td>1971-03-03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14891</th>\n",
" <td>Wohnungsbaugesellschaft mit beschränkter Haftu...</td>\n",
" <td>GESCHAEFTSFUEHRER</td>\n",
" <td>Weirich</td>\n",
" <td>Torsten</td>\n",
" <td>1975-07-21</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14892</th>\n",
" <td>Wohnungsbaugesellschaft mit beschränkter Haftu...</td>\n",
" <td>GESCHAEFTSFUEHRER</td>\n",
" <td>Brusinski</td>\n",
" <td>Bastian</td>\n",
" <td>1980-10-29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14893</th>\n",
" <td>Zalando Customer Care International SE &amp; Co. KG</td>\n",
" <td>PROKURIST</td>\n",
" <td>Pape</td>\n",
" <td>Ute</td>\n",
" <td>1978-12-13</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14894</th>\n",
" <td>zebotec GmbH</td>\n",
" <td>GESCHAEFTSFUEHRER</td>\n",
" <td>Neff</td>\n",
" <td>Werner</td>\n",
" <td>1981-11-24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14895</th>\n",
" <td>zebotec GmbH</td>\n",
" <td>GESCHAEFTSFUEHRER</td>\n",
" <td>Morris</td>\n",
" <td>Richard</td>\n",
" <td>1971-01-02</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>14896 rows × 5 columns</p>\n",
"</div>"
],
"text/plain": [
" name_company relation_type \\\n",
"0 0 10 24 Telefondienste GmbH GESCHAEFTSFUEHRER \n",
"1 0 10 24 Telefondienste GmbH PROKURIST \n",
"2 1. Staiger Grundstücksverwaltung GmbH & Co. KG KOMMANDITIST \n",
"3 1. Staiger Grundstücksverwaltung GmbH & Co. KG KOMMANDITIST \n",
"4 1. Staiger Grundstücksverwaltung GmbH & Co. KG KOMMANDITIST \n",
"... ... ... \n",
"14891 Wohnungsbaugesellschaft mit beschränkter Haftu... GESCHAEFTSFUEHRER \n",
"14892 Wohnungsbaugesellschaft mit beschränkter Haftu... GESCHAEFTSFUEHRER \n",
"14893 Zalando Customer Care International SE & Co. KG PROKURIST \n",
"14894 zebotec GmbH GESCHAEFTSFUEHRER \n",
"14895 zebotec GmbH GESCHAEFTSFUEHRER \n",
"\n",
" lastname firstname date_of_birth \n",
"0 Tetau Nicolas 1971-01-02 \n",
"1 Dammast Lutz 1966-12-06 \n",
"2 Tutsch Rosemarie 1941-10-09 \n",
"3 Staiger Marc 1969-10-22 \n",
"4 Staiger Michaela 1971-03-03 \n",
"... ... ... ... \n",
"14891 Weirich Torsten 1975-07-21 \n",
"14892 Brusinski Bastian 1980-10-29 \n",
"14893 Pape Ute 1978-12-13 \n",
"14894 Neff Werner 1981-11-24 \n",
"14895 Morris Richard 1971-01-02 \n",
"\n",
"[14896 rows x 5 columns]"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.read_sql_query(str(relations_query), session.bind)\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>person_id</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2520</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>4993</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3202</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4611</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4095</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1804</th>\n",
" <td>3565</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1805</th>\n",
" <td>3510</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1806</th>\n",
" <td>530</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1807</th>\n",
" <td>536</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1808</th>\n",
" <td>4617</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1809 rows × 1 columns</p>\n",
"</div>"
],
"text/plain": [
" person_id\n",
"0 2520\n",
"1 4993\n",
"2 3202\n",
"3 4611\n",
"4 4095\n",
"... ...\n",
"1804 3565\n",
"1805 3510\n",
"1806 530\n",
"1807 536\n",
"1808 4617\n",
"\n",
"[1809 rows x 1 columns]"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sqlalchemy import func, text\n",
"\n",
"# Subquery to group and count the relations without joins\n",
"grouped_relations_subquery = (\n",
" session.query(\n",
" entities.PersonRelation.person_id,\n",
" )\n",
" .group_by(entities.PersonRelation.person_id)\n",
" .having(func.count() > 1)\n",
")\n",
"pd.DataFrame(grouped_relations_subquery.all())"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
"relations_query = (\n",
" session.query(\n",
" entities.Company.name.label(\"name_company\"),\n",
" entities.PersonRelation.relation.label(\"relation_type\"),\n",
" entities.Person.lastname.label(\"lastname\"),\n",
" entities.Person.firstname.label(\"firstname\"),\n",
" entities.Person.date_of_birth.label(\"date_of_birth\"),\n",
" )\n",
" .join(\n",
" entities.PersonRelation,\n",
" entities.PersonRelation.company_id == entities.Company.id,\n",
" )\n",
" .join(\n",
" entities.Person,\n",
" entities.PersonRelation.person_id == entities.Person.id,\n",
" )\n",
" .filter(entities.PersonRelation.person_id.in_(grouped_relations_subquery))\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>name_company</th>\n",
" <th>relation_type</th>\n",
" <th>lastname</th>\n",
" <th>firstname</th>\n",
" <th>date_of_birth</th>\n",
" <th>person_name</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0 10 24 Telefondienste GmbH</td>\n",
" <td>RelationshipRoleEnum.GESCHAEFTSFUEHRER</td>\n",
" <td>Tetau</td>\n",
" <td>Nicolas</td>\n",
" <td>1971-01-02</td>\n",
" <td>TetauNicolas</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0 10 24 Telefondienste GmbH</td>\n",
" <td>RelationshipRoleEnum.PROKURIST</td>\n",
" <td>Dammast</td>\n",
" <td>Lutz</td>\n",
" <td>1966-12-06</td>\n",
" <td>DammastLutz</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>01050.com GmbH</td>\n",
" <td>RelationshipRoleEnum.GESCHAEFTSFUEHRER</td>\n",
" <td>Tetau</td>\n",
" <td>Nicolas</td>\n",
" <td>1971-01-02</td>\n",
" <td>TetauNicolas</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>01050.com GmbH</td>\n",
" <td>RelationshipRoleEnum.PROKURIST</td>\n",
" <td>Dammast</td>\n",
" <td>Lutz</td>\n",
" <td>1966-12-06</td>\n",
" <td>DammastLutz</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>AASP Filmproduktionsgesellschaft mbH &amp; Co. Leo...</td>\n",
" <td>RelationshipRoleEnum.KOMMANDITIST</td>\n",
" <td>Dellhofen</td>\n",
" <td>Jens</td>\n",
" <td>1977-04-19</td>\n",
" <td>DellhofenJens</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7071</th>\n",
" <td>Wohnungsbaugesellschaft mit beschränkter Haftu...</td>\n",
" <td>RelationshipRoleEnum.GESCHAEFTSFUEHRER</td>\n",
" <td>Karounos</td>\n",
" <td>Marita</td>\n",
" <td>1971-03-30</td>\n",
" <td>KarounosMarita</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7072</th>\n",
" <td>Wohnungsbaugesellschaft mit beschränkter Haftu...</td>\n",
" <td>RelationshipRoleEnum.PROKURIST</td>\n",
" <td>Groll</td>\n",
" <td>Michael</td>\n",
" <td>1967-12-24</td>\n",
" <td>GrollMichael</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7073</th>\n",
" <td>Wohnungsbaugesellschaft mit beschränkter Haftu...</td>\n",
" <td>RelationshipRoleEnum.GESCHAEFTSFUEHRER</td>\n",
" <td>Weirich</td>\n",
" <td>Torsten</td>\n",
" <td>1975-07-21</td>\n",
" <td>WeirichTorsten</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7074</th>\n",
" <td>Wohnungsbaugesellschaft mit beschränkter Haftu...</td>\n",
" <td>RelationshipRoleEnum.GESCHAEFTSFUEHRER</td>\n",
" <td>Brusinski</td>\n",
" <td>Bastian</td>\n",
" <td>1980-10-29</td>\n",
" <td>BrusinskiBastian</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7075</th>\n",
" <td>Zalando Customer Care International SE &amp; Co. KG</td>\n",
" <td>RelationshipRoleEnum.PROKURIST</td>\n",
" <td>Pape</td>\n",
" <td>Ute</td>\n",
" <td>1978-12-13</td>\n",
" <td>PapeUte</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>7076 rows × 6 columns</p>\n",
"</div>"
],
"text/plain": [
" name_company \\\n",
"0 0 10 24 Telefondienste GmbH \n",
"1 0 10 24 Telefondienste GmbH \n",
"2 01050.com GmbH \n",
"3 01050.com GmbH \n",
"4 AASP Filmproduktionsgesellschaft mbH & Co. Leo... \n",
"... ... \n",
"7071 Wohnungsbaugesellschaft mit beschränkter Haftu... \n",
"7072 Wohnungsbaugesellschaft mit beschränkter Haftu... \n",
"7073 Wohnungsbaugesellschaft mit beschränkter Haftu... \n",
"7074 Wohnungsbaugesellschaft mit beschränkter Haftu... \n",
"7075 Zalando Customer Care International SE & Co. KG \n",
"\n",
" relation_type lastname firstname \\\n",
"0 RelationshipRoleEnum.GESCHAEFTSFUEHRER Tetau Nicolas \n",
"1 RelationshipRoleEnum.PROKURIST Dammast Lutz \n",
"2 RelationshipRoleEnum.GESCHAEFTSFUEHRER Tetau Nicolas \n",
"3 RelationshipRoleEnum.PROKURIST Dammast Lutz \n",
"4 RelationshipRoleEnum.KOMMANDITIST Dellhofen Jens \n",
"... ... ... ... \n",
"7071 RelationshipRoleEnum.GESCHAEFTSFUEHRER Karounos Marita \n",
"7072 RelationshipRoleEnum.PROKURIST Groll Michael \n",
"7073 RelationshipRoleEnum.GESCHAEFTSFUEHRER Weirich Torsten \n",
"7074 RelationshipRoleEnum.GESCHAEFTSFUEHRER Brusinski Bastian \n",
"7075 RelationshipRoleEnum.PROKURIST Pape Ute \n",
"\n",
" date_of_birth person_name \n",
"0 1971-01-02 TetauNicolas \n",
"1 1966-12-06 DammastLutz \n",
"2 1971-01-02 TetauNicolas \n",
"3 1966-12-06 DammastLutz \n",
"4 1977-04-19 DellhofenJens \n",
"... ... ... \n",
"7071 1971-03-30 KarounosMarita \n",
"7072 1967-12-24 GrollMichael \n",
"7073 1975-07-21 WeirichTorsten \n",
"7074 1980-10-29 BrusinskiBastian \n",
"7075 1978-12-13 PapeUte \n",
"\n",
"[7076 rows x 6 columns]"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"relations_df = pd.DataFrame(relations_query.all())\n",
"relations_df[\"person_name\"] = relations_df[\"lastname\"] + relations_df[\"firstname\"]\n",
"relations_df.rename(columns={'oldName1': 'newName1', 'oldName2': 'newName2'}, inplace=True)\n",
"relations_df"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"node_template = {\n",
" \"id\": \"(company|person)_\\d\",\n",
" \"label\": \"Name from entries\",\n",
" \"type\": \"Company|Person\",\n",
" \"shape\": \"dot\",\n",
" \"color\": \"#729b79ff\",\n",
" # TODO add title for hover effect in graph \"title\": \"\"\n",
" }\n",
"nodes = relations_df\n",
"for index in relations_df.index:\n",
" \n",
" nodes[\"index\"] = {\n",
" \"label\": company_2.name,\n",
" \"type\": \"Company\",\n",
" \"shape\": \"dot\",\n",
" \"color\": \"#729b79ff\",\n",
" }"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import networkx as nx\n",
"import matplotlib.pyplot as plt\n",
"# relations_df[\"person_name\"] = relations_df[\"lastname\"] + relations_df[\"firstname\"]\n",
"\n",
"nodes = \n",
"# create edges from dataframe\n",
"graph = nx.from_pandas_edgelist(relations_df, source=\"name_company\", target=\"person_name\", edge_attr=\"relation_type\")\n",
"\n",
"# update node attributes from dataframe\n",
"nodes_attr = nodes.set_index(\"index\").to_dict(orient=\"index\")\n",
"nx.set_node_attributes(graph, nodes_attr)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from pyvis.network import Network\n",
"\n",
"net = Network(\n",
" directed=False, neighborhood_highlight=True, bgcolor=\"white\", font_color=\"black\"\n",
")\n",
"\n",
"# pass networkx graph to pyvis\n",
"net.from_nx(graph)\n",
"\n",
"net.inherit_edge_colors(False)\n",
"net.set_edge_smooth(\"dynamic\")\n",
"adj_list = net.get_adj_list()\n",
"\n",
"measure_type = \"degree\"\n",
"measure_vector = {}\n",
"\n",
"if measure_type == \"eigenvector\":\n",
" measure_vector = nx.eigenvector_centrality(graph)\n",
" df[\"eigenvector\"] = measure_vector.values()\n",
"if measure_type == \"degree\":\n",
" measure_vector = nx.degree_centrality(graph)\n",
" df[\"degree\"] = measure_vector.values()\n",
"if measure_type == \"betweeness\":\n",
" measure_vector = nx.betweenness_centrality(graph)\n",
" df[\"betweeness\"] = measure_vector.values()\n",
"if measure_type == \"closeness\":\n",
" measure_vector = nx.closeness_centrality(graph)\n",
" df[\"closeness\"] = measure_vector.values()\n",
"if measure_type == \"pagerank\":\n",
" measure_vector = nx.pagerank(graph)\n",
" df[\"pagerank\"] = measure_vector.values()\n",
"if measure_type == \"average_degree\":\n",
" measure_vector = nx.average_degree_connectivity(graph)\n",
" # df[\"average_degree\"] = measure_vector.values()\n",
" print(measure_vector.values())\n",
"\n",
"# calculate and update size of the nodes depending on their number of edges\n",
"for node_id, neighbors in adj_list.items():\n",
" # df[\"edges\"] = measure_vector.values()\n",
"\n",
" if measure_type == \"edges\":\n",
" size = 10 # len(neighbors)*5\n",
" else:\n",
" size = measure_vector[node_id] * 50\n",
" next(\n",
" (\n",
" node.update({\"size\": size})\n",
" for node in net.nodes\n",
" if node[\"id\"] == node_id\n",
" ),\n",
" None,\n",
" )\n",
"\n",
" \n",
"\n",
"net.repulsion()\n",
"net.show_buttons(filter_=[\"physics\"])\n",
"\n",
"# net.show_buttons()\n",
"\n",
"# save graph as HTML\n",
"net.save_graph(\"./tmp.html\")\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "aki-prj23-transparenzregister-IY2hcXvW-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.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
File diff suppressed because it is too large. Load diff
@@ -174,8 +174,8 @@
// parsing and collecting nodes and edges from the python
nodes = new vis.DataSet([{"color": "blue", "font": {"color": "black"}, "id": "person_1", "label": "Tetau, Nicolas", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_1", "label": "0 10 24 Telefondienste GmbH", "shape": "dot", "size": 10, "type": "Company"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_4", "label": "01050.com GmbH", "shape": "dot", "size": 10, "type": "Company"}, {"color": "blue", "font": {"color": "black"}, "id": "person_2", "label": "Dammast, Lutz", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_3", "label": "Tutsch, Rosemarie", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_2", "label": "1. Staiger Grundst\u00fccksverwaltung GmbH \u0026 Co. KG", "shape": "dot", "size": 10, "type": "Company"}, {"color": "blue", "font": {"color": "black"}, "id": "person_4", "label": "Staiger, Marc", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_5", "label": "Staiger, Michaela", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_6", "label": "Staiger, Margarete", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_7", "label": "Staiger, Bruno", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_8", "label": "Hofmann, Nicole", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_9", "label": "Autenrieth, Steffen", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_3", "label": "1 A Autenrieth Kunststofftechnik GmbH \u0026 Co. KG", "shape": "dot", "size": 10, "type": "Company"}, {"color": "blue", "font": {"color": "black"}, "id": "person_10", "label": "Bischoff, Stefanie", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_2213", "label": "Multi-Center Warenvertriebs GmbH", "shape": "dot", "size": 10, "type": "Company"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_5", "label": "2. Schaper Objekt GmbH \u0026 Co. Kiel KG", "shape": "dot", "size": 10, "type": "Company"}, {"color": "blue", "font": {"color": "black"}, "id": "person_11", "label": "Achilles, Christel", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_6", "label": "AASP Filmproduktionsgesellschaft mbH \u0026 Co. Leonie KG", "shape": "dot", "size": 10, "type": "Company"}, {"color": "blue", "font": {"color": "black"}, "id": "person_12", "label": "Ackermann, Wilhelm", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_13", "label": "Ahrens, Harald", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_14", "label": "Al Sibai, Mohamed Maged", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_15", "label": "Al-Bazaz, Salim", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_16", "label": "Attawar, Marina", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_17", "label": "Babic-Pavicic, Ankica", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_18", "label": "Bak, Ingo", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_19", "label": "Becker, Christoph", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_20", "label": "Becker, Olaf", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_21", "label": "Berg, Rainer", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_22", "label": "Berkhout, Pieter", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_23", "label": "Berns, Bernhard", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_24", "label": "Betz, Franz-Hartwig", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_25", "label": "Birken, Claus", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_26", "label": "Blessing, Helmut", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_27", "label": "Bohnet, Heinz G.", "shape": "doLine truncated
edges = new vis.DataSet([{"from": "person_1", "label": "Gesch\u00e4ftsf\u00fchrer", "to": "company_1", "width": 1}, {"from": "person_1", "label": "Gesch\u00e4ftsf\u00fchrer", "to": "company_4", "width": 1}, {"from": "company_1", "label": "Prokurist", "to": "person_2", "width": 1}, {"from": "person_2", "label": "Prokurist", "to": "company_4", "width": 1}, {"from": "person_3", "label": "Kommanditist", "to": "company_2", "width": 1}, {"from": "company_2", "label": "Kommanditist", "to": "person_4", "width": 1}, {"from": "company_2", "label": "Kommanditist", "to": "person_5", "width": 1}, {"from": "company_2", "label": "Kommanditist", "to": "person_6", "width": 1}, {"from": "company_2", "label": "Kommanditist", "to": "person_7", "width": 1}, {"from": "company_2", "label": "Kommanditist", "to": "person_8", "width": 1}, {"from": "person_9", "label": "Kommanditist", "to": "company_3", "width": 1}, {"from": "company_3", "label": "Prokurist", "to": "person_10", "width": 1}, {"from": "company_2213", "label": "Organisation", "to": "company_5", "width": 1}, {"from": "person_11", "label": "Kommanditist", "to": "company_6", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_12", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_13", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_14", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_15", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_16", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_17", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_18", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_19", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_20", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_21", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_22", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_23", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_24", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_25", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_26", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_27", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_28", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_29", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_30", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_31", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_32", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_33", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_34", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_35", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_36", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_37", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_38", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_39", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_40", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_41", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_42", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_43", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_44", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_45", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_46", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_47", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_48", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_49", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_50", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_51", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_52", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_53", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_54", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_55", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_56", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_57", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_58", "width": 1}, {"from": "company_6", "label": "Kommanditist", "to": "person_59", "width": 1}, {"from": "company_6", "label": "Kommanditist", "tLine truncated
nodes = new vis.DataSet([{"color": "blue", "font": {"color": "black"}, "id": "person_1", "label": "Nicolas, Tetau", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_1", "label": "0 10 24 Telefondienste GmbH", "shape": "dot", "size": 10, "type": "Company"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_4", "label": "01050.com GmbH", "shape": "dot", "size": 10, "type": "Company"}, {"color": "blue", "font": {"color": "black"}, "id": "person_2", "label": "Lutz, Dammast", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_3", "label": "Rosemarie, Tutsch", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_2", "label": "1. Staiger Grundst\u00fccksverwaltung GmbH \u0026 Co. KG", "shape": "dot", "size": 10, "type": "Company"}, {"color": "blue", "font": {"color": "black"}, "id": "person_4", "label": "Marc, Staiger", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_5", "label": "Michaela, Staiger", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_6", "label": "Margarete, Staiger", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_7", "label": "Bruno, Staiger", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_8", "label": "Nicole, Hofmann", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_9", "label": "Steffen, Autenrieth", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_3", "label": "1 A Autenrieth Kunststofftechnik GmbH \u0026 Co. KG", "shape": "dot", "size": 10, "type": "Company"}, {"color": "blue", "font": {"color": "black"}, "id": "person_10", "label": "Stefanie, Bischoff", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_2213", "label": "Multi-Center Warenvertriebs GmbH", "shape": "dot", "size": 10, "type": "Company"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_5", "label": "2. Schaper Objekt GmbH \u0026 Co. Kiel KG", "shape": "dot", "size": 10, "type": "Company"}, {"color": "blue", "font": {"color": "black"}, "id": "person_11", "label": "Christel, Achilles", "shape": "dot", "size": 10, "type": "Person"}, {"color": "#729b79ff", "font": {"color": "black"}, "id": "company_6", "label": "AASP Filmproduktionsgesellschaft mbH \u0026 Co. Leonie KG", "shape": "dot", "size": 10, "type": "Company"}, {"color": "blue", "font": {"color": "black"}, "id": "person_12", "label": "Wilhelm, Ackermann", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_13", "label": "Harald, Ahrens", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_14", "label": "Mohamed Maged, Al Sibai", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_15", "label": "Salim, Al-Bazaz", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_16", "label": "Marina, Attawar", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_17", "label": "Ankica, Babic-Pavicic", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_18", "label": "Ingo, Bak", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_19", "label": "Christoph, Becker", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_20", "label": "Olaf, Becker", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_21", "label": "Rainer, Berg", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_22", "label": "Pieter, Berkhout", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_23", "label": "Bernhard, Berns", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_24", "label": "Franz-Hartwig, Betz", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_25", "label": "Claus, Birken", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_26", "label": "Helmut, Blessing", "shape": "dot", "size": 10, "type": "Person"}, {"color": "blue", "font": {"color": "black"}, "id": "person_27", "label": "Heinz G., Bohnet", "shape": "doLine truncated
edges = new vis.DataSet([{"from": "person_1", "label": "Gesch\u00e4ftsf\u00fchrer(in)", "to": "company_1", "width": 1}, {"from": "person_1", "label": "Gesch\u00e4ftsf\u00fchrer(in)", "to": "company_4", "width": 1}, {"from": "company_1", "label": "Prokurist(in)", "to": "person_2", "width": 1}, {"from": "person_2", "label": "Prokurist(in)", "to": "company_4", "width": 1}, {"from": "person_3", "label": "Kommanditist(in)", "to": "company_2", "width": 1}, {"from": "company_2", "label": "Kommanditist(in)", "to": "person_4", "width": 1}, {"from": "company_2", "label": "Kommanditist(in)", "to": "person_5", "width": 1}, {"from": "company_2", "label": "Kommanditist(in)", "to": "person_6", "width": 1}, {"from": "company_2", "label": "Kommanditist(in)", "to": "person_7", "width": 1}, {"from": "company_2", "label": "Kommanditist(in)", "to": "person_8", "width": 1}, {"from": "person_9", "label": "Kommanditist(in)", "to": "company_3", "width": 1}, {"from": "company_3", "label": "Prokurist(in)", "to": "person_10", "width": 1}, {"from": "company_2213", "label": "Kommanditist(in)", "to": "company_5", "width": 1}, {"from": "person_11", "label": "Kommanditist(in)", "to": "company_6", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_12", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_13", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_14", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_15", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_16", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_17", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_18", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_19", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_20", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_21", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_22", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_23", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_24", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_25", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_26", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_27", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_28", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_29", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_30", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_31", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_32", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_33", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_34", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_35", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_36", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_37", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_38", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_39", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_40", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_41", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_42", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_43", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_44", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_45", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_46", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_47", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_48", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_49", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_50", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_51", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_52", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_53", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_54", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_55", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)", "to": "person_56", "width": 1}, {"from": "company_6", "label": "Kommanditist(in)",Line truncated
nodeColors = {};
allNodes = nodes.get({ returnType: "Object" });
@@ -188,7 +188,10 @@
var options = {
"configure": {
"enabled": true
"enabled": true,
"filter": [
"physics"
]
},
"edges": {
"color": {