{ "cells": [ { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [], "source": [ "# Utilities to read/write csv files\n", "import csv\n", "# Utilities to handle character encodings\n", "import unicodedata\n", "# Ordered Dicts\n", "from collections import OrderedDict\n", "\n", "import json\n", "\n", "\n", "# OPZIONAL IMPORTS\n", "\n", "# For timestamping/simple speed tests\n", "from datetime import datetime\n", "# Random number generator\n", "from random import *\n", "# System & command line utilities\n", "import sys\n", "# Json for the dictionary\n", "import json" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [], "source": [ "import_dir = '/Users/federicaspinelli/Google Drive/OVI-CNR/CSV/corali/'\n", "export_dir = '/Users/federicaspinelli/Google Drive/OVI-CNR/RDF/corali/'" ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [], "source": [ "# Custom class to store URIs + related infos for the ontologies/repositories\n", "\n", "class RDFcoords:\n", " def __init__(self, uri, prefix, code = None):\n", " self.uri = uri\n", " self.prefix = prefix\n", " self.code = code\n", "\n", "\n", "# Repositories\n", "datiniCoords = RDFcoords('', 'dt:')\n", "personAuthCoords = RDFcoords('', 'pa:')\n", "# W3/CIDOC Predicates\n", "hasTypeCoords = RDFcoords('', 'tp:')\n", "hasTypePCoords = RDFcoords('', 'te:')\n", "carriesCoords = RDFcoords('', 'ca:')\n", "identifiedByCoords = RDFcoords('', 'ib:')\n", "labelCoords = RDFcoords('', 'lb:')\n", "wasBroughtCoords = RDFcoords('', 'wb:')\n", "carriedByCoords = RDFcoords('', 'cb:')\n", "hasCurrentPermanentLocationCoords = RDFcoords('', 'ap:')\n", "placeCoords = RDFcoords('', 'pl:', 'E53')\n", "hasTimeSpanCoords = RDFcoords('', 'hs:')\n", "hasNoteCoords = RDFcoords('', 'no:')\n", "hasCurrentOwnerCoords = RDFcoords('', 'ow:')\n", "\n", "# CIDOC Objects\n", "manMadeObjectCoords = RDFcoords('', 'mo:', 'E22')\n", "informationObjectCoords = RDFcoords('', 'io:', 'E73')\n", "titleCoords = RDFcoords('', 'ti:' ,'E35')\n", "placeAppellationCoords = RDFcoords('', 'pa:', 'E44')\n", "identifierCoords = RDFcoords('', 'id:', 'E42')\n", "typeCoords = RDFcoords('', 'ty:', 'E55')\n", "creationCoords = RDFcoords('', 'cr:', 'E65')\n", "personCoords = RDFcoords('', 'ps:', 'E21')\n", "timeSpanCoords = RDFcoords('', 'ts:', 'E52')\n", "stringCoords = RDFcoords('', 'st:', 'E62')\n", "tookPlaceCoords = RDFcoords('', 'tk:')\n", "carriedByCoords = RDFcoords('', 'cb:')\n", "consistCoords = RDFcoords('', 'cf:')\n", "cidocCoords = RDFcoords('', 'crm:')\n", "schemaCoords = RDFcoords('', 'schema:')\n", "personCoords = RDFcoords('', 'person:')\n", "nsCoords = RDFcoords('', 'rdf:')\n", "materialCoords = RDFcoords('', 'mt:', 'E57')\n", "composedCoords = RDFcoords('', 'cmp:')\n", "dimensionsCoords = RDFcoords('', 'dm:', 'E54')\n", "hasDimensionsCoords = RDFcoords('', 'hd:')\n", "hasConditionCoords = RDFcoords('', 'hc:')\n", "conditionCoords = RDFcoords('', 'cs:', 'E3')\n", "\n" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [], "source": [ "# Basic functions for triples / shortened triples in TTL format\n", "\n", "def triple(subject, predicate, object1):\n", " line = subject + ' ' + predicate + ' ' + object1\n", " return line\n", "\n", "def doublet(predicate, object1):\n", " line = ' ' + predicate + ' ' + object1\n", " return line\n", "\n", "def singlet(object1):\n", " line = ' ' + object1\n", " return line\n", "\n", "# Line endings in TTL format\n", "continueLine1 = ' ;\\n'\n", "continueLine2 = ' ,\\n'\n", "closeLine = ' .\\n'" ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [], "source": [ "def writeTTLHeader(output):\n", " output.write('@prefix ' + datiniCoords.prefix + ' ' + datiniCoords.uri + closeLine)\n", " output.write('@prefix ' + personAuthCoords.prefix + ' ' + personAuthCoords.uri + closeLine)\n", " output.write('@prefix ' + hasTypeCoords.prefix + ' ' + hasTypeCoords.uri + closeLine)\n", " output.write('@prefix ' + hasTypePCoords.prefix + ' ' + hasTypePCoords.uri + closeLine)\n", " output.write('@prefix ' + manMadeObjectCoords.prefix + ' ' + manMadeObjectCoords.uri + closeLine)\n", " output.write('@prefix ' + carriesCoords.prefix + ' ' + carriesCoords.uri + closeLine)\n", " output.write('@prefix ' + informationObjectCoords.prefix + ' ' + informationObjectCoords.uri + closeLine)\n", " output.write('@prefix ' + identifiedByCoords.prefix + ' ' + identifiedByCoords.uri + closeLine)\n", " output.write('@prefix ' + titleCoords.prefix + ' ' + titleCoords.uri + closeLine)\n", " output.write('@prefix ' + labelCoords.prefix + ' ' + labelCoords.uri + closeLine)\n", " output.write('@prefix ' + identifierCoords.prefix + ' ' + identifierCoords.uri + closeLine)\n", " output.write('@prefix ' + wasBroughtCoords.prefix + ' ' + wasBroughtCoords.uri + closeLine)\n", " output.write('@prefix ' + typeCoords.prefix + ' ' + typeCoords.uri + closeLine)\n", " output.write('@prefix ' + carriedByCoords.prefix + ' ' + carriedByCoords.uri + closeLine)\n", " output.write('@prefix ' + personCoords.prefix + ' ' + personCoords.uri + closeLine)\n", " output.write('@prefix ' + hasCurrentPermanentLocationCoords.prefix + ' ' + hasCurrentPermanentLocationCoords.uri + closeLine)\n", " output.write('@prefix ' + placeCoords.prefix + ' ' + placeCoords.uri + closeLine)\n", " output.write('@prefix ' + hasTimeSpanCoords.prefix + ' ' + hasTimeSpanCoords.uri + closeLine)\n", " output.write('@prefix ' + timeSpanCoords.prefix + ' ' + timeSpanCoords.uri + closeLine)\n", " output.write('@prefix ' + hasNoteCoords.prefix + ' ' + hasNoteCoords.uri + closeLine)\n", " output.write('@prefix ' + stringCoords.prefix + ' ' + stringCoords.uri + closeLine)\n", " output.write('@prefix ' + tookPlaceCoords.prefix + ' ' + tookPlaceCoords.uri + closeLine) \n", " output.write('@prefix ' + carriedByCoords.prefix + ' ' + carriedByCoords.uri + closeLine)\n", " output.write('@prefix ' + consistCoords.prefix + ' ' + consistCoords.uri + closeLine)\n", " output.write('@prefix ' + cidocCoords.prefix + ' ' + cidocCoords.uri + closeLine)\n", " output.write('@prefix ' + schemaCoords.prefix + ' ' + schemaCoords.uri + closeLine)\n", " output.write('@prefix ' + materialCoords.prefix + ' ' + materialCoords.uri + closeLine)\n", " output.write('@prefix ' + creationCoords.prefix + ' ' + creationCoords.uri + closeLine)\n", " output.write('@prefix ' + composedCoords.prefix + ' ' + composedCoords.uri + closeLine)\n", " output.write('@prefix ' + dimensionsCoords.prefix + ' ' + dimensionsCoords.uri + closeLine)\n", " output.write('@prefix ' + hasDimensionsCoords.prefix + ' ' + hasDimensionsCoords.uri + closeLine)\n", " output.write('@prefix ' + hasCurrentOwnerCoords.prefix + ' ' + hasCurrentOwnerCoords.uri + closeLine)\n", " output.write('@prefix ' + hasConditionCoords.prefix + ' ' + hasConditionCoords.uri + closeLine)\n", " output.write('@prefix ' + conditionCoords.prefix + ' ' + conditionCoords.uri + closeLine)\n", " \n", " \n", " output.write('\\n')\n" ] }, { "cell_type": "code", "execution_count": 96, "metadata": { "tags": [] }, "outputs": [], "source": [ "filePrefix = 'data_'\n", "fileType = 'corali'\n", "max_entries = 100000000\n", "\n", "with open(import_dir + filePrefix + fileType + '.csv', newline=\"\") as csv_file, open(export_dir + filePrefix + fileType + '.ttl', 'w') as output:\n", " reader = csv.DictReader(csv_file)\n", " writeTTLHeader(output)\n", " first = True\n", " ii = 0\n", " for row in reader:\n", " # The index ii is used to process a limited number of entries for testing purposes\n", " ii = ii+1\n", " # E42 Identifier\n", " e22placeHolder = \"\"\n", " if(row['segnatura'] != ''):\n", " e42placeHolder = \"\"\n", " line = triple(e22placeHolder, identifiedByCoords.prefix, e42placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e42placeHolder, hasTypeCoords.prefix, identifierCoords.prefix) + closeLine\n", " output.write(line)\n", " line = triple(e42placeHolder, labelCoords.prefix, '\\\"Segnatura: ' + row['segnatura'] + '\\\"') + closeLine\n", " output.write(line)\n", " # E22 Man Made Object\n", " if(row['segnatura'] != ''):\n", " line = triple(e22placeHolder, hasTypeCoords.prefix, manMadeObjectCoords.prefix) + closeLine\n", " output.write(line)\n", " line = triple(e22placeHolder, labelCoords.prefix, '\\\"Documento fisico: ' + row['nome'] + '\\\"') + closeLine\n", " output.write(line)\n", " \n", " # E73 Information Object\n", " e73placeHolder = \"\"\n", " line = triple(e22placeHolder, carriesCoords.prefix, e73placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e73placeHolder, hasTypeCoords.prefix, informationObjectCoords.prefix) + closeLine\n", " output.write(line)\n", " line = triple(e73placeHolder, labelCoords.prefix, '\\\"Contenuto informativo: ' + row['nome'] + '\\\"') + closeLine\n", " output.write(line)\n", " # E65 Creation\n", " e65placeHolder = \"\"\n", " line = triple(e73placeHolder, wasBroughtCoords.prefix, e65placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e65placeHolder, hasTypeCoords.prefix, creationCoords.prefix) + closeLine\n", " output.write(line)\n", " line = triple(e65placeHolder, labelCoords.prefix, '\\\"Creazione di ' + row['nome'] + '\\\"') + closeLine\n", " output.write(line)\n", " # E52 \n", " if(row['datazione'] != ''):\n", " e52placeHolder = \"\"\n", " line = triple(e65placeHolder, hasTimeSpanCoords.prefix, e52placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e52placeHolder, hasTypeCoords.prefix, timeSpanCoords.prefix) + closeLine\n", " output.write(line)\n", " line = triple(e52placeHolder, labelCoords.prefix, '\\\"' + row['datazione'] + '\\\"') + closeLine\n", " output.write(line)\n", " # E52 E62 \n", " if(row['nota_datazione'] != ''):\n", " e62placeHolder = \"\"\n", " line = triple(e52placeHolder, hasNoteCoords.prefix, e62placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e62placeHolder, labelCoords.prefix, '\\\"' + row['nota_datazione'] + '\\\"') + closeLine\n", " output.write(line)\n", " line = triple(e62placeHolder, hasTypeCoords.prefix, stringCoords.prefix) + closeLine\n", " output.write(line)\n", " e55placeHolder = \"\"\n", " line = triple(e62placeHolder, hasTypePCoords.prefix, e55placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e55placeHolder, labelCoords.prefix, '\\\"Nota datazione\\\"') + closeLine\n", " output.write(line)\n", " # E53 Place\n", " if(row['luogo_copia'] != ''):\n", " e53placeHolder = \"\"\n", " line = triple(e65placeHolder, tookPlaceCoords.prefix, e53placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e53placeHolder, hasTypeCoords.prefix, placeCoords.prefix) + closeLine\n", " output.write(line)\n", " line = triple(e53placeHolder, labelCoords.prefix, '\\\"' + row['luogo_copia'] + '\\\"') + closeLine\n", " output.write(line)\n", " e55placeHolder = \"\"\n", " line = triple(e65placeHolder, hasTypePCoords.prefix, e55placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e55placeHolder, labelCoords.prefix, '\\\"Luogo di copia\\\"') + closeLine\n", " output.write(line)\n", " # E57 Material\n", " if(row['supporto'] != ''):\n", " e57placeHolder = \"\" \n", " line = triple(e22placeHolder, consistCoords.prefix, e57placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e57placeHolder, hasTypeCoords.prefix, materialCoords.prefix) + closeLine\n", " output.write(line)\n", " line = triple(e57placeHolder, hasTypePCoords.prefix, '\\\"Supporto\\\"') + closeLine\n", " output.write(line)\n", " line = triple(e57placeHolder, labelCoords.prefix, '\\\"' + row['supporto'] + '\\\"') + closeLine\n", " output.write(line)\n", " line = triple(consistCoords.prefix, labelCoords.prefix, '\\\"consist of\\\"') + closeLine\n", " output.write(line)\n", " # E57 Material\n", " if(row['tipologia_supporto'] != ''):\n", " e57placeHolder = \"\" \n", " line = triple(e22placeHolder, consistCoords.prefix, e57placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e57placeHolder, hasTypeCoords.prefix, materialCoords.prefix) + closeLine\n", " output.write(line)\n", " line = triple(e57placeHolder, hasTypePCoords.prefix, '\\\"Tipologia supporto\\\"') + closeLine\n", " output.write(line)\n", " line = triple(e57placeHolder, labelCoords.prefix, '\\\"' + row['tipologia_supporto'] + '\\\"') + closeLine\n", " output.write(line)\n", " line = triple(consistCoords.prefix, labelCoords.prefix, '\\\"consist of\\\"') + closeLine\n", " output.write(line)\n", " # E22 descrizione_fascicolazione\n", " if(row['descrizione_fascicolazione'] != ''):\n", " e60placeHolder = \"\"\n", " line = triple(e22placeHolder, composedCoords.prefix, e60placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e60placeHolder, labelCoords.prefix, '\\\"' + row['descrizione_fascicolazione'] + '\\\"') + closeLine\n", " output.write(line)\n", " line = triple(e60placeHolder, hasTypeCoords.prefix, '\\\"Descrizione fascicolazione\\\"') + closeLine\n", " output.write(line)\n", " # E55 descrizione_tecnica descrizione_tecnica_specchio, descrizione_tecnica_rigatura\n", " if row['descrizione_tecnica_specchio']:\n", " tecPlaceholder = \"\"\n", " line = triple(e22placeHolder, cidocCoords.prefix + 'P32_used_general_technique', tecPlaceholder) + closeLine\n", " output.write(line)\n", " line = triple(tecPlaceholder, labelCoords.prefix, '\\\"' + row['descrizione_tecnica_specchio'] + '\\\"') + closeLine \n", " output.write(line)\n", " e55placeHolder = \"\"\n", " line = triple(tecPlaceholder, hasTypeCoords.prefix, '\\\"Descrizione tecnica\\\"') + closeLine\n", " output.write(line)\n", " # E55 descrizione_tecnica_rigatura\n", " if row['descrizione_tecnica_rigatura']:\n", " tecPlaceholder = \"\"\n", " line = triple(e22placeHolder, cidocCoords.prefix + 'P32_used_general_technique', tecPlaceholder) + closeLine\n", " output.write(line)\n", " line = triple(tecPlaceholder, labelCoords.prefix, '\\\"' + row['descrizione_tecnica_rigatura'] + '\\\"') + closeLine \n", " output.write(line)\n", " e55placeHolder = \"\"\n", " line = triple(tecPlaceholder, hasTypeCoords.prefix, '\\\"Descrizione tecnica\\\"') + closeLine\n", " output.write(line)\n", " # E55 descrizione_fisica_paleografia\n", " if row['descrizione_fisica_paleografia']:\n", " tecPlaceholder = \"\"\n", " line = triple(e22placeHolder, cidocCoords.prefix + 'P32_used_general_technique', tecPlaceholder) + closeLine\n", " output.write(line)\n", " line = triple(tecPlaceholder, labelCoords.prefix, '\\\"' + row['descrizione_fisica_paleografia'] + '\\\"') + closeLine \n", " output.write(line)\n", " e55placeHolder = \"\"\n", " line = triple(tecPlaceholder, hasTypeCoords.prefix, '\\\"Descrizione paleografica\\\"') + closeLine\n", " output.write(line)\n", " # E55 nota descrizione_fisica_paleografia\n", " if row['nota_descrizione_fisica_paleografia']:\n", " tecPlaceholder = \"\"\n", " line = triple(e22placeHolder, cidocCoords.prefix + 'P32_used_general_technique', tecPlaceholder) + closeLine\n", " output.write(line)\n", " line = triple(tecPlaceholder, labelCoords.prefix, '\\\"' + row['nota_descrizione_fisica_paleografia'] + '\\\"') + closeLine \n", " output.write(line)\n", " e55placeHolder = \"\"\n", " line = triple(tecPlaceholder, hasTypeCoords.prefix, '\\\"Nota descrizione paleografica\\\"') + closeLine\n", " output.write(line)\n", " # descrizione_legatura\n", " if row['descrizione_legatura']:\n", " tecPlaceholder = \"\"\n", " line = triple(e22placeHolder, cidocCoords.prefix + 'P32_used_general_technique', tecPlaceholder) + closeLine\n", " output.write(line)\n", " line = triple(tecPlaceholder, labelCoords.prefix, '\\\"' + row['descrizione_legatura'] + '\\\"') + closeLine \n", " output.write(line)\n", " e55placeHolder = \"\"\n", " line = triple(tecPlaceholder, hasTypeCoords.prefix, '\\\"Descrizione legatura\\\"') + closeLine\n", " output.write(line)\n", " # E62\n", " if(row['nota_margine'] != ''):\n", " e62placeHolder = \"\"\n", " line = triple(e22placeHolder, hasNoteCoords.prefix, e62placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e62placeHolder, labelCoords.prefix, '\\\"' + row['nota_margine'] + '\\\"') + closeLine\n", " output.write(line)\n", " e55placeHolder = \"\"\n", " line = triple(e62placeHolder, hasTypePCoords.prefix, e55placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e55placeHolder, labelCoords.prefix, '\\\"Nota a margine\\\"') + closeLine\n", " output.write(line)\n", " # E54\n", " if(row['dimensione_altezza_larghezza_spessore'] != ''):\n", " e54placeHolder = \"\"\n", " line = triple(e22placeHolder, hasDimensionsCoords.prefix, e54placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e54placeHolder, hasTypeCoords.prefix, dimensionsCoords.prefix) + closeLine\n", " output.write(line)\n", " line = triple(e54placeHolder, labelCoords.prefix, '\\\"' + row['dimensione_altezza_larghezza_spessore'] + '\\\"') + closeLine\n", " output.write(line)\n", " \n", " # E22 - P62 - E1\n", " if row['descrizione_decorazioni'] != '':\n", " e1placeHolder = \"\"\n", " line = triple(e22placeHolder,\n", " cidocCoords.prefix + 'P62_depicts',\n", " e1placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e1placeHolder,\n", " nsCoords.prefix + 'type',\n", " cidocCoords.prefix + 'E1_CRM_Entity') + closeLine\n", " output.write(line)\n", " line = triple(e1placeHolder,\n", " labelCoords.prefix, '\\\"' + row['descrizione_decorazioni'] + '\\\"') + closeLine\n", " output.write(line)\n", " line = triple(e1placeHolder,\n", " cidocCoords.prefix + 'P2_has_type',\n", " '\\\"Descrizione decorazione\\\"') + closeLine\n", " # E22 - P52 - E74\n", " E74placeHolder = ''\n", " line = triple(e22placeHolder, '', E74placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(E74placeHolder, labelCoords.prefix, \"\\\"Firenze, S. Maria degli Angeli, monastero (sec. XIV terzo quarto-XIX in.)\\\"\") + closeLine\n", " output.write(line)\n", " # E22 - P52 - E74\n", " E74placeHolder = ''\n", " line = triple(e22placeHolder, '', E74placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(E74placeHolder, labelCoords.prefix, \"\\\"Firenze, Biblioteca Medicea Laurenziana\\\"\") + closeLine\n", " output.write(line)\n", " # E62\n", " if row['bioghist'] != '':\n", " e62placeHolder = \"\"\n", " line = triple(e22placeHolder, hasNoteCoords.prefix, e62placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e62placeHolder, labelCoords.prefix, '\\\"' + row['bioghist'] + '\\\"') + closeLine\n", " output.write(line)\n", " e55placeHolder = \"\"\n", " line = triple(e62placeHolder, hasTypePCoords.prefix, e55placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e55placeHolder, labelCoords.prefix, '\\\"Storia del manoscritto\\\"') + closeLine\n", " output.write(line)\n", " if(row['consistenza'] != ''):\n", " e54placeHolder = \"\"\n", " line = triple(e22placeHolder, hasDimensionsCoords.prefix, e54placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e54placeHolder, hasTypeCoords.prefix, dimensionsCoords.prefix) + closeLine\n", " output.write(line)\n", " line = triple(e54placeHolder, labelCoords.prefix, '\\\"'+ row['consistenza'] + '\\\"') + closeLine\n", " output.write(line)\n", " # E3 Condition State\n", " e3placeHolder = \"\"\n", " line = triple(e3placeHolder, labelCoords.prefix, '\\\"Stato di conservazione\\\"') + closeLine\n", " output.write(line)\n", " line = triple(e3placeHolder, hasTypeCoords.prefix, conditionCoords.prefix) + closeLine\n", " output.write(line)\n", " if(row['conservazione'] != ''):\n", " e55placeHolder = \"\" \n", " line = triple(e22placeHolder, hasConditionCoords.prefix, e55placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e55placeHolder, hasTypePCoords.prefix, e3placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e55placeHolder, hasTypeCoords.prefix, typeCoords.prefix) + closeLine\n", " output.write(line)\n", " line = triple(e55placeHolder, labelCoords.prefix, '\\\"'+ row['conservazione'] + '\\\"') + closeLine\n", " output.write(line)\n", " # E62\n", " if(row['nota'] != ''):\n", " e62placeHolder = \"\"\n", " line = triple(e22placeHolder, hasNoteCoords.prefix, e62placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e62placeHolder, labelCoords.prefix, '\\\"' + row['nota'] + '\\\"') + closeLine\n", " output.write(line)\n", " e55placeHolder = \"\"\n", " line = triple(e62placeHolder, hasTypePCoords.prefix, e55placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e55placeHolder, labelCoords.prefix, '\\\"Nota\\\"') + closeLine\n", " output.write(line)\n", " if(row['nota_1'] != ''):\n", " e62placeHolder = \"\"\n", " line = triple(e22placeHolder, hasNoteCoords.prefix, e62placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e62placeHolder, labelCoords.prefix, '\\\"' + row['nota_1'] + '\\\"') + closeLine\n", " output.write(line)\n", " e55placeHolder = \"\"\n", " line = triple(e62placeHolder, hasTypePCoords.prefix, e55placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e55placeHolder, labelCoords.prefix, '\\\"Nota\\\"') + closeLine\n", " output.write(line)\n", " \n", " # E22 P65 E34\n", " e25placeHolder = \"\"\n", " line = triple(e22placeHolder,\n", " cidocCoords.prefix + 'P56_bears_feature',\n", " e25placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e25placeHolder,\n", " nsCoords.prefix + 'type',\n", " cidocCoords.prefix + 'E25_Man-Made_Feature') + closeLine\n", " output.write(line)\n", " line = triple(e25placeHolder,\n", " labelCoords.prefix,\n", " '\\\"f. 42 \\\"') + closeLine\n", " output.write(line)\n", " e25fplaceHolder = \"\"\n", " line = triple(e25placeHolder,\n", " cidocCoords.prefix + 'P56_bears_feature',\n", " e25fplaceHolder) + closeLine\n", " output.write(line)\n", " line = triple(e25fplaceHolder,\n", " nsCoords.prefix + 'type',\n", " cidocCoords.prefix + 'E25_Man-Made_Feature') + closeLine\n", " output.write(line)\n", " line = triple(e25fplaceHolder,\n", " labelCoords.prefix,\n", " '\\\"Historiated initial S from a Gradual\\\"') + closeLine\n", " output.write(line)\n", " e25mplaceHolder = \"\"\n", " line = triple(e25fplaceHolder,\n", " cidocCoords.prefix + 'P56_bears_feature',\n", " e25mplaceHolder) + closeLine\n", " output.write(line)\n", " line = triple(e25mplaceHolder,\n", " nsCoords.prefix + 'type',\n", " cidocCoords.prefix + 'E25_Man-Made_Feature') + closeLine\n", " output.write(line)\n", " line = triple(e25mplaceHolder,\n", " labelCoords.prefix,\n", " '\\\"Presentation in the Temple\\\"') + closeLine\n", " output.write(line)\n", " e55placeHolder = \"\"\n", " line = triple(e25mplaceHolder, hasTypePCoords.prefix, e55placeHolder) + closeLine\n", " output.write(line)\n", " line = triple(e55placeHolder, labelCoords.prefix, '\\\"Illumination\\\"') + closeLine\n", " output.write(line)\n", " # E16 \n", " e16placeHolder = \"\"\n", " line = triple(e16placeHolder, '', e25mplaceHolder) + closeLine\n", " output.write(line)\n", " line = triple(e16placeHolder, nsCoords.prefix + 'type', cidocCoords.prefix + 'E16_Measurement') + closeLine\n", " output.write(line)\n", " line = triple(e16placeHolder, labelCoords.prefix, '\\\"Analytical Technique XRF Imaging\\\"') + closeLine\n", " output.write(line)\n", " line = triple(e22placeHolder, hasTypePCoords.prefix, '\\\"Corali \\\"') + closeLine\n", " output.write(line)\n", "\n", " output.write('\\n')\n", " # Limit number of entries processed (if desired)\n", " if(ii>max_entries):\n", " break" ] } ], "metadata": { "interpreter": { "hash": "aee8b7b246df8f9039afb4144a1f6fd8d2ca17a180786b69acc140d282b71a49" }, "kernelspec": { "display_name": "Python 3.9.0 64-bit", "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.9.0" }, "metadata": { "interpreter": { "hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6" } } }, "nbformat": 4, "nbformat_minor": 2 }