qa_server 7.2.1 → 7.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop_fixme.yml +3 -0
  3. data/.travis.yml +4 -5
  4. data/CHANGELOG.md +41 -0
  5. data/Rakefile +1 -1
  6. data/app/assets/stylesheets/qa_server/_check-status.scss +36 -0
  7. data/app/cache_processors/concerns/qa_server/cache_keys.rb +0 -5
  8. data/app/cache_processors/qa_server/cache_expiry_service.rb +13 -8
  9. data/app/cache_processors/qa_server/job_id_cache.rb +29 -0
  10. data/app/cache_processors/qa_server/performance_cache.rb +34 -34
  11. data/app/cache_processors/qa_server/performance_day_graph_cache.rb +27 -0
  12. data/app/cache_processors/qa_server/performance_month_graph_cache.rb +27 -0
  13. data/app/cache_processors/qa_server/performance_year_graph_cache.rb +27 -0
  14. data/app/cache_processors/qa_server/scenario_history_cache.rb +7 -7
  15. data/app/cache_processors/qa_server/scenario_history_graph_cache.rb +12 -17
  16. data/app/cache_processors/qa_server/scenario_run_cache.rb +8 -8
  17. data/app/cache_processors/qa_server/scenario_run_failures_cache.rb +7 -7
  18. data/app/cache_processors/qa_server/scenario_run_summary_cache.rb +7 -7
  19. data/app/controllers/concerns/qa_server/authority_validation_behavior.rb +49 -44
  20. data/app/controllers/qa_server/check_status_controller.rb +92 -22
  21. data/app/controllers/qa_server/fetch_controller.rb +36 -36
  22. data/app/controllers/qa_server/monitor_status_controller.rb +108 -108
  23. data/app/jobs/qa_server/history_graph_job.rb +28 -0
  24. data/app/jobs/qa_server/monitor_tests_job.rb +19 -39
  25. data/app/jobs/qa_server/performance_day_graph_job.rb +45 -0
  26. data/app/jobs/qa_server/performance_month_graph_job.rb +45 -0
  27. data/app/jobs/qa_server/performance_per_byte_job.rb +85 -0
  28. data/app/jobs/qa_server/performance_year_graph_job.rb +45 -0
  29. data/app/loggers/qa_server/scenario_logger.rb +74 -4
  30. data/app/models/concerns/qa_server/performance_history_data_keys.rb +8 -0
  31. data/app/models/qa_server/authority_scenario.rb +4 -4
  32. data/app/models/qa_server/authority_status.rb +2 -2
  33. data/app/models/qa_server/authority_status_failure.rb +1 -1
  34. data/app/models/qa_server/performance_history.rb +2 -2
  35. data/app/models/qa_server/scenario_run_history.rb +52 -52
  36. data/app/models/qa_server/scenario_run_registry.rb +2 -2
  37. data/app/models/qa_server/scenarios.rb +26 -26
  38. data/app/models/qa_server/search_scenario.rb +24 -13
  39. data/app/models/qa_server/term_scenario.rb +29 -29
  40. data/app/prepends/prepended_linked_data/find_term.rb +40 -40
  41. data/app/prepends/prepended_linked_data/search_query.rb +36 -36
  42. data/app/prepends/prepended_rdf/rdf_graph.rb +7 -7
  43. data/app/presenters/concerns/qa_server/monitor_status/performance_datatable_behavior.rb +32 -32
  44. data/app/presenters/concerns/qa_server/monitor_status/performance_graph_behavior.rb +64 -64
  45. data/app/presenters/qa_server/check_status_presenter.rb +63 -7
  46. data/app/presenters/qa_server/monitor_status/current_status_presenter.rb +9 -8
  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 +28 -28
  55. data/app/services/qa_server/performance_graphing_service.rb +58 -58
  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 +16 -0
  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 +26 -14
  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 +36 -0
  112. data/spec/spec_helper.rb +4 -0
  113. metadata +74 -20
  114. data/app/cache_processors/qa_server/performance_daily_graph_cache.rb +0 -60
  115. data/app/cache_processors/qa_server/performance_hourly_graph_cache.rb +0 -65
  116. data/app/cache_processors/qa_server/performance_monthly_graph_cache.rb +0 -60
@@ -0,0 +1,133 @@
1
+ {
2
+ "QA_CONFIG_VERSION": "2.2",
3
+ "service_uri": "http://ld4l.org/ld4l_services/cache",
4
+ "prefixes": {
5
+ "vivo": "http://vivoweb.org/ontology/core#"
6
+ },
7
+ "term": {
8
+ "url": {
9
+ "@context": "http://www.w3.org/ns/hydra/context.jsonld",
10
+ "@type": "IriTemplate",
11
+ "template": "http://services.ld4l.org/ld4l_services/ligatus_lookup.jsp?uri={term_uri}",
12
+ "variableRepresentation": "BasicRepresentation",
13
+ "mapping": [
14
+ {
15
+ "@type": "IriTemplateMapping",
16
+ "variable": "term_uri",
17
+ "property": "hydra:freetextQuery",
18
+ "required": true,
19
+ "encode": true
20
+ }
21
+ ]
22
+ },
23
+ "qa_replacement_patterns": {
24
+ "term_id": "term_uri"
25
+ },
26
+ "term_id": "URI",
27
+ "results": {
28
+ "label_ldpath": "skos:prefLabel ::xsd:string",
29
+ "altlabel_ldpath": "skos:altLabel ::xsd:string",
30
+ "broader_ldpath": "skos:broader ::xsd:anyURI",
31
+ "narrower_ldpath": "skos:narrower ::xsd:anyURI",
32
+ "sameas_ldpath": "skos:exactMatch ::xsd:anyURI"
33
+ }
34
+ },
35
+ "search": {
36
+ "url": {
37
+ "@context": "http://www.w3.org/ns/hydra/context.jsonld",
38
+ "@type": "IriTemplate",
39
+ "template": "http://services.ld4l.org/ld4l_services/ligatus_batch.jsp?{?query}&{?maxRecords}&{?startRecord}&{?lang}",
40
+ "variableRepresentation": "BasicRepresentation",
41
+ "mapping": [
42
+ {
43
+ "@type": "IriTemplateMapping",
44
+ "variable": "query",
45
+ "property": "hydra:freetextQuery",
46
+ "required": true,
47
+ "encode": true
48
+ },
49
+ {
50
+ "@type": "IriTemplateMapping",
51
+ "variable": "maxRecords",
52
+ "property": "hydra:freetextQuery",
53
+ "required": false,
54
+ "default": "20"
55
+ },
56
+ {
57
+ "@type": "IriTemplateMapping",
58
+ "variable": "startRecord",
59
+ "property": "hydra:freetextQuery",
60
+ "required": false,
61
+ "default": "1"
62
+ },
63
+ {
64
+ "@type": "IriTemplateMapping",
65
+ "variable": "lang",
66
+ "property": "hydra:freetextQuery",
67
+ "required": false,
68
+ "default": "en"
69
+ }
70
+ ]
71
+ },
72
+ "qa_replacement_patterns": {
73
+ "query": "query",
74
+ "start_record": "startRecord",
75
+ "requested_records": "maxRecords"
76
+ },
77
+ "total_count_ldpath": "vivo:count",
78
+ "results": {
79
+ "label_ldpath": "skos:prefLabel ::xsd:string",
80
+ "sort_ldpath": "vivo:rank ::xsd:string"
81
+ },
82
+ "context": {
83
+ "groups": {
84
+ "hierarchy": {
85
+ "group_label_i18n": "qa.linked_data.authority.ligatus_ld4l_cache.hierarchy",
86
+ "group_label_default": "Hierarchy"
87
+ }
88
+ },
89
+ "properties": [
90
+ {
91
+ "property_label_i18n": "qa.linked_data.authority.ligatus_ld4l_cache.preferred_label",
92
+ "property_label_default": "Preferred label",
93
+ "ldpath": "skos:prefLabel :: xsd:string",
94
+ "selectable": true,
95
+ "drillable": false
96
+ },
97
+ {
98
+ "property_label_i18n": "qa.linked_data.authority.ligatus_ld4l_cache.alternative_label",
99
+ "property_label_default": "Alternative label",
100
+ "ldpath": "skos:altLabel :: xsd:string",
101
+ "selectable": true,
102
+ "drillable": false
103
+ },
104
+ {
105
+ "group_id": "hierarchy",
106
+ "property_label_i18n": "qa.linked_data.authority.ligatus_ld4l_cache.narrower",
107
+ "property_label_default": "Narrower",
108
+ "ldpath": "skos:narrower :: xsd:string",
109
+ "selectable": true,
110
+ "drillable": true,
111
+ "expansion_label_ldpath": "skos:prefLabel ::xsd:string"
112
+ },
113
+ {
114
+ "group_id": "hierarchy",
115
+ "property_label_i18n": "qa.linked_data.authority.ligatus_ld4l_cache.broader",
116
+ "property_label_default": "Broader",
117
+ "ldpath": "skos:broader :: xsd:string",
118
+ "selectable": true,
119
+ "drillable": true,
120
+ "expansion_label_ldpath": "skos:prefLabel ::xsd:string"
121
+ },
122
+ {
123
+ "property_label_i18n": "qa.linked_data.authority.ligatus_ld4l_cache.scope_note",
124
+ "property_label_default": "Scope note",
125
+ "ldpath": "skos:scopeNote :: xsd:string",
126
+ "selectable": false,
127
+ "drillable": false
128
+ }
129
+ ]
130
+ }
131
+ }
132
+ }
133
+
@@ -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
+ }
@@ -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
+ }