CSV_to_RDF_OA_BIB.py 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371
  1. # Utilities to read/write csv files
  2. import csv
  3. # Utilities to handle character encodings
  4. import unicodedata
  5. # Ordered Dicts
  6. from collections import OrderedDict
  7. from http.cookiejar import CookieJar
  8. from urllib.request import urlopen
  9. #from bs4 import BeautifulSoup
  10. import urllib
  11. import json
  12. from socket import error as SocketError
  13. import html.parser
  14. # OPZIONAL IMPORTS
  15. # For timestamping/simple speed tests
  16. from datetime import datetime
  17. # Random number generator
  18. from random import *
  19. # System & command line utilities
  20. import sys
  21. # Json for the dictionary
  22. import json
  23. import_dir = '/Users/federicaspinelli/TEAMOVI/Parser/DATA/MPP/CSV/corretti/'
  24. export_dir = '/Users/federicaspinelli/TEAMOVI/Parser/DATA/MPP/RDF/'
  25. # Custom class to store URIs + related infos for the ontologies/repositories
  26. class RDFcoords:
  27. def __init__(self, uri, prefix, code=None):
  28. self.uri = uri
  29. self.prefix = prefix
  30. self.code = code
  31. # Repositories
  32. museoCoords = RDFcoords('<https://palazzopretorio.prato.it/it/le-opere/alcuni-capolavori/>', 'mpp:')
  33. autCoords = RDFcoords('<https://palazzopretorio.prato.it/it/opere/autori/>', 'aut:')
  34. cidocCoords = RDFcoords('<http://www.cidoc-crm.org/cidoc-crm/>', 'crm:')
  35. aatCoords = RDFcoords('<http://vocab.getty.edu/aat/>', 'aat:')
  36. nsCoords = RDFcoords('<http://www.w3.org/1999/02/22-rdf-syntax-ns#>', 'rdf:')
  37. schemaCoords = RDFcoords('<http://www.w3.org/2000/01/rdf-schema#>', 'rdfs:')
  38. xsdCoords = RDFcoords('<http://www.w3.org/2001/XMLSchema#>', 'xsd:')
  39. iconCoords = RDFcoords('<http://iconclass.org/>', 'ico:')
  40. documentsCoords = RDFcoords('<http://www.cidoc-crm.org/cidoc-crm/P70_documents>', 'ds:')
  41. rdfsCoords = RDFcoords('<http://www.w3.org/2000/01/rdf-schema#>', 'rdfs:')
  42. # Basic functions for triples / shortened triples in TTL format
  43. def triple(subject, predicate, object1):
  44. line = subject + ' ' + predicate + ' ' + object1
  45. return line
  46. def doublet(predicate, object1):
  47. line = ' ' + predicate + ' ' + object1
  48. return line
  49. def singlet(object1):
  50. line = ' ' + object1
  51. return line
  52. # Line endings in TTL format
  53. continueLine1 = ' ;\n'
  54. continueLine2 = ' ,\n'
  55. closeLine = ' .\n'
  56. def writeTTLHeader(output):
  57. output.write('@prefix ' + museoCoords.prefix + ' ' + museoCoords.uri + closeLine)
  58. output.write('@prefix ' + cidocCoords.prefix + ' ' + cidocCoords.uri + closeLine)
  59. output.write('@prefix ' + aatCoords.prefix + ' ' + aatCoords.uri + closeLine)
  60. output.write('@prefix ' + schemaCoords.prefix + ' ' + schemaCoords.uri + closeLine)
  61. output.write('@prefix ' + nsCoords.prefix + ' ' + nsCoords.uri + closeLine)
  62. output.write('@prefix ' + autCoords.prefix + ' ' + autCoords.uri + closeLine)
  63. output.write('@prefix ' + xsdCoords.prefix + ' ' + xsdCoords.uri + closeLine)
  64. output.write('@prefix ' + iconCoords.prefix + ' ' + iconCoords.uri + closeLine)
  65. output.write('@prefix ' + documentsCoords.prefix + ' ' + documentsCoords.uri + closeLine)
  66. output.write('@prefix ' + rdfsCoords.prefix + ' ' + rdfsCoords.uri + closeLine)
  67. output.write('\n')
  68. filePrefix = 'OA_Data_'
  69. fileType = 'Datini'
  70. max_entries = 1000000000
  71. with open(import_dir + filePrefix + fileType + '.csv', newline="") as csv_file, open(
  72. export_dir + filePrefix + fileType + '_BIB.ttl', 'w') as output:
  73. reader = csv.DictReader(csv_file)
  74. writeTTLHeader(output)
  75. first = True
  76. ii = 0
  77. for row in reader:
  78. # The index ii is used to process a limited number of entries for testing purposes
  79. ii = ii + 1
  80. # columnName = list(row)
  81. url = row['URL']
  82. pp = row['NCTN']
  83. # placeHolders
  84. # if row['BIBH']!= '':
  85. # e73placeHolder = "<https://palazzopretorio.prato.it/it/le-opere/alcuni-capolavori/" + url + "_E73>"
  86. # e73placeHolderED = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH'] + "/E73" + "_ED>"
  87. # e73placeHolderEDPP = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH'] + "/E73" + "_ED_" + pp + ">"
  88. # line = triple(e73placeHolderEDPP, documentsCoords.prefix, e73placeHolder) + closeLine
  89. # output.write(line)
  90. # line = triple(e73placeHolderED, cidocCoords.prefix + "P46_is_composed_of", e73placeHolderEDPP) + closeLine
  91. # output.write(line)
  92. # line = triple(e73placeHolderEDPP, cidocCoords.prefix + 'P3_has_note', '\"' + row['BIBN'] + '\"') + closeLine
  93. # output.write(line)
  94. # line = triple(e73placeHolderEDPP, nsCoords.prefix + 'type',cidocCoords.prefix + 'E73_Information_Object') + closeLine
  95. # output.write(line)
  96. # line = triple(e73placeHolderEDPP,
  97. # rdfsCoords.prefix + 'label',
  98. # '\"Bibliografia specifica\"') + closeLine
  99. # output.write(line)
  100. # if row['BIBH1']!= '':
  101. # e73placeHolder = "<https://palazzopretorio.prato.it/it/le-opere/alcuni-capolavori/" + url + "_E73>"
  102. # e73placeHolderED = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH1'] + "/E73" + "_ED>"
  103. # e73placeHolderEDPP = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH1'] + "/E73" + "_ED_" + pp + ">"
  104. # line = triple(e73placeHolderEDPP, documentsCoords.prefix, e73placeHolder) + closeLine
  105. # output.write(line)
  106. # line = triple(e73placeHolderED, cidocCoords.prefix + "P46_is_composed_of", e73placeHolderEDPP) + closeLine
  107. # output.write(line)
  108. # line = triple(e73placeHolderEDPP, cidocCoords.prefix + 'P3_has_note', '\"' + row['BIBN1'] + '\"') + closeLine
  109. # output.write(line)
  110. # line = triple(e73placeHolderEDPP, nsCoords.prefix + 'type',cidocCoords.prefix + 'E73_Information_Object') + closeLine
  111. # output.write(line)
  112. # line = triple(e73placeHolderEDPP,
  113. # rdfsCoords.prefix + 'label',
  114. # '\"Bibliografia specifica\"') + closeLine
  115. # output.write(line)
  116. # if row['BIBH2']!= '':
  117. # e73placeHolder = "<https://palazzopretorio.prato.it/it/le-opere/alcuni-capolavori/" + url + "_E73>"
  118. # e73placeHolderED = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH2'] + "/E73" + "_ED>"
  119. # e73placeHolderEDPP = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH2'] + "/E73" + "_ED_" + pp + ">"
  120. # line = triple(e73placeHolderEDPP, documentsCoords.prefix, e73placeHolder) + closeLine
  121. # output.write(line)
  122. # line = triple(e73placeHolderED, cidocCoords.prefix + "P46_is_composed_of", e73placeHolderEDPP) + closeLine
  123. # output.write(line)
  124. # line = triple(e73placeHolderEDPP, cidocCoords.prefix + 'P3_has_note', '\"' + row['BIBN2'] + '\"') + closeLine
  125. # output.write(line)
  126. # line = triple(e73placeHolderEDPP, nsCoords.prefix + 'type',cidocCoords.prefix + 'E73_Information_Object') + closeLine
  127. # output.write(line)
  128. # line = triple(e73placeHolderEDPP,
  129. # rdfsCoords.prefix + 'label',
  130. # '\"Bibliografia specifica\"') + closeLine
  131. # output.write(line)
  132. # if row['BIBH3']!= '':
  133. # e73placeHolder = "<https://palazzopretorio.prato.it/it/le-opere/alcuni-capolavori/" + url + "_E73>"
  134. # e73placeHolderED = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH3'] + "/E73" + "_ED>"
  135. # e73placeHolderEDPP = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH3'] + "/E73" + "_ED_" + pp + ">"
  136. # line = triple(e73placeHolderEDPP, documentsCoords.prefix, e73placeHolder) + closeLine
  137. # output.write(line)
  138. # line = triple(e73placeHolderED, cidocCoords.prefix + "P46_is_composed_of", e73placeHolderEDPP) + closeLine
  139. # output.write(line)
  140. # line = triple(e73placeHolderEDPP, cidocCoords.prefix + 'P3_has_note', '\"' + row['BIBN3'] + '\"') + closeLine
  141. # output.write(line)
  142. # line = triple(e73placeHolderEDPP, nsCoords.prefix + 'type',cidocCoords.prefix + 'E73_Information_Object') + closeLine
  143. # output.write(line)
  144. # line = triple(e73placeHolderEDPP,
  145. # rdfsCoords.prefix + 'label',
  146. # '\"Bibliografia specifica\"') + closeLine
  147. # output.write(line)
  148. # if row['BIBH4']!= '':
  149. # e73placeHolder = "<https://palazzopretorio.prato.it/it/le-opere/alcuni-capolavori/" + url + "_E73>"
  150. # e73placeHolderED = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH4'] + "/E73" + "_ED>"
  151. # e73placeHolderEDPP = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH4'] + "/E73" + "_ED_" + pp + ">"
  152. # line = triple(e73placeHolderEDPP, documentsCoords.prefix, e73placeHolder) + closeLine
  153. # output.write(line)
  154. # line = triple(e73placeHolderED, cidocCoords.prefix + "P46_is_composed_of", e73placeHolderEDPP) + closeLine
  155. # output.write(line)
  156. # line = triple(e73placeHolderEDPP, cidocCoords.prefix + 'P3_has_note', '\"' + row['BIBN4'] + '\"') + closeLine
  157. # output.write(line)
  158. # line = triple(e73placeHolderEDPP, nsCoords.prefix + 'type',cidocCoords.prefix + 'E73_Information_Object') + closeLine
  159. # output.write(line)
  160. # line = triple(e73placeHolderEDPP,
  161. # rdfsCoords.prefix + 'label',
  162. # '\"Bibliografia specifica\"') + closeLine
  163. # output.write(line)
  164. # if row['BIBH5']!= '':
  165. # e73placeHolder = "<https://palazzopretorio.prato.it/it/le-opere/alcuni-capolavori/" + url + "_E73>"
  166. # e73placeHolderED = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH5'] + "/E73" + "_ED>"
  167. # e73placeHolderEDPP = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH5'] + "/E73" + "_ED_" + pp + ">"
  168. # line = triple(e73placeHolderEDPP, documentsCoords.prefix, e73placeHolder) + closeLine
  169. # output.write(line)
  170. # line = triple(e73placeHolderED, cidocCoords.prefix + "P46_is_composed_of", e73placeHolderEDPP) + closeLine
  171. # output.write(line)
  172. # line = triple(e73placeHolderEDPP, cidocCoords.prefix + 'P3_has_note', '\"' + row['BIBN5'] + '\"') + closeLine
  173. # output.write(line)
  174. # line = triple(e73placeHolderEDPP, nsCoords.prefix + 'type',cidocCoords.prefix + 'E73_Information_Object') + closeLine
  175. # output.write(line)
  176. # line = triple(e73placeHolderEDPP,
  177. # rdfsCoords.prefix + 'label',
  178. # '\"Bibliografia specifica\"') + closeLine
  179. # output.write(line)
  180. # if row['BIBH6']!= '':
  181. # e73placeHolder = "<https://palazzopretorio.prato.it/it/le-opere/alcuni-capolavori/" + url + "_E73>"
  182. # e73placeHolderED = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH6'] + "/E73" + "_ED>"
  183. # e73placeHolderEDPP = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH6'] + "/E73" + "_ED_" + pp + ">"
  184. # line = triple(e73placeHolderEDPP, documentsCoords.prefix, e73placeHolder) + closeLine
  185. # output.write(line)
  186. # line = triple(e73placeHolderED, cidocCoords.prefix + "P46_is_composed_of", e73placeHolderEDPP) + closeLine
  187. # output.write(line)
  188. # line = triple(e73placeHolderEDPP, cidocCoords.prefix + 'P3_has_note', '\"' + row['BIBN6'] + '\"') + closeLine
  189. # output.write(line)
  190. # line = triple(e73placeHolderEDPP, nsCoords.prefix + 'type', cidocCoords.prefix + 'E73_Information_Object') + closeLine
  191. # output.write(line)
  192. # line = triple(e73placeHolderEDPP,
  193. # rdfsCoords.prefix + 'label',
  194. # '\"Bibliografia specifica\"') + closeLine
  195. # output.write(line)
  196. # if row['BIBH7']!= '':
  197. # e73placeHolder = "<https://palazzopretorio.prato.it/it/le-opere/alcuni-capolavori/" + url + "_E73>"
  198. # e73placeHolderED = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH7'] + "/E73" + "_ED>"
  199. # e73placeHolderEDPP = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH7'] + "/E73" + "_ED_" + pp + ">"
  200. # line = triple(e73placeHolderEDPP, documentsCoords.prefix, e73placeHolder) + closeLine
  201. # output.write(line)
  202. # line = triple(e73placeHolderED, cidocCoords.prefix + "P46_is_composed_of", e73placeHolderEDPP) + closeLine
  203. # output.write(line)
  204. # line = triple(e73placeHolderEDPP, cidocCoords.prefix + 'P3_has_note', '\"' + row['BIBN7'] + '\"') + closeLine
  205. # output.write(line)
  206. # line = triple(e73placeHolderEDPP, nsCoords.prefix + 'type', cidocCoords.prefix + 'E73_Information_Object') + closeLine
  207. # output.write(line)
  208. # line = triple(e73placeHolderEDPP,
  209. # rdfsCoords.prefix + 'label',
  210. # '\"Bibliografia specifica\"') + closeLine
  211. # output.write(line)
  212. # if row['BIBH8']!= '':
  213. # e73placeHolder = "<https://palazzopretorio.prato.it/it/le-opere/alcuni-capolavori/" + url + "_E73>"
  214. # e73placeHolderED = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH8'] + "/E73" + "_ED>"
  215. # e73placeHolderEDPP = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH8'] + "/E73" + "_ED_" + pp + ">"
  216. # line = triple(e73placeHolderEDPP, documentsCoords.prefix, e73placeHolder) + closeLine
  217. # output.write(line)
  218. # line = triple(e73placeHolderED, cidocCoords.prefix + "P46_is_composed_of", e73placeHolderEDPP) + closeLine
  219. # output.write(line)
  220. # line = triple(e73placeHolderEDPP, cidocCoords.prefix + 'P3_has_note', '\"' + row['BIBN8'] + '\"') + closeLine
  221. # output.write(line)
  222. # line = triple(e73placeHolderEDPP, nsCoords.prefix + 'type',cidocCoords.prefix + 'E73_Information_Object') + closeLine
  223. # output.write(line)
  224. # line = triple(e73placeHolderEDPP,
  225. # rdfsCoords.prefix + 'label',
  226. # '\"Bibliografia specifica\"') + closeLine
  227. # output.write(line)
  228. # if row['BIBH9']!= '':
  229. # e73placeHolder = "<https://palazzopretorio.prato.it/it/le-opere/alcuni-capolavori/" + url + "_E73>"
  230. # e73placeHolderED = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH9'] + "/E73" + "_ED>"
  231. # e73placeHolderEDPP = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH9'] + "/E73" + "_ED_" + pp + ">"
  232. # line = triple(e73placeHolderEDPP, documentsCoords.prefix, e73placeHolder) + closeLine
  233. # output.write(line)
  234. # line = triple(e73placeHolderED, cidocCoords.prefix + "P46_is_composed_of", e73placeHolderEDPP) + closeLine
  235. # output.write(line)
  236. # line = triple(e73placeHolderEDPP, cidocCoords.prefix + 'P3_has_note', '\"' + row['BIBN9'] + '\"') + closeLine
  237. # output.write(line)
  238. # line = triple(e73placeHolderEDPP, nsCoords.prefix + 'type',cidocCoords.prefix + 'E73_Information_Object') + closeLine
  239. # output.write(line)
  240. # line = triple(e73placeHolderEDPP,
  241. # rdfsCoords.prefix + 'label',
  242. # '\"Bibliografia specifica\"') + closeLine
  243. # output.write(line)
  244. # if row['BIBH10']!= '':
  245. # e73placeHolder = "<https://palazzopretorio.prato.it/it/le-opere/alcuni-capolavori/" + url + "_E73>"
  246. # e73placeHolderED = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH10'] + "/E73" + "_ED>"
  247. # e73placeHolderEDPP = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH10'] + "/E73" + "_ED_" + pp + ">"
  248. # line = triple(e73placeHolderEDPP, documentsCoords.prefix, e73placeHolder) + closeLine
  249. # output.write(line)
  250. # line = triple(e73placeHolderED, cidocCoords.prefix + "P46_is_composed_of", e73placeHolderEDPP) + closeLine
  251. # output.write(line)
  252. # line = triple(e73placeHolderEDPP, cidocCoords.prefix + 'P3_has_note', '\"' + row['BIBN10'] + '\"') + closeLine
  253. # output.write(line)
  254. # line = triple(e73placeHolderEDPP, nsCoords.prefix + 'type',cidocCoords.prefix + 'E73_Information_Object') + closeLine
  255. # output.write(line)
  256. # line = triple(e73placeHolderEDPP,
  257. # rdfsCoords.prefix + 'label',
  258. # '\"Bibliografia specifica\"') + closeLine
  259. # output.write(line)
  260. # if row['BIBH11']!= '':
  261. # e73placeHolder = "<https://palazzopretorio.prato.it/it/le-opere/alcuni-capolavori/" + url + "_E73>"
  262. # e73placeHolderED = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH11'] + "/E73" + "_ED>"
  263. # e73placeHolderEDPP = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH11'] + "/E73" + "_ED_" + pp + ">"
  264. # line = triple(e73placeHolderEDPP, documentsCoords.prefix, e73placeHolder) + closeLine
  265. # output.write(line)
  266. # line = triple(e73placeHolderED, cidocCoords.prefix + "P46_is_composed_of", e73placeHolderEDPP) + closeLine
  267. # output.write(line)
  268. # line = triple(e73placeHolderEDPP, cidocCoords.prefix + 'P3_has_note', '\"' + row['BIBN11'] + '\"') + closeLine
  269. # output.write(line)
  270. # line = triple(e73placeHolderEDPP, nsCoords.prefix + 'type',cidocCoords.prefix + 'E73_Information_Object') + closeLine
  271. # output.write(line)
  272. # line = triple(e73placeHolderEDPP,
  273. # rdfsCoords.prefix + 'label',
  274. # '\"Bibliografia specifica\"') + closeLine
  275. # output.write(line)
  276. # if row['BIBH12']!= '':
  277. # e73placeHolder = "<https://palazzopretorio.prato.it/it/le-opere/alcuni-capolavori/" + url + "_E73>"
  278. # e73placeHolderED = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH12'] + "/E73" + "_ED>"
  279. # e73placeHolderEDPP = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH12'] + "/E73" + "_ED_" + pp + ">"
  280. # line = triple(e73placeHolderEDPP, documentsCoords.prefix, e73placeHolder) + closeLine
  281. # output.write(line)
  282. # line = triple(e73placeHolderED, cidocCoords.prefix + "P46_is_composed_of", e73placeHolderEDPP) + closeLine
  283. # output.write(line)
  284. # line = triple(e73placeHolderEDPP, cidocCoords.prefix + 'P3_has_note', '\"' + row['BIBN12'] + '\"') + closeLine
  285. # output.write(line)
  286. # line = triple(e73placeHolderEDPP, nsCoords.prefix + 'type',cidocCoords.prefix + 'E73_Information_Object') + closeLine
  287. # output.write(line)
  288. # line = triple(e73placeHolderEDPP,
  289. # rdfsCoords.prefix + 'label',
  290. # '\"Bibliografia specifica\"') + closeLine
  291. # output.write(line)
  292. # if row['BIBH13']!= '':
  293. # e73placeHolder = "<https://palazzopretorio.prato.it/it/le-opere/alcuni-capolavori/" + url + "_E73>"
  294. # e73placeHolderED = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH13'] + "/E73" + "_ED>"
  295. # e73placeHolderEDPP = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH13'] + "/E73" + "_ED_" + pp + ">"
  296. # line = triple(e73placeHolderEDPP, documentsCoords.prefix, e73placeHolder) + closeLine
  297. # output.write(line)
  298. # line = triple(e73placeHolderED, cidocCoords.prefix + "P46_is_composed_of", e73placeHolderEDPP) + closeLine
  299. # output.write(line)
  300. # line = triple(e73placeHolderEDPP, cidocCoords.prefix + 'P3_has_note', '\"' + row['BIBN13'] + '\"') + closeLine
  301. # output.write(line)
  302. # line = triple(e73placeHolderEDPP, nsCoords.prefix + 'type',cidocCoords.prefix + 'E73_Information_Object') + closeLine
  303. # output.write(line)
  304. # line = triple(e73placeHolderEDPP,
  305. # rdfsCoords.prefix + 'label',
  306. # '\"Bibliografia specifica\"') + closeLine
  307. # output.write(line)
  308. # if row['BIBH14']!= '':
  309. # e73placeHolder = "<https://palazzopretorio.prato.it/it/le-opere/alcuni-capolavori/" + url + "_E73>"
  310. # e73placeHolderED = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH14'] + "/E73" + "_ED>"
  311. # e73placeHolderEDPP = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH14'] + "/E73" + "_ED_" + pp + ">"
  312. # line = triple(e73placeHolderEDPP, documentsCoords.prefix, e73placeHolder) + closeLine
  313. # output.write(line)
  314. # line = triple(e73placeHolderED, cidocCoords.prefix + "P46_is_composed_of", e73placeHolderEDPP) + closeLine
  315. # output.write(line)
  316. # line = triple(e73placeHolderEDPP, cidocCoords.prefix + 'P3_has_note', '\"' + row['BIBN14'] + '\"') + closeLine
  317. # output.write(line)
  318. # line = triple(e73placeHolderEDPP, nsCoords.prefix + 'type',cidocCoords.prefix + 'E73_Information_Object') + closeLine
  319. # output.write(line)
  320. # line = triple(e73placeHolderEDPP,
  321. # rdfsCoords.prefix + 'label',
  322. # '\"Bibliografia specifica\"') + closeLine
  323. # output.write(line)
  324. # output.write('\n')
  325. # #
  326. if row['FTAN']!= '':
  327. # e73placeHolder = "<https://palazzopretorio.prato.it/it/le-opere/alcuni-capolavori/" + url + "_E73>"
  328. # e73placeHolderED = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH'] + "/E73" + "_ED>"
  329. # e73placeHolderEDPP = "<https://palazzopretorio.prato.it/it/bib/" + row['BIBH'] + "/E73" + "_ED_" + pp + ">"
  330. # line = triple(e73placeHolderEDPP, documentsCoords.prefix, e73placeHolder) + closeLine
  331. # output.write(line)
  332. # line = triple(e73placeHolderED, cidocCoords.prefix + "P46_is_composed_of", e73placeHolderEDPP) + closeLine
  333. # output.write(line)
  334. # line = triple(e73placeHolderEDPP, cidocCoords.prefix + 'P3_has_note', '\"' + row['BIBN'] + '\"') + closeLine
  335. # output.write(line)
  336. # line = triple(e73placeHolderEDPP, nsCoords.prefix + 'type',cidocCoords.prefix + 'E73_Information_Object') + closeLine
  337. # output.write(line)
  338. # line = triple(e73placeHolderEDPP,
  339. # rdfsCoords.prefix + 'label',
  340. # '\"Bibliografia specifica\"') + closeLine
  341. # output.write(line)
  342. #
  343. # Limit number of entries processed (if desired)
  344. if (ii > max_entries):
  345. break