{
 "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": 57,
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "src/rdf-mappings/map-tblArmItems.py:85: 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:98: 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",
      "src/rdf-mappings/map-tblArmItems.py:110: 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('data/input/tblBranch_research-dataset.tsv', sep='\\t')\n",
      "Österreich - Binnenschild\n",
      "Steiermark - Erblehen\n",
      "Kärnten = Carnuthia - Erblehen\n",
      "Krain = Carniole\n",
      "Tirol  -  Erblehen\n",
      "Austria (o/Enns)\n",
      "Windischmark  -  Erblehen\n",
      "Portenau  -  Erblehen\n",
      "Habsburg  -  Stammhaus\n",
      "Kiburg\n",
      "Pfirt = Ferette\n",
      "Elsass = Haute-Alsace  -  Erblehen\n",
      "Mähren\n",
      "Cilly-Saneck\n",
      "Hardegg-Maidburg\n",
      "Görtz\n",
      "Schauenburg-Pittau\n",
      "Tettnang (Montfort)\n",
      "Tierstein\n",
      "Ortenburg im Kärnten\n",
      "Walsee-Gravenecke\n",
      "Ebersdorf\n",
      "Puchheim\n",
      "Hohenberg\n",
      "Polheim\n",
      "Volkersdorf\n",
      "Burgau = Schelkingen\n",
      "Pettau-Ankenstein\n",
      "Meissau\n",
      "Pottendorf-Massenbach\n",
      "Liechtenstein-in-Nikolsburg\n",
      "Tachenstein\n",
      "Wening\n",
      "Wildungsmauer\n",
      "Lamberg\n",
      "Wehingen\n",
      "Ruckendorf\n",
      "Winden\n",
      "Perner zu Bäreneck\n",
      "Libman von Trusch\n",
      "Blankenstein\n",
      "Eckenstedt\n",
      "Rohr =  Rohrwolf\n",
      "Stockhörner\n",
      "Bettendorf = Pettendorf\n",
      "Oberhaimer zu Schönau\n",
      "Meylersdorf\n",
      "Würfel\n",
      "Rotenberg\n",
      "Geuman von Gallsbach\n",
      "Kranichberg\n",
      "Starhemberg\n",
      "Losenstein\n",
      "Scheck auf Wald und Stampach\n",
      "Haselau = Haslau\n",
      "Doss  -  ancient - confounded\n",
      "Neydeck\n",
      "Traun\n",
      "Floitt\n",
      "Rappach\n",
      "Gradner\n",
      "Fritzelsdorf = Friesdorf\n",
      "Missendorf = Missingdorf\n",
      "Idungspeug\n",
      "Seebach\n",
      "Schweinpeck\n",
      "Truchess von Reichersdorf\n",
      "Palterndorfer\n",
      "Pebringer\n",
      "Rateler ?\n",
      "Wilfersdorf  / Willisow\n",
      "Rohrbach\n",
      "Peisser\n",
      "Kraiga = Kraigh\n",
      "Zelking - alt\n",
      "Zelking - mittlere\n",
      "Sachs von Sachsenau\n",
      "Stubenberg\n",
      "Hacke = Hagg\n",
      "Maberger\n",
      "Teufel\n",
      "Pernstorfer\n",
      "Pernstorfer - variant\n",
      "Dachpeck\n",
      "Hohenfeld-Aufsess\n",
      "Fröschel von Marzoll\n",
      "Tannberg\n",
      "Wacker\n",
      "Ontschena  /  Stängel /  OhneSchad\n",
      "Putzing = Puschinger\n",
      "Reibnitz\n",
      "Panhalm - variant\n",
      "Schweinwarter = Schweinbarter\n",
      "Wartenberg - inverted\n",
      "Cammerer\n",
      "Ecker von Neuhaus\n",
      "Kerschberger\n",
      "Weispriach\n",
      "Maurbegg\n",
      "Trauewirter / Franzhauser\n",
      "Klingel-Pflug - variant\n",
      "Krackau\n",
      "Eckardsau\n",
      "Ebser von Ebs\n",
      "Pielacher\n",
      "Rosenharz\n",
      "Eitzing\n",
      "Auster zum Austerthurm\n",
      "Scherenham\n",
      "Kadauer\n",
      "Arberg\n",
      "Hack / Darhalt\n",
      "Raab\n",
      "Dachsner\n",
      "Königsperg\n",
      "Hoheneck gt Holeneck\n",
      "Reisperg\n",
      "Nenningen\n",
      "Pruckner\n",
      "Matsch\n",
      "Arco\n",
      "Freundsberg = Frundsberg\n",
      "Kastelberg\n",
      "Völs\n",
      "Weineck (zu Weineck)\n",
      "Fuchs\n",
      "Passeier\n",
      "Liebenberg\n",
      "Kronmetz\n",
      "Firmian auf Moos\n",
      "Firmian\n",
      "Annenberg\n",
      "Marötsch\n",
      "Kaldern\n",
      "Trautson\n",
      "Spiess von Spies\n",
      "Haeln von Suntheim\n",
      "Königsperg\n",
      "Montani\n",
      "Truchsess von Mülinen\n",
      "Hertenfeld\n",
      "Jäger\n",
      "Starkenberg\n",
      "Wolkenstein\n",
      "Schlandersperger\n",
      "Gufidaun\n",
      "Weineck zu Fragestein\n",
      "Brandis\n",
      "Lebenberg\n",
      "Spauer\n",
      "Caldes = Kaldes\n",
      "Griesingen - variant\n",
      "Vilanders\n",
      "Liechtenstein zu Castelkorn\n",
      "Viechtenstein / Wigstein\n",
      "Goldegg = Goldeck\n",
      "Pradell (Vilander)\n",
      "Schrofenstein\n",
      "Kall\n",
      "Niederthor\n",
      "Botsch\n",
      "Vintler-Oberthor\n",
      "Thun\n",
      "Ecker /  Beber\n",
      "Wersinig  / Wiesing\n",
      "Spornberg\n",
      "Sebser von Trauenstein\n",
      "Nieder-Östereich, u/Enns\n",
      "Brixen = Bressanone (Stubai)\n",
      "Hering\n",
      "Brauneck\n",
      "Venlseher\n",
      "Lottach\n",
      "Remondi\n",
      "Payr zu Caldif\n",
      "Castelalt\n",
      "Ruten\n",
      "Stranpamer\n",
      "Granner\n",
      "Reiffer von Kämpil\n",
      "Meylersdorf\n",
      "Würfel\n",
      "Vasolt  / Fastorf\n",
      "Sebner von Reifenstein\n",
      "Greifenstein\n",
      "Zürnler\n",
      "Mähren\n",
      "Lomnice nad Popelkou\n",
      "Valdstejn\n",
      "Lipé = Berka von der Taub & Leipa\n",
      "Kunstatu = Podiebrad\n",
      "Sternberg\n",
      "Zirotin  -  variant\n",
      "Duba - variant\n",
      "Boskowicz = z Boskovic\n",
      "Cimburka = Zinnenberg\n",
      "Ilburg = Eulenburg = Eilenburg\n",
      "Ilburg = Eulenburg = Eilenburg\n",
      "Hase von Hasenburg  (Zajic)\n",
      "Modrejowsky\n",
      "Straznicz\n",
      "Mezericz\n",
      "Lomnice\n",
      "Pfalz = Count Palatine\n",
      "Tirol  -  Erblehen\n",
      "Austa = Sezima z Usti = Ruzé\n",
      "Ptacek /  Reinach\n",
      "Beskowec\n",
      "Genstejn = z Jenstejna\n",
      "Neuhaus z Hradec\n",
      "Lippe\n",
      "Künigl von Ehrenburg\n",
      "Wolkenstein\n",
      "Haruss\n",
      "Weltzer von Eberstein\n",
      "Eckhausen\n",
      "Schenck von Landeck (1)\n",
      "Waldeck\n",
      "Welsberg\n",
      "ui\n",
      "Meust\n",
      "Rettinger   - confounded\n",
      "Czmacham\n",
      "Christoffel  /  Kinski\n",
      "Trabergen\n",
      "Zürnler ? / Pennet / a.o.\n",
      "Arsonval\n",
      "Mousendic\n",
      "Böhmen = Bohemia\n",
      "Michelberg = Michalovic  -  inverted\n",
      "Rosenberg = Rozmberkové\n",
      "Riesenburg (Osek)\n",
      "Bergow = z Bergova\n",
      "Czastolovic  - inverted\n",
      "Skalsky z Skala\n",
      "Ritschansky = Ricansky z Ricany\n",
      "Wartenberg - inverted\n",
      "Janowsky z Janovic\n",
      "Schönburg  -  inverted\n",
      "Potenstein = Potstejn\n",
      "Landstejn\n",
      "Drazice\n",
      "Strakonicz\n",
      "Welhartizky = z Velhartic\n",
      "Schwanberg\n",
      "Busicky z Busice  - confounded\n",
      "Kostka\n",
      "Rozdalovicz = Rozdalowski\n",
      "Riesenburg = Ryzemburk\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
}