COL03.mapping.ttl 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. @prefix rr: <http://www.w3.org/ns/r2rml#> .
  2. @prefix ex: <http://example.com/ns#> .
  3. @prefix rrf: <http://kdeg.scss.tcd.ie/ns/rrf#>
  4. @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
  5. @prefix modsrdf: <http://www.loc.gov/mods/modsrdf/v1/> .
  6. @prefix madsrdf: <http://www.loc.gov/mads/rdf/v1#> .
  7. @prefix owl: <http://www.w3.org/2002/07/owl#>
  8. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
  9. @prefix skos: <http://www.w3.org/2004/02/skos/core#>
  10. @prefix foaf: <http://xmlns.com/foaf/0.1/>
  11. <#TitleInfoPrincipal>
  12. rr:logicalTable [
  13. rr:sqlQuery """SELECT *,
  14. IF(nonSort IS NULL, NULL, id) AS nonSortId,
  15. IF(subtitle IS NULL, NULL, id) AS subtitleId,
  16. IF(partNumber IS NULL, NULL, id) AS partNumberId,
  17. IF(partName IS NULL, NULL, id) AS partNameId
  18. FROM TitleInfo WHERE tiType IS NULL""" ;
  19. ] ;
  20. rr:subjectMap [
  21. rr:template "http://data.library.tcd.ie/resource/titleinfo/{id}" ;
  22. rr:class madsrdf:Title ;
  23. ] ;
  24. rr:predicateObjectMap [
  25. rr:predicate rdfs:label ;
  26. rr:objectMap [
  27. rr:column "title" ;
  28. rr:termType rr:Literal ;
  29. ] ;
  30. ] ;
  31. rr:predicateObjectMap [
  32. rr:predicate madsrdf:elementList ;
  33. rr:objectMap [
  34. rrf:gather (
  35. [ rr:template "urn:tcd:title-nonsort-{nonSortId}" ]
  36. [ rr:template "urn:tcd:title-main-{id}" ]
  37. [ rr:template "urn:tcd:title-subtitle-{subtitleId}" ]
  38. [ rr:template "urn:tcd:title-partname-{partNameId}" ]
  39. [ rr:template "urn:tcd:title-partnumber-{partNumberId}" ]
  40. ) ;
  41. ] ;
  42. rr:termType rdf:List ;
  43. ] ;
  44. .
  45. <#TitleInfoPrincipal-NonSort>
  46. rr:logicalTable [
  47. rr:sqlQuery "SELECT * FROM TitleInfo WHERE nonSort IS NOT NULL" ;
  48. ] ;
  49. rr:subjectMap [
  50. rr:template "urn:tcd:title-nonsort-{id}" ;
  51. rr:class madsrdf:NonSortElement ;
  52. ] ;
  53. rr:predicateObjectMap [
  54. rr:predicate madsrdf:elementValue ;
  55. rr:objectMap [
  56. rr:column "nonSort" ;
  57. ] ;
  58. ] ;
  59. .
  60. <#TitleInfoPrincipal-Title>
  61. rr:logicalTable [
  62. rr:sqlQuery "SELECT * FROM TitleInfo" ;
  63. ] ;
  64. rr:subjectMap [
  65. rr:template "urn:tcd:title-main-{id}" ;
  66. rr:class madsrdf:MainTitleElement ;
  67. ] ;
  68. rr:predicateObjectMap [
  69. rr:predicate madsrdf:elementValue ;
  70. rr:objectMap [
  71. rr:column "title" ;
  72. ] ;
  73. ] ;
  74. .
  75. <#TitleInfoPrincipal-PartName>
  76. rr:logicalTable [
  77. rr:sqlQuery "SELECT * FROM TitleInfo WHERE partNumber IS NOT NULL" ;
  78. ] ;
  79. rr:subjectMap [
  80. rr:template "urn:tcd:title-partnumber-{id}" ;
  81. rr:class madsrdf:PartNumberElement ;
  82. ] ;
  83. rr:predicateObjectMap [
  84. rr:predicate madsrdf:elementValue ;
  85. rr:objectMap [
  86. rr:column "partNumber" ;
  87. ] ;
  88. ] ;
  89. .