{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Pipeline to create research dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "from rdflib import Graph\n",
    "\n",
    "def merge_graphs(input_path_1, input_path_2, output_path):\n",
    "    g = Graph()\n",
    "    g.parse(input_path_1)\n",
    "    g.parse(input_path_2)\n",
    "    g.serialize(destination=output_path, format='ttl')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "/home/jovyan/dho-knowledge-graph-data-integration/src/rdf-mappings/map-tblBranch.py:463: DtypeWarning: Columns (2,9,11,16,17,18,19,20,21,31,38,39,49,56,58,62,67,71,72,73,74,75,77,79,82,85,86,88,94,97,98,99,100,102,104,106,109,110,112,114,117,118,119,122,124,125,126,127,128,129,130,131,132,133,134,135,136,138,139,140,141,142,143,144,145,149,150,151,152,153,154,157,165,166,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,188,189,190,194,196) have mixed types. Specify dtype option on import or set low_memory=False.\n",
      "  df_tblBranch = pd.read_csv(csv_input_path, sep='\\t')\n",
      "       Column  Column2  BranchID  ... GpSel TinctChanged  Column 201\n",
      "0           0      NaN         1  ...   NaN          1.0         NaN\n",
      "1           1      NaN         2  ...   NaN          1.0         NaN\n",
      "2           2      NaN         3  ...   NaN          1.0         NaN\n",
      "3           3      NaN         4  ...   NaN          1.0         NaN\n",
      "4           4      NaN         5  ...   NaN          1.0         NaN\n",
      "...       ...      ...       ...  ...   ...          ...         ...\n",
      "40859   40859      NaN  8318_A_1  ...   NaN          NaN         NaN\n",
      "40860   40860      NaN    8425_1  ...   0.0          NaN         0.0\n",
      "40861   40861      NaN  8425_A_1  ...   NaN          NaN         NaN\n",
      "40862   40862      NaN  8425_B_1  ...   NaN          NaN         NaN\n",
      "40863   40863      NaN   13770_1  ...   0.0          NaN         1.0\n",
      "\n",
      "[40864 rows x 205 columns]\n",
      "chief\n",
      "compon\n",
      "chief\n",
      "chief\n",
      "chief\n",
      "chief\n",
      "chief\n",
      "eschutch\n",
      "chief\n",
      "chief\n",
      "chief\n",
      "chief\n",
      "chief\n",
      "shield\n",
      "stag\n",
      "compon de Harcourt\n",
      "chief\n",
      "chief\n",
      "chief\n",
      "\n",
      "chief\n",
      "border\n",
      "lozenge\n",
      "lozenge\n",
      "\n",
      "\n",
      "chief\n",
      "chief\n",
      "lozenge\n",
      "chief\n",
      "chief\n",
      "compon\n",
      "compon\n",
      "escuch\n",
      "chief\n",
      "\n",
      "\n",
      "escurch\n",
      "banner\n",
      "chief\n",
      "banner\n",
      "banner\n",
      "banner\n",
      "banner\n",
      "banner\n",
      "escuch\n",
      "Created data/rdf-output/research-dataset/knowledge-graph-blazon-research-dataset.ttl\n",
      "Created data/rdf-output/research-dataset/knowledge-graph-blazon-research-dataset.jsonld\n",
      "Export TBox to file...\n",
      "Create data/rdf-output/digital-heraldry-ontology.ttl\n"
     ]
    }
   ],
   "source": [
    "!python src/rdf-mappings/map-tblBranch.py"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "merge_graphs('data/rdf-output/research-dataset/knowledge-graph-blazon-research-dataset.ttl', 'data/ontologies/digital-heraldry-ontology-heraldry.ttl', 'data/rdf-output/research-dataset/knowledge-graph-blazon-research-dataset.ttl')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Add class structure for `dhoh:Modifier`s"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "merge_graphs('data/rdf-output/research-dataset/knowledge-graph-blazon-research-dataset.ttl', 'data/ontologies/research-dataset/modifier-class-structure.ttl', 'data/rdf-output/research-dataset/knowledge-graph-blazon-research-dataset.ttl')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Create the occurances of the coats of arms (`dhor:CoatOfArmsRepresentation`) from `tblArmItem`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "src/rdf-mappings/map-tblArmItems.py:79: DtypeWarning: Columns (0,7,10,11,13,14,42) have mixed types. Specify dtype option on import or set low_memory=False.\n",
      "  df_tblArmItems = pd.read_csv(csv_input_path, sep='\\t')\n",
      "src/rdf-mappings/map-tblArmItems.py:92: FutureWarning: Inferring datetime64[ns] from data containing strings is deprecated and will be removed in a future version. To retain the old behavior explicitly pass Series(data, dtype=datetime64[ns])\n",
      "  df_metadata = pd.read_excel(metadata_file)\n",
      "        Column  ArmItemID ArmCode  ItemNr  ... CreMulti  CreTint  CreOrnIDR TGmember\n",
      "61929  22033.0    25909.0     QPB     2.0  ...      NaN      NaN        NaN    False\n",
      "61930  22034.0    25910.0     QPB     3.0  ...      NaN      NaN        NaN    False\n",
      "61931  22035.0    25911.0     QPB     4.0  ...      NaN      NaN        NaN    False\n",
      "61932  22036.0    25912.0     QPB     5.0  ...      NaN      NaN        NaN    False\n",
      "61933  22037.0    25913.0     QPB     6.0  ...      NaN      NaN        NaN    False\n",
      "...        ...        ...     ...     ...  ...      ...      ...        ...      ...\n",
      "62173  61935.0    72915.0     QPB   245.0  ...      NaN      NaN        NaN    False\n",
      "62174  61936.0    72916.0     QPB   246.0  ...      NaN      NaN        NaN    False\n",
      "62175  61937.0    72917.0     QPB   247.0  ...      NaN      NaN        NaN    False\n",
      "62176  61938.0    72918.0     QPB   248.0  ...      NaN      NaN        NaN    False\n",
      "62177  61939.0    72919.0     QPB   249.0  ...      NaN      NaN        NaN    False\n",
      "\n",
      "[249 rows x 46 columns]\n",
      "Created data/rdf-output/research-dataset/knowledge-graph-representation-research-dataset.ttl\n",
      "Created data/rdf-output/research-dataset/knowledge-graph-representation-research-dataset.jsonld\n"
     ]
    }
   ],
   "source": [
    "!python src/rdf-mappings/map-tblArmItems.py"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "merge_graphs('data/rdf-output/research-dataset/knowledge-graph-representation-research-dataset.ttl' , 'data/ontologies/digital-heraldry-ontology-representation.ttl', 'data/rdf-output/research-dataset/knowledge-graph-representation-research-dataset.ttl')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "src/rdf-mappings/integrate_manuscript_metadata_into_kg.py:69: FutureWarning: Inferring datetime64[ns] from data containing strings is deprecated and will be removed in a future version. To retain the old behavior explicitly pass Series(data, dtype=datetime64[ns])\n",
      "  df_metadata = pd.read_excel(metadata_file)\n",
      "      dho-kg-id Bestellen  ... Zugriff_Internet.1 Herkunft\n",
      "1004     1005.0       NaN  ...                NaN  Summary\n",
      "\n",
      "[1 rows x 94 columns]\n",
      "Creating manuscript entities...\n",
      "Created data/rdf-output/research-dataset/knowledge-graph-object-research-dataset.ttl\n",
      "Created data/rdf-output/research-dataset/knowledge-graph-object-research-dataset.jsonld\n",
      "Loading Knowledge Graph file...\n",
      "Linking coat of arms representations to manuscript entities...\n",
      "MS-QPB-25909\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25910\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25911\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25912\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25913\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25914\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25915\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25916\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25917\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25918\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25919\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25920\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25921\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25922\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25923\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25924\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25925\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25926\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25927\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25928\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25929\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25930\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25931\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25932\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25933\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25934\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25935\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25936\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25937\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25938\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25939\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25940\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25941\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25942\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25943\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25944\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25945\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25946\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25947\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25948\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25949\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25950\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25952\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25953\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25954\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25955\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25956\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25957\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25958\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25959\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25960\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25961\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25962\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25963\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25964\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25965\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25966\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25967\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25968\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25969\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25970\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25971\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25972\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25973\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25974\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25975\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25976\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25977\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25978\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25979\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25980\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25981\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25982\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25983\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25985\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25986\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25987\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25988\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25989\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25990\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25991\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25992\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25993\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25994\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25995\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25996\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25997\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25998\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-25999\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26000\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26001\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26002\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26003\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26004\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26005\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26006\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26007\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26008\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26009\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26010\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26011\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26012\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26013\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26014\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26015\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26016\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26017\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26018\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26019\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26020\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26021\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26022\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26023\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26024\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26025\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26026\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26027\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26028\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26029\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26030\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26031\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26032\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26033\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26034\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26035\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26036\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26037\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26038\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26039\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26040\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26041\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26042\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26043\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26044\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26045\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26046\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26047\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26048\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26049\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26050\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26051\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26052\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26053\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26054\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26055\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26056\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26057\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26058\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26059\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26060\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26061\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26062\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26063\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26064\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26065\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26066\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26067\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26068\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26069\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26070\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26071\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26072\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26073\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26074\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26075\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26076\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26077\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26080\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26081\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26082\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26083\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26084\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26085\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26086\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26087\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26088\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26089\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26090\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26091\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-26092\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-68037\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-68038\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-68039\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72771\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72772\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72773\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72774\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72775\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72776\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72777\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72778\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72779\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72780\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72781\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72782\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72783\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72784\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72785\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72786\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72787\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72788\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72789\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72790\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72867\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72868\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72869\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72870\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72871\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72872\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72873\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72874\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72875\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72876\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72877\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72878\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72879\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72880\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72881\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72882\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72883\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72884\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72885\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72886\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72888\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72895\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72896\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72897\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72898\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72899\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72900\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72901\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72902\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72903\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72904\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72905\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72906\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72907\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72908\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72909\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72910\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72911\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72912\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72913\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72914\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72915\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72916\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72917\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72918\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "MS-QPB-72919\n",
      "http://digitalheraldry.org/digital-heraldry-ontology/object#MS-QPB\n",
      "Serializing representation graph...\n"
     ]
    }
   ],
   "source": [
    "!python src/rdf-mappings/integrate_manuscript_metadata_into_kg.py"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "merge_graphs('data/rdf-output/research-dataset/knowledge-graph-object-research-dataset.ttl', 'data/ontologies/digital-heraldry-ontology-object.ttl', 'data/rdf-output/research-dataset/knowledge-graph-object-research-dataset.ttl')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Merging data/rdf-output/research-dataset/knowledge-graph-blazon-research-dataset.ttl into Knowledge Graph\n",
      "Traceback (most recent call last):\n",
      "  File \"src/rdf-mappings/merge_rdf_files_into_kg.py\", line 48, in <module>\n",
      "    g.parse(rdf_file)\n",
      "  File \"/Users/pschneider/opt/anaconda3/envs/dho_kg_integration/lib/python3.8/site-packages/rdflib/graph.py\", line 1234, in parse\n",
      "    source = create_input_source(\n",
      "  File \"/Users/pschneider/opt/anaconda3/envs/dho_kg_integration/lib/python3.8/site-packages/rdflib/parser.py\", line 326, in create_input_source\n",
      "    ) = _create_input_source_from_location(\n",
      "  File \"/Users/pschneider/opt/anaconda3/envs/dho_kg_integration/lib/python3.8/site-packages/rdflib/parser.py\", line 373, in _create_input_source_from_location\n",
      "    file = open(filename, \"rb\")\n",
      "FileNotFoundError: [Errno 2] No such file or directory: '/Users/pschneider/Documents/Digital Heraldry/Repositorien/data/rdf-output/research-dataset/knowledge-graph-blazon-research-dataset.ttl'\n"
     ]
    }
   ],
   "source": [
    "!python src/rdf-mappings/merge_rdf_files_into_kg.py -i data/rdf-output/research-dataset/knowledge-graph-blazon-research-dataset.ttl data/rdf-output/research-dataset/knowledge-graph-object-research-dataset.ttl data/rdf-output/research-dataset/knowledge-graph-representation-research-dataset.ttl"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.12"
  },
  "vscode": {
   "interpreter": {
    "hash": "86152e4984a8eeddffd673b8a40ea9a3bfe66b19f1d4e2fbcbd65936a43d9c06"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}