qa_server 7.3.0 → 7.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop_fixme.yml +3 -0
  3. data/.travis.yml +4 -5
  4. data/CHANGELOG.md +45 -0
  5. data/Rakefile +1 -1
  6. data/app/assets/stylesheets/qa_server/_check-status.scss +36 -0
  7. data/app/cache_processors/qa_server/cache_expiry_service.rb +8 -8
  8. data/app/cache_processors/qa_server/job_id_cache.rb +4 -4
  9. data/app/cache_processors/qa_server/performance_cache.rb +34 -34
  10. data/app/cache_processors/qa_server/performance_day_graph_cache.rb +7 -7
  11. data/app/cache_processors/qa_server/performance_month_graph_cache.rb +7 -7
  12. data/app/cache_processors/qa_server/performance_year_graph_cache.rb +7 -7
  13. data/app/cache_processors/qa_server/scenario_history_cache.rb +7 -7
  14. data/app/cache_processors/qa_server/scenario_history_graph_cache.rb +7 -7
  15. data/app/cache_processors/qa_server/scenario_run_cache.rb +7 -7
  16. data/app/cache_processors/qa_server/scenario_run_failures_cache.rb +7 -7
  17. data/app/cache_processors/qa_server/scenario_run_summary_cache.rb +7 -7
  18. data/app/controllers/concerns/qa_server/authority_validation_behavior.rb +49 -44
  19. data/app/controllers/qa_server/check_status_controller.rb +92 -22
  20. data/app/controllers/qa_server/fetch_controller.rb +36 -36
  21. data/app/controllers/qa_server/monitor_status_controller.rb +106 -84
  22. data/app/jobs/qa_server/history_graph_job.rb +10 -10
  23. data/app/jobs/qa_server/monitor_tests_job.rb +17 -17
  24. data/app/jobs/qa_server/performance_day_graph_job.rb +21 -21
  25. data/app/jobs/qa_server/performance_month_graph_job.rb +21 -21
  26. data/app/jobs/qa_server/performance_per_byte_job.rb +85 -0
  27. data/app/jobs/qa_server/performance_year_graph_job.rb +21 -21
  28. data/app/loggers/qa_server/scenario_logger.rb +74 -4
  29. data/app/models/concerns/qa_server/performance_history_data_keys.rb +8 -0
  30. data/app/models/qa_server/authority_scenario.rb +4 -4
  31. data/app/models/qa_server/authority_status.rb +2 -2
  32. data/app/models/qa_server/authority_status_failure.rb +1 -1
  33. data/app/models/qa_server/performance_history.rb +2 -2
  34. data/app/models/qa_server/scenario_run_history.rb +63 -54
  35. data/app/models/qa_server/scenario_run_registry.rb +2 -2
  36. data/app/models/qa_server/scenarios.rb +26 -26
  37. data/app/models/qa_server/search_scenario.rb +24 -13
  38. data/app/models/qa_server/term_scenario.rb +29 -29
  39. data/app/prepends/prepended_linked_data/find_term.rb +40 -40
  40. data/app/prepends/prepended_linked_data/search_query.rb +36 -36
  41. data/app/prepends/prepended_rdf/rdf_graph.rb +7 -7
  42. data/app/presenters/concerns/qa_server/monitor_status/performance_datatable_behavior.rb +32 -32
  43. data/app/presenters/concerns/qa_server/monitor_status/performance_graph_behavior.rb +64 -64
  44. data/app/presenters/qa_server/check_status_presenter.rb +63 -7
  45. data/app/presenters/qa_server/monitor_status/current_status_presenter.rb +9 -8
  46. data/app/presenters/qa_server/monitor_status/history_presenter.rb +5 -2
  47. data/app/services/concerns/qa_server/gruff_graph.rb +16 -16
  48. data/app/services/qa_server/authority_loader_service.rb +14 -14
  49. data/app/services/qa_server/authority_validator_service.rb +1 -0
  50. data/app/services/qa_server/database_migrator.rb +14 -14
  51. data/app/services/qa_server/history_graphing_service.rb +30 -30
  52. data/app/services/qa_server/performance_calculator_service.rb +80 -80
  53. data/app/services/qa_server/performance_datatable_service.rb +35 -35
  54. data/app/services/qa_server/performance_graph_data_service.rb +27 -27
  55. data/app/services/qa_server/performance_graphing_service.rb +55 -55
  56. data/app/services/qa_server/performance_per_byte_calculator_service.rb +88 -0
  57. data/app/services/qa_server/performance_per_byte_data_service.rb +41 -0
  58. data/app/services/qa_server/scenarios_loader_service.rb +1 -1
  59. data/app/services/qa_server/time_period_service.rb +21 -21
  60. data/app/validators/qa_server/scenario_validator.rb +99 -87
  61. data/app/validators/qa_server/search_scenario_validator.rb +67 -61
  62. data/app/validators/qa_server/term_scenario_validator.rb +20 -15
  63. data/app/views/qa_server/check_status/index.html.erb +120 -24
  64. data/app/views/qa_server/monitor_status/_test_summary.html.erb +1 -1
  65. data/config/i18n-tasks.yml +133 -0
  66. data/config/locales/qa_server.en.yml +21 -5
  67. data/lib/generators/qa_server/assets_generator.rb +4 -4
  68. data/lib/generators/qa_server/templates/config/authorities/linked_data/cerl_ld4l_cache.json +2 -2
  69. data/lib/generators/qa_server/templates/config/authorities/linked_data/getty_aat_ld4l_cache.json +62 -1
  70. data/lib/generators/qa_server/templates/config/authorities/linked_data/getty_tgn_ld4l_cache.json +45 -11
  71. data/lib/generators/qa_server/templates/config/authorities/linked_data/getty_ulan_ld4l_cache.json +104 -8
  72. data/lib/generators/qa_server/templates/config/authorities/linked_data/isni_ld4l_cache.json +90 -0
  73. data/lib/generators/qa_server/templates/config/authorities/linked_data/ligatus_ld4l_cache.json +133 -0
  74. data/lib/generators/qa_server/templates/config/authorities/linked_data/locnames_rwo2_ld4l_cache.json +248 -0
  75. data/lib/generators/qa_server/templates/config/authorities/linked_data/locnames_rwo3_ld4l_cache.json +248 -0
  76. data/lib/generators/qa_server/templates/config/authorities/linked_data/locnames_rwo_ld4l_cache.json +4 -4
  77. data/lib/generators/qa_server/templates/config/authorities/linked_data/locvocabs_ld4l_cache.json +117 -0
  78. data/lib/generators/qa_server/templates/config/authorities/linked_data/mesh_nlm_ld4l_cache.json +135 -3
  79. data/lib/generators/qa_server/templates/config/authorities/linked_data/oclcfast_direct.json +5 -0
  80. data/lib/generators/qa_server/templates/config/authorities/linked_data/oclcfast_ld4l_cache.json +2 -4
  81. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/agrovoc_direct_validation.yml +31 -0
  82. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/agrovoc_ld4l_cache_validation.yml +31 -0
  83. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/cerl_ld4l_cache_validation.yml +24 -12
  84. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/dbpedia_ld4l_cache_validation.yml +33 -0
  85. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/geonames_direct_validation.yml +35 -0
  86. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/geonames_ld4l_cache_validation.yml +55 -5
  87. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/getty_aat_ld4l_cache_validation.yml +253 -0
  88. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/getty_tgn_ld4l_cache_validation.yml +31 -1
  89. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/getty_ulan_ld4l_cache_validation.yml +38 -1
  90. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/isni_ld4l_cache_validation.yml +10 -0
  91. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/ligatus_ld4l_cache_validation.yml +36 -0
  92. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locdemographics_ld4l_cache_validation.yml +69 -44
  93. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locgenres_ld4l_cache_validation.yml +22 -0
  94. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_ld4l_cache_validation.yml +65 -0
  95. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_rwo2_ld4l_cache_validation.yml +78 -0
  96. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_rwo3_ld4l_cache_validation.yml +73 -0
  97. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_rwo_ld4l_cache_validation.yml +71 -3
  98. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locperformance_ld4l_cache_validation.yml +6 -0
  99. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locsubjects_ld4l_cache_validation.yml +30 -0
  100. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locvocabs_ld4l_cache_validation.yml +430 -0
  101. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/mesh_nlm_ld4l_cache_validation.yml +54 -1
  102. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/nalt_ld4l_cache_validation.yml +37 -0
  103. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/oclc_fast_validation.yml +71 -5
  104. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/oclcfast_direct_validation.yml +73 -2
  105. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/oclcfast_ld4l_cache_validation.yml +73 -0
  106. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/rda_registry_ld4l_cache_validation.yml +307 -0
  107. data/lib/qa_server/configuration.rb +28 -24
  108. data/lib/qa_server/version.rb +1 -1
  109. data/qa_server.gemspec +6 -5
  110. data/spec/feature/accuracy_spec.rb +32 -0
  111. data/spec/i18n_spec.rb +35 -0
  112. data/spec/spec_helper.rb +4 -0
  113. metadata +66 -17
@@ -0,0 +1,248 @@
1
+ {
2
+ "QA_CONFIG_VERSION": "2.2",
3
+ "service_uri": "http://ld4l.org/ld4l_services/cache",
4
+ "prefixes": {
5
+ "loc": "http://id.loc.gov/vocabulary/identifiers/",
6
+ "madsrdf": "http://www.loc.gov/mads/rdf/v1#",
7
+ "vivo": "http://vivoweb.org/ontology/core#"
8
+ },
9
+ "term": {
10
+ "url": {
11
+ "@context": "http://www.w3.org/ns/hydra/context.jsonld",
12
+ "@type": "IriTemplate",
13
+ "template": "http://services.ld4l.org/ld4l_services/loc_rwo_name_lookup.jsp?uri={term_uri}",
14
+ "variableRepresentation": "BasicRepresentation",
15
+ "mapping": [
16
+ {
17
+ "@type": "IriTemplateMapping",
18
+ "variable": "term_uri",
19
+ "property": "hydra:freetextQuery",
20
+ "required": true,
21
+ "encode": true
22
+ }
23
+ ]
24
+ },
25
+ "qa_replacement_patterns": {
26
+ "term_id": "term_uri"
27
+ },
28
+ "term_id": "URI",
29
+ "results": {
30
+ "id_ldpath": "^madsrdf:identifiesRWO/loc:lccn ::xsd:string",
31
+ "label_ldpath": "rdfs:label ::xsd:string",
32
+ "altlabel_ldpath": "^madsrdf:identifiesRWO/madsrdf:hasVariant/madsrdf:variantLabel :: xsd:string",
33
+ "sameas_ldpath": "skos:exactMatch ::xsd:anyURI"
34
+ }
35
+ },
36
+ "search": {
37
+ "url": {
38
+ "@context": "http://www.w3.org/ns/hydra/context.jsonld",
39
+ "@type": "IriTemplate",
40
+ "template": "http://services.ld4l.org/ld4l_services/loc_rwo_name_batch.jsp?{?query}&{?maxRecords}&{?startRecord}&{?entity}&{?lang}",
41
+ "variableRepresentation": "BasicRepresentation",
42
+ "mapping": [
43
+ {
44
+ "@type": "IriTemplateMapping",
45
+ "variable": "query",
46
+ "property": "hydra:freetextQuery",
47
+ "required": true,
48
+ "encode": true
49
+ },
50
+ {
51
+ "@type": "IriTemplateMapping",
52
+ "variable": "entity",
53
+ "property": "hydra:freetextQuery",
54
+ "required": false,
55
+ "default": ""
56
+ },
57
+ {
58
+ "@type": "IriTemplateMapping",
59
+ "variable": "maxRecords",
60
+ "property": "hydra:freetextQuery",
61
+ "required": false,
62
+ "default": "20"
63
+ },
64
+ {
65
+ "@type": "IriTemplateMapping",
66
+ "variable": "startRecord",
67
+ "property": "hydra:freetextQuery",
68
+ "required": false,
69
+ "default": "1"
70
+ },
71
+ {
72
+ "@type": "IriTemplateMapping",
73
+ "variable": "lang",
74
+ "property": "hydra:freetextQuery",
75
+ "required": false,
76
+ "default": "en"
77
+ }
78
+ ]
79
+ },
80
+ "qa_replacement_patterns": {
81
+ "query": "query",
82
+ "subauth": "entity",
83
+ "start_record": "startRecord",
84
+ "requested_records": "maxRecords"
85
+ },
86
+ "total_count_ldpath": "vivo:count",
87
+ "results": {
88
+ "id_ldpath": "^madsrdf:identifiesRWO/loc:lccn ::xsd:string",
89
+ "label_ldpath": "^madsrdf:identifiesRWO/madsrdf:authoritativeLabel ::xsd:string",
90
+ "sort_ldpath": "vivo:rank ::xsd:string"
91
+ },
92
+ "context": {
93
+ "groups": {
94
+ "dates": {
95
+ "group_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.dates",
96
+ "group_label_default": "Dates"
97
+ },
98
+ "places": {
99
+ "group_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.places",
100
+ "group_label_default": "Places"
101
+ }
102
+ },
103
+ "properties": [
104
+ {
105
+ "property_label_default": "Preferred label",
106
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.preferred_label",
107
+ "ldpath": "^madsrdf:identifiesRWO / madsrdf:authoritativeLabel :: xsd:string",
108
+ "selectable": true,
109
+ "drillable": false
110
+ },
111
+ {
112
+ "property_label_default": "Type",
113
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.type_label",
114
+ "ldpath": "rdf:type :: xsd:string",
115
+ "selectable": false,
116
+ "drillable": false
117
+ },
118
+ {
119
+ "property_label_default": "Descriptor",
120
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.descriptor",
121
+ "ldpath": "(madsrdf:entityDescriptor/madsrdf:authoritativeLabel) | (madsrdf:entityDescriptor/skos:prefLabel) | (madsrdf:entityDescriptor/rdfs:label) :: xsd:string",
122
+ "selectable": false,
123
+ "drillable": false,
124
+ "subauth": ["person", "organization"]
125
+ },
126
+ {
127
+ "group_id": "dates",
128
+ "property_label_default": "Birth date",
129
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.birth_date",
130
+ "ldpath": "madsrdf:birthDate/rdfs:label :: xsd:string",
131
+ "selectable": false,
132
+ "drillable": false,
133
+ "optional": true,
134
+ "subauth": ["person"]
135
+ },
136
+ {
137
+ "group_id": "dates",
138
+ "property_label_default": "Death date",
139
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.death_date",
140
+ "ldpath": "madsrdf:deathDate/rdfs:label :: xsd:string",
141
+ "selectable": false,
142
+ "drillable": false,
143
+ "subauth": ["person"]
144
+ },
145
+ {
146
+ "group_id": "places",
147
+ "property_label_default": "Location",
148
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.location",
149
+ "ldpath": "(madsrdf:associatedLocale/skos:prefLabel) | (madsrdf:associatedLocale/rdfs:label) :: xsd:string",
150
+ "selectable": false,
151
+ "drillable": false,
152
+ "subauth": ["organization", "family"]
153
+ },
154
+ {
155
+ "property_label_default": "Affiliation",
156
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.field_of_activity",
157
+ "ldpath": "(madsrdf:hasAffiliation/madsrdf:organization/skos:prefLabel) | (madsrdf:hasAffiliation/madsrdf:organization/rdfs:label) | (madsrdf:hasAffiliation/madsrdf:organization/madsrdf:authoritativeLabel) :: xsd:string",
158
+ "selectable": false,
159
+ "drillable": false,
160
+ "subauth": ["person", "organization"]
161
+ },
162
+ {
163
+ "property_label_default": "Field of activity",
164
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.field_of_activity",
165
+ "ldpath": "(madsrdf:fieldOfActivity/skos:prefLabel) | (madsrdf:fieldOfActivity/rdfs:label) :: xsd:string",
166
+ "selectable": false,
167
+ "drillable": false,
168
+ "subauth": ["person", "organization"]
169
+ },
170
+ {
171
+ "property_label_default": "Occupation",
172
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.occupation",
173
+ "ldpath": "(madsrdf:occupation/skos:prefLabel) | (madsrdf:occupation/rdfs:label) | (madsrdf:occupation/madsrdf:authoritativeLabel) :: xsd:string",
174
+ "selectable": false,
175
+ "drillable": false,
176
+ "subauth": ["person", "organization"]
177
+ },
178
+ {
179
+ "group_id": "places",
180
+ "property_label_default": "Birth place",
181
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.birth_place",
182
+ "ldpath": "(madsrdf:birthPlace/skos:prefLabel) | (madsrdf:birthPlace/rdfs:label) :: xsd:string",
183
+ "selectable": false,
184
+ "drillable": false,
185
+ "subauth": ["person"]
186
+ },
187
+ {
188
+ "group_id": "places",
189
+ "property_label_default": "Death place",
190
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.death_place",
191
+ "ldpath": "(madsrdf:deathPlace/skos:prefLabel) | (madsrdf:deathPlace/rdfs:label) :: xsd:string",
192
+ "selectable": false,
193
+ "drillable": false,
194
+ "subauth": ["person"]
195
+ },
196
+ {
197
+ "property_label_default": "VIAF match",
198
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.viaf_match",
199
+ "ldpath": "^madsrdf:identifiesRWO/skos:exactMatch :: xsd:string",
200
+ "selectable": false,
201
+ "drillable": false,
202
+ "subauth": ["person", "organization"]
203
+ },
204
+ {
205
+ "property_label_default": "Variant label",
206
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.variant_label",
207
+ "ldpath": "^madsrdf:identifiesRWO/madsrdf:hasVariant/madsrdf:variantLabel :: xsd:string",
208
+ "selectable": false,
209
+ "drillable": false,
210
+ "subauth": ["person", "organization"]
211
+ },
212
+ {
213
+ "property_label_default": "Citation note",
214
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.citation_note",
215
+ "ldpath": "^madsrdf:identifiesRWO/madsrdf:hasSource/madsrdf:citation-note :: xsd:string",
216
+ "selectable": false,
217
+ "drillable": false
218
+ },
219
+ {
220
+ "property_label_default": "Citation source",
221
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.citation_source",
222
+ "ldpath": "^madsrdf:identifiesRWO/madsrdf:hasSource/madsrdf:citation-source :: xsd:string",
223
+ "selectable": false,
224
+ "drillable": false
225
+ },
226
+ {
227
+ "property_label_default": "Editorial note",
228
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.editorial_note",
229
+ "ldpath": "^madsrdf:identifiesRWO/madsrdf:editorialNote :: xsd:string",
230
+ "selectable": false,
231
+ "drillable": false
232
+ },
233
+ {
234
+ "property_label_default": "Authority URI",
235
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.authority_uri",
236
+ "ldpath": "^madsrdf:identifiesRWO :: xsd:string",
237
+ "selectable": false,
238
+ "drillable": false
239
+ }
240
+ ]
241
+ },
242
+ "subauthorities": {
243
+ "person": "Person",
244
+ "organization": "Organization",
245
+ "family": "Family"
246
+ }
247
+ }
248
+ }
@@ -86,7 +86,7 @@
86
86
  "total_count_ldpath": "vivo:count",
87
87
  "results": {
88
88
  "id_ldpath": "^madsrdf:identifiesRWO/loc:lccn ::xsd:string",
89
- "label_ldpath": "rdfs:label ::xsd:string",
89
+ "label_ldpath": "^madsrdf:identifiesRWO/madsrdf:authoritativeLabel ::xsd:string",
90
90
  "sort_ldpath": "vivo:rank ::xsd:string"
91
91
  },
92
92
  "context": {
@@ -103,8 +103,8 @@
103
103
  "properties": [
104
104
  {
105
105
  "property_label_default": "Preferred label",
106
- "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.type_label",
107
- "ldpath": "rdfs:label :: xsd:string",
106
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.preferred_label",
107
+ "ldpath": "^madsrdf:identifiesRWO / madsrdf:authoritativeLabel :: xsd:string",
108
108
  "selectable": true,
109
109
  "drillable": false
110
110
  },
@@ -117,7 +117,7 @@
117
117
  },
118
118
  {
119
119
  "property_label_default": "Descriptor",
120
- "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.type_label",
120
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.descriptor",
121
121
  "ldpath": "(madsrdf:entityDescriptor/madsrdf:authoritativeLabel) | (madsrdf:entityDescriptor/skos:prefLabel) | (madsrdf:entityDescriptor/rdfs:label) :: xsd:string",
122
122
  "selectable": false,
123
123
  "drillable": false,
@@ -0,0 +1,117 @@
1
+ {
2
+ "QA_CONFIG_VERSION": "2.2",
3
+ "service_uri": "http://ld4l.org/ld4l_services/cache",
4
+ "prefixes": {
5
+ "loc": "http://id.loc.gov/vocabulary/identifiers/",
6
+ "madsrdf": "http://www.loc.gov/mads/rdf/v1#",
7
+ "vivo": "http://vivoweb.org/ontology/core#"
8
+ },
9
+ "term": {
10
+ },
11
+ "search": {
12
+ "url": {
13
+ "@context": "http://www.w3.org/ns/hydra/context.jsonld",
14
+ "@type": "IriTemplate",
15
+ "template": "http://services.ld4l.org/ld4l_services/loc_vocab_batch.jsp?{?query}&{?entity}&{?maxRecords}&{?startRecord}&{?lang}",
16
+ "variableRepresentation": "BasicRepresentation",
17
+ "mapping": [
18
+ {
19
+ "@type": "IriTemplateMapping",
20
+ "variable": "query",
21
+ "property": "hydra:freetextQuery",
22
+ "required": true,
23
+ "encode": true
24
+ },
25
+ {
26
+ "@type": "IriTemplateMapping",
27
+ "variable": "entity",
28
+ "property": "hydra:freetextQuery",
29
+ "required": false,
30
+ "default": ""
31
+ },
32
+ {
33
+ "@type": "IriTemplateMapping",
34
+ "variable": "maxRecords",
35
+ "property": "hydra:freetextQuery",
36
+ "required": false,
37
+ "default": "20"
38
+ },
39
+ {
40
+ "@type": "IriTemplateMapping",
41
+ "variable": "startRecord",
42
+ "property": "hydra:freetextQuery",
43
+ "required": false,
44
+ "default": "1"
45
+ },
46
+ {
47
+ "@type": "IriTemplateMapping",
48
+ "variable": "lang",
49
+ "property": "hydra:freetextQuery",
50
+ "required": false,
51
+ "default": "en"
52
+ }
53
+ ]
54
+ },
55
+ "qa_replacement_patterns": {
56
+ "query": "query",
57
+ "subauth": "entity",
58
+ "start_record": "startRecord",
59
+ "requested_records": "maxRecords"
60
+ },
61
+ "total_count_ldpath": "vivo:count",
62
+ "results": {
63
+ "label_ldpath": "madsrdf:authoritativeLabel ::xsd:string",
64
+ "sort_ldpath": "vivo:rank ::xsd:string"
65
+ },
66
+ "subauthorities": {
67
+ "carriers": "carriers",
68
+ "content_types": "contentTypes",
69
+ "description_conventions": "descriptionConventions",
70
+ "frequencies": "frequencies",
71
+ "issuance": "issuance",
72
+ "marcauthen": "marcauthen",
73
+ "maspect": "maspect",
74
+ "maudience": "maudience",
75
+ "mbroadstd": "mbroadstd",
76
+ "mcapturestorage": "mcapturestorage",
77
+ "mcolor": "mcolor",
78
+ "media_types": "mediaTypes",
79
+ "mencformat": "mencformat",
80
+ "menclvl": "menclvl",
81
+ "mfiletype": "mfiletype",
82
+ "mfont": "mfont",
83
+ "mgeneration": "mgeneration",
84
+ "mgovtpubtype": "mgovtpubtype",
85
+ "mgroove": "mgroove",
86
+ "millus": "millus",
87
+ "mlayout": "mlayout",
88
+ "mmaterial": "mmaterial",
89
+ "mmusicformat": "mmusicformat",
90
+ "mmusnotation": "mmusnotation",
91
+ "mplayback": "mplayback",
92
+ "mplayspeed": "mplayspeed",
93
+ "mpolarity": "mpolarity",
94
+ "mpresformat": "mpresformat",
95
+ "mproduction": "mproduction",
96
+ "mprojection": "mprojection",
97
+ "mpunctuation_conventions": "mpunctuationConventions",
98
+ "mrecmedium": "mrecmedium",
99
+ "mrectype": "mrectype",
100
+ "mreductionratio": "mreductionratio",
101
+ "mregencoding": "mregencoding",
102
+ "mrelief": "mrelief",
103
+ "mscale": "mscale",
104
+ "mscript": "mscript",
105
+ "msoundcontent": "msoundcontent",
106
+ "mspecplayback": "mspecplayback",
107
+ "mstatus": "mstatus",
108
+ "msupplcont": "msupplcont",
109
+ "mtactile": "mtactile",
110
+ "mtapeconfig": "mtapeconfig",
111
+ "mtechnique": "mtechnique",
112
+ "mvidformat": "mvidformat",
113
+ "relators": "relators",
114
+ "resource_components": "resourceComponents"
115
+ }
116
+ }
117
+ }
@@ -3,7 +3,7 @@
3
3
  "service_uri": "http://ld4l.org/ld4l_services/cache",
4
4
  "prefixes": {
5
5
  "nlmmesh": "http://id.nlm.nih.gov/mesh/vocab#",
6
- "vivo": "http://vivoweb.org/ontology/core#"
6
+ "vivo": "http://vivoweb.org/ontology/core#"
7
7
  },
8
8
  "term": {
9
9
  "url": {
@@ -33,7 +33,7 @@
33
33
  "url": {
34
34
  "@context": "http://www.w3.org/ns/hydra/context.jsonld",
35
35
  "@type": "IriTemplate",
36
- "template": "http://services.ld4l.org/ld4l_services/mesh_batch.jsp?{?query}&{?maxRecords}&{?startRecord}&{?lang}",
36
+ "template": "http://services.ld4l.org/ld4l_services/mesh_batch.jsp?{?query}&{?maxRecords}&{?startRecord}&{?entity}&{?lang}",
37
37
  "variableRepresentation": "BasicRepresentation",
38
38
  "mapping": [
39
39
  {
@@ -43,6 +43,13 @@
43
43
  "required": true,
44
44
  "encode": true
45
45
  },
46
+ {
47
+ "@type": "IriTemplateMapping",
48
+ "variable": "entity",
49
+ "property": "hydra:freetextQuery",
50
+ "required": false,
51
+ "default": ""
52
+ },
46
53
  {
47
54
  "@type": "IriTemplateMapping",
48
55
  "variable": "maxRecords",
@@ -68,14 +75,139 @@
68
75
  },
69
76
  "qa_replacement_patterns": {
70
77
  "query": "query",
78
+ "subauth": "entity",
71
79
  "start_record": "startRecord",
72
80
  "requested_records": "maxRecords"
73
81
  },
74
82
  "total_count_ldpath": "vivo:count",
75
83
  "results": {
76
84
  "id_ldpath": "nlmmesh:identifier ::xsd:string",
77
- "label_ldpath": "nlmmesh:prefLabel ::xsd:string",
85
+ "label_ldpath": "rdfs:label ::xsd:string",
78
86
  "sort_ldpath": "vivo:rank ::xsd:string"
87
+ },
88
+ "context": {
89
+ "groups": {
90
+ "hierarchy": {
91
+ "group_label_i18n": "qa.linked_data.authority.mesh_nlm_ld4l_cache.hierarchy",
92
+ "group_label_default": "Hierarchy"
93
+ }
94
+ },
95
+ "properties": [
96
+ {
97
+ "property_label_i18n": "qa.linked_data.authority.mesh_nlm_ld4l_cache.preferred_label",
98
+ "property_label_default": "Preferred Label",
99
+ "ldpath": "rdfs:label :: xsd:string",
100
+ "selectable": true,
101
+ "drillable": false
102
+ },
103
+ {
104
+ "property_label_i18n": "qa.linked_data.authority.mesh_nlm_ld4l_cache.variant_label",
105
+ "property_label_default": "Variant label",
106
+ "ldpath": "nlmmesh:concept/rdfs:label :: xsd:string",
107
+ "selectable": false,
108
+ "drillable": false
109
+ },
110
+ {
111
+ "property_label_i18n": "qa.linked_data.authority.mesh_nlm_ld4l_cache.type",
112
+ "property_label_default": "Type",
113
+ "ldpath": "rdf:type :: xsd:string",
114
+ "selectable": false,
115
+ "drillable": false
116
+ },
117
+ {
118
+ "property_label_i18n": "qa.linked_data.authority.mesh_nlm_ld4l_cache.annotation",
119
+ "property_label_default": "Annotation",
120
+ "ldpath": "nlmmesh:annotation :: xsd:string",
121
+ "selectable": false,
122
+ "drillable": false
123
+ },
124
+ {
125
+ "group_id": "hierarchy",
126
+ "property_label_i18n": "qa.linked_data.authority.mesh_nlm_ld4l_cache.broader",
127
+ "property_label_default": "Broader",
128
+ "ldpath": "nlmmesh:broaderDescriptor :: xsd:string",
129
+ "selectable": true,
130
+ "drillable": true,
131
+ "expansion_label_ldpath": "rdfs:label ::xsd:string"
132
+ },
133
+ {
134
+ "group_id": "hierarchy",
135
+ "property_label_i18n": "qa.linked_data.authority.mesh_nlm_ld4l_cache.narrower",
136
+ "property_label_default": "Narrower",
137
+ "ldpath": "^nlmmesh:broaderDescriptor :: xsd:string",
138
+ "selectable": true,
139
+ "drillable": true,
140
+ "expansion_label_ldpath": "rdfs:label ::xsd:string"
141
+ },
142
+ {
143
+ "property_label_i18n": "qa.linked_data.authority.mesh_nlm_ld4l_cache.consider_also",
144
+ "property_label_default": "Consider also",
145
+ "ldpath": "nlmmesh:considerAlso :: xsd:string",
146
+ "selectable": true,
147
+ "drillable": true,
148
+ "expansion_label_ldpath": "rdfs:label ::xsd:string"
149
+ },
150
+ {
151
+ "property_label_i18n": "qa.linked_data.authority.mesh_nlm_ld4l_cache.pharmacological_action",
152
+ "property_label_default": "Pharmacological action",
153
+ "ldpath": "nlmmesh:pharmacologicalAction/rdfs:label :: xsd:string",
154
+ "selectable": false,
155
+ "drillable": false
156
+ },
157
+ {
158
+ "property_label_i18n": "qa.linked_data.authority.mesh_nlm_ld4l_cache.see_also",
159
+ "property_label_default": "See also",
160
+ "ldpath": "nlmmesh:seeAlso/rdfs:label :: xsd:string",
161
+ "selectable": false,
162
+ "drillable": false
163
+ },
164
+ {
165
+ "property_label_i18n": "qa.linked_data.authority.mesh_nlm_ld4l_cache.entry_terms",
166
+ "property_label_default": "Entry terms",
167
+ "ldpath": "(^nlmmesh:concept/nlmmesh:broaderConcept/rdfs:label) | (^nlmmesh:preferredConcept/nlmmesh:broaderConcept/rdfs:label) | (^nlmmesh:concept/nlmmesh:narrowerConcept/rdfs:label) | (^nlmmesh:preferredConcept/nlmmesh:narrowerConcept/rdfs:label) :: xsd:string",
168
+ "selectable": false,
169
+ "drillable": false
170
+ },
171
+ {
172
+ "property_label_i18n": "qa.linked_data.authority.mesh_nlm_ld4l_cache.related_concept",
173
+ "property_label_default": "Related concept",
174
+ "ldpath": "(^nlmmesh:concept/nlmmesh:relatedConcept/rdfs:label) | (^nlmmesh:preferredConcept/nlmmesh:relatedConcept/rdfs:label) :: xsd:string",
175
+ "selectable": false,
176
+ "drillable": false
177
+ },
178
+ {
179
+ "property_label_i18n": "qa.linked_data.authority.mesh_nlm_ld4l_cache.scope_note",
180
+ "property_label_default": "Scope note",
181
+ "ldpath": "(^nlmmesh:concept/nlmmesh:scopeNote) | (^nlmmesh:preferredConcept/nlmmesh:scopeNote) :: xsd:string",
182
+ "selectable": false,
183
+ "drillable": false
184
+ },
185
+ {
186
+ "property_label_i18n": "qa.linked_data.authority.mesh_nlm_ld4l_cache.related_qualified_pair",
187
+ "property_label_default": "Related qualified pair",
188
+ "ldpath": "^nlmmesh:hasDescriptor/rdfs:label :: xsd:string",
189
+ "selectable": false,
190
+ "drillable": false
191
+ },
192
+ {
193
+ "property_label_i18n": "qa.linked_data.authority.mesh_nlm_ld4l_cache.descriptor",
194
+ "property_label_default": "Descriptor",
195
+ "ldpath": "nlmmesh:hasDescriptor/rdfs:label :: xsd:string",
196
+ "selectable": false,
197
+ "drillable": false
198
+ },
199
+ {
200
+ "property_label_i18n": "qa.linked_data.authority.mesh_nlm_ld4l_cache.use_instead",
201
+ "property_label_default": "Use instead",
202
+ "ldpath": "(^nlmmesh:useInstead/rdfs:label) | (^nlmmesh:mappedTo/rdfs:label) :: xsd:string",
203
+ "selectable": true,
204
+ "drillable": false
205
+ }
206
+ ]
207
+ },
208
+ "subauthorities": {
209
+ "subject": "Subject",
210
+ "publication_type": "FormOfWork"
79
211
  }
80
212
  }
81
213
  }