diff --git a/wikidata/query-wikidata.ipynb b/wikidata/query-wikidata.ipynb
index 2f5752fce25558a8575c4fe6c6f6b784bb88e48d..a8910ba965eb9bd1b4773e56467b4a106a0d752a 100644
--- a/wikidata/query-wikidata.ipynb
+++ b/wikidata/query-wikidata.ipynb
@@ -2,13 +2,13 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": 20,
+   "execution_count": 78,
    "id": "initial_id",
    "metadata": {
     "collapsed": true,
     "ExecuteTime": {
-     "end_time": "2024-03-11T17:38:32.545716600Z",
-     "start_time": "2024-03-11T17:38:32.539202500Z"
+     "end_time": "2024-03-14T08:55:46.227687600Z",
+     "start_time": "2024-03-14T08:55:46.202503500Z"
     }
    },
    "outputs": [],
@@ -28,14 +28,6 @@
     "    :param qid: WikiData entity ID (QID) for the person\n",
     "    :return: SPARQL query string\n",
     "    \"\"\"\n",
-    "    propSelection = \"\"\n",
-    "    for label, pid in property_labels_to_ids.items():\n",
-    "        if label.endswith(\"_id\") or label.startswith(\"image\") or label.startswith(\"date\"):\n",
-    "            propSelection += f\"\"\"\n",
-    "                OPTIONAL {{ ?item wdt:{pid} ?{label}. }}\"\"\"\n",
-    "        else:\n",
-    "            propSelection += f\"\"\"\n",
-    "                OPTIONAL {{ ?item wdt:{pid} ?{label}Id . ?{label}Id rdfs:label ?{label} FILTER(LANG(?{label}) = \"{language}\") . }}\"\"\"\n",
     "\n",
     "    if qid:\n",
     "        selectClause = \"SELECT DISTINCT ?item\"\n",
@@ -43,15 +35,42 @@
     "        groupByClause = \"GROUP BY ?item\"\n",
     "    else:\n",
     "        selectClause = \"SELECT DISTINCT ?item ?itemLabel\"\n",
-    "        selectClause += \"\\n    \".join([f\"(SAMPLE(?{label}) AS ?{label})\" for label in property_labels_to_ids.keys()])\n",
     "        itemConstraint = f'?item wdt:P31 wd:Q5; rdfs:label \"{fullName}\"@{language} .'\n",
     "        groupByClause = \"GROUP BY ?item ?itemLabel\"\n",
+    "\n",
+    "    for label, pid in property_labels_to_ids.items():\n",
+    "        # add to property selection\n",
+    "        if label.endswith('Name'):\n",
+    "            selectClause += f'''\n",
+    "                (GROUP_CONCAT(DISTINCT ?{label}Value; separator=\" \") AS ?{label})'''\n",
+    "        else:\n",
+    "            selectClause += f'''\n",
+    "                (SAMPLE(?{label}) AS ?{label})'''\n",
+    "\n",
+    "        # add to item constraint\n",
+    "        if label.endswith(\"_id\") or label.startswith(\"image\") or label.startswith(\"date\"):\n",
+    "            itemConstraint += f\"\"\"\n",
+    "                OPTIONAL {{ ?item wdt:{pid} ?{label}. }}\"\"\"\n",
+    "        elif label.endswith(\"Name\"):\n",
+    "            itemConstraint += f\"\"\"\n",
+    "                OPTIONAL {{\n",
+    "                ?item p:{pid} ?{label}Statement.\n",
+    "                    ?{label}Statement ps:{pid} ?{label}.\n",
+    "                    OPTIONAL {{ ?{label}Statement pq:P1545 ?order. }}\n",
+    "                    OPTIONAL {{\n",
+    "                ?{label} rdfs:label ?{label}Label.\n",
+    "                      FILTER(LANG(?{label}Label) = \"{language}\")\n",
+    "                    }}\n",
+    "                    BIND(COALESCE(?{label}Label, STR(?{label})) AS ?{label}Value)\n",
+    "                  }}\"\"\"\n",
+    "        else:\n",
+    "            itemConstraint += f\"\"\"\n",
+    "                OPTIONAL {{ ?item wdt:{pid} ?{label}Id . ?{label}Id rdfs:label ?{label} FILTER(LANG(?{label}) = \"{language}\") . }}\"\"\"\n",
     "    \n",
     "    query = textwrap.dedent(f\"\"\"\n",
     "    {selectClause} \n",
     "    WHERE {{\n",
     "        {itemConstraint}\n",
-    "        {propSelection}\n",
     "    }}\n",
     "    {groupByClause}\n",
     "    \"\"\")\n",
@@ -59,15 +78,11 @@
     "    return query\n",
     "\n",
     "\n",
-    "\n",
-    "def construct_image_url(filename):\n",
-    "    return f\"https://commons.wikimedia.org/wiki/Special:FilePath/{requests.utils.quote(filename)}\"\n",
-    "\n",
-    "\n",
-    "\n",
-    "def query_wikidata(fullName, property_map, language='en', qid=None):\n",
+    "def query_wikidata(fullName, property_map, language='en', qid=None, debug=False):\n",
     "    SPARQL_ENDPOINT = \"https://query.wikidata.org/sparql\"\n",
     "    query = generate_sparql_query(fullName, property_map, language, qid=qid)\n",
+    "    if debug:\n",
+    "        print(query)\n",
     "    headers = {'User-Agent': 'Mozilla/5.0', 'Accept': 'application/json'}\n",
     "    response = requests.get(SPARQL_ENDPOINT, headers=headers, params={'query': query, 'format': 'json'})\n",
     "\n",
@@ -93,8 +108,9 @@
     "            else:\n",
     "                data[label] = None\n",
     "                \n",
-    "        # add item URI\n",
+    "        # add qid and item URI\n",
     "        data['qid'] = os.path.basename(result['item']['value'])\n",
+    "        data['wikidata_url'] = result['item']['value']\n",
     "        results[i] = data\n",
     "            \n",
     "    return results\n",
@@ -105,7 +121,7 @@
     "\n",
     "    Parameters:\n",
     "    - qid (str): The QID of the Wikidata item.\n",
-    "    - languages (list): A list of language codes (e.g., ['en', 'de']).\n",
+    "    - languages (list): A list of language codes (e.g., ['en', 'de']). \n",
     "\n",
     "    Returns:\n",
     "    - dict: A dictionary with languages as keys and Wikipedia URLs as values.\n",
@@ -120,96 +136,88 @@
     "\n",
     "    response = requests.get(url, params=params)\n",
     "    data = response.json()\n",
-    "\n",
     "    links = {}\n",
     "    if \"entities\" in data and qid in data[\"entities\"]:\n",
     "        sitelinks = data[\"entities\"][qid].get(\"sitelinks\", {})\n",
     "        for lang in languages:\n",
     "            sitekey = f\"{lang}wiki\"\n",
     "            if sitekey in sitelinks:\n",
-    "                # Use the 'title' key and construct the URL manually\n",
-    "                title = sitelinks[sitekey][\"title\"]\n",
-    "                links[lang] = f\"https://{lang}.wikipedia.org/wiki/{requests.utils.quote(title)}\"\n",
+    "                siteLinkData = sitelinks.get(sitekey)\n",
+    "                if 'url' in siteLinkData:\n",
+    "                    links[lang] = siteLinkData.get('url')\n",
+    "                else:\n",
+    "                    # Use the 'title' key and construct the URL manually\n",
+    "                    title = sitelinks[sitekey][\"title\"]\n",
+    "                    links[lang] = f\"https://{lang}.wikipedia.org/wiki/{requests.utils.quote(title)}\"\n",
     "            else:\n",
     "                links[lang] = None  # Or use '' to represent absence of link\n",
     "\n",
     "    return links\n",
     "\n",
     "\n",
-    "def get_person_info_from_wikidata(names, property_map, languages=None):\n",
+    "def get_person_info_from_wikidata(names, property_map, languages=None, debug=False):\n",
     "    if languages is None:\n",
     "        languages = ['en', 'de']\n",
     "    all_data = []\n",
     "    print('Retrieving scholar data...')\n",
     "    for item in names:\n",
     "        if type(item) is tuple:\n",
-    "            results = query_wikidata(item[0], property_map, languages[0], qid=item[1])\n",
+    "            results = query_wikidata(item[0], property_map, languages[0], qid=item[1], debug=debug)\n",
     "        else:\n",
-    "            results = query_wikidata(item, property_map, languages[0])\n",
+    "            results = query_wikidata(item, property_map, languages[0], debug=debug)\n",
     "        \n",
     "        all_data += results\n",
+    "\n",
+    "    # Ensure fullName appears first by reordering columns based on property_labels_to_ids keys\n",
+    "    columns = ['fullName', 'qid'] + list(property_map.keys()) + ['wikidata_url'] + [f'wikipedia_{l}' for l in languages]\n",
+    "    \n",
     "    if len(all_data) > 0:\n",
-    "        # Ensure fullName appears first by reordering columns based on property_labels_to_ids keys\n",
-    "        columns_order = ['fullName', 'qid'] + list(property_map.keys())\n",
-    "        df = pd.DataFrame(all_data, columns=columns_order)\n",
-    "        \n",
+    "        df = pd.DataFrame(all_data, columns=columns, dtype=str)\n",
     "        # Add wikipedia links\n",
-    "        print(\"Retrieving wikipedia URLs\")\n",
-    "        for language in languages:\n",
-    "            df[f'wikipedia_{language}'] = df.apply(lambda r: get_wikipedia_links(r['qid'], language).get(language), axis=1)\n",
+    "        print(\"Retrieving wikipedia URLs...\")\n",
+    "        # For each QID in the DataFrame, fetch Wikipedia links for all languages and update the DataFrame accordingly\n",
+    "        for index, row in df.iterrows():\n",
+    "            qid = row['qid']\n",
+    "            links = get_wikipedia_links(qid, languages)\n",
+    "        \n",
+    "            # Update the DataFrame directly with the fetched links for each language\n",
+    "            for language in languages:\n",
+    "                df.at[index, f'wikipedia_{language}'] = links.get(language, None)\n",
     "    else:\n",
-    "        df = pd.DataFrame(columns=['fullName'] + list(property_map.keys()) + [f'wikipedia_{language}'])\n",
+    "        df = pd.DataFrame(columns=columns, dtype=str)\n",
     "    return df"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "source": [
+    "## Retrieve Data for a given list of scholars"
+   ],
+   "metadata": {
+    "collapsed": false
+   },
+   "id": "397920a95584f406"
+  },
   {
    "cell_type": "code",
-   "execution_count": 22,
+   "execution_count": 79,
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Retrieving scholar data...\n"
+      "Retrieving scholar data...\n",
+      "Retrieving wikipedia URLs...\n"
      ]
     },
     {
-     "ename": "ConnectionError",
-     "evalue": "HTTPSConnectionPool(host='query.wikidata.org', port=443): Max retries exceeded with url: /sparql?query=%0ASELECT+DISTINCT+%3Fitem+%3FitemLabel%28SAMPLE%28%3FsexOrGender%29+AS+%3FsexOrGender%29%0A%28SAMPLE%28%3FcountryOfCitizenship%29+AS+%3FcountryOfCitizenship%29%0A%28SAMPLE%28%3FgivenName%29+AS+%3FgivenName%29%0A%28SAMPLE%28%3FfamilyName%29+AS+%3FfamilyName%29%0A%28SAMPLE%28%3FdateOfBirth%29+AS+%3FdateOfBirth%29%0A%28SAMPLE%28%3FdateOfDeath%29+AS+%3FdateOfDeath%29%0A%28SAMPLE%28%3Foccupation%29+AS+%3Foccupation%29%0A%28SAMPLE%28%3FfieldOfWork%29+AS+%3FfieldOfWork%29%0A%28SAMPLE%28%3Fviaf_id%29+AS+%3Fviaf_id%29%0A%28SAMPLE%28%3Fisni_id%29+AS+%3Fisni_id%29%0A%28SAMPLE%28%3Fgnd_id%29+AS+%3Fgnd_id%29+%0AWHERE+%7B%0A++++%3Fitem+wdt%3AP31+wd%3AQ5%3B+rdfs%3Alabel+%22Theodor+Geiger%22%40en+.%0A%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP21+%3FsexOrGenderId+.+%3FsexOrGenderId+rdfs%3Alabel+%3FsexOrGender+FILTER%28LANG%28%3FsexOrGender%29+%3D+%22en%22%29+.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP27+%3FcountryOfCitizenshipId+.+%3FcountryOfCitizenshipId+rdfs%3Alabel+%3FcountryOfCitizenship+FILTER%28LANG%28%3FcountryOfCitizenship%29+%3D+%22en%22%29+.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP735+%3FgivenNameId+.+%3FgivenNameId+rdfs%3Alabel+%3FgivenName+FILTER%28LANG%28%3FgivenName%29+%3D+%22en%22%29+.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP734+%3FfamilyNameId+.+%3FfamilyNameId+rdfs%3Alabel+%3FfamilyName+FILTER%28LANG%28%3FfamilyName%29+%3D+%22en%22%29+.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP569+%3FdateOfBirth.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP570+%3FdateOfDeath.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP106+%3FoccupationId+.+%3FoccupationId+rdfs%3Alabel+%3Foccupation+FILTER%28LANG%28%3Foccupation%29+%3D+%22en%22%29+.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP101+%3FfieldOfWorkId+.+%3FfieldOfWorkId+rdfs%3Alabel+%3FfieldOfWork+FILTER%28LANG%28%3FfieldOfWork%29+%3D+%22en%22%29+.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP214+%3Fviaf_id.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP213+%3Fisni_id.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP227+%3Fgnd_id.+%7D%0A%7D%0AGROUP+BY+%3Fitem+%3FitemLabel%0A&format=json (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000027807EC3DD0>: Failed to establish a new connection: [WinError 10048] Normalerweise darf jede Socketadresse (Protokoll, Netzwerkadresse oder Anschluss) nur jeweils einmal verwendet werden'))",
-     "output_type": "error",
-     "traceback": [
-      "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m",
-      "\u001B[1;31mOSError\u001B[0m                                   Traceback (most recent call last)",
-      "File \u001B[1;32m~\\AppData\\Local\\miniconda3\\Lib\\site-packages\\urllib3\\connection.py:174\u001B[0m, in \u001B[0;36mHTTPConnection._new_conn\u001B[1;34m(self)\u001B[0m\n\u001B[0;32m    173\u001B[0m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[1;32m--> 174\u001B[0m     conn \u001B[38;5;241m=\u001B[39m connection\u001B[38;5;241m.\u001B[39mcreate_connection(\n\u001B[0;32m    175\u001B[0m         (\u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_dns_host, \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mport), \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mtimeout, \u001B[38;5;241m*\u001B[39m\u001B[38;5;241m*\u001B[39mextra_kw\n\u001B[0;32m    176\u001B[0m     )\n\u001B[0;32m    178\u001B[0m \u001B[38;5;28;01mexcept\u001B[39;00m SocketTimeout:\n",
-      "File \u001B[1;32m~\\AppData\\Local\\miniconda3\\Lib\\site-packages\\urllib3\\util\\connection.py:95\u001B[0m, in \u001B[0;36mcreate_connection\u001B[1;34m(address, timeout, source_address, socket_options)\u001B[0m\n\u001B[0;32m     94\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m err \u001B[38;5;129;01mis\u001B[39;00m \u001B[38;5;129;01mnot\u001B[39;00m \u001B[38;5;28;01mNone\u001B[39;00m:\n\u001B[1;32m---> 95\u001B[0m     \u001B[38;5;28;01mraise\u001B[39;00m err\n\u001B[0;32m     97\u001B[0m \u001B[38;5;28;01mraise\u001B[39;00m socket\u001B[38;5;241m.\u001B[39merror(\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mgetaddrinfo returns an empty list\u001B[39m\u001B[38;5;124m\"\u001B[39m)\n",
-      "File \u001B[1;32m~\\AppData\\Local\\miniconda3\\Lib\\site-packages\\urllib3\\util\\connection.py:85\u001B[0m, in \u001B[0;36mcreate_connection\u001B[1;34m(address, timeout, source_address, socket_options)\u001B[0m\n\u001B[0;32m     84\u001B[0m     sock\u001B[38;5;241m.\u001B[39mbind(source_address)\n\u001B[1;32m---> 85\u001B[0m sock\u001B[38;5;241m.\u001B[39mconnect(sa)\n\u001B[0;32m     86\u001B[0m \u001B[38;5;28;01mreturn\u001B[39;00m sock\n",
-      "\u001B[1;31mOSError\u001B[0m: [WinError 10048] Normalerweise darf jede Socketadresse (Protokoll, Netzwerkadresse oder Anschluss) nur jeweils einmal verwendet werden",
-      "\nDuring handling of the above exception, another exception occurred:\n",
-      "\u001B[1;31mNewConnectionError\u001B[0m                        Traceback (most recent call last)",
-      "File \u001B[1;32m~\\AppData\\Local\\miniconda3\\Lib\\site-packages\\urllib3\\connectionpool.py:715\u001B[0m, in \u001B[0;36mHTTPConnectionPool.urlopen\u001B[1;34m(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, **response_kw)\u001B[0m\n\u001B[0;32m    714\u001B[0m \u001B[38;5;66;03m# Make the request on the httplib connection object.\u001B[39;00m\n\u001B[1;32m--> 715\u001B[0m httplib_response \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_make_request(\n\u001B[0;32m    716\u001B[0m     conn,\n\u001B[0;32m    717\u001B[0m     method,\n\u001B[0;32m    718\u001B[0m     url,\n\u001B[0;32m    719\u001B[0m     timeout\u001B[38;5;241m=\u001B[39mtimeout_obj,\n\u001B[0;32m    720\u001B[0m     body\u001B[38;5;241m=\u001B[39mbody,\n\u001B[0;32m    721\u001B[0m     headers\u001B[38;5;241m=\u001B[39mheaders,\n\u001B[0;32m    722\u001B[0m     chunked\u001B[38;5;241m=\u001B[39mchunked,\n\u001B[0;32m    723\u001B[0m )\n\u001B[0;32m    725\u001B[0m \u001B[38;5;66;03m# If we're going to release the connection in ``finally:``, then\u001B[39;00m\n\u001B[0;32m    726\u001B[0m \u001B[38;5;66;03m# the response doesn't need to know about the connection. Otherwise\u001B[39;00m\n\u001B[0;32m    727\u001B[0m \u001B[38;5;66;03m# it will also try to release it and we'll have a double-release\u001B[39;00m\n\u001B[0;32m    728\u001B[0m \u001B[38;5;66;03m# mess.\u001B[39;00m\n",
-      "File \u001B[1;32m~\\AppData\\Local\\miniconda3\\Lib\\site-packages\\urllib3\\connectionpool.py:404\u001B[0m, in \u001B[0;36mHTTPConnectionPool._make_request\u001B[1;34m(self, conn, method, url, timeout, chunked, **httplib_request_kw)\u001B[0m\n\u001B[0;32m    403\u001B[0m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[1;32m--> 404\u001B[0m     \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_validate_conn(conn)\n\u001B[0;32m    405\u001B[0m \u001B[38;5;28;01mexcept\u001B[39;00m (SocketTimeout, BaseSSLError) \u001B[38;5;28;01mas\u001B[39;00m e:\n\u001B[0;32m    406\u001B[0m     \u001B[38;5;66;03m# Py2 raises this as a BaseSSLError, Py3 raises it as socket timeout.\u001B[39;00m\n",
-      "File \u001B[1;32m~\\AppData\\Local\\miniconda3\\Lib\\site-packages\\urllib3\\connectionpool.py:1058\u001B[0m, in \u001B[0;36mHTTPSConnectionPool._validate_conn\u001B[1;34m(self, conn)\u001B[0m\n\u001B[0;32m   1057\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;129;01mnot\u001B[39;00m \u001B[38;5;28mgetattr\u001B[39m(conn, \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124msock\u001B[39m\u001B[38;5;124m\"\u001B[39m, \u001B[38;5;28;01mNone\u001B[39;00m):  \u001B[38;5;66;03m# AppEngine might not have  `.sock`\u001B[39;00m\n\u001B[1;32m-> 1058\u001B[0m     conn\u001B[38;5;241m.\u001B[39mconnect()\n\u001B[0;32m   1060\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;129;01mnot\u001B[39;00m conn\u001B[38;5;241m.\u001B[39mis_verified:\n",
-      "File \u001B[1;32m~\\AppData\\Local\\miniconda3\\Lib\\site-packages\\urllib3\\connection.py:363\u001B[0m, in \u001B[0;36mHTTPSConnection.connect\u001B[1;34m(self)\u001B[0m\n\u001B[0;32m    361\u001B[0m \u001B[38;5;28;01mdef\u001B[39;00m \u001B[38;5;21mconnect\u001B[39m(\u001B[38;5;28mself\u001B[39m):\n\u001B[0;32m    362\u001B[0m     \u001B[38;5;66;03m# Add certificate verification\u001B[39;00m\n\u001B[1;32m--> 363\u001B[0m     \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39msock \u001B[38;5;241m=\u001B[39m conn \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_new_conn()\n\u001B[0;32m    364\u001B[0m     hostname \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mhost\n",
-      "File \u001B[1;32m~\\AppData\\Local\\miniconda3\\Lib\\site-packages\\urllib3\\connection.py:186\u001B[0m, in \u001B[0;36mHTTPConnection._new_conn\u001B[1;34m(self)\u001B[0m\n\u001B[0;32m    185\u001B[0m \u001B[38;5;28;01mexcept\u001B[39;00m SocketError \u001B[38;5;28;01mas\u001B[39;00m e:\n\u001B[1;32m--> 186\u001B[0m     \u001B[38;5;28;01mraise\u001B[39;00m NewConnectionError(\n\u001B[0;32m    187\u001B[0m         \u001B[38;5;28mself\u001B[39m, \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mFailed to establish a new connection: \u001B[39m\u001B[38;5;132;01m%s\u001B[39;00m\u001B[38;5;124m\"\u001B[39m \u001B[38;5;241m%\u001B[39m e\n\u001B[0;32m    188\u001B[0m     )\n\u001B[0;32m    190\u001B[0m \u001B[38;5;28;01mreturn\u001B[39;00m conn\n",
-      "\u001B[1;31mNewConnectionError\u001B[0m: <urllib3.connection.HTTPSConnection object at 0x0000027807EC3DD0>: Failed to establish a new connection: [WinError 10048] Normalerweise darf jede Socketadresse (Protokoll, Netzwerkadresse oder Anschluss) nur jeweils einmal verwendet werden",
-      "\nDuring handling of the above exception, another exception occurred:\n",
-      "\u001B[1;31mMaxRetryError\u001B[0m                             Traceback (most recent call last)",
-      "File \u001B[1;32m~\\AppData\\Local\\miniconda3\\Lib\\site-packages\\requests\\adapters.py:486\u001B[0m, in \u001B[0;36mHTTPAdapter.send\u001B[1;34m(self, request, stream, timeout, verify, cert, proxies)\u001B[0m\n\u001B[0;32m    485\u001B[0m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[1;32m--> 486\u001B[0m     resp \u001B[38;5;241m=\u001B[39m conn\u001B[38;5;241m.\u001B[39murlopen(\n\u001B[0;32m    487\u001B[0m         method\u001B[38;5;241m=\u001B[39mrequest\u001B[38;5;241m.\u001B[39mmethod,\n\u001B[0;32m    488\u001B[0m         url\u001B[38;5;241m=\u001B[39murl,\n\u001B[0;32m    489\u001B[0m         body\u001B[38;5;241m=\u001B[39mrequest\u001B[38;5;241m.\u001B[39mbody,\n\u001B[0;32m    490\u001B[0m         headers\u001B[38;5;241m=\u001B[39mrequest\u001B[38;5;241m.\u001B[39mheaders,\n\u001B[0;32m    491\u001B[0m         redirect\u001B[38;5;241m=\u001B[39m\u001B[38;5;28;01mFalse\u001B[39;00m,\n\u001B[0;32m    492\u001B[0m         assert_same_host\u001B[38;5;241m=\u001B[39m\u001B[38;5;28;01mFalse\u001B[39;00m,\n\u001B[0;32m    493\u001B[0m         preload_content\u001B[38;5;241m=\u001B[39m\u001B[38;5;28;01mFalse\u001B[39;00m,\n\u001B[0;32m    494\u001B[0m         decode_content\u001B[38;5;241m=\u001B[39m\u001B[38;5;28;01mFalse\u001B[39;00m,\n\u001B[0;32m    495\u001B[0m         retries\u001B[38;5;241m=\u001B[39m\u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mmax_retries,\n\u001B[0;32m    496\u001B[0m         timeout\u001B[38;5;241m=\u001B[39mtimeout,\n\u001B[0;32m    497\u001B[0m         chunked\u001B[38;5;241m=\u001B[39mchunked,\n\u001B[0;32m    498\u001B[0m     )\n\u001B[0;32m    500\u001B[0m \u001B[38;5;28;01mexcept\u001B[39;00m (ProtocolError, \u001B[38;5;167;01mOSError\u001B[39;00m) \u001B[38;5;28;01mas\u001B[39;00m err:\n",
-      "File \u001B[1;32m~\\AppData\\Local\\miniconda3\\Lib\\site-packages\\urllib3\\connectionpool.py:799\u001B[0m, in \u001B[0;36mHTTPConnectionPool.urlopen\u001B[1;34m(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, **response_kw)\u001B[0m\n\u001B[0;32m    797\u001B[0m     e \u001B[38;5;241m=\u001B[39m ProtocolError(\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mConnection aborted.\u001B[39m\u001B[38;5;124m\"\u001B[39m, e)\n\u001B[1;32m--> 799\u001B[0m retries \u001B[38;5;241m=\u001B[39m retries\u001B[38;5;241m.\u001B[39mincrement(\n\u001B[0;32m    800\u001B[0m     method, url, error\u001B[38;5;241m=\u001B[39me, _pool\u001B[38;5;241m=\u001B[39m\u001B[38;5;28mself\u001B[39m, _stacktrace\u001B[38;5;241m=\u001B[39msys\u001B[38;5;241m.\u001B[39mexc_info()[\u001B[38;5;241m2\u001B[39m]\n\u001B[0;32m    801\u001B[0m )\n\u001B[0;32m    802\u001B[0m retries\u001B[38;5;241m.\u001B[39msleep()\n",
-      "File \u001B[1;32m~\\AppData\\Local\\miniconda3\\Lib\\site-packages\\urllib3\\util\\retry.py:592\u001B[0m, in \u001B[0;36mRetry.increment\u001B[1;34m(self, method, url, response, error, _pool, _stacktrace)\u001B[0m\n\u001B[0;32m    591\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m new_retry\u001B[38;5;241m.\u001B[39mis_exhausted():\n\u001B[1;32m--> 592\u001B[0m     \u001B[38;5;28;01mraise\u001B[39;00m MaxRetryError(_pool, url, error \u001B[38;5;129;01mor\u001B[39;00m ResponseError(cause))\n\u001B[0;32m    594\u001B[0m log\u001B[38;5;241m.\u001B[39mdebug(\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mIncremented Retry for (url=\u001B[39m\u001B[38;5;124m'\u001B[39m\u001B[38;5;132;01m%s\u001B[39;00m\u001B[38;5;124m'\u001B[39m\u001B[38;5;124m): \u001B[39m\u001B[38;5;132;01m%r\u001B[39;00m\u001B[38;5;124m\"\u001B[39m, url, new_retry)\n",
-      "\u001B[1;31mMaxRetryError\u001B[0m: HTTPSConnectionPool(host='query.wikidata.org', port=443): Max retries exceeded with url: /sparql?query=%0ASELECT+DISTINCT+%3Fitem+%3FitemLabel%28SAMPLE%28%3FsexOrGender%29+AS+%3FsexOrGender%29%0A%28SAMPLE%28%3FcountryOfCitizenship%29+AS+%3FcountryOfCitizenship%29%0A%28SAMPLE%28%3FgivenName%29+AS+%3FgivenName%29%0A%28SAMPLE%28%3FfamilyName%29+AS+%3FfamilyName%29%0A%28SAMPLE%28%3FdateOfBirth%29+AS+%3FdateOfBirth%29%0A%28SAMPLE%28%3FdateOfDeath%29+AS+%3FdateOfDeath%29%0A%28SAMPLE%28%3Foccupation%29+AS+%3Foccupation%29%0A%28SAMPLE%28%3FfieldOfWork%29+AS+%3FfieldOfWork%29%0A%28SAMPLE%28%3Fviaf_id%29+AS+%3Fviaf_id%29%0A%28SAMPLE%28%3Fisni_id%29+AS+%3Fisni_id%29%0A%28SAMPLE%28%3Fgnd_id%29+AS+%3Fgnd_id%29+%0AWHERE+%7B%0A++++%3Fitem+wdt%3AP31+wd%3AQ5%3B+rdfs%3Alabel+%22Theodor+Geiger%22%40en+.%0A%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP21+%3FsexOrGenderId+.+%3FsexOrGenderId+rdfs%3Alabel+%3FsexOrGender+FILTER%28LANG%28%3FsexOrGender%29+%3D+%22en%22%29+.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP27+%3FcountryOfCitizenshipId+.+%3FcountryOfCitizenshipId+rdfs%3Alabel+%3FcountryOfCitizenship+FILTER%28LANG%28%3FcountryOfCitizenship%29+%3D+%22en%22%29+.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP735+%3FgivenNameId+.+%3FgivenNameId+rdfs%3Alabel+%3FgivenName+FILTER%28LANG%28%3FgivenName%29+%3D+%22en%22%29+.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP734+%3FfamilyNameId+.+%3FfamilyNameId+rdfs%3Alabel+%3FfamilyName+FILTER%28LANG%28%3FfamilyName%29+%3D+%22en%22%29+.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP569+%3FdateOfBirth.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP570+%3FdateOfDeath.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP106+%3FoccupationId+.+%3FoccupationId+rdfs%3Alabel+%3Foccupation+FILTER%28LANG%28%3Foccupation%29+%3D+%22en%22%29+.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP101+%3FfieldOfWorkId+.+%3FfieldOfWorkId+rdfs%3Alabel+%3FfieldOfWork+FILTER%28LANG%28%3FfieldOfWork%29+%3D+%22en%22%29+.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP214+%3Fviaf_id.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP213+%3Fisni_id.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP227+%3Fgnd_id.+%7D%0A%7D%0AGROUP+BY+%3Fitem+%3FitemLabel%0A&format=json (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000027807EC3DD0>: Failed to establish a new connection: [WinError 10048] Normalerweise darf jede Socketadresse (Protokoll, Netzwerkadresse oder Anschluss) nur jeweils einmal verwendet werden'))",
-      "\nDuring handling of the above exception, another exception occurred:\n",
-      "\u001B[1;31mConnectionError\u001B[0m                           Traceback (most recent call last)",
-      "Cell \u001B[1;32mIn[22], line 41\u001B[0m\n\u001B[0;32m      2\u001B[0m property_labels_to_ids \u001B[38;5;241m=\u001B[39m {\n\u001B[0;32m      3\u001B[0m     \u001B[38;5;124m'\u001B[39m\u001B[38;5;124msexOrGender\u001B[39m\u001B[38;5;124m'\u001B[39m: \u001B[38;5;124m'\u001B[39m\u001B[38;5;124mP21\u001B[39m\u001B[38;5;124m'\u001B[39m,\n\u001B[0;32m      4\u001B[0m \u001B[38;5;66;03m#    'image': 'P18',\u001B[39;00m\n\u001B[1;32m   (...)\u001B[0m\n\u001B[0;32m     14\u001B[0m     \u001B[38;5;124m'\u001B[39m\u001B[38;5;124mgnd_id\u001B[39m\u001B[38;5;124m'\u001B[39m: \u001B[38;5;124m'\u001B[39m\u001B[38;5;124mP227\u001B[39m\u001B[38;5;124m'\u001B[39m\n\u001B[0;32m     15\u001B[0m }\n\u001B[0;32m     17\u001B[0m scholars \u001B[38;5;241m=\u001B[39m [\n\u001B[0;32m     18\u001B[0m     \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mHans Kelsen\u001B[39m\u001B[38;5;124m\"\u001B[39m,\n\u001B[0;32m     19\u001B[0m     \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mHugo Sinzheimer\u001B[39m\u001B[38;5;124m\"\u001B[39m,\n\u001B[1;32m   (...)\u001B[0m\n\u001B[0;32m     39\u001B[0m     (\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mSusanne Baer\u001B[39m\u001B[38;5;124m\"\u001B[39m,\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mQ101872\u001B[39m\u001B[38;5;124m\"\u001B[39m)\n\u001B[0;32m     40\u001B[0m ]\n\u001B[1;32m---> 41\u001B[0m df \u001B[38;5;241m=\u001B[39m get_person_info_from_wikidata(scholars, property_labels_to_ids)\n\u001B[0;32m     42\u001B[0m df\n",
-      "Cell \u001B[1;32mIn[20], line 133\u001B[0m, in \u001B[0;36mget_person_info_from_wikidata\u001B[1;34m(names, property_map, languages)\u001B[0m\n\u001B[0;32m    131\u001B[0m         results \u001B[38;5;241m=\u001B[39m query_wikidata(item[\u001B[38;5;241m0\u001B[39m], property_map, languages[\u001B[38;5;241m0\u001B[39m], qid\u001B[38;5;241m=\u001B[39mitem[\u001B[38;5;241m1\u001B[39m])\n\u001B[0;32m    132\u001B[0m     \u001B[38;5;28;01melse\u001B[39;00m:\n\u001B[1;32m--> 133\u001B[0m         results \u001B[38;5;241m=\u001B[39m query_wikidata(item, property_map, languages[\u001B[38;5;241m0\u001B[39m])\n\u001B[0;32m    135\u001B[0m     all_data \u001B[38;5;241m+\u001B[39m\u001B[38;5;241m=\u001B[39m results\n\u001B[0;32m    136\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;28mlen\u001B[39m(all_data) \u001B[38;5;241m>\u001B[39m \u001B[38;5;241m0\u001B[39m:\n\u001B[0;32m    137\u001B[0m     \u001B[38;5;66;03m# Ensure fullName appears first by reordering columns based on property_labels_to_ids keys\u001B[39;00m\n",
-      "Cell \u001B[1;32mIn[20], line 57\u001B[0m, in \u001B[0;36mquery_wikidata\u001B[1;34m(fullName, property_map, language, qid)\u001B[0m\n\u001B[0;32m     55\u001B[0m query \u001B[38;5;241m=\u001B[39m generate_sparql_query(fullName, property_map, language, qid\u001B[38;5;241m=\u001B[39mqid)\n\u001B[0;32m     56\u001B[0m headers \u001B[38;5;241m=\u001B[39m {\u001B[38;5;124m'\u001B[39m\u001B[38;5;124mUser-Agent\u001B[39m\u001B[38;5;124m'\u001B[39m: \u001B[38;5;124m'\u001B[39m\u001B[38;5;124mMozilla/5.0\u001B[39m\u001B[38;5;124m'\u001B[39m, \u001B[38;5;124m'\u001B[39m\u001B[38;5;124mAccept\u001B[39m\u001B[38;5;124m'\u001B[39m: \u001B[38;5;124m'\u001B[39m\u001B[38;5;124mapplication/json\u001B[39m\u001B[38;5;124m'\u001B[39m}\n\u001B[1;32m---> 57\u001B[0m response \u001B[38;5;241m=\u001B[39m requests\u001B[38;5;241m.\u001B[39mget(SPARQL_ENDPOINT, headers\u001B[38;5;241m=\u001B[39mheaders, params\u001B[38;5;241m=\u001B[39m{\u001B[38;5;124m'\u001B[39m\u001B[38;5;124mquery\u001B[39m\u001B[38;5;124m'\u001B[39m: query, \u001B[38;5;124m'\u001B[39m\u001B[38;5;124mformat\u001B[39m\u001B[38;5;124m'\u001B[39m: \u001B[38;5;124m'\u001B[39m\u001B[38;5;124mjson\u001B[39m\u001B[38;5;124m'\u001B[39m})\n\u001B[0;32m     59\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m response\u001B[38;5;241m.\u001B[39mstatus_code \u001B[38;5;241m!=\u001B[39m \u001B[38;5;241m200\u001B[39m:\n\u001B[0;32m     60\u001B[0m     \u001B[38;5;28mprint\u001B[39m(query)\n",
-      "File \u001B[1;32m~\\AppData\\Local\\miniconda3\\Lib\\site-packages\\requests\\api.py:73\u001B[0m, in \u001B[0;36mget\u001B[1;34m(url, params, **kwargs)\u001B[0m\n\u001B[0;32m     62\u001B[0m \u001B[38;5;28;01mdef\u001B[39;00m \u001B[38;5;21mget\u001B[39m(url, params\u001B[38;5;241m=\u001B[39m\u001B[38;5;28;01mNone\u001B[39;00m, \u001B[38;5;241m*\u001B[39m\u001B[38;5;241m*\u001B[39mkwargs):\n\u001B[0;32m     63\u001B[0m \u001B[38;5;250m    \u001B[39m\u001B[38;5;124mr\u001B[39m\u001B[38;5;124;03m\"\"\"Sends a GET request.\u001B[39;00m\n\u001B[0;32m     64\u001B[0m \n\u001B[0;32m     65\u001B[0m \u001B[38;5;124;03m    :param url: URL for the new :class:`Request` object.\u001B[39;00m\n\u001B[1;32m   (...)\u001B[0m\n\u001B[0;32m     70\u001B[0m \u001B[38;5;124;03m    :rtype: requests.Response\u001B[39;00m\n\u001B[0;32m     71\u001B[0m \u001B[38;5;124;03m    \"\"\"\u001B[39;00m\n\u001B[1;32m---> 73\u001B[0m     \u001B[38;5;28;01mreturn\u001B[39;00m request(\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mget\u001B[39m\u001B[38;5;124m\"\u001B[39m, url, params\u001B[38;5;241m=\u001B[39mparams, \u001B[38;5;241m*\u001B[39m\u001B[38;5;241m*\u001B[39mkwargs)\n",
-      "File \u001B[1;32m~\\AppData\\Local\\miniconda3\\Lib\\site-packages\\requests\\api.py:59\u001B[0m, in \u001B[0;36mrequest\u001B[1;34m(method, url, **kwargs)\u001B[0m\n\u001B[0;32m     55\u001B[0m \u001B[38;5;66;03m# By using the 'with' statement we are sure the session is closed, thus we\u001B[39;00m\n\u001B[0;32m     56\u001B[0m \u001B[38;5;66;03m# avoid leaving sockets open which can trigger a ResourceWarning in some\u001B[39;00m\n\u001B[0;32m     57\u001B[0m \u001B[38;5;66;03m# cases, and look like a memory leak in others.\u001B[39;00m\n\u001B[0;32m     58\u001B[0m \u001B[38;5;28;01mwith\u001B[39;00m sessions\u001B[38;5;241m.\u001B[39mSession() \u001B[38;5;28;01mas\u001B[39;00m session:\n\u001B[1;32m---> 59\u001B[0m     \u001B[38;5;28;01mreturn\u001B[39;00m session\u001B[38;5;241m.\u001B[39mrequest(method\u001B[38;5;241m=\u001B[39mmethod, url\u001B[38;5;241m=\u001B[39murl, \u001B[38;5;241m*\u001B[39m\u001B[38;5;241m*\u001B[39mkwargs)\n",
-      "File \u001B[1;32m~\\AppData\\Local\\miniconda3\\Lib\\site-packages\\requests\\sessions.py:589\u001B[0m, in \u001B[0;36mSession.request\u001B[1;34m(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)\u001B[0m\n\u001B[0;32m    584\u001B[0m send_kwargs \u001B[38;5;241m=\u001B[39m {\n\u001B[0;32m    585\u001B[0m     \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mtimeout\u001B[39m\u001B[38;5;124m\"\u001B[39m: timeout,\n\u001B[0;32m    586\u001B[0m     \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mallow_redirects\u001B[39m\u001B[38;5;124m\"\u001B[39m: allow_redirects,\n\u001B[0;32m    587\u001B[0m }\n\u001B[0;32m    588\u001B[0m send_kwargs\u001B[38;5;241m.\u001B[39mupdate(settings)\n\u001B[1;32m--> 589\u001B[0m resp \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39msend(prep, \u001B[38;5;241m*\u001B[39m\u001B[38;5;241m*\u001B[39msend_kwargs)\n\u001B[0;32m    591\u001B[0m \u001B[38;5;28;01mreturn\u001B[39;00m resp\n",
-      "File \u001B[1;32m~\\AppData\\Local\\miniconda3\\Lib\\site-packages\\requests\\sessions.py:703\u001B[0m, in \u001B[0;36mSession.send\u001B[1;34m(self, request, **kwargs)\u001B[0m\n\u001B[0;32m    700\u001B[0m start \u001B[38;5;241m=\u001B[39m preferred_clock()\n\u001B[0;32m    702\u001B[0m \u001B[38;5;66;03m# Send the request\u001B[39;00m\n\u001B[1;32m--> 703\u001B[0m r \u001B[38;5;241m=\u001B[39m adapter\u001B[38;5;241m.\u001B[39msend(request, \u001B[38;5;241m*\u001B[39m\u001B[38;5;241m*\u001B[39mkwargs)\n\u001B[0;32m    705\u001B[0m \u001B[38;5;66;03m# Total elapsed time of the request (approximately)\u001B[39;00m\n\u001B[0;32m    706\u001B[0m elapsed \u001B[38;5;241m=\u001B[39m preferred_clock() \u001B[38;5;241m-\u001B[39m start\n",
-      "File \u001B[1;32m~\\AppData\\Local\\miniconda3\\Lib\\site-packages\\requests\\adapters.py:519\u001B[0m, in \u001B[0;36mHTTPAdapter.send\u001B[1;34m(self, request, stream, timeout, verify, cert, proxies)\u001B[0m\n\u001B[0;32m    515\u001B[0m     \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;28misinstance\u001B[39m(e\u001B[38;5;241m.\u001B[39mreason, _SSLError):\n\u001B[0;32m    516\u001B[0m         \u001B[38;5;66;03m# This branch is for urllib3 v1.22 and later.\u001B[39;00m\n\u001B[0;32m    517\u001B[0m         \u001B[38;5;28;01mraise\u001B[39;00m SSLError(e, request\u001B[38;5;241m=\u001B[39mrequest)\n\u001B[1;32m--> 519\u001B[0m     \u001B[38;5;28;01mraise\u001B[39;00m \u001B[38;5;167;01mConnectionError\u001B[39;00m(e, request\u001B[38;5;241m=\u001B[39mrequest)\n\u001B[0;32m    521\u001B[0m \u001B[38;5;28;01mexcept\u001B[39;00m ClosedPoolError \u001B[38;5;28;01mas\u001B[39;00m e:\n\u001B[0;32m    522\u001B[0m     \u001B[38;5;28;01mraise\u001B[39;00m \u001B[38;5;167;01mConnectionError\u001B[39;00m(e, request\u001B[38;5;241m=\u001B[39mrequest)\n",
-      "\u001B[1;31mConnectionError\u001B[0m: HTTPSConnectionPool(host='query.wikidata.org', port=443): Max retries exceeded with url: /sparql?query=%0ASELECT+DISTINCT+%3Fitem+%3FitemLabel%28SAMPLE%28%3FsexOrGender%29+AS+%3FsexOrGender%29%0A%28SAMPLE%28%3FcountryOfCitizenship%29+AS+%3FcountryOfCitizenship%29%0A%28SAMPLE%28%3FgivenName%29+AS+%3FgivenName%29%0A%28SAMPLE%28%3FfamilyName%29+AS+%3FfamilyName%29%0A%28SAMPLE%28%3FdateOfBirth%29+AS+%3FdateOfBirth%29%0A%28SAMPLE%28%3FdateOfDeath%29+AS+%3FdateOfDeath%29%0A%28SAMPLE%28%3Foccupation%29+AS+%3Foccupation%29%0A%28SAMPLE%28%3FfieldOfWork%29+AS+%3FfieldOfWork%29%0A%28SAMPLE%28%3Fviaf_id%29+AS+%3Fviaf_id%29%0A%28SAMPLE%28%3Fisni_id%29+AS+%3Fisni_id%29%0A%28SAMPLE%28%3Fgnd_id%29+AS+%3Fgnd_id%29+%0AWHERE+%7B%0A++++%3Fitem+wdt%3AP31+wd%3AQ5%3B+rdfs%3Alabel+%22Theodor+Geiger%22%40en+.%0A%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP21+%3FsexOrGenderId+.+%3FsexOrGenderId+rdfs%3Alabel+%3FsexOrGender+FILTER%28LANG%28%3FsexOrGender%29+%3D+%22en%22%29+.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP27+%3FcountryOfCitizenshipId+.+%3FcountryOfCitizenshipId+rdfs%3Alabel+%3FcountryOfCitizenship+FILTER%28LANG%28%3FcountryOfCitizenship%29+%3D+%22en%22%29+.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP735+%3FgivenNameId+.+%3FgivenNameId+rdfs%3Alabel+%3FgivenName+FILTER%28LANG%28%3FgivenName%29+%3D+%22en%22%29+.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP734+%3FfamilyNameId+.+%3FfamilyNameId+rdfs%3Alabel+%3FfamilyName+FILTER%28LANG%28%3FfamilyName%29+%3D+%22en%22%29+.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP569+%3FdateOfBirth.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP570+%3FdateOfDeath.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP106+%3FoccupationId+.+%3FoccupationId+rdfs%3Alabel+%3Foccupation+FILTER%28LANG%28%3Foccupation%29+%3D+%22en%22%29+.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP101+%3FfieldOfWorkId+.+%3FfieldOfWorkId+rdfs%3Alabel+%3FfieldOfWork+FILTER%28LANG%28%3FfieldOfWork%29+%3D+%22en%22%29+.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP214+%3Fviaf_id.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP213+%3Fisni_id.+%7D%0A++++++++++++OPTIONAL+%7B+%3Fitem+wdt%3AP227+%3Fgnd_id.+%7D%0A%7D%0AGROUP+BY+%3Fitem+%3FitemLabel%0A&format=json (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000027807EC3DD0>: Failed to establish a new connection: [WinError 10048] Normalerweise darf jede Socketadresse (Protokoll, Netzwerkadresse oder Anschluss) nur jeweils einmal verwendet werden'))"
-     ]
+     "data": {
+      "text/plain": "                 fullName         qid sexOrGender   familyName      givenName  \\\n0             Hans Kelsen      Q84165        male       Kelsen           Hans   \n1         Hugo Sinzheimer      Q86043        male   Sinzheimer        Hugo D.   \n2             Karl Renner      Q11726        male       Renner           Karl   \n3          Ernst Fraenkel      Q86812        male     Fraenkel          Ernst   \n4   Franz Leopold Neumann      Q63195        male      Neumann  Leopold Franz   \n5        Otto Kahn-Freund     Q121832        male  Kahn Freund           Otto   \n6        Otto Kirchheimer     Q214397        male  Kirchheimer           Otto   \n7           Ludwig Bendix   Q15449424        male       Bendix         Ludwig   \n8         Arthur Nussbaum     Q103088        male     Nussbaum         Arthur   \n9          Theodor Geiger      Q96410        male       Geiger        Theodor   \n10     Erhard Blankenburg   Q51595283        male  Blankenburg         Erhard   \n11        Wolfgang Kaupen   Q93221485        male                    Wolfgang   \n12       Rüdiger Lautmann      Q91074        male                     Rüdiger   \n13             Thilo Ramm   Q59533838        male         Ramm          Thilo   \n14      Rudolf Wiethölter    Q1512482        male                      Rudolf   \n15         Niklas Luhmann      Q57238        male      Luhmann         Niklas   \n16    Hubert Rottleuthner   Q55622018        male                      Hubert   \n17          Ralf Rogowski  Q112499743        male     Rogowski           Ralf   \n18          Ralf Rogowski   Q20128038        male     Rogowski           Ralf   \n19        Gunther Teubner      Q98304        male      Teubner        Gunther   \n20        Volkmar Gessner   Q15435946        male      Gessner        Volkmar   \n21        Konstanze Plett   Q95192683      female                               \n22         Ute Sacksofsky   Q48562036      female                         Ute   \n23           Susanne Baer     Q101872      female         Baer        Susanne   \n\n                 dateOfBirth               dateOfDeath      gnd_id  \\\n0  1881-10-11 00:00:00+00:00 1973-04-19 00:00:00+00:00   118561219   \n1  1875-01-01 00:00:00+00:00 1945-09-16 00:00:00+00:00   118614711   \n2  1870-12-14 00:00:00+00:00 1950-12-31 00:00:00+00:00   118599739   \n3  1898-12-26 00:00:00+00:00 1975-03-28 00:00:00+00:00   118534602   \n4  1900-05-23 00:00:00+00:00 1954-09-02 00:00:00+00:00   118587293   \n5  1900-11-17 00:00:00+00:00 1979-06-16 00:00:00+00:00   118559362   \n6  1905-11-11 00:00:00+00:00 1965-11-22 00:00:00+00:00   118562371   \n7  1877-06-28 00:00:00+00:00 1954-01-03 00:00:00+00:00   118702033   \n8  1877-01-01 00:00:00+00:00 1964-01-01 00:00:00+00:00   117071676   \n9  1891-11-09 00:00:00+00:00 1952-06-16 00:00:00+00:00   118538187   \n10 1938-10-30 00:00:00+00:00 2018-03-28 00:00:00+00:00   115459235   \n11 1936-01-01 00:00:00+00:00 1981-01-01 00:00:00+00:00   124045405   \n12 1935-12-22 00:00:00+00:00                       NaT   120502208   \n13 1925-04-04 00:00:00+00:00 2018-06-17 00:00:00+00:00   116327391   \n14 1929-07-17 00:00:00+00:00                       NaT  1034437860   \n15 1927-12-08 00:00:00+00:00 1998-11-06 00:00:00+00:00   118575147   \n16 1944-01-01 00:00:00+00:00                       NaT   135622751   \n17 1953-01-01 00:00:00+00:00                       NaT   17150982X   \n18                       NaT                       NaT        None   \n19 1944-04-30 00:00:00+00:00                       NaT   119443562   \n20 1937-10-09 00:00:00+00:00 2014-11-08 00:00:00+00:00   170469328   \n21 1947-01-01 00:00:00+00:00                       NaT   124957048   \n22 1960-01-01 00:00:00+00:00                       NaT   132505746   \n23 1964-02-16 00:00:00+00:00                       NaT   113854161   \n\n                                 wikidata_url  \\\n0       http://www.wikidata.org/entity/Q84165   \n1       http://www.wikidata.org/entity/Q86043   \n2       http://www.wikidata.org/entity/Q11726   \n3       http://www.wikidata.org/entity/Q86812   \n4       http://www.wikidata.org/entity/Q63195   \n5      http://www.wikidata.org/entity/Q121832   \n6      http://www.wikidata.org/entity/Q214397   \n7    http://www.wikidata.org/entity/Q15449424   \n8      http://www.wikidata.org/entity/Q103088   \n9       http://www.wikidata.org/entity/Q96410   \n10   http://www.wikidata.org/entity/Q51595283   \n11   http://www.wikidata.org/entity/Q93221485   \n12      http://www.wikidata.org/entity/Q91074   \n13   http://www.wikidata.org/entity/Q59533838   \n14    http://www.wikidata.org/entity/Q1512482   \n15      http://www.wikidata.org/entity/Q57238   \n16   http://www.wikidata.org/entity/Q55622018   \n17  http://www.wikidata.org/entity/Q112499743   \n18   http://www.wikidata.org/entity/Q20128038   \n19      http://www.wikidata.org/entity/Q98304   \n20   http://www.wikidata.org/entity/Q15435946   \n21   http://www.wikidata.org/entity/Q95192683   \n22   http://www.wikidata.org/entity/Q48562036   \n23     http://www.wikidata.org/entity/Q101872   \n\n                                         wikipedia_en  \\\n0           https://en.wikipedia.org/wiki/Hans_Kelsen   \n1       https://en.wikipedia.org/wiki/Hugo_Sinzheimer   \n2           https://en.wikipedia.org/wiki/Karl_Renner   \n3   https://en.wikipedia.org/wiki/Ernst_Fraenkel_(...   \n4   https://en.wikipedia.org/wiki/Franz_Neumann_(p...   \n5      https://en.wikipedia.org/wiki/Otto_Kahn-Freund   \n6      https://en.wikipedia.org/wiki/Otto_Kirchheimer   \n7                                                None   \n8       https://en.wikipedia.org/wiki/Arthur_Nussbaum   \n9        https://en.wikipedia.org/wiki/Theodor_Geiger   \n10   https://en.wikipedia.org/wiki/Erhard_Blankenburg   \n11                                               None   \n12  https://en.wikipedia.org/wiki/R%C3%BCdiger_Lau...   \n13                                               None   \n14                                               None   \n15       https://en.wikipedia.org/wiki/Niklas_Luhmann   \n16                                               None   \n17                                               None   \n18        https://en.wikipedia.org/wiki/Ralf_Rogowski   \n19      https://en.wikipedia.org/wiki/Gunther_Teubner   \n20      https://en.wikipedia.org/wiki/Volkmar_Gessner   \n21                                               None   \n22                                               None   \n23         https://en.wikipedia.org/wiki/Susanne_Baer   \n\n                                         wikipedia_de  \n0           https://de.wikipedia.org/wiki/Hans_Kelsen  \n1       https://de.wikipedia.org/wiki/Hugo_Sinzheimer  \n2           https://de.wikipedia.org/wiki/Karl_Renner  \n3   https://de.wikipedia.org/wiki/Ernst_Fraenkel_(...  \n4   https://de.wikipedia.org/wiki/Franz_Neumann_(P...  \n5      https://de.wikipedia.org/wiki/Otto_Kahn-Freund  \n6      https://de.wikipedia.org/wiki/Otto_Kirchheimer  \n7         https://de.wikipedia.org/wiki/Ludwig_Bendix  \n8       https://de.wikipedia.org/wiki/Arthur_Nussbaum  \n9        https://de.wikipedia.org/wiki/Theodor_Geiger  \n10   https://de.wikipedia.org/wiki/Erhard_Blankenburg  \n11                                               None  \n12  https://de.wikipedia.org/wiki/R%C3%BCdiger_Lau...  \n13           https://de.wikipedia.org/wiki/Thilo_Ramm  \n14  https://de.wikipedia.org/wiki/Rudolf_Wieth%C3%...  \n15       https://de.wikipedia.org/wiki/Niklas_Luhmann  \n16  https://de.wikipedia.org/wiki/Hubert_Rottleuthner  \n17                                               None  \n18                                               None  \n19      https://de.wikipedia.org/wiki/Gunther_Teubner  \n20      https://de.wikipedia.org/wiki/Volkmar_Gessner  \n21      https://de.wikipedia.org/wiki/Konstanze_Plett  \n22       https://de.wikipedia.org/wiki/Ute_Sacksofsky  \n23         https://de.wikipedia.org/wiki/Susanne_Baer  ",
+      "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>fullName</th>\n      <th>qid</th>\n      <th>sexOrGender</th>\n      <th>familyName</th>\n      <th>givenName</th>\n      <th>dateOfBirth</th>\n      <th>dateOfDeath</th>\n      <th>gnd_id</th>\n      <th>wikidata_url</th>\n      <th>wikipedia_en</th>\n      <th>wikipedia_de</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Hans Kelsen</td>\n      <td>Q84165</td>\n      <td>male</td>\n      <td>Kelsen</td>\n      <td>Hans</td>\n      <td>1881-10-11 00:00:00+00:00</td>\n      <td>1973-04-19 00:00:00+00:00</td>\n      <td>118561219</td>\n      <td>http://www.wikidata.org/entity/Q84165</td>\n      <td>https://en.wikipedia.org/wiki/Hans_Kelsen</td>\n      <td>https://de.wikipedia.org/wiki/Hans_Kelsen</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Hugo Sinzheimer</td>\n      <td>Q86043</td>\n      <td>male</td>\n      <td>Sinzheimer</td>\n      <td>Hugo D.</td>\n      <td>1875-01-01 00:00:00+00:00</td>\n      <td>1945-09-16 00:00:00+00:00</td>\n      <td>118614711</td>\n      <td>http://www.wikidata.org/entity/Q86043</td>\n      <td>https://en.wikipedia.org/wiki/Hugo_Sinzheimer</td>\n      <td>https://de.wikipedia.org/wiki/Hugo_Sinzheimer</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Karl Renner</td>\n      <td>Q11726</td>\n      <td>male</td>\n      <td>Renner</td>\n      <td>Karl</td>\n      <td>1870-12-14 00:00:00+00:00</td>\n      <td>1950-12-31 00:00:00+00:00</td>\n      <td>118599739</td>\n      <td>http://www.wikidata.org/entity/Q11726</td>\n      <td>https://en.wikipedia.org/wiki/Karl_Renner</td>\n      <td>https://de.wikipedia.org/wiki/Karl_Renner</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Ernst Fraenkel</td>\n      <td>Q86812</td>\n      <td>male</td>\n      <td>Fraenkel</td>\n      <td>Ernst</td>\n      <td>1898-12-26 00:00:00+00:00</td>\n      <td>1975-03-28 00:00:00+00:00</td>\n      <td>118534602</td>\n      <td>http://www.wikidata.org/entity/Q86812</td>\n      <td>https://en.wikipedia.org/wiki/Ernst_Fraenkel_(...</td>\n      <td>https://de.wikipedia.org/wiki/Ernst_Fraenkel_(...</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>Franz Leopold Neumann</td>\n      <td>Q63195</td>\n      <td>male</td>\n      <td>Neumann</td>\n      <td>Leopold Franz</td>\n      <td>1900-05-23 00:00:00+00:00</td>\n      <td>1954-09-02 00:00:00+00:00</td>\n      <td>118587293</td>\n      <td>http://www.wikidata.org/entity/Q63195</td>\n      <td>https://en.wikipedia.org/wiki/Franz_Neumann_(p...</td>\n      <td>https://de.wikipedia.org/wiki/Franz_Neumann_(P...</td>\n    </tr>\n    <tr>\n      <th>5</th>\n      <td>Otto Kahn-Freund</td>\n      <td>Q121832</td>\n      <td>male</td>\n      <td>Kahn Freund</td>\n      <td>Otto</td>\n      <td>1900-11-17 00:00:00+00:00</td>\n      <td>1979-06-16 00:00:00+00:00</td>\n      <td>118559362</td>\n      <td>http://www.wikidata.org/entity/Q121832</td>\n      <td>https://en.wikipedia.org/wiki/Otto_Kahn-Freund</td>\n      <td>https://de.wikipedia.org/wiki/Otto_Kahn-Freund</td>\n    </tr>\n    <tr>\n      <th>6</th>\n      <td>Otto Kirchheimer</td>\n      <td>Q214397</td>\n      <td>male</td>\n      <td>Kirchheimer</td>\n      <td>Otto</td>\n      <td>1905-11-11 00:00:00+00:00</td>\n      <td>1965-11-22 00:00:00+00:00</td>\n      <td>118562371</td>\n      <td>http://www.wikidata.org/entity/Q214397</td>\n      <td>https://en.wikipedia.org/wiki/Otto_Kirchheimer</td>\n      <td>https://de.wikipedia.org/wiki/Otto_Kirchheimer</td>\n    </tr>\n    <tr>\n      <th>7</th>\n      <td>Ludwig Bendix</td>\n      <td>Q15449424</td>\n      <td>male</td>\n      <td>Bendix</td>\n      <td>Ludwig</td>\n      <td>1877-06-28 00:00:00+00:00</td>\n      <td>1954-01-03 00:00:00+00:00</td>\n      <td>118702033</td>\n      <td>http://www.wikidata.org/entity/Q15449424</td>\n      <td>None</td>\n      <td>https://de.wikipedia.org/wiki/Ludwig_Bendix</td>\n    </tr>\n    <tr>\n      <th>8</th>\n      <td>Arthur Nussbaum</td>\n      <td>Q103088</td>\n      <td>male</td>\n      <td>Nussbaum</td>\n      <td>Arthur</td>\n      <td>1877-01-01 00:00:00+00:00</td>\n      <td>1964-01-01 00:00:00+00:00</td>\n      <td>117071676</td>\n      <td>http://www.wikidata.org/entity/Q103088</td>\n      <td>https://en.wikipedia.org/wiki/Arthur_Nussbaum</td>\n      <td>https://de.wikipedia.org/wiki/Arthur_Nussbaum</td>\n    </tr>\n    <tr>\n      <th>9</th>\n      <td>Theodor Geiger</td>\n      <td>Q96410</td>\n      <td>male</td>\n      <td>Geiger</td>\n      <td>Theodor</td>\n      <td>1891-11-09 00:00:00+00:00</td>\n      <td>1952-06-16 00:00:00+00:00</td>\n      <td>118538187</td>\n      <td>http://www.wikidata.org/entity/Q96410</td>\n      <td>https://en.wikipedia.org/wiki/Theodor_Geiger</td>\n      <td>https://de.wikipedia.org/wiki/Theodor_Geiger</td>\n    </tr>\n    <tr>\n      <th>10</th>\n      <td>Erhard Blankenburg</td>\n      <td>Q51595283</td>\n      <td>male</td>\n      <td>Blankenburg</td>\n      <td>Erhard</td>\n      <td>1938-10-30 00:00:00+00:00</td>\n      <td>2018-03-28 00:00:00+00:00</td>\n      <td>115459235</td>\n      <td>http://www.wikidata.org/entity/Q51595283</td>\n      <td>https://en.wikipedia.org/wiki/Erhard_Blankenburg</td>\n      <td>https://de.wikipedia.org/wiki/Erhard_Blankenburg</td>\n    </tr>\n    <tr>\n      <th>11</th>\n      <td>Wolfgang Kaupen</td>\n      <td>Q93221485</td>\n      <td>male</td>\n      <td></td>\n      <td>Wolfgang</td>\n      <td>1936-01-01 00:00:00+00:00</td>\n      <td>1981-01-01 00:00:00+00:00</td>\n      <td>124045405</td>\n      <td>http://www.wikidata.org/entity/Q93221485</td>\n      <td>None</td>\n      <td>None</td>\n    </tr>\n    <tr>\n      <th>12</th>\n      <td>Rüdiger Lautmann</td>\n      <td>Q91074</td>\n      <td>male</td>\n      <td></td>\n      <td>Rüdiger</td>\n      <td>1935-12-22 00:00:00+00:00</td>\n      <td>NaT</td>\n      <td>120502208</td>\n      <td>http://www.wikidata.org/entity/Q91074</td>\n      <td>https://en.wikipedia.org/wiki/R%C3%BCdiger_Lau...</td>\n      <td>https://de.wikipedia.org/wiki/R%C3%BCdiger_Lau...</td>\n    </tr>\n    <tr>\n      <th>13</th>\n      <td>Thilo Ramm</td>\n      <td>Q59533838</td>\n      <td>male</td>\n      <td>Ramm</td>\n      <td>Thilo</td>\n      <td>1925-04-04 00:00:00+00:00</td>\n      <td>2018-06-17 00:00:00+00:00</td>\n      <td>116327391</td>\n      <td>http://www.wikidata.org/entity/Q59533838</td>\n      <td>None</td>\n      <td>https://de.wikipedia.org/wiki/Thilo_Ramm</td>\n    </tr>\n    <tr>\n      <th>14</th>\n      <td>Rudolf Wiethölter</td>\n      <td>Q1512482</td>\n      <td>male</td>\n      <td></td>\n      <td>Rudolf</td>\n      <td>1929-07-17 00:00:00+00:00</td>\n      <td>NaT</td>\n      <td>1034437860</td>\n      <td>http://www.wikidata.org/entity/Q1512482</td>\n      <td>None</td>\n      <td>https://de.wikipedia.org/wiki/Rudolf_Wieth%C3%...</td>\n    </tr>\n    <tr>\n      <th>15</th>\n      <td>Niklas Luhmann</td>\n      <td>Q57238</td>\n      <td>male</td>\n      <td>Luhmann</td>\n      <td>Niklas</td>\n      <td>1927-12-08 00:00:00+00:00</td>\n      <td>1998-11-06 00:00:00+00:00</td>\n      <td>118575147</td>\n      <td>http://www.wikidata.org/entity/Q57238</td>\n      <td>https://en.wikipedia.org/wiki/Niklas_Luhmann</td>\n      <td>https://de.wikipedia.org/wiki/Niklas_Luhmann</td>\n    </tr>\n    <tr>\n      <th>16</th>\n      <td>Hubert Rottleuthner</td>\n      <td>Q55622018</td>\n      <td>male</td>\n      <td></td>\n      <td>Hubert</td>\n      <td>1944-01-01 00:00:00+00:00</td>\n      <td>NaT</td>\n      <td>135622751</td>\n      <td>http://www.wikidata.org/entity/Q55622018</td>\n      <td>None</td>\n      <td>https://de.wikipedia.org/wiki/Hubert_Rottleuthner</td>\n    </tr>\n    <tr>\n      <th>17</th>\n      <td>Ralf Rogowski</td>\n      <td>Q112499743</td>\n      <td>male</td>\n      <td>Rogowski</td>\n      <td>Ralf</td>\n      <td>1953-01-01 00:00:00+00:00</td>\n      <td>NaT</td>\n      <td>17150982X</td>\n      <td>http://www.wikidata.org/entity/Q112499743</td>\n      <td>None</td>\n      <td>None</td>\n    </tr>\n    <tr>\n      <th>18</th>\n      <td>Ralf Rogowski</td>\n      <td>Q20128038</td>\n      <td>male</td>\n      <td>Rogowski</td>\n      <td>Ralf</td>\n      <td>NaT</td>\n      <td>NaT</td>\n      <td>None</td>\n      <td>http://www.wikidata.org/entity/Q20128038</td>\n      <td>https://en.wikipedia.org/wiki/Ralf_Rogowski</td>\n      <td>None</td>\n    </tr>\n    <tr>\n      <th>19</th>\n      <td>Gunther Teubner</td>\n      <td>Q98304</td>\n      <td>male</td>\n      <td>Teubner</td>\n      <td>Gunther</td>\n      <td>1944-04-30 00:00:00+00:00</td>\n      <td>NaT</td>\n      <td>119443562</td>\n      <td>http://www.wikidata.org/entity/Q98304</td>\n      <td>https://en.wikipedia.org/wiki/Gunther_Teubner</td>\n      <td>https://de.wikipedia.org/wiki/Gunther_Teubner</td>\n    </tr>\n    <tr>\n      <th>20</th>\n      <td>Volkmar Gessner</td>\n      <td>Q15435946</td>\n      <td>male</td>\n      <td>Gessner</td>\n      <td>Volkmar</td>\n      <td>1937-10-09 00:00:00+00:00</td>\n      <td>2014-11-08 00:00:00+00:00</td>\n      <td>170469328</td>\n      <td>http://www.wikidata.org/entity/Q15435946</td>\n      <td>https://en.wikipedia.org/wiki/Volkmar_Gessner</td>\n      <td>https://de.wikipedia.org/wiki/Volkmar_Gessner</td>\n    </tr>\n    <tr>\n      <th>21</th>\n      <td>Konstanze Plett</td>\n      <td>Q95192683</td>\n      <td>female</td>\n      <td></td>\n      <td></td>\n      <td>1947-01-01 00:00:00+00:00</td>\n      <td>NaT</td>\n      <td>124957048</td>\n      <td>http://www.wikidata.org/entity/Q95192683</td>\n      <td>None</td>\n      <td>https://de.wikipedia.org/wiki/Konstanze_Plett</td>\n    </tr>\n    <tr>\n      <th>22</th>\n      <td>Ute Sacksofsky</td>\n      <td>Q48562036</td>\n      <td>female</td>\n      <td></td>\n      <td>Ute</td>\n      <td>1960-01-01 00:00:00+00:00</td>\n      <td>NaT</td>\n      <td>132505746</td>\n      <td>http://www.wikidata.org/entity/Q48562036</td>\n      <td>None</td>\n      <td>https://de.wikipedia.org/wiki/Ute_Sacksofsky</td>\n    </tr>\n    <tr>\n      <th>23</th>\n      <td>Susanne Baer</td>\n      <td>Q101872</td>\n      <td>female</td>\n      <td>Baer</td>\n      <td>Susanne</td>\n      <td>1964-02-16 00:00:00+00:00</td>\n      <td>NaT</td>\n      <td>113854161</td>\n      <td>http://www.wikidata.org/entity/Q101872</td>\n      <td>https://en.wikipedia.org/wiki/Susanne_Baer</td>\n      <td>https://de.wikipedia.org/wiki/Susanne_Baer</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
+     },
+     "execution_count": 79,
+     "metadata": {},
+     "output_type": "execute_result"
     }
    ],
    "source": [
@@ -217,15 +225,15 @@
     "property_labels_to_ids = {\n",
     "    'sexOrGender': 'P21',\n",
     "#    'image': 'P18',\n",
-    "    'countryOfCitizenship': 'P27',\n",
-    "    'givenName': 'P735',\n",
+    "#    'countryOfCitizenship': 'P27',\n",
     "    'familyName': 'P734',\n",
+    "    'givenName': 'P735',\n",
     "    'dateOfBirth': 'P569',\n",
     "    'dateOfDeath': 'P570',\n",
-    "    'occupation': 'P106',\n",
-    "    'fieldOfWork': 'P101',\n",
-    "    'viaf_id': 'P214',\n",
-    "    'isni_id': 'P213',\n",
+    "#    'occupation': 'P106',\n",
+    "#    'fieldOfWork': 'P101',\n",
+    "#    'viaf_id': 'P214',\n",
+    "#    'isni_id': 'P213',\n",
     "    'gnd_id': 'P227'\n",
     "}\n",
     "\n",
@@ -238,7 +246,7 @@
     "    \"Otto Kahn-Freund\",\n",
     "    \"Otto Kirchheimer\",\n",
     "    \"Herrmann Kantorowicz\",\n",
-    "    (\"Ludwig Bendix\", \"Q28053205\"),\n",
+    "    (\"Ludwig Bendix\", \"Q15449424\"),\n",
     "    (\"Arthur Nussbaum\", \"Q103088\"),\n",
     "    \"Theodor Geiger\",\n",
     "    \"Erhard Blankenburg\",\n",
@@ -247,1081 +255,128 @@
     "    \"Thilo Ramm\",\n",
     "    \"Rudolf Wiethölter\",\n",
     "    (\"Niklas Luhmann\",\"Q57238\"),\n",
+    "    'Hubert Rottleuthner',\n",
+    "    'Ralf Rogowski',\n",
     "    \"Gunther Teubner\",\n",
     "    \"Volkmar Gessner\",\n",
     "    \"Konstanze Plett\",\n",
     "    \"Ute Sacksofsky\",\n",
     "    (\"Susanne Baer\",\"Q101872\")\n",
     "]\n",
-    "df = get_person_info_from_wikidata(scholars, property_labels_to_ids)\n",
+    "df = get_person_info_from_wikidata(scholars, property_labels_to_ids, debug=False)\n",
+    "# Convert date strings to datetime\n",
+    "df['dateOfBirth'] = pd.to_datetime(df['dateOfBirth'])\n",
+    "df['dateOfDeath'] = pd.to_datetime(df['dateOfDeath'])\n",
+    "df.to_csv(\"scholars.csv\", index=False)\n",
     "df"
    ],
    "metadata": {
     "collapsed": false,
     "ExecuteTime": {
-     "end_time": "2024-03-11T17:39:31.164638600Z",
-     "start_time": "2024-03-11T17:39:24.677965500Z"
+     "end_time": "2024-03-14T08:56:20.884808600Z",
+     "start_time": "2024-03-14T08:55:49.510655700Z"
     }
    },
    "id": "19ddabbda261cc90"
   },
   {
-   "cell_type": "code",
-   "execution_count": null,
-   "outputs": [],
+   "cell_type": "markdown",
    "source": [
-    "from lib.dnb_data import get_publications"
+    "## Create a list of scholar's QIDs only"
    ],
    "metadata": {
     "collapsed": false
    },
-   "id": "3eff0c20b3425b3d"
+   "id": "b81815a61da16209"
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
-   "outputs": [
-    {
-     "ename": "NameError",
-     "evalue": "name 'df' is not defined",
-     "output_type": "error",
-     "traceback": [
-      "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m",
-      "\u001B[1;31mNameError\u001B[0m                                 Traceback (most recent call last)",
-      "Cell \u001B[1;32mIn[3], line 1\u001B[0m\n\u001B[1;32m----> 1\u001B[0m df\u001B[38;5;241m.\u001B[39mto_csv(\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mscholars.csv\u001B[39m\u001B[38;5;124m\"\u001B[39m, index\u001B[38;5;241m=\u001B[39m\u001B[38;5;28;01mFalse\u001B[39;00m)\n",
-      "\u001B[1;31mNameError\u001B[0m: name 'df' is not defined"
-     ]
-    }
-   ],
+   "execution_count": 83,
+   "outputs": [],
    "source": [
-    "df.to_csv(\"scholars.csv\", index=False)"
+    "df.copy()[['fullName', 'qid']].to_csv(\"scholars-qid.csv\", index=False)"
    ],
    "metadata": {
     "collapsed": false,
     "ExecuteTime": {
-     "end_time": "2024-03-11T13:10:04.016364200Z",
-     "start_time": "2024-03-11T13:10:02.070023900Z"
+     "end_time": "2024-03-14T09:03:26.160288500Z",
+     "start_time": "2024-03-14T09:03:26.141305200Z"
     }
    },
-   "id": "c6c0cc347c8788d0"
+   "id": "4d6da32e2fbc1740"
+  },
+  {
+   "cell_type": "markdown",
+   "source": [
+    "## Create a clickable list of Wikidata/Wikipedia URLs"
+   ],
+   "metadata": {
+    "collapsed": false
+   },
+   "id": "d9d0790315730b82"
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 76,
    "outputs": [
     {
      "data": {
-      "text/plain": "                fullName        item sexOrGender  \\\n0            Hans Kelsen      Q84165        male   \n1        Hugo Sinzheimer      Q86043        male   \n2            Karl Renner      Q11726        male   \n3         Ernst Fraenkel      Q86812        male   \n4  Franz Leopold Neumann  Q112562068        male   \n\n                                               image countryOfCitizenship  \\\n0  http://commons.wikimedia.org/wiki/Special:File...         Cisleithania   \n1  http://commons.wikimedia.org/wiki/Special:File...              Germany   \n2  http://commons.wikimedia.org/wiki/Special:File...         Cisleithania   \n3                                                NaN              Germany   \n4                                                NaN                  NaN   \n\n  givenName  familyName               dateOfBirth               dateOfDeath  \\\n0      Hans      Kelsen 1881-10-11 00:00:00+00:00 1973-04-19 00:00:00+00:00   \n1      Hugo  Sinzheimer 1875-04-12 00:00:00+00:00 1945-09-16 00:00:00+00:00   \n2      Karl      Renner 1870-12-14 00:00:00+00:00 1950-12-31 00:00:00+00:00   \n3     Ernst    Fraenkel 1898-12-26 00:00:00+00:00 1975-03-28 00:00:00+00:00   \n4   Leopold     Neumann                       NaT                       NaT   \n\n  occupation        fieldOfWork                     employer  \\\n0      judge  international law           Charles University   \n1     lawyer                NaN  Goethe University Frankfurt   \n2     lawyer           politics  Austrian Federal Government   \n3     lawyer                NaN       Free University Berlin   \n4    printer         publishing                          NaN   \n\n                 viaf_id           isni_id       gnd_id   duration  \n0               31998356  0000000121266076  118561219.0 33427 days  \n1               27864307  0000000109619641  118614711.0 25724 days  \n2               61669459  0000000121358165  118599739.0 29236 days  \n3               27108403  0000000110230959  118534602.0 27850 days  \n4  637163874508945722514               NaN          NaN        NaT  ",
-      "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>fullName</th>\n      <th>item</th>\n      <th>sexOrGender</th>\n      <th>image</th>\n      <th>countryOfCitizenship</th>\n      <th>givenName</th>\n      <th>familyName</th>\n      <th>dateOfBirth</th>\n      <th>dateOfDeath</th>\n      <th>occupation</th>\n      <th>fieldOfWork</th>\n      <th>employer</th>\n      <th>viaf_id</th>\n      <th>isni_id</th>\n      <th>gnd_id</th>\n      <th>duration</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>Hans Kelsen</td>\n      <td>Q84165</td>\n      <td>male</td>\n      <td>http://commons.wikimedia.org/wiki/Special:File...</td>\n      <td>Cisleithania</td>\n      <td>Hans</td>\n      <td>Kelsen</td>\n      <td>1881-10-11 00:00:00+00:00</td>\n      <td>1973-04-19 00:00:00+00:00</td>\n      <td>judge</td>\n      <td>international law</td>\n      <td>Charles University</td>\n      <td>31998356</td>\n      <td>0000000121266076</td>\n      <td>118561219.0</td>\n      <td>33427 days</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>Hugo Sinzheimer</td>\n      <td>Q86043</td>\n      <td>male</td>\n      <td>http://commons.wikimedia.org/wiki/Special:File...</td>\n      <td>Germany</td>\n      <td>Hugo</td>\n      <td>Sinzheimer</td>\n      <td>1875-04-12 00:00:00+00:00</td>\n      <td>1945-09-16 00:00:00+00:00</td>\n      <td>lawyer</td>\n      <td>NaN</td>\n      <td>Goethe University Frankfurt</td>\n      <td>27864307</td>\n      <td>0000000109619641</td>\n      <td>118614711.0</td>\n      <td>25724 days</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>Karl Renner</td>\n      <td>Q11726</td>\n      <td>male</td>\n      <td>http://commons.wikimedia.org/wiki/Special:File...</td>\n      <td>Cisleithania</td>\n      <td>Karl</td>\n      <td>Renner</td>\n      <td>1870-12-14 00:00:00+00:00</td>\n      <td>1950-12-31 00:00:00+00:00</td>\n      <td>lawyer</td>\n      <td>politics</td>\n      <td>Austrian Federal Government</td>\n      <td>61669459</td>\n      <td>0000000121358165</td>\n      <td>118599739.0</td>\n      <td>29236 days</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>Ernst Fraenkel</td>\n      <td>Q86812</td>\n      <td>male</td>\n      <td>NaN</td>\n      <td>Germany</td>\n      <td>Ernst</td>\n      <td>Fraenkel</td>\n      <td>1898-12-26 00:00:00+00:00</td>\n      <td>1975-03-28 00:00:00+00:00</td>\n      <td>lawyer</td>\n      <td>NaN</td>\n      <td>Free University Berlin</td>\n      <td>27108403</td>\n      <td>0000000110230959</td>\n      <td>118534602.0</td>\n      <td>27850 days</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>Franz Leopold Neumann</td>\n      <td>Q112562068</td>\n      <td>male</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>Leopold</td>\n      <td>Neumann</td>\n      <td>NaT</td>\n      <td>NaT</td>\n      <td>printer</td>\n      <td>publishing</td>\n      <td>NaN</td>\n      <td>637163874508945722514</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaT</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
+      "text/plain": "<IPython.core.display.Markdown object>",
+      "text/markdown": "|    | fullName              | qid       | familyName   | givenName     | wikidata_url                                                                    | wikipedia_en                                                                                                    | wikipedia_de                                                                                                       |\n|---:|:----------------------|:----------|:-------------|:--------------|:--------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------|\n|  0 | Hans Kelsen           | Q84165    | Kelsen       | Hans          | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q84165\">Wikidata</a>    | <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/Hans_Kelsen\">Wikipedia (EN)</a>                          | <a target=\"_blank\" href=\"https://de.wikipedia.org/wiki/Hans_Kelsen\">Wikipedia (DE)</a>                             |\n|  1 | Hugo Sinzheimer       | Q86043    | Sinzheimer   | Hugo D.       | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q86043\">Wikidata</a>    | <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/Hugo_Sinzheimer\">Wikipedia (EN)</a>                      | <a target=\"_blank\" href=\"https://de.wikipedia.org/wiki/Hugo_Sinzheimer\">Wikipedia (DE)</a>                         |\n|  2 | Karl Renner           | Q11726    | Renner       | Karl          | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q11726\">Wikidata</a>    | <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/Karl_Renner\">Wikipedia (EN)</a>                          | <a target=\"_blank\" href=\"https://de.wikipedia.org/wiki/Karl_Renner\">Wikipedia (DE)</a>                             |\n|  3 | Ernst Fraenkel        | Q86812    | Fraenkel     | Ernst         | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q86812\">Wikidata</a>    | <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/Ernst_Fraenkel_(political_scientist)\">Wikipedia (EN)</a> | <a target=\"_blank\" href=\"https://de.wikipedia.org/wiki/Ernst_Fraenkel_(Politikwissenschaftler)\">Wikipedia (DE)</a> |\n|  4 | Franz Leopold Neumann | Q63195    | Neumann      | Leopold Franz | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q63195\">Wikidata</a>    | <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/Franz_Neumann_(political_scientist)\">Wikipedia (EN)</a>  | <a target=\"_blank\" href=\"https://de.wikipedia.org/wiki/Franz_Neumann_(Politikwissenschaftler)\">Wikipedia (DE)</a>  |\n|  5 | Otto Kahn-Freund      | Q121832   | Kahn Freund  | Otto          | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q121832\">Wikidata</a>   | <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/Otto_Kahn-Freund\">Wikipedia (EN)</a>                     | <a target=\"_blank\" href=\"https://de.wikipedia.org/wiki/Otto_Kahn-Freund\">Wikipedia (DE)</a>                        |\n|  6 | Otto Kirchheimer      | Q214397   | Kirchheimer  | Otto          | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q214397\">Wikidata</a>   | <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/Otto_Kirchheimer\">Wikipedia (EN)</a>                     | <a target=\"_blank\" href=\"https://de.wikipedia.org/wiki/Otto_Kirchheimer\">Wikipedia (DE)</a>                        |\n|  7 | Ludwig Bendix         | Q15449424 | Bendix       | Ludwig        | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q15449424\">Wikidata</a> | <a target=\"_blank\" href=\"None\">Wikipedia (EN)</a>                                                               | <a target=\"_blank\" href=\"https://de.wikipedia.org/wiki/Ludwig_Bendix\">Wikipedia (DE)</a>                           |\n|  8 | Arthur Nussbaum       | Q103088   | Nussbaum     | Arthur        | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q103088\">Wikidata</a>   | <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/Arthur_Nussbaum\">Wikipedia (EN)</a>                      | <a target=\"_blank\" href=\"https://de.wikipedia.org/wiki/Arthur_Nussbaum\">Wikipedia (DE)</a>                         |\n|  9 | Theodor Geiger        | Q96410    | Geiger       | Theodor       | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q96410\">Wikidata</a>    | <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/Theodor_Geiger\">Wikipedia (EN)</a>                       | <a target=\"_blank\" href=\"https://de.wikipedia.org/wiki/Theodor_Geiger\">Wikipedia (DE)</a>                          |\n| 10 | Erhard Blankenburg    | Q51595283 | Blankenburg  | Erhard        | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q51595283\">Wikidata</a> | <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/Erhard_Blankenburg\">Wikipedia (EN)</a>                   | <a target=\"_blank\" href=\"https://de.wikipedia.org/wiki/Erhard_Blankenburg\">Wikipedia (DE)</a>                      |\n| 11 | Wolfgang Kaupen       | Q93221485 |              | Wolfgang      | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q93221485\">Wikidata</a> | <a target=\"_blank\" href=\"None\">Wikipedia (EN)</a>                                                               | <a target=\"_blank\" href=\"None\">Wikipedia (DE)</a>                                                                  |\n| 12 | Rüdiger Lautmann      | Q91074    |              | Rüdiger       | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q91074\">Wikidata</a>    | <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/R%C3%BCdiger_Lautmann\">Wikipedia (EN)</a>                | <a target=\"_blank\" href=\"https://de.wikipedia.org/wiki/R%C3%BCdiger_Lautmann\">Wikipedia (DE)</a>                   |\n| 13 | Thilo Ramm            | Q59533838 | Ramm         | Thilo         | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q59533838\">Wikidata</a> | <a target=\"_blank\" href=\"None\">Wikipedia (EN)</a>                                                               | <a target=\"_blank\" href=\"https://de.wikipedia.org/wiki/Thilo_Ramm\">Wikipedia (DE)</a>                              |\n| 14 | Rudolf Wiethölter     | Q1512482  |              | Rudolf        | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q1512482\">Wikidata</a>  | <a target=\"_blank\" href=\"None\">Wikipedia (EN)</a>                                                               | <a target=\"_blank\" href=\"https://de.wikipedia.org/wiki/Rudolf_Wieth%C3%B6lter\">Wikipedia (DE)</a>                  |\n| 15 | Niklas Luhmann        | Q57238    | Luhmann      | Niklas        | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q57238\">Wikidata</a>    | <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/Niklas_Luhmann\">Wikipedia (EN)</a>                       | <a target=\"_blank\" href=\"https://de.wikipedia.org/wiki/Niklas_Luhmann\">Wikipedia (DE)</a>                          |\n| 16 | Hubert Rottleuthner   | Q55622018 |              | Hubert        | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q55622018\">Wikidata</a> | <a target=\"_blank\" href=\"None\">Wikipedia (EN)</a>                                                               | <a target=\"_blank\" href=\"https://de.wikipedia.org/wiki/Hubert_Rottleuthner\">Wikipedia (DE)</a>                     |\n| 17 | Gunther Teubner       | Q98304    | Teubner      | Gunther       | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q98304\">Wikidata</a>    | <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/Gunther_Teubner\">Wikipedia (EN)</a>                      | <a target=\"_blank\" href=\"https://de.wikipedia.org/wiki/Gunther_Teubner\">Wikipedia (DE)</a>                         |\n| 18 | Volkmar Gessner       | Q15435946 | Gessner      | Volkmar       | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q15435946\">Wikidata</a> | <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/Volkmar_Gessner\">Wikipedia (EN)</a>                      | <a target=\"_blank\" href=\"https://de.wikipedia.org/wiki/Volkmar_Gessner\">Wikipedia (DE)</a>                         |\n| 19 | Konstanze Plett       | Q95192683 |              |               | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q95192683\">Wikidata</a> | <a target=\"_blank\" href=\"None\">Wikipedia (EN)</a>                                                               | <a target=\"_blank\" href=\"https://de.wikipedia.org/wiki/Konstanze_Plett\">Wikipedia (DE)</a>                         |\n| 20 | Ute Sacksofsky        | Q48562036 |              | Ute           | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q48562036\">Wikidata</a> | <a target=\"_blank\" href=\"None\">Wikipedia (EN)</a>                                                               | <a target=\"_blank\" href=\"https://de.wikipedia.org/wiki/Ute_Sacksofsky\">Wikipedia (DE)</a>                          |\n| 21 | Susanne Baer          | Q101872   | Baer         | Susanne       | <a target=\"_blank\" href=\"http://www.wikidata.org/entity/Q101872\">Wikidata</a>   | <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/Susanne_Baer\">Wikipedia (EN)</a>                         | <a target=\"_blank\" href=\"https://de.wikipedia.org/wiki/Susanne_Baer\">Wikipedia (DE)</a>                            |"
      },
-     "execution_count": 4,
      "metadata": {},
-     "output_type": "execute_result"
+     "output_type": "display_data"
     }
    ],
    "source": [
     "import pandas as pd\n",
+    "from IPython.display import display, Markdown\n",
     "\n",
-    "# Load the data\n",
-    "df = pd.read_csv(\"scholars.csv\", encoding='utf-8')\n",
-    "# Convert date strings to datetime\n",
-    "df['dateOfBirth'] = pd.to_datetime(df['dateOfBirth'])\n",
-    "df['dateOfDeath'] = pd.to_datetime(df['dateOfDeath'])\n",
+    "# Function to convert URLs to HTML links\n",
+    "def make_clickable(val, name):\n",
+    "    return f'<a target=\"_blank\" href=\"{val}\">{name}</a>'\n",
     "\n",
-    "# Create a new column for the duration\n",
-    "df['duration'] = df['dateOfDeath'] - df['dateOfBirth']\n",
+    "# Apply the function to each URL column\n",
+    "df_styled = df.copy()[['fullName', 'qid', 'familyName', 'givenName', 'wikidata_url', 'wikipedia_en', 'wikipedia_de' ]]\n",
+    "df_styled['wikidata_url'] = df['wikidata_url'].apply(make_clickable, name='Wikidata')\n",
+    "df_styled['wikipedia_en'] = df['wikipedia_en'].apply(make_clickable, name='Wikipedia (EN)')\n",
+    "df_styled['wikipedia_de'] = df['wikipedia_de'].apply(make_clickable, name='Wikipedia (DE)')\n",
     "\n",
-    "# Display the first few rows to check\n",
-    "df.head()\n"
+    "# Display the DataFrame as HTML\n",
+    "display(Markdown(df_styled.to_markdown()))\n"
    ],
    "metadata": {
     "collapsed": false,
     "ExecuteTime": {
-     "end_time": "2024-03-10T19:10:57.836117100Z",
-     "start_time": "2024-03-10T19:10:57.788823300Z"
+     "end_time": "2024-03-14T08:53:06.819629Z",
+     "start_time": "2024-03-14T08:53:06.787707300Z"
     }
    },
-   "id": "565d12a18f81abd0"
+   "id": "2d7bdaeed0f38415"
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": 13,
    "outputs": [
     {
-     "data": {
-      "application/vnd.plotly.v1+json": {
-       "data": [
-        {
-         "alignmentgroup": "True",
-         "base": [
-          "1857-10-28T00:00:00+00:00",
-          "1870-12-14T00:00:00+00:00",
-          "1875-04-12T00:00:00+00:00",
-          "1877-01-31T00:00:00+00:00",
-          "1881-10-11T00:00:00+00:00",
-          "1891-11-09T00:00:00+00:00",
-          "1898-12-26T00:00:00+00:00",
-          "1900-11-17T00:00:00+00:00",
-          "1905-11-11T00:00:00+00:00",
-          "1925-04-04T00:00:00+00:00",
-          "1929-07-17T00:00:00+00:00",
-          "1935-12-22T00:00:00+00:00",
-          "1936-01-01T00:00:00+00:00",
-          "1937-10-09T00:00:00+00:00",
-          "1938-10-30T00:00:00+00:00",
-          "1944-04-30T00:00:00+00:00",
-          null,
-          null
-         ],
-         "hovertemplate": "dateOfBirth=%{base}<br>dateOfDeath=%{x}<br>row=%{y}<br>fullName=%{text}<extra></extra>",
-         "legendgroup": "",
-         "marker": {
-          "color": "#636efa",
-          "pattern": {
-           "shape": ""
-          }
-         },
-         "name": "",
-         "offsetgroup": "",
-         "orientation": "h",
-         "showlegend": false,
-         "text": [
-          "Ludwig Bendix",
-          "Karl Renner",
-          "Hugo Sinzheimer",
-          "Arthur Nussbaum",
-          "Hans Kelsen",
-          "Theodor Geiger",
-          "Ernst Fraenkel",
-          "Otto Kahn-Freund",
-          "Otto Kirchheimer",
-          "Thilo Ramm",
-          "Rudolf Wiethölter",
-          "Rüdiger Lautmann",
-          "Wolfgang Kaupen",
-          "Volkmar Gessner",
-          "Erhard Blankenburg",
-          "Gunther Teubner",
-          "Franz Leopold Neumann",
-          "Niklas Luhmann"
-         ],
-         "textposition": "auto",
-         "x": [
-          2.08008E12,
-          2.5259904E12,
-          2.2225536E12,
-          2.7709344E12,
-          2.8880928E12,
-          1.9123776E12,
-          2.40624E12,
-          2.4849504E12,
-          1.8944064E12,
-          2.9412288E12,
-          null,
-          null,
-          1.4201568E12,
-          2.4325056E12,
-          2.5059456E12,
-          null,
-          null,
-          null
-         ],
-         "xaxis": "x",
-         "y": [
-          0,
-          1,
-          2,
-          3,
-          4,
-          5,
-          6,
-          7,
-          8,
-          0,
-          9,
-          10,
-          11,
-          12,
-          13,
-          14,
-          15,
-          16
-         ],
-         "yaxis": "y",
-         "type": "bar"
-        }
-       ],
-       "layout": {
-        "template": {
-         "data": {
-          "histogram2dcontour": [
-           {
-            "type": "histogram2dcontour",
-            "colorbar": {
-             "outlinewidth": 0,
-             "ticks": ""
-            },
-            "colorscale": [
-             [
-              0.0,
-              "#0d0887"
-             ],
-             [
-              0.1111111111111111,
-              "#46039f"
-             ],
-             [
-              0.2222222222222222,
-              "#7201a8"
-             ],
-             [
-              0.3333333333333333,
-              "#9c179e"
-             ],
-             [
-              0.4444444444444444,
-              "#bd3786"
-             ],
-             [
-              0.5555555555555556,
-              "#d8576b"
-             ],
-             [
-              0.6666666666666666,
-              "#ed7953"
-             ],
-             [
-              0.7777777777777778,
-              "#fb9f3a"
-             ],
-             [
-              0.8888888888888888,
-              "#fdca26"
-             ],
-             [
-              1.0,
-              "#f0f921"
-             ]
-            ]
-           }
-          ],
-          "choropleth": [
-           {
-            "type": "choropleth",
-            "colorbar": {
-             "outlinewidth": 0,
-             "ticks": ""
-            }
-           }
-          ],
-          "histogram2d": [
-           {
-            "type": "histogram2d",
-            "colorbar": {
-             "outlinewidth": 0,
-             "ticks": ""
-            },
-            "colorscale": [
-             [
-              0.0,
-              "#0d0887"
-             ],
-             [
-              0.1111111111111111,
-              "#46039f"
-             ],
-             [
-              0.2222222222222222,
-              "#7201a8"
-             ],
-             [
-              0.3333333333333333,
-              "#9c179e"
-             ],
-             [
-              0.4444444444444444,
-              "#bd3786"
-             ],
-             [
-              0.5555555555555556,
-              "#d8576b"
-             ],
-             [
-              0.6666666666666666,
-              "#ed7953"
-             ],
-             [
-              0.7777777777777778,
-              "#fb9f3a"
-             ],
-             [
-              0.8888888888888888,
-              "#fdca26"
-             ],
-             [
-              1.0,
-              "#f0f921"
-             ]
-            ]
-           }
-          ],
-          "heatmap": [
-           {
-            "type": "heatmap",
-            "colorbar": {
-             "outlinewidth": 0,
-             "ticks": ""
-            },
-            "colorscale": [
-             [
-              0.0,
-              "#0d0887"
-             ],
-             [
-              0.1111111111111111,
-              "#46039f"
-             ],
-             [
-              0.2222222222222222,
-              "#7201a8"
-             ],
-             [
-              0.3333333333333333,
-              "#9c179e"
-             ],
-             [
-              0.4444444444444444,
-              "#bd3786"
-             ],
-             [
-              0.5555555555555556,
-              "#d8576b"
-             ],
-             [
-              0.6666666666666666,
-              "#ed7953"
-             ],
-             [
-              0.7777777777777778,
-              "#fb9f3a"
-             ],
-             [
-              0.8888888888888888,
-              "#fdca26"
-             ],
-             [
-              1.0,
-              "#f0f921"
-             ]
-            ]
-           }
-          ],
-          "heatmapgl": [
-           {
-            "type": "heatmapgl",
-            "colorbar": {
-             "outlinewidth": 0,
-             "ticks": ""
-            },
-            "colorscale": [
-             [
-              0.0,
-              "#0d0887"
-             ],
-             [
-              0.1111111111111111,
-              "#46039f"
-             ],
-             [
-              0.2222222222222222,
-              "#7201a8"
-             ],
-             [
-              0.3333333333333333,
-              "#9c179e"
-             ],
-             [
-              0.4444444444444444,
-              "#bd3786"
-             ],
-             [
-              0.5555555555555556,
-              "#d8576b"
-             ],
-             [
-              0.6666666666666666,
-              "#ed7953"
-             ],
-             [
-              0.7777777777777778,
-              "#fb9f3a"
-             ],
-             [
-              0.8888888888888888,
-              "#fdca26"
-             ],
-             [
-              1.0,
-              "#f0f921"
-             ]
-            ]
-           }
-          ],
-          "contourcarpet": [
-           {
-            "type": "contourcarpet",
-            "colorbar": {
-             "outlinewidth": 0,
-             "ticks": ""
-            }
-           }
-          ],
-          "contour": [
-           {
-            "type": "contour",
-            "colorbar": {
-             "outlinewidth": 0,
-             "ticks": ""
-            },
-            "colorscale": [
-             [
-              0.0,
-              "#0d0887"
-             ],
-             [
-              0.1111111111111111,
-              "#46039f"
-             ],
-             [
-              0.2222222222222222,
-              "#7201a8"
-             ],
-             [
-              0.3333333333333333,
-              "#9c179e"
-             ],
-             [
-              0.4444444444444444,
-              "#bd3786"
-             ],
-             [
-              0.5555555555555556,
-              "#d8576b"
-             ],
-             [
-              0.6666666666666666,
-              "#ed7953"
-             ],
-             [
-              0.7777777777777778,
-              "#fb9f3a"
-             ],
-             [
-              0.8888888888888888,
-              "#fdca26"
-             ],
-             [
-              1.0,
-              "#f0f921"
-             ]
-            ]
-           }
-          ],
-          "surface": [
-           {
-            "type": "surface",
-            "colorbar": {
-             "outlinewidth": 0,
-             "ticks": ""
-            },
-            "colorscale": [
-             [
-              0.0,
-              "#0d0887"
-             ],
-             [
-              0.1111111111111111,
-              "#46039f"
-             ],
-             [
-              0.2222222222222222,
-              "#7201a8"
-             ],
-             [
-              0.3333333333333333,
-              "#9c179e"
-             ],
-             [
-              0.4444444444444444,
-              "#bd3786"
-             ],
-             [
-              0.5555555555555556,
-              "#d8576b"
-             ],
-             [
-              0.6666666666666666,
-              "#ed7953"
-             ],
-             [
-              0.7777777777777778,
-              "#fb9f3a"
-             ],
-             [
-              0.8888888888888888,
-              "#fdca26"
-             ],
-             [
-              1.0,
-              "#f0f921"
-             ]
-            ]
-           }
-          ],
-          "mesh3d": [
-           {
-            "type": "mesh3d",
-            "colorbar": {
-             "outlinewidth": 0,
-             "ticks": ""
-            }
-           }
-          ],
-          "scatter": [
-           {
-            "marker": {
-             "line": {
-              "color": "#283442"
-             }
-            },
-            "type": "scatter"
-           }
-          ],
-          "parcoords": [
-           {
-            "type": "parcoords",
-            "line": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
-            }
-           }
-          ],
-          "scatterpolargl": [
-           {
-            "type": "scatterpolargl",
-            "marker": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
-            }
-           }
-          ],
-          "bar": [
-           {
-            "error_x": {
-             "color": "#f2f5fa"
-            },
-            "error_y": {
-             "color": "#f2f5fa"
-            },
-            "marker": {
-             "line": {
-              "color": "rgb(17,17,17)",
-              "width": 0.5
-             },
-             "pattern": {
-              "fillmode": "overlay",
-              "size": 10,
-              "solidity": 0.2
-             }
-            },
-            "type": "bar"
-           }
-          ],
-          "scattergeo": [
-           {
-            "type": "scattergeo",
-            "marker": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
-            }
-           }
-          ],
-          "scatterpolar": [
-           {
-            "type": "scatterpolar",
-            "marker": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
-            }
-           }
-          ],
-          "histogram": [
-           {
-            "marker": {
-             "pattern": {
-              "fillmode": "overlay",
-              "size": 10,
-              "solidity": 0.2
-             }
-            },
-            "type": "histogram"
-           }
-          ],
-          "scattergl": [
-           {
-            "marker": {
-             "line": {
-              "color": "#283442"
-             }
-            },
-            "type": "scattergl"
-           }
-          ],
-          "scatter3d": [
-           {
-            "type": "scatter3d",
-            "line": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
-            },
-            "marker": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
-            }
-           }
-          ],
-          "scattermapbox": [
-           {
-            "type": "scattermapbox",
-            "marker": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
-            }
-           }
-          ],
-          "scatterternary": [
-           {
-            "type": "scatterternary",
-            "marker": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
-            }
-           }
-          ],
-          "scattercarpet": [
-           {
-            "type": "scattercarpet",
-            "marker": {
-             "colorbar": {
-              "outlinewidth": 0,
-              "ticks": ""
-             }
-            }
-           }
-          ],
-          "carpet": [
-           {
-            "aaxis": {
-             "endlinecolor": "#A2B1C6",
-             "gridcolor": "#506784",
-             "linecolor": "#506784",
-             "minorgridcolor": "#506784",
-             "startlinecolor": "#A2B1C6"
-            },
-            "baxis": {
-             "endlinecolor": "#A2B1C6",
-             "gridcolor": "#506784",
-             "linecolor": "#506784",
-             "minorgridcolor": "#506784",
-             "startlinecolor": "#A2B1C6"
-            },
-            "type": "carpet"
-           }
-          ],
-          "table": [
-           {
-            "cells": {
-             "fill": {
-              "color": "#506784"
-             },
-             "line": {
-              "color": "rgb(17,17,17)"
-             }
-            },
-            "header": {
-             "fill": {
-              "color": "#2a3f5f"
-             },
-             "line": {
-              "color": "rgb(17,17,17)"
-             }
-            },
-            "type": "table"
-           }
-          ],
-          "barpolar": [
-           {
-            "marker": {
-             "line": {
-              "color": "rgb(17,17,17)",
-              "width": 0.5
-             },
-             "pattern": {
-              "fillmode": "overlay",
-              "size": 10,
-              "solidity": 0.2
-             }
-            },
-            "type": "barpolar"
-           }
-          ],
-          "pie": [
-           {
-            "automargin": true,
-            "type": "pie"
-           }
-          ]
-         },
-         "layout": {
-          "autotypenumbers": "strict",
-          "colorway": [
-           "#636efa",
-           "#EF553B",
-           "#00cc96",
-           "#ab63fa",
-           "#FFA15A",
-           "#19d3f3",
-           "#FF6692",
-           "#B6E880",
-           "#FF97FF",
-           "#FECB52"
-          ],
-          "font": {
-           "color": "#f2f5fa"
-          },
-          "hovermode": "closest",
-          "hoverlabel": {
-           "align": "left"
-          },
-          "paper_bgcolor": "rgb(17,17,17)",
-          "plot_bgcolor": "rgb(17,17,17)",
-          "polar": {
-           "bgcolor": "rgb(17,17,17)",
-           "angularaxis": {
-            "gridcolor": "#506784",
-            "linecolor": "#506784",
-            "ticks": ""
-           },
-           "radialaxis": {
-            "gridcolor": "#506784",
-            "linecolor": "#506784",
-            "ticks": ""
-           }
-          },
-          "ternary": {
-           "bgcolor": "rgb(17,17,17)",
-           "aaxis": {
-            "gridcolor": "#506784",
-            "linecolor": "#506784",
-            "ticks": ""
-           },
-           "baxis": {
-            "gridcolor": "#506784",
-            "linecolor": "#506784",
-            "ticks": ""
-           },
-           "caxis": {
-            "gridcolor": "#506784",
-            "linecolor": "#506784",
-            "ticks": ""
-           }
-          },
-          "coloraxis": {
-           "colorbar": {
-            "outlinewidth": 0,
-            "ticks": ""
-           }
-          },
-          "colorscale": {
-           "sequential": [
-            [
-             0.0,
-             "#0d0887"
-            ],
-            [
-             0.1111111111111111,
-             "#46039f"
-            ],
-            [
-             0.2222222222222222,
-             "#7201a8"
-            ],
-            [
-             0.3333333333333333,
-             "#9c179e"
-            ],
-            [
-             0.4444444444444444,
-             "#bd3786"
-            ],
-            [
-             0.5555555555555556,
-             "#d8576b"
-            ],
-            [
-             0.6666666666666666,
-             "#ed7953"
-            ],
-            [
-             0.7777777777777778,
-             "#fb9f3a"
-            ],
-            [
-             0.8888888888888888,
-             "#fdca26"
-            ],
-            [
-             1.0,
-             "#f0f921"
-            ]
-           ],
-           "sequentialminus": [
-            [
-             0.0,
-             "#0d0887"
-            ],
-            [
-             0.1111111111111111,
-             "#46039f"
-            ],
-            [
-             0.2222222222222222,
-             "#7201a8"
-            ],
-            [
-             0.3333333333333333,
-             "#9c179e"
-            ],
-            [
-             0.4444444444444444,
-             "#bd3786"
-            ],
-            [
-             0.5555555555555556,
-             "#d8576b"
-            ],
-            [
-             0.6666666666666666,
-             "#ed7953"
-            ],
-            [
-             0.7777777777777778,
-             "#fb9f3a"
-            ],
-            [
-             0.8888888888888888,
-             "#fdca26"
-            ],
-            [
-             1.0,
-             "#f0f921"
-            ]
-           ],
-           "diverging": [
-            [
-             0,
-             "#8e0152"
-            ],
-            [
-             0.1,
-             "#c51b7d"
-            ],
-            [
-             0.2,
-             "#de77ae"
-            ],
-            [
-             0.3,
-             "#f1b6da"
-            ],
-            [
-             0.4,
-             "#fde0ef"
-            ],
-            [
-             0.5,
-             "#f7f7f7"
-            ],
-            [
-             0.6,
-             "#e6f5d0"
-            ],
-            [
-             0.7,
-             "#b8e186"
-            ],
-            [
-             0.8,
-             "#7fbc41"
-            ],
-            [
-             0.9,
-             "#4d9221"
-            ],
-            [
-             1,
-             "#276419"
-            ]
-           ]
-          },
-          "xaxis": {
-           "gridcolor": "#283442",
-           "linecolor": "#506784",
-           "ticks": "",
-           "title": {
-            "standoff": 15
-           },
-           "zerolinecolor": "#283442",
-           "automargin": true,
-           "zerolinewidth": 2
-          },
-          "yaxis": {
-           "gridcolor": "#283442",
-           "linecolor": "#506784",
-           "ticks": "",
-           "title": {
-            "standoff": 15
-           },
-           "zerolinecolor": "#283442",
-           "automargin": true,
-           "zerolinewidth": 2
-          },
-          "scene": {
-           "xaxis": {
-            "backgroundcolor": "rgb(17,17,17)",
-            "gridcolor": "#506784",
-            "linecolor": "#506784",
-            "showbackground": true,
-            "ticks": "",
-            "zerolinecolor": "#C8D4E3",
-            "gridwidth": 2
-           },
-           "yaxis": {
-            "backgroundcolor": "rgb(17,17,17)",
-            "gridcolor": "#506784",
-            "linecolor": "#506784",
-            "showbackground": true,
-            "ticks": "",
-            "zerolinecolor": "#C8D4E3",
-            "gridwidth": 2
-           },
-           "zaxis": {
-            "backgroundcolor": "rgb(17,17,17)",
-            "gridcolor": "#506784",
-            "linecolor": "#506784",
-            "showbackground": true,
-            "ticks": "",
-            "zerolinecolor": "#C8D4E3",
-            "gridwidth": 2
-           }
-          },
-          "shapedefaults": {
-           "line": {
-            "color": "#f2f5fa"
-           }
-          },
-          "annotationdefaults": {
-           "arrowcolor": "#f2f5fa",
-           "arrowhead": 0,
-           "arrowwidth": 1
-          },
-          "geo": {
-           "bgcolor": "rgb(17,17,17)",
-           "landcolor": "rgb(17,17,17)",
-           "subunitcolor": "#506784",
-           "showland": true,
-           "showlakes": true,
-           "lakecolor": "rgb(17,17,17)"
-          },
-          "title": {
-           "x": 0.05
-          },
-          "updatemenudefaults": {
-           "bgcolor": "#506784",
-           "borderwidth": 0
-          },
-          "sliderdefaults": {
-           "bgcolor": "#C8D4E3",
-           "borderwidth": 1,
-           "bordercolor": "rgb(17,17,17)",
-           "tickwidth": 0
-          },
-          "mapbox": {
-           "style": "dark"
-          }
-         }
-        },
-        "xaxis": {
-         "anchor": "y",
-         "domain": [
-          0.0,
-          1.0
-         ],
-         "type": "date"
-        },
-        "yaxis": {
-         "anchor": "x",
-         "domain": [
-          0.0,
-          1.0
-         ],
-         "title": {
-          "text": "row"
-         },
-         "tickmode": "array",
-         "tickvals": [],
-         "ticktext": [],
-         "autorange": "reversed"
-        },
-        "legend": {
-         "tracegroupgap": 0
-        },
-        "title": {
-         "text": "Scholars' Life Spans Timeline"
-        },
-        "barmode": "overlay"
-       },
-       "config": {
-        "plotlyServerURL": "https://plot.ly"
-       }
-      },
-      "text/html": "<div>                            <div id=\"55be47cb-91f4-4113-a440-84ef0ea8fe4c\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div>            <script type=\"text/javascript\">                require([\"plotly\"], function(Plotly) {                    window.PLOTLYENV=window.PLOTLYENV || {};                                    if (document.getElementById(\"55be47cb-91f4-4113-a440-84ef0ea8fe4c\")) {                    Plotly.newPlot(                        \"55be47cb-91f4-4113-a440-84ef0ea8fe4c\",                        [{\"alignmentgroup\":\"True\",\"base\":[\"1857-10-28T00:00:00+00:00\",\"1870-12-14T00:00:00+00:00\",\"1875-04-12T00:00:00+00:00\",\"1877-01-31T00:00:00+00:00\",\"1881-10-11T00:00:00+00:00\",\"1891-11-09T00:00:00+00:00\",\"1898-12-26T00:00:00+00:00\",\"1900-11-17T00:00:00+00:00\",\"1905-11-11T00:00:00+00:00\",\"1925-04-04T00:00:00+00:00\",\"1929-07-17T00:00:00+00:00\",\"1935-12-22T00:00:00+00:00\",\"1936-01-01T00:00:00+00:00\",\"1937-10-09T00:00:00+00:00\",\"1938-10-30T00:00:00+00:00\",\"1944-04-30T00:00:00+00:00\",null,null],\"hovertemplate\":\"dateOfBirth=%{base}\\u003cbr\\u003edateOfDeath=%{x}\\u003cbr\\u003erow=%{y}\\u003cbr\\u003efullName=%{text}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"\",\"marker\":{\"color\":\"#636efa\",\"pattern\":{\"shape\":\"\"}},\"name\":\"\",\"offsetgroup\":\"\",\"orientation\":\"h\",\"showlegend\":false,\"text\":[\"Ludwig Bendix\",\"Karl Renner\",\"Hugo Sinzheimer\",\"Arthur Nussbaum\",\"Hans Kelsen\",\"Theodor Geiger\",\"Ernst Fraenkel\",\"Otto Kahn-Freund\",\"Otto Kirchheimer\",\"Thilo Ramm\",\"Rudolf Wiethölter\",\"Rüdiger Lautmann\",\"Wolfgang Kaupen\",\"Volkmar Gessner\",\"Erhard Blankenburg\",\"Gunther Teubner\",\"Franz Leopold Neumann\",\"Niklas Luhmann\"],\"textposition\":\"auto\",\"x\":[2080080000000.0,2525990400000.0,2222553600000.0,2770934400000.0,2888092800000.0,1912377600000.0,2406240000000.0,2484950400000.0,1894406400000.0,2941228800000.0,null,null,1420156800000.0,2432505600000.0,2505945600000.0,null,null,null],\"xaxis\":\"x\",\"y\":[0,1,2,3,4,5,6,7,8,0,9,10,11,12,13,14,15,16],\"yaxis\":\"y\",\"type\":\"bar\"}],                        {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"marker\":{\"line\":{\"color\":\"#283442\"}},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#f2f5fa\"},\"error_y\":{\"color\":\"#f2f5fa\"},\"marker\":{\"line\":{\"color\":\"rgb(17,17,17)\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"marker\":{\"line\":{\"color\":\"#283442\"}},\"type\":\"scattergl\"}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#A2B1C6\",\"gridcolor\":\"#506784\",\"linecolor\":\"#506784\",\"minorgridcolor\":\"#506784\",\"startlinecolor\":\"#A2B1C6\"},\"baxis\":{\"endlinecolor\":\"#A2B1C6\",\"gridcolor\":\"#506784\",\"linecolor\":\"#506784\",\"minorgridcolor\":\"#506784\",\"startlinecolor\":\"#A2B1C6\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#506784\"},\"line\":{\"color\":\"rgb(17,17,17)\"}},\"header\":{\"fill\":{\"color\":\"#2a3f5f\"},\"line\":{\"color\":\"rgb(17,17,17)\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"rgb(17,17,17)\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#f2f5fa\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"rgb(17,17,17)\",\"plot_bgcolor\":\"rgb(17,17,17)\",\"polar\":{\"bgcolor\":\"rgb(17,17,17)\",\"angularaxis\":{\"gridcolor\":\"#506784\",\"linecolor\":\"#506784\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"#506784\",\"linecolor\":\"#506784\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"rgb(17,17,17)\",\"aaxis\":{\"gridcolor\":\"#506784\",\"linecolor\":\"#506784\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"#506784\",\"linecolor\":\"#506784\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"#506784\",\"linecolor\":\"#506784\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"#283442\",\"linecolor\":\"#506784\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"#283442\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"#283442\",\"linecolor\":\"#506784\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"#283442\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"rgb(17,17,17)\",\"gridcolor\":\"#506784\",\"linecolor\":\"#506784\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"#C8D4E3\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"rgb(17,17,17)\",\"gridcolor\":\"#506784\",\"linecolor\":\"#506784\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"#C8D4E3\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"rgb(17,17,17)\",\"gridcolor\":\"#506784\",\"linecolor\":\"#506784\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"#C8D4E3\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#f2f5fa\"}},\"annotationdefaults\":{\"arrowcolor\":\"#f2f5fa\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"rgb(17,17,17)\",\"landcolor\":\"rgb(17,17,17)\",\"subunitcolor\":\"#506784\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"rgb(17,17,17)\"},\"title\":{\"x\":0.05},\"updatemenudefaults\":{\"bgcolor\":\"#506784\",\"borderwidth\":0},\"sliderdefaults\":{\"bgcolor\":\"#C8D4E3\",\"borderwidth\":1,\"bordercolor\":\"rgb(17,17,17)\",\"tickwidth\":0},\"mapbox\":{\"style\":\"dark\"}}},\"xaxis\":{\"anchor\":\"y\",\"domain\":[0.0,1.0],\"type\":\"date\"},\"yaxis\":{\"anchor\":\"x\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"row\"},\"tickmode\":\"array\",\"tickvals\":[],\"ticktext\":[],\"autorange\":\"reversed\"},\"legend\":{\"tracegroupgap\":0},\"title\":{\"text\":\"Scholars' Life Spans Timeline\"},\"barmode\":\"overlay\"},                        {\"responsive\": true}                    ).then(function(){\n                            \nvar gd = document.getElementById('55be47cb-91f4-4113-a440-84ef0ea8fe4c');\nvar x = new MutationObserver(function (mutations, observer) {{\n        var display = window.getComputedStyle(gd).display;\n        if (!display || display === 'none') {{\n            console.log([gd, 'removed!']);\n            Plotly.purge(gd);\n            observer.disconnect();\n        }}\n}});\n\n// Listen for the removal of the full notebook cells\nvar notebookContainer = gd.closest('#notebook-container');\nif (notebookContainer) {{\n    x.observe(notebookContainer, {childList: true});\n}}\n\n// Listen for the clearing of the current output cell\nvar outputEl = gd.closest('.output');\nif (outputEl) {{\n    x.observe(outputEl, {childList: true});\n}}\n\n                        })                };                });            </script>        </div>"
-     },
-     "metadata": {},
-     "output_type": "display_data"
+     "ename": "TypeError",
+     "evalue": "'>' not supported between instances of 'float' and 'str'",
+     "output_type": "error",
+     "traceback": [
+      "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m",
+      "\u001B[1;31mTypeError\u001B[0m                                 Traceback (most recent call last)",
+      "Cell \u001B[1;32mIn[13], line 20\u001B[0m\n\u001B[0;32m     18\u001B[0m df[\u001B[38;5;124m'\u001B[39m\u001B[38;5;124mrow\u001B[39m\u001B[38;5;124m'\u001B[39m] \u001B[38;5;241m=\u001B[39m \u001B[38;5;241m0\u001B[39m\n\u001B[0;32m     19\u001B[0m \u001B[38;5;28;01mfor\u001B[39;00m index, scholar \u001B[38;5;129;01min\u001B[39;00m df\u001B[38;5;241m.\u001B[39miterrows():\n\u001B[1;32m---> 20\u001B[0m     row \u001B[38;5;241m=\u001B[39m \u001B[43mfind_row\u001B[49m\u001B[43m(\u001B[49m\u001B[43mlast_dates\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mscholar\u001B[49m\u001B[43m[\u001B[49m\u001B[38;5;124;43m'\u001B[39;49m\u001B[38;5;124;43mdateOfBirth\u001B[39;49m\u001B[38;5;124;43m'\u001B[39;49m\u001B[43m]\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m     21\u001B[0m     \u001B[38;5;28;01mif\u001B[39;00m row \u001B[38;5;241m<\u001B[39m \u001B[38;5;28mlen\u001B[39m(last_dates):\n\u001B[0;32m     22\u001B[0m         last_dates[row] \u001B[38;5;241m=\u001B[39m scholar[\u001B[38;5;124m'\u001B[39m\u001B[38;5;124mdateOfDeath\u001B[39m\u001B[38;5;124m'\u001B[39m]\n",
+      "Cell \u001B[1;32mIn[13], line 13\u001B[0m, in \u001B[0;36mfind_row\u001B[1;34m(last_dates, start_date)\u001B[0m\n\u001B[0;32m     11\u001B[0m \u001B[38;5;28;01mdef\u001B[39;00m \u001B[38;5;21mfind_row\u001B[39m(last_dates, start_date):\n\u001B[0;32m     12\u001B[0m     \u001B[38;5;28;01mfor\u001B[39;00m i, last_date \u001B[38;5;129;01min\u001B[39;00m \u001B[38;5;28menumerate\u001B[39m(last_dates):\n\u001B[1;32m---> 13\u001B[0m         \u001B[38;5;28;01mif\u001B[39;00m \u001B[43mstart_date\u001B[49m\u001B[43m \u001B[49m\u001B[38;5;241;43m>\u001B[39;49m\u001B[43m \u001B[49m\u001B[43mlast_date\u001B[49m:\n\u001B[0;32m     14\u001B[0m             \u001B[38;5;28;01mreturn\u001B[39;00m i\n\u001B[0;32m     15\u001B[0m     \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[38;5;28mlen\u001B[39m(last_dates)\n",
+      "\u001B[1;31mTypeError\u001B[0m: '>' not supported between instances of 'float' and 'str'"
+     ]
     }
    ],
    "source": [
     "import pandas as pd\n",
     "import plotly.express as px\n",
     "\n",
-    "# Assuming df is already loaded and dateOfBirth/dateOfDeath are converted to datetime\n",
+    "# Load the data\n",
+    "df = pd.read_csv(\"scholars.csv\", encoding='utf-8')\n",
     "\n",
     "# Initialize a list to track the last dateOfDeath in each row to manage overlaps\n",
     "last_dates = []\n",
@@ -1356,8 +411,8 @@
    "metadata": {
     "collapsed": false,
     "ExecuteTime": {
-     "end_time": "2024-03-10T19:25:25.126760500Z",
-     "start_time": "2024-03-10T19:25:25.076205200Z"
+     "end_time": "2024-03-11T22:37:55.002823500Z",
+     "start_time": "2024-03-11T22:37:53.483582400Z"
     }
    },
    "id": "9bdf188991f29962"
diff --git a/wikidata/readme.md b/wikidata/readme.md
index a68b25774f18fe95047519863c50e60b2514ad6b..2d4b2fd04ae9b7134f24be9ac5f21c7ba3d03e26 100644
--- a/wikidata/readme.md
+++ b/wikidata/readme.md
@@ -1,3 +1,3 @@
 # WikiData data retrieval
 
-`pip install openpyxl plotly lxml`
\ No newline at end of file
+`pip install openpyxl plotly lxml tabulate`
\ No newline at end of file
diff --git a/wikidata/scholars-qid.csv b/wikidata/scholars-qid.csv
new file mode 100644
index 0000000000000000000000000000000000000000..52fed1ce6ca9ada096be1743ba1cd04b58ca2aee
--- /dev/null
+++ b/wikidata/scholars-qid.csv
@@ -0,0 +1,25 @@
+fullName,qid
+Hans Kelsen,Q84165
+Hugo Sinzheimer,Q86043
+Karl Renner,Q11726
+Ernst Fraenkel,Q86812
+Franz Leopold Neumann,Q63195
+Otto Kahn-Freund,Q121832
+Otto Kirchheimer,Q214397
+Ludwig Bendix,Q15449424
+Arthur Nussbaum,Q103088
+Theodor Geiger,Q96410
+Erhard Blankenburg,Q51595283
+Wolfgang Kaupen,Q93221485
+Rüdiger Lautmann,Q91074
+Thilo Ramm,Q59533838
+Rudolf Wiethölter,Q1512482
+Niklas Luhmann,Q57238
+Hubert Rottleuthner,Q55622018
+Ralf Rogowski,Q112499743
+Ralf Rogowski,Q20128038
+Gunther Teubner,Q98304
+Volkmar Gessner,Q15435946
+Konstanze Plett,Q95192683
+Ute Sacksofsky,Q48562036
+Susanne Baer,Q101872
diff --git a/wikidata/scholars.csv b/wikidata/scholars.csv
index 7cf145a6c35f0f82ff9a2396b19dd9b9774e271d..70aea7e4a713f3986c394cfb544f02f27662d350 100644
--- a/wikidata/scholars.csv
+++ b/wikidata/scholars.csv
@@ -1,35 +1,25 @@
-fullName,qid,sexOrGender,image,countryOfCitizenship,givenName,familyName,dateOfBirth,dateOfDeath,occupation,fieldOfWork,viaf_id,isni_id,gnd_id,wikipedia_en
-Hans Kelsen,Q84165,male,http://commons.wikimedia.org/wiki/Special:FilePath/Hans%20Kelsen%20%281881%E2%80%931973%29%20~1930%20%C2%A9%20Georg%20Fayer%20%281892%E2%80%931950%29%20OeNB%208026867.jpg,United States of America,Hans,Kelsen,1881-10-11T00:00:00Z,1973-04-19T00:00:00Z,philosopher,constitutional law,31998356,0000000121266076,118561219,https://en.wikipedia.org/wiki/Hans%20Kelsen
-Hugo Sinzheimer,Q86043,male,http://commons.wikimedia.org/wiki/Special:FilePath/Hugo%20Sinzheimer.jpg,Germany,D.,Sinzheimer,1875-01-01T00:00:00Z,1945-09-16T00:00:00Z,trade unionist,,27864307,0000000109619641,118614711,https://en.wikipedia.org/wiki/Hugo%20Sinzheimer
-Karl Renner,Q48010797,male,,Austria,Karl,Renner,1884-12-24T00:00:00Z,1929-06-24T00:00:00Z,,,78817437,0000000054940875,134869036,
-Karl Renner,Q15451414,male,http://commons.wikimedia.org/wiki/Special:FilePath/Karl-renner-hn.jpg,Germany,Karl,Renner,1833-05-13T00:00:00Z,1913-09-22T00:00:00Z,merchant,,171170593,,1012296458,
-Karl Renner,Q94817885,male,,,Karl,Renner,,,board member,,100408035,,139099409,
-Karl Renner,Q11726,male,http://commons.wikimedia.org/wiki/Special:FilePath/Karl%20Renner%201905.jpg,Austria,Karl,Renner,1870-12-14T00:00:00Z,1950-12-31T00:00:00Z,diplomat,politics,61669459,0000000121358165,118599739,https://en.wikipedia.org/wiki/Karl%20Renner
-Karl Renner,Q107022720,male,,,Karl,Renner,1889-12-01T00:00:00Z,1947-05-17T00:00:00Z,local politician,,,,,
-Ernst Fraenkel,Q21997821,male,,,Ernst,Fraenkel,1923-01-01T00:00:00Z,2014-11-13T00:00:00Z,businessperson,,,,,https://en.wikipedia.org/wiki/Ernst%20Fraenkel%20%28businessman%29
-Ernst Fraenkel,Q92522,male,,Germany,Ernst,Fraenkel,1881-10-16T00:00:00Z,1957-10-02T00:00:00Z,linguist,linguistics,24595835,0000000081027854,11669064X,https://en.wikipedia.org/wiki/Ernst%20Fraenkel%20%28linguist%29
-Ernst Fraenkel,Q1358093,male,,Germany,Ernst,Fraenkel,1891-04-05T00:00:00Z,1971-08-18T00:00:00Z,economic historian,,50078162,,121259854,
-Ernst Fraenkel,Q86812,male,,United States of America,Ernst,Fraenkel,1898-12-26T00:00:00Z,1975-03-28T00:00:00Z,political scientist,,27108403,0000000110230959,118534602,https://en.wikipedia.org/wiki/Ernst%20Fraenkel%20%28political%20scientist%29
-Franz Leopold Neumann,Q63195,male,,Weimar Republic,Franz,Neumann,1900-05-23T00:00:00Z,1954-09-02T00:00:00Z,sociologist,,15561879,0000000109564943,118587293,https://en.wikipedia.org/wiki/Franz%20Neumann%20%28political%20scientist%29
-Franz Leopold Neumann,Q112562068,male,,,Franz,Neumann,,,printer,pressing,637163874508945722514,,,
-Otto Kahn-Freund,Q121832,male,http://commons.wikimedia.org/wiki/Special:FilePath/Sir%20Otto%20Kahn-Freund%2C%20c1950.jpg,Germany,Otto,,1900-11-17T00:00:00Z,1979-06-16T00:00:00Z,university teacher,,76317591,0000000109168959,118559362,https://en.wikipedia.org/wiki/Otto%20Kahn-Freund
-Otto Kirchheimer,Q214397,male,,United States of America,Otto,Kirchheimer,1905-11-11T00:00:00Z,1965-11-22T00:00:00Z,university teacher,,32042801,0000000081110244,118562371,https://en.wikipedia.org/wiki/Otto%20Kirchheimer
-Ludwig Bendix,Q28053205,male,,,Ludwig,Bendix,1857-10-28T00:00:00Z,1923-09-28T00:00:00Z,university teacher,,88720482,0000000061811334,1023309920,
-Ludwig Bendix,Q15449424,male,,Germany,Ludwig,Bendix,1877-06-28T00:00:00Z,1954-01-03T00:00:00Z,notary,,74647579,0000000081553379,118702033,
-Arthur Nussbaum,Q103088,male,http://commons.wikimedia.org/wiki/Special:FilePath/Arthur%20Nussbaum.jpg,United States of America,Arthur,Nussbaum,1877-01-01T00:00:00Z,1964-01-01T00:00:00Z,university teacher,international law,5180962,0000000120988288,117071676,https://en.wikipedia.org/wiki/Arthur%20Nussbaum
-Arthur Nussbaum,Q94847354,male,,,Arthur,,1853-10-18T00:00:00Z,1916-05-11T00:00:00Z,journalist,,308715560,,1051211875,
-Theodor Geiger,Q96410,male,,Denmark,Theodor,Geiger,1891-11-09T00:00:00Z,1952-06-16T00:00:00Z,sociologist,,56667946,0000000109038951,118538187,https://en.wikipedia.org/wiki/Theodor%20Geiger
-Erhard Blankenburg,Q51595283,male,http://commons.wikimedia.org/wiki/Special:FilePath/Erhard%20Blankenburg.jpg,Germany,Erhard,Blankenburg,1938-10-30T00:00:00Z,2018-03-28T00:00:00Z,sociologist,sociology of law,64109592,0000000110676109,115459235,https://en.wikipedia.org/wiki/Erhard%20Blankenburg
-Wolfgang Kaupen,Q93221485,male,,,Wolfgang,,1936-01-01T00:00:00Z,1981-01-01T00:00:00Z,sociologist,sociology of law,32919813,0000000035495614,124045405,
-Rüdiger Lautmann,Q91074,male,http://commons.wikimedia.org/wiki/Special:FilePath/Lautmann%202012.jpg,Germany,Rüdiger,,1935-12-22T00:00:00Z,,LGBTQI+ rights activist,homosexuality,24732961,000000011469331X,120502208,https://en.wikipedia.org/wiki/R%C3%BCdiger%20Lautmann
-Thilo Ramm,Q59533838,male,,Germany,Thilo,Ramm,1925-04-04T00:00:00Z,2018-06-17T00:00:00Z,legal scholar,,9924244,0000000108689541,116327391,
-Rudolf Wiethölter,Q1512482,male,,Germany,Rudolf,,1929-07-17T00:00:00Z,,university teacher,,106974404,0000000116961365,1034437860,
-Niklas Luhmann,Q57238,male,http://commons.wikimedia.org/wiki/Special:FilePath/HSGH%20022-000941%20Niklas%20Luhmann%20%28cropped%29.png,Germany,Niklas,Luhmann,1927-12-08T00:00:00Z,1998-11-06T00:00:00Z,cyberneticist,sociology,29546145,0000000122778532,118575147,https://en.wikipedia.org/wiki/Niklas%20Luhmann
-Niklas Luhmann,Q85691627,,,,,,,,researcher,,,,,
-Niklas Luhmann,Q61803657,,,,,,,,researcher,,,,,
-Gunther Teubner,Q98304,male,http://commons.wikimedia.org/wiki/Special:FilePath/Gunther%20Teubner%20%282017%29.jpg,Germany,Gunther,Teubner,1944-04-30T00:00:00Z,,jurist,,108364502,0000000109312017,119443562,https://en.wikipedia.org/wiki/Gunther%20Teubner
-Volkmar Gessner,Q15435946,male,http://commons.wikimedia.org/wiki/Special:FilePath/Volkmar%20Gessner%20%282006%29.JPG,Germany,Volkmar,Gessner,1937-10-09T00:00:00Z,2014-11-08T00:00:00Z,sociologist,sociology of law,69100039,0000000109127065,170469328,https://en.wikipedia.org/wiki/Volkmar%20Gessner
-Konstanze Plett,Q95192683,female,,,,,1947-01-01T00:00:00Z,,jurist,,20628376,0000000066847723,124957048,
-Ute Sacksofsky,Q48562036,female,,Germany,Ute,,1960-01-01T00:00:00Z,,university teacher,comparative law,54395802,0000000109029166,132505746,
-Susanne Baer,Q95656754,female,,,Susanne,Baer,,,actor,,189145911193727062107,,1093595477,
-Susanne Baer,Q101872,female,http://commons.wikimedia.org/wiki/Special:FilePath/Susanne%20Baer%202014%28cropped%29.jpg,Germany,Susanne,Baer,1964-02-16T00:00:00Z,,judge,,262465472,0000000030338599,113854161,https://en.wikipedia.org/wiki/Susanne%20Baer
+fullName,qid,sexOrGender,familyName,givenName,dateOfBirth,dateOfDeath,gnd_id,wikidata_url,wikipedia_en,wikipedia_de
+Hans Kelsen,Q84165,male,Kelsen,Hans,1881-10-11 00:00:00+00:00,1973-04-19 00:00:00+00:00,118561219,http://www.wikidata.org/entity/Q84165,https://en.wikipedia.org/wiki/Hans_Kelsen,https://de.wikipedia.org/wiki/Hans_Kelsen
+Hugo Sinzheimer,Q86043,male,Sinzheimer,Hugo D.,1875-01-01 00:00:00+00:00,1945-09-16 00:00:00+00:00,118614711,http://www.wikidata.org/entity/Q86043,https://en.wikipedia.org/wiki/Hugo_Sinzheimer,https://de.wikipedia.org/wiki/Hugo_Sinzheimer
+Karl Renner,Q11726,male,Renner,Karl,1870-12-14 00:00:00+00:00,1950-12-31 00:00:00+00:00,118599739,http://www.wikidata.org/entity/Q11726,https://en.wikipedia.org/wiki/Karl_Renner,https://de.wikipedia.org/wiki/Karl_Renner
+Ernst Fraenkel,Q86812,male,Fraenkel,Ernst,1898-12-26 00:00:00+00:00,1975-03-28 00:00:00+00:00,118534602,http://www.wikidata.org/entity/Q86812,https://en.wikipedia.org/wiki/Ernst_Fraenkel_(political_scientist),https://de.wikipedia.org/wiki/Ernst_Fraenkel_(Politikwissenschaftler)
+Franz Leopold Neumann,Q63195,male,Neumann,Leopold Franz,1900-05-23 00:00:00+00:00,1954-09-02 00:00:00+00:00,118587293,http://www.wikidata.org/entity/Q63195,https://en.wikipedia.org/wiki/Franz_Neumann_(political_scientist),https://de.wikipedia.org/wiki/Franz_Neumann_(Politikwissenschaftler)
+Otto Kahn-Freund,Q121832,male,Kahn Freund,Otto,1900-11-17 00:00:00+00:00,1979-06-16 00:00:00+00:00,118559362,http://www.wikidata.org/entity/Q121832,https://en.wikipedia.org/wiki/Otto_Kahn-Freund,https://de.wikipedia.org/wiki/Otto_Kahn-Freund
+Otto Kirchheimer,Q214397,male,Kirchheimer,Otto,1905-11-11 00:00:00+00:00,1965-11-22 00:00:00+00:00,118562371,http://www.wikidata.org/entity/Q214397,https://en.wikipedia.org/wiki/Otto_Kirchheimer,https://de.wikipedia.org/wiki/Otto_Kirchheimer
+Ludwig Bendix,Q15449424,male,Bendix,Ludwig,1877-06-28 00:00:00+00:00,1954-01-03 00:00:00+00:00,118702033,http://www.wikidata.org/entity/Q15449424,,https://de.wikipedia.org/wiki/Ludwig_Bendix
+Arthur Nussbaum,Q103088,male,Nussbaum,Arthur,1877-01-01 00:00:00+00:00,1964-01-01 00:00:00+00:00,117071676,http://www.wikidata.org/entity/Q103088,https://en.wikipedia.org/wiki/Arthur_Nussbaum,https://de.wikipedia.org/wiki/Arthur_Nussbaum
+Theodor Geiger,Q96410,male,Geiger,Theodor,1891-11-09 00:00:00+00:00,1952-06-16 00:00:00+00:00,118538187,http://www.wikidata.org/entity/Q96410,https://en.wikipedia.org/wiki/Theodor_Geiger,https://de.wikipedia.org/wiki/Theodor_Geiger
+Erhard Blankenburg,Q51595283,male,Blankenburg,Erhard,1938-10-30 00:00:00+00:00,2018-03-28 00:00:00+00:00,115459235,http://www.wikidata.org/entity/Q51595283,https://en.wikipedia.org/wiki/Erhard_Blankenburg,https://de.wikipedia.org/wiki/Erhard_Blankenburg
+Wolfgang Kaupen,Q93221485,male,,Wolfgang,1936-01-01 00:00:00+00:00,1981-01-01 00:00:00+00:00,124045405,http://www.wikidata.org/entity/Q93221485,,
+Rüdiger Lautmann,Q91074,male,,Rüdiger,1935-12-22 00:00:00+00:00,,120502208,http://www.wikidata.org/entity/Q91074,https://en.wikipedia.org/wiki/R%C3%BCdiger_Lautmann,https://de.wikipedia.org/wiki/R%C3%BCdiger_Lautmann
+Thilo Ramm,Q59533838,male,Ramm,Thilo,1925-04-04 00:00:00+00:00,2018-06-17 00:00:00+00:00,116327391,http://www.wikidata.org/entity/Q59533838,,https://de.wikipedia.org/wiki/Thilo_Ramm
+Rudolf Wiethölter,Q1512482,male,,Rudolf,1929-07-17 00:00:00+00:00,,1034437860,http://www.wikidata.org/entity/Q1512482,,https://de.wikipedia.org/wiki/Rudolf_Wieth%C3%B6lter
+Niklas Luhmann,Q57238,male,Luhmann,Niklas,1927-12-08 00:00:00+00:00,1998-11-06 00:00:00+00:00,118575147,http://www.wikidata.org/entity/Q57238,https://en.wikipedia.org/wiki/Niklas_Luhmann,https://de.wikipedia.org/wiki/Niklas_Luhmann
+Hubert Rottleuthner,Q55622018,male,,Hubert,1944-01-01 00:00:00+00:00,,135622751,http://www.wikidata.org/entity/Q55622018,,https://de.wikipedia.org/wiki/Hubert_Rottleuthner
+Ralf Rogowski,Q112499743,male,Rogowski,Ralf,1953-01-01 00:00:00+00:00,,17150982X,http://www.wikidata.org/entity/Q112499743,,
+Ralf Rogowski,Q20128038,male,Rogowski,Ralf,,,,http://www.wikidata.org/entity/Q20128038,https://en.wikipedia.org/wiki/Ralf_Rogowski,
+Gunther Teubner,Q98304,male,Teubner,Gunther,1944-04-30 00:00:00+00:00,,119443562,http://www.wikidata.org/entity/Q98304,https://en.wikipedia.org/wiki/Gunther_Teubner,https://de.wikipedia.org/wiki/Gunther_Teubner
+Volkmar Gessner,Q15435946,male,Gessner,Volkmar,1937-10-09 00:00:00+00:00,2014-11-08 00:00:00+00:00,170469328,http://www.wikidata.org/entity/Q15435946,https://en.wikipedia.org/wiki/Volkmar_Gessner,https://de.wikipedia.org/wiki/Volkmar_Gessner
+Konstanze Plett,Q95192683,female,,,1947-01-01 00:00:00+00:00,,124957048,http://www.wikidata.org/entity/Q95192683,,https://de.wikipedia.org/wiki/Konstanze_Plett
+Ute Sacksofsky,Q48562036,female,,Ute,1960-01-01 00:00:00+00:00,,132505746,http://www.wikidata.org/entity/Q48562036,,https://de.wikipedia.org/wiki/Ute_Sacksofsky
+Susanne Baer,Q101872,female,Baer,Susanne,1964-02-16 00:00:00+00:00,,113854161,http://www.wikidata.org/entity/Q101872,https://en.wikipedia.org/wiki/Susanne_Baer,https://de.wikipedia.org/wiki/Susanne_Baer