qa_server 2.2.3 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/app/assets/stylesheets/qa_server/_authorities.scss +4 -1
  4. data/app/assets/stylesheets/qa_server/_check-status.scss +5 -0
  5. data/app/assets/stylesheets/qa_server/_monitor-status.scss +2 -2
  6. data/app/models/concerns/qa_server/performance_history_data_keys.rb +16 -3
  7. data/app/models/qa_server/performance_history.rb +54 -46
  8. data/app/prepends/prepended_linked_data/find_term.rb +51 -9
  9. data/app/prepends/prepended_linked_data/search_query.rb +37 -9
  10. data/app/prepends/prepended_rdf/rdf_graph.rb +55 -0
  11. data/app/presenters/concerns/qa_server/monitor_status/performance_datatable_behavior.rb +55 -21
  12. data/app/presenters/concerns/qa_server/monitor_status/performance_graph_behavior.rb +54 -25
  13. data/app/presenters/qa_server/monitor_status_presenter.rb +11 -8
  14. data/app/services/qa_server/performance_calculator_service.rb +50 -47
  15. data/app/services/qa_server/performance_graph_data_service.rb +13 -12
  16. data/app/services/qa_server/performance_graphing_service.rb +49 -40
  17. data/app/views/qa_server/monitor_status/_performance.html.erb +107 -32
  18. data/config/locales/qa_server.en.yml +9 -2
  19. data/lib/generators/qa_server/config_generator.rb +1 -0
  20. data/lib/generators/qa_server/templates/config/authorities/linked_data/agrovoc_ld4l_cache.json +8 -1
  21. data/lib/generators/qa_server/templates/config/authorities/linked_data/dbpedia_ld4l_cache.json +8 -1
  22. data/lib/generators/qa_server/templates/config/authorities/linked_data/geonames_ld4l_cache.json +11 -1
  23. data/lib/generators/qa_server/templates/config/authorities/linked_data/getty_aat_ld4l_cache.json +8 -1
  24. data/lib/generators/qa_server/templates/config/authorities/linked_data/getty_tgn_ld4l_cache.json +8 -1
  25. data/lib/generators/qa_server/templates/config/authorities/linked_data/getty_ulan_ld4l_cache.json +8 -1
  26. data/lib/generators/qa_server/templates/config/authorities/linked_data/locdemographics_ld4l_cache.json +2 -1
  27. data/lib/generators/qa_server/templates/config/authorities/linked_data/locnames_ld4l_cache.json +51 -42
  28. data/lib/generators/qa_server/templates/config/authorities/linked_data/locnames_rwo_ld4l_cache.json +237 -0
  29. data/lib/generators/qa_server/templates/config/authorities/linked_data/locperformance_ld4l_cache.json +75 -3
  30. data/lib/generators/qa_server/templates/config/authorities/linked_data/mesh_nlm_ld4l_cache.json +8 -1
  31. data/lib/generators/qa_server/templates/config/authorities/linked_data/nalt_ld4l_cache.json +8 -1
  32. data/lib/generators/qa_server/templates/config/authorities/linked_data/oclcfast_ld4l_cache.json +8 -1
  33. data/lib/generators/qa_server/templates/config/authorities/linked_data/rda_registry_ld4l_cache.json +193 -0
  34. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_ld4l_cache_validation.yml +3 -18
  35. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_rwo_ld4l_cache_validation.yml +27 -0
  36. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locperformance_ld4l_cache_validation.yml +1 -0
  37. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/rda_registry_ld4l_cache_validation.yml +255 -0
  38. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/wikidata_direct_validation.yml +6 -0
  39. data/lib/generators/qa_server/templates/config/authorities/linked_data/wikidata_direct.json +32 -0
  40. data/lib/generators/qa_server/templates/config/initializers/qa_server.rb +14 -5
  41. data/lib/generators/qa_server/templates/db/migrate/20191007134527_update_performance_history_table.rb.erb +19 -0
  42. data/lib/qa_server/configuration.rb +27 -5
  43. data/lib/qa_server/version.rb +1 -1
  44. metadata +10 -2
@@ -1,44 +1,75 @@
1
- <% if @presenter.display_performance? && @presenter.performance_data? %>
1
+ <% if @presenter.display_performance? && @presenter.performance_data? %>
2
2
  <div id="performance-data" class="status-section">
3
3
  <h3><%= t('qa_server.monitor_status.performance.title') %></h3>
4
4
 
5
- <% if @presenter.display_performance_graph? %>
5
+ <% if @presenter.display_performance_graph? %>
6
6
  <script>
7
- function switch_performance_view(base_id, time_period) {
8
- document.getElementById(base_id+'-during-day').className = 'performance-data-section-hidden';
9
- document.getElementById(base_id+'-during-month').className = 'performance-data-section-hidden';
10
- document.getElementById(base_id+'-during-year').className = 'performance-data-section-hidden';
11
- document.getElementById(base_id+'-during-'+time_period).className = 'performance-data-section-visible';
7
+ function switch_performance_view(base_id, time_period, action) {
8
+ document.getElementById(base_id+'<%= @presenter.performance_graph_data_section_id(action: :all_actions, time_period: :day) %>').className = 'performance-data-section-hidden';
9
+ document.getElementById(base_id+'<%= @presenter.performance_graph_data_section_id(action: :all_actions, time_period: :month) %>').className = 'performance-data-section-hidden';
10
+ document.getElementById(base_id+'<%= @presenter.performance_graph_data_section_id(action: :all_actions, time_period: :year) %>').className = 'performance-data-section-hidden';
11
+ document.getElementById(base_id+'<%= @presenter.performance_graph_data_section_id(action: :search, time_period: :day) %>').className = 'performance-data-section-hidden';
12
+ document.getElementById(base_id+'<%= @presenter.performance_graph_data_section_id(action: :search, time_period: :month) %>').className = 'performance-data-section-hidden';
13
+ document.getElementById(base_id+'<%= @presenter.performance_graph_data_section_id(action: :search, time_period: :year) %>').className = 'performance-data-section-hidden';
14
+ document.getElementById(base_id+'<%= @presenter.performance_graph_data_section_id(action: :fetch, time_period: :day) %>').className = 'performance-data-section-hidden';
15
+ document.getElementById(base_id+'<%= @presenter.performance_graph_data_section_id(action: :fetch, time_period: :month) %>').className = 'performance-data-section-hidden';
16
+ document.getElementById(base_id+'<%= @presenter.performance_graph_data_section_id(action: :fetch, time_period: :year) %>').className = 'performance-data-section-hidden';
17
+ document.getElementById(base_id+'-'+action+'-during-'+time_period).className = 'performance-data-section-visible';
12
18
  }
13
19
  </script>
14
20
 
15
- <% @presenter.performance_graphs.each do |graph_info| %>
21
+ <% @presenter.performance_graphs.each do |graph_info| %>
22
+ <% time_period = @presenter.performance_graph_time_period(graph_info) %>
23
+ <% action = @presenter.performance_graph_action(graph_info) %>
16
24
  <div id="<%= @presenter.performance_graph_data_section_id(graph_info) %>" class="<%= @presenter.performance_data_section_class(graph_info) %>">
17
- <div class="right-menu-section">
25
+ <div class="performance-graph-menu-section">
18
26
  <h4><%= @presenter.performance_graph_authority(graph_info) %></h4>
19
- <ul class="right-menu">
20
- <% if @presenter.performance_day_graph_selected?(graph_info) %>
27
+ <ul class="time-period-menu">
28
+ <% if @presenter.performance_day_graph?(graph_info) %>
21
29
  <li class="selected"><%= t('qa_server.monitor_status.performance.menu_day') %></li>
22
30
  <% else %>
23
- <li class="clickable" onClick="switch_performance_view('<%= @presenter.performance_graph_data_section_base_id(graph_info) %>', 'day')">
31
+ <li class="clickable" onClick="switch_performance_view('<%= @presenter.performance_graph_data_section_base_id(graph_info) %>', 'day', '<%= action %>')">
24
32
  <%= t('qa_server.monitor_status.performance.menu_day') %>
25
33
  </li>
26
34
  <% end %>
27
- <% if @presenter.performance_month_graph_selected?(graph_info) %>
35
+ <% if @presenter.performance_month_graph?(graph_info) %>
28
36
  <li class="selected"><%= t('qa_server.monitor_status.performance.menu_month') %></li>
29
37
  <% else %>
30
- <li class="clickable" onClick="switch_performance_view('<%= @presenter.performance_graph_data_section_base_id(graph_info) %>', 'month')">
38
+ <li class="clickable" onClick="switch_performance_view('<%= @presenter.performance_graph_data_section_base_id(graph_info) %>', 'month', '<%= action %>')">
31
39
  <%= t('qa_server.monitor_status.performance.menu_month') %>
32
40
  </li>
33
41
  <% end %>
34
- <% if @presenter.performance_year_graph_selected?(graph_info) %>
42
+ <% if @presenter.performance_year_graph?(graph_info) %>
35
43
  <li class="selected"><%= t('qa_server.monitor_status.performance.menu_year') %></li>
36
44
  <% else %>
37
- <li class="clickable" onClick="switch_performance_view('<%= @presenter.performance_graph_data_section_base_id(graph_info) %>', 'year')">
45
+ <li class="clickable" onClick="switch_performance_view('<%= @presenter.performance_graph_data_section_base_id(graph_info) %>', 'year', '<%= action %>')">
38
46
  <%= t('qa_server.monitor_status.performance.menu_year') %>
39
47
  </li>
40
48
  <% end %>
41
49
  </ul>
50
+ <ul class="action-menu">
51
+ <% if @presenter.performance_all_actions_graph?(graph_info) %>
52
+ <li class="selected"><%= t('qa_server.monitor_status.performance.menu_all_actions') %></li>
53
+ <% else %>
54
+ <li class="clickable" onClick="switch_performance_view('<%= @presenter.performance_graph_data_section_base_id(graph_info) %>', '<%= time_period %>', 'all_actions')">
55
+ <%= t('qa_server.monitor_status.performance.menu_all_actions') %>
56
+ </li>
57
+ <% end %>
58
+ <% if @presenter.performance_search_graph?(graph_info) %>
59
+ <li class="selected"><%= t('qa_server.monitor_status.performance.menu_search') %></li>
60
+ <% else %>
61
+ <li class="clickable" onClick="switch_performance_view('<%= @presenter.performance_graph_data_section_base_id(graph_info) %>', '<%= time_period %>', 'search')">
62
+ <%= t('qa_server.monitor_status.performance.menu_search') %>
63
+ </li>
64
+ <% end %>
65
+ <% if @presenter.performance_fetch_graph?(graph_info) %>
66
+ <li class="selected"><%= t('qa_server.monitor_status.performance.menu_fetch') %></li>
67
+ <% else %>
68
+ <li class="clickable" onClick="switch_performance_view('<%= @presenter.performance_graph_data_section_base_id(graph_info) %>', '<%= time_period %>', 'fetch')">
69
+ <%= t('qa_server.monitor_status.performance.menu_fetch') %>
70
+ </li>
71
+ <% end %>
72
+ </ul>
42
73
  </div>
43
74
 
44
75
  <div id="<%= @presenter.performance_graph_id(graph_info) %>" class="performance-chart">
@@ -46,45 +77,89 @@
46
77
  <%= image_tag(@presenter.performance_graph(graph_info), alt: @presenter.performance_graph_label(graph_info)) %>
47
78
  </div>
48
79
  </div>
49
- <% end %>
50
- </div>
51
80
  <% end %>
81
+ </div>
82
+ <% end %>
52
83
 
53
- <% if @presenter.display_performance_datatable? %>
84
+ <% if @presenter.display_performance_datatable? %>
54
85
  <div id="performance-datatable-section">
55
86
  <h4><%= @presenter.performance_table_description %></h4>
56
87
  <table class="status">
57
88
  <tr>
58
89
  <th></th>
90
+ <th colspan="3" class="table_subheading"><%= t('qa_server.monitor_status.performance.search') %></th>
91
+ <th colspan="3" class="table_subheading"><%= t('qa_server.monitor_status.performance.fetch') %></th>
92
+ <th colspan="3" class="table_subheading"><%= t('qa_server.monitor_status.performance.all_actions') %></th>
93
+ </tr>
94
+ <tr>
95
+ <th></th>
96
+ <th><%= t('qa_server.monitor_status.performance.slowest_times') %></th>
97
+ <th><%= t('qa_server.monitor_status.performance.average_times') %></th>
98
+ <th><%= t('qa_server.monitor_status.performance.fastest_times') %></th>
99
+ <th><%= t('qa_server.monitor_status.performance.slowest_times') %></th>
100
+ <th><%= t('qa_server.monitor_status.performance.average_times') %></th>
101
+ <th><%= t('qa_server.monitor_status.performance.fastest_times') %></th>
59
102
  <th><%= t('qa_server.monitor_status.performance.slowest_times') %></th>
60
103
  <th><%= t('qa_server.monitor_status.performance.average_times') %></th>
61
104
  <th><%= t('qa_server.monitor_status.performance.fastest_times') %></th>
62
105
  </tr>
63
106
  <% @presenter.performance_data.each do |authority_name, data| %>
64
- <% stats = @presenter.datatable_stats(data) %>
107
+ <% search_stats = @presenter.datatable_search_stats(data) %>
108
+ <% fetch_stats = @presenter.datatable_fetch_stats(data) %>
109
+ <% all_actions_stats = @presenter.datatable_all_actions_stats(data) %>
65
110
  <tr>
66
- <td class="table_subheading" colspan="4"><%= authority_name %></td>
111
+ <td class="table_subheading" colspan="10"><%= authority_name %></td>
67
112
  </tr>
68
113
  <tr>
69
- <th><%= t('qa_server.monitor_status.performance.load_times') %></th>
70
- <td class="status-neutral"><%= @presenter.high_load(stats) %></td>
71
- <td class="status-neutral"><%= @presenter.avg_load(stats) %></td>
72
- <td class="status-neutral"><%= @presenter.low_load(stats) %></td>
114
+ <th><%= t('qa_server.monitor_status.performance.retrieve_times') %></th>
115
+ <td class="<%= @presenter.high_full_request_style(search_stats) %>"><%= @presenter.high_retrieve(search_stats) %></td>
116
+ <td class="<%= @presenter.datatable_data_style(search_stats) %>"><%= @presenter.avg_retrieve(search_stats) %></td>
117
+ <td class="<%= @presenter.datatable_data_style(search_stats) %>"><%= @presenter.low_retrieve(search_stats) %></td>
118
+ <td class="<%= @presenter.datatable_data_style(fetch_stats) %>"><%= @presenter.high_retrieve(fetch_stats) %></td>
119
+ <td class="<%= @presenter.datatable_data_style(fetch_stats) %>"><%= @presenter.avg_retrieve(fetch_stats) %></td>
120
+ <td class="<%= @presenter.datatable_data_style(fetch_stats) %>"><%= @presenter.low_retrieve(fetch_stats) %></td>
121
+ <td class="<%= @presenter.datatable_data_style(all_actions_stats) %>"><%= @presenter.high_retrieve(all_actions_stats) %></td>
122
+ <td class="<%= @presenter.datatable_data_style(all_actions_stats) %>"><%= @presenter.avg_retrieve(all_actions_stats) %></td>
123
+ <td class="<%= @presenter.datatable_data_style(all_actions_stats) %>"><%= @presenter.low_retrieve(all_actions_stats) %></td>
124
+ </tr>
125
+ <tr>
126
+ <th><%= t('qa_server.monitor_status.performance.graph_load_times') %></th>
127
+ <td class="<%= @presenter.datatable_data_style(search_stats) %>"><%= @presenter.high_graph_load(search_stats) %></td>
128
+ <td class="<%= @presenter.datatable_data_style(search_stats) %>"><%= @presenter.avg_graph_load(search_stats) %></td>
129
+ <td class="<%= @presenter.datatable_data_style(search_stats) %>"><%= @presenter.low_graph_load(search_stats) %></td>
130
+ <td class="<%= @presenter.datatable_data_style(fetch_stats) %>"><%= @presenter.high_graph_load(fetch_stats) %></td>
131
+ <td class="<%= @presenter.datatable_data_style(fetch_stats) %>"><%= @presenter.avg_graph_load(fetch_stats) %></td>
132
+ <td class="<%= @presenter.datatable_data_style(fetch_stats) %>"><%= @presenter.low_graph_load(fetch_stats) %></td>
133
+ <td class="<%= @presenter.datatable_data_style(all_actions_stats) %>"><%= @presenter.high_graph_load(all_actions_stats) %></td>
134
+ <td class="<%= @presenter.datatable_data_style(all_actions_stats) %>"><%= @presenter.avg_graph_load(all_actions_stats) %></td>
135
+ <td class="<%= @presenter.datatable_data_style(all_actions_stats) %>"><%= @presenter.low_graph_load(all_actions_stats) %></td>
73
136
  </tr>
74
137
  <tr>
75
138
  <th><%= t('qa_server.monitor_status.performance.normalization_times') %></th>
76
- <td class="status-neutral"><%= @presenter.high_normalization(stats) %></td>
77
- <td class="status-neutral"><%= @presenter.avg_normalization(stats) %></td>
78
- <td class="status-neutral"><%= @presenter.low_normalization(stats) %></td>
139
+ <td class="<%= @presenter.datatable_data_style(search_stats) %>"><%= @presenter.high_normalization(search_stats) %></td>
140
+ <td class="<%= @presenter.datatable_data_style(search_stats) %>"><%= @presenter.avg_normalization(search_stats) %></td>
141
+ <td class="<%= @presenter.datatable_data_style(search_stats) %>"><%= @presenter.low_normalization(search_stats) %></td>
142
+ <td class="<%= @presenter.datatable_data_style(fetch_stats) %>"><%= @presenter.high_normalization(fetch_stats) %></td>
143
+ <td class="<%= @presenter.datatable_data_style(fetch_stats) %>"><%= @presenter.avg_normalization(fetch_stats) %></td>
144
+ <td class="<%= @presenter.datatable_data_style(fetch_stats) %>"><%= @presenter.low_normalization(fetch_stats) %></td>
145
+ <td class="<%= @presenter.datatable_data_style(all_actions_stats) %>"><%= @presenter.high_normalization(all_actions_stats) %></td>
146
+ <td class="<%= @presenter.datatable_data_style(all_actions_stats) %>"><%= @presenter.avg_normalization(all_actions_stats) %></td>
147
+ <td class="<%= @presenter.datatable_data_style(all_actions_stats) %>"><%= @presenter.low_normalization(all_actions_stats) %></td>
79
148
  </tr>
80
149
  <tr>
81
150
  <th><%= t('qa_server.monitor_status.performance.full_request_times') %></th>
82
- <td class="<%= @presenter.high_full_request_style(stats) %>"><%= @presenter.high_full_request(stats) %></td>
83
- <td class="<%= @presenter.avg_full_request_style(stats) %>"><%= @presenter.avg_full_request(stats) %></td>
84
- <td class="<%= @presenter.low_full_request_style(stats) %>"><%= @presenter.low_full_request(stats) %></td>
151
+ <td class="<%= @presenter.high_full_request_style(search_stats) %>"><%= @presenter.high_full_request(search_stats) %></td>
152
+ <td class="<%= @presenter.avg_full_request_style(search_stats) %>"><%= @presenter.avg_full_request(search_stats) %></td>
153
+ <td class="<%= @presenter.low_full_request_style(search_stats) %>"><%= @presenter.low_full_request(search_stats) %></td>
154
+ <td class="<%= @presenter.high_full_request_style(fetch_stats) %>"><%= @presenter.high_full_request(fetch_stats) %></td>
155
+ <td class="<%= @presenter.avg_full_request_style(fetch_stats) %>"><%= @presenter.avg_full_request(fetch_stats) %></td>
156
+ <td class="<%= @presenter.low_full_request_style(fetch_stats) %>"><%= @presenter.low_full_request(fetch_stats) %></td>
157
+ <td class="<%= @presenter.high_full_request_style(all_actions_stats) %>"><%= @presenter.high_full_request(all_actions_stats) %></td>
158
+ <td class="<%= @presenter.avg_full_request_style(all_actions_stats) %>"><%= @presenter.avg_full_request(all_actions_stats) %></td>
159
+ <td class="<%= @presenter.low_full_request_style(all_actions_stats) %>"><%= @presenter.low_full_request(all_actions_stats) %></td>
85
160
  </tr>
86
161
  <% end %>
87
162
  </table>
88
163
  </div>
89
- <% end %>
90
164
  <% end %>
165
+ <% end %>
@@ -76,12 +76,19 @@ en:
76
76
  percent_failing: Percent Failing
77
77
  performance:
78
78
  title: Performance Metrics
79
+ search: Search Only
80
+ fetch: Fetch Only
81
+ all_actions: All Actions
79
82
  menu_day: Day
80
83
  menu_month: Month
81
84
  menu_year: Year
82
- load_time_ms: Load Time (ms)
85
+ menu_all_actions: All Requests
86
+ menu_search: Search
87
+ menu_fetch: Fetch
88
+ graph_load_time_ms: Graph Load Time (ms)
83
89
  normalization_time_ms: Normalization Time (ms)
84
- full_request_time_ms: Full Request Time (ms)
90
+ retrieve_time_ms: Retrieve Time (ms)
91
+ full_request_time_ms: Full Request Time (ms)
85
92
  x_axis_hour: Hour
86
93
  x_axis_day: Day
87
94
  x_axis_month: Month
@@ -40,6 +40,7 @@ class QaServer::ConfigGenerator < Rails::Generators::Base
40
40
  "\n config.to_prepare do"\
41
41
  "\n Qa::Authorities::LinkedData::FindTerm.prepend PrependedLinkedData::FindTerm"\
42
42
  "\n Qa::Authorities::LinkedData::SearchQuery.prepend PrependedLinkedData::SearchQuery"\
43
+ "\n RDF::Graph.prepend PrependedRdf::RdfGraph"\
43
44
  "\n end\n"
44
45
  end
45
46
  end
@@ -35,7 +35,7 @@
35
35
  "url": {
36
36
  "@context": "http://www.w3.org/ns/hydra/context.jsonld",
37
37
  "@type": "IriTemplate",
38
- "template": "http://services.ld4l.org/ld4l_services/agrovoc_batch.jsp?{?query}&{?maxRecords}&{?entity}&{?lang}",
38
+ "template": "http://services.ld4l.org/ld4l_services/agrovoc_batch.jsp?{?query}&{?maxRecords}&{?startRecord}&{?entity}&{?lang}",
39
39
  "variableRepresentation": "BasicRepresentation",
40
40
  "mapping": [
41
41
  {
@@ -59,6 +59,13 @@
59
59
  "required": false,
60
60
  "default": "20"
61
61
  },
62
+ {
63
+ "@type": "IriTemplateMapping",
64
+ "variable": "startRecord",
65
+ "property": "hydra:freetextQuery",
66
+ "required": false,
67
+ "default": "1"
68
+ },
62
69
  {
63
70
  "@type": "IriTemplateMapping",
64
71
  "variable": "lang",
@@ -34,7 +34,7 @@
34
34
  "url": {
35
35
  "@context": "http://www.w3.org/ns/hydra/context.jsonld",
36
36
  "@type": "IriTemplate",
37
- "template": "http://services.ld4l.org/ld4l_services/dbpedia_name_batch.jsp?{?entity}&{?query}&{?maxRecords}&{?lang}",
37
+ "template": "http://services.ld4l.org/ld4l_services/dbpedia_name_batch.jsp?{?entity}&{?query}&{?maxRecords}&{?startRecord}&{?lang}",
38
38
  "variableRepresentation": "BasicRepresentation",
39
39
  "mapping": [
40
40
  {
@@ -58,6 +58,13 @@
58
58
  "required": false,
59
59
  "default": "20"
60
60
  },
61
+ {
62
+ "@type": "IriTemplateMapping",
63
+ "variable": "startRecord",
64
+ "property": "hydra:freetextQuery",
65
+ "required": false,
66
+ "default": "1"
67
+ },
61
68
  {
62
69
  "@type": "IriTemplateMapping",
63
70
  "variable": "lang",
@@ -36,7 +36,7 @@
36
36
  "url": {
37
37
  "@context": "http://www.w3.org/ns/hydra/context.jsonld",
38
38
  "@type": "IriTemplate",
39
- "template": "http://services.ld4l.org/ld4l_services/geonames_batch.jsp?{?query}&{?entity}&{?maxRecords}&{?lang}",
39
+ "template": "http://services.ld4l.org/ld4l_services/geonames_batch.jsp?{?query}&{?entity}&{?maxRecords}&{?startRecord}&{?lang}",
40
40
  "variableRepresentation": "BasicRepresentation",
41
41
  "mapping": [
42
42
  {
@@ -60,6 +60,13 @@
60
60
  "required": false,
61
61
  "default": "20"
62
62
  },
63
+ {
64
+ "@type": "IriTemplateMapping",
65
+ "variable": "startRecord",
66
+ "property": "hydra:freetextQuery",
67
+ "required": false,
68
+ "default": "1"
69
+ },
63
70
  {
64
71
  "@type": "IriTemplateMapping",
65
72
  "variable": "lang",
@@ -85,6 +92,7 @@
85
92
  "property_label_i18n": "qa.linked_data.authority.geonames_ld4l_cache.parent_adm1_label",
86
93
  "property_label_default": "Parent",
87
94
  "ldpath": "geonames:parentADM1 :: xsd:string",
95
+ "expansion_label_ldpath": "geonames:name ::xsd:string",
88
96
  "selectable": false,
89
97
  "drillable": false
90
98
  },
@@ -92,6 +100,7 @@
92
100
  "property_label_i18n": "qa.linked_data.authority.geonames_ld4l_cache.parent_adm2_label",
93
101
  "property_label_default": "Parent2",
94
102
  "ldpath": "geonames:parentADM2 :: xsd:string",
103
+ "expansion_label_ldpath": "geonames:name ::xsd:string",
95
104
  "selectable": false,
96
105
  "drillable": false
97
106
  },
@@ -99,6 +108,7 @@
99
108
  "property_label_i18n": "qa.linked_data.authority.geonames_ld4l_cache.parent_country_label",
100
109
  "property_label_default": "Parent Country",
101
110
  "ldpath": "geonames:parentCountry :: xsd:string",
111
+ "expansion_label_ldpath": "geonames:name ::xsd:string",
102
112
  "selectable": false,
103
113
  "drillable": false
104
114
  },
@@ -36,7 +36,7 @@
36
36
  "url": {
37
37
  "@context": "http://www.w3.org/ns/hydra/context.jsonld",
38
38
  "@type": "IriTemplate",
39
- "template": "http://services.ld4l.org/ld4l_services/getty_batch.jsp?{?query}&entity=Concept&{?maxRecords}&{?lang}",
39
+ "template": "http://services.ld4l.org/ld4l_services/getty_batch.jsp?{?query}&entity=Concept&{?maxRecords}&{?startRecord}&{?lang}",
40
40
  "variableRepresentation": "BasicRepresentation",
41
41
  "mapping": [
42
42
  {
@@ -60,6 +60,13 @@
60
60
  "required": false,
61
61
  "default": "20"
62
62
  },
63
+ {
64
+ "@type": "IriTemplateMapping",
65
+ "variable": "startRecord",
66
+ "property": "hydra:freetextQuery",
67
+ "required": false,
68
+ "default": "1"
69
+ },
63
70
  {
64
71
  "@type": "IriTemplateMapping",
65
72
  "variable": "lang",
@@ -37,7 +37,7 @@
37
37
  "url": {
38
38
  "@context": "http://www.w3.org/ns/hydra/context.jsonld",
39
39
  "@type": "IriTemplate",
40
- "template": "http://services.ld4l.org/ld4l_services/getty_batch.jsp?{?query}&entity=Place&{?maxRecords}&{?lang}",
40
+ "template": "http://services.ld4l.org/ld4l_services/getty_batch.jsp?{?query}&entity=Place&{?maxRecords}&{?startRecord}&{?lang}",
41
41
  "variableRepresentation": "BasicRepresentation",
42
42
  "mapping": [
43
43
  {
@@ -54,6 +54,13 @@
54
54
  "required": false,
55
55
  "default": "20"
56
56
  },
57
+ {
58
+ "@type": "IriTemplateMapping",
59
+ "variable": "startRecord",
60
+ "property": "hydra:freetextQuery",
61
+ "required": false,
62
+ "default": "1"
63
+ },
57
64
  {
58
65
  "@type": "IriTemplateMapping",
59
66
  "variable": "lang",
@@ -36,7 +36,7 @@
36
36
  "url": {
37
37
  "@context": "http://www.w3.org/ns/hydra/context.jsonld",
38
38
  "@type": "IriTemplate",
39
- "template": "http://services.ld4l.org/ld4l_services/getty_batch.jsp?{?query}&{?entity}&{?maxRecords}&{?lang}",
39
+ "template": "http://services.ld4l.org/ld4l_services/getty_batch.jsp?{?query}&{?entity}&{?maxRecords}&{?startRecord}&{?lang}",
40
40
  "variableRepresentation": "BasicRepresentation",
41
41
  "mapping": [
42
42
  {
@@ -60,6 +60,13 @@
60
60
  "required": false,
61
61
  "default": "20"
62
62
  },
63
+ {
64
+ "@type": "IriTemplateMapping",
65
+ "variable": "startRecord",
66
+ "property": "hydra:freetextQuery",
67
+ "required": false,
68
+ "default": "1"
69
+ },
63
70
  {
64
71
  "@type": "IriTemplateMapping",
65
72
  "variable": "lang",
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "QA_CONFIG_VERSION": "2.1",
3
3
  "prefixes": {
4
+ "loc": "http://id.loc.gov/vocabulary/identifiers/",
4
5
  "madsrdf": "http://www.loc.gov/mads/rdf/v1#",
5
6
  "vivo": "http://vivoweb.org/ontology/core#"
6
7
  },
@@ -120,7 +121,7 @@
120
121
  {
121
122
  "property_label_i18n": "qa.linked_data.authority.locdemographics_ld4l_cache.earlier_form",
122
123
  "property_label_default": "Earlier form",
123
- "ldpath": "madsrdf:hasEarlierEstablishedForm/madsrdf:variantLabel :: xsd:string",
124
+ "ldpath": "madsrdf:hasEarlierEstablishedForm/madsrdf:authoritativeLabel :: xsd:string",
124
125
  "selectable": false,
125
126
  "drillable": false
126
127
  },
@@ -26,9 +26,9 @@
26
26
  },
27
27
  "term_id": "URI",
28
28
  "results": {
29
- "id_ldpath": "loc:lccn | madsrdf:code ::xsd:string",
30
- "label_ldpath": "skos:prefLabel ::xsd:string",
31
- "altlabel_ldpath": "skos:altLabel ::xsd:string",
29
+ "id_ldpath": "loc:lccn ::xsd:string",
30
+ "label_ldpath": "madsrdf:authoritativeLabel ::xsd:string",
31
+ "altlabel_ldpath": "madsrdf:hasVariant/madsrdf:variantLabel ::xsd:string",
32
32
  "sameas_ldpath": "skos:exactMatch ::xsd:anyURI"
33
33
  }
34
34
  },
@@ -36,7 +36,7 @@
36
36
  "url": {
37
37
  "@context": "http://www.w3.org/ns/hydra/context.jsonld",
38
38
  "@type": "IriTemplate",
39
- "template": "http://services.ld4l.org/ld4l_services/loc_name_batch.jsp?{?query}&{?maxRecords}&{?entity}&{?lang}",
39
+ "template": "http://services.ld4l.org/ld4l_services/loc_name_batch.jsp?{?query}&{?maxRecords}&{?startRecord}&{?entity}&{?lang}",
40
40
  "variableRepresentation": "BasicRepresentation",
41
41
  "mapping": [
42
42
  {
@@ -60,6 +60,13 @@
60
60
  "required": false,
61
61
  "default": "20"
62
62
  },
63
+ {
64
+ "@type": "IriTemplateMapping",
65
+ "variable": "startRecord",
66
+ "property": "hydra:freetextQuery",
67
+ "required": false,
68
+ "default": "1"
69
+ },
63
70
  {
64
71
  "@type": "IriTemplateMapping",
65
72
  "variable": "lang",
@@ -74,8 +81,8 @@
74
81
  "subauth": "entity"
75
82
  },
76
83
  "results": {
77
- "id_ldpath": "loc:lccn | madsrdf:code ::xsd:string",
78
- "label_ldpath": "skos:prefLabel ::xsd:string",
84
+ "id_ldpath": "loc:lccn ::xsd:string",
85
+ "label_ldpath": "madsrdf:authoritativeLabel ::xsd:string",
79
86
  "sort_ldpath": "vivo:rank ::xsd:string"
80
87
  },
81
88
  "context": {
@@ -83,81 +90,83 @@
83
90
  "dates": {
84
91
  "group_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.dates",
85
92
  "group_label_default": "Dates"
93
+ },
94
+ "places": {
95
+ "group_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.places",
96
+ "group_label_default": "Places"
86
97
  }
87
98
  },
88
99
  "properties": [
89
100
  {
90
- "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.authoritative_label",
91
- "property_label_default": "Authoritative Label",
101
+ "property_label_default": "Preferred label",
102
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.type_label",
92
103
  "ldpath": "madsrdf:authoritativeLabel :: xsd:string",
93
104
  "selectable": true,
94
105
  "drillable": false
95
106
  },
96
107
  {
108
+ "property_label_default": "Type",
109
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.type_label",
110
+ "ldpath": "rdf:type :: xsd:string",
111
+ "selectable": false,
112
+ "drillable": false
113
+ },
114
+ {
115
+ "property_label_default": "Variant label",
97
116
  "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.variant_label",
98
- "property_label_default": "Variant Label",
99
117
  "ldpath": "madsrdf:hasVariant/madsrdf:variantLabel :: xsd:string",
100
118
  "selectable": false,
101
119
  "drillable": false
102
120
  },
103
121
  {
104
- "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.field_of_activity",
105
- "property_label_default": "Field of Activity",
106
- "ldpath": "(madsrdf:identifiesRWO/madsrdf:fieldOfActivity/rdfs:label) | (madsrdf:identifiesRWO/madsrdf:fieldOfActivity/madsrdf:authoritativeLabel) :: xsd:string",
122
+ "property_label_default": "Citation note",
123
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.citation_note",
124
+ "ldpath": "madsrdf:hasSource/madsrdf:citation-note :: xsd:string",
107
125
  "selectable": false,
108
126
  "drillable": false
109
127
  },
110
128
  {
111
- "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.occupation",
112
- "property_label_default": "Occupation",
113
- "ldpath": "madsrdf:identifiesRWO/madsrdf:occupation/madsrdf:authoritativeLabel :: xsd:string",
129
+ "property_label_default": "Citation source",
130
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.citation_source",
131
+ "ldpath": "madsrdf:hasSource/madsrdf:citation-source :: xsd:string",
114
132
  "selectable": false,
115
133
  "drillable": false
116
134
  },
117
135
  {
118
- "group_id": "dates",
119
- "property_label_default": "Birth: ",
120
- "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.birth_date",
121
- "ldpath": "madsrdf:identifiesRWO/madsrdf:birthDate/rdfs:label :: xsd:string",
136
+ "property_label_default": "Citation status",
137
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.citation_status",
138
+ "ldpath": "madsrdf:hasSource/madsrdf:citation-status :: xsd:string",
122
139
  "selectable": false,
123
140
  "drillable": false
124
141
  },
125
142
  {
126
- "group_id": "dates",
127
- "property_label_default": "Death: ",
128
- "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.death_date",
129
- "ldpath": "madsrdf:identifiesRWO/madsrdf:deathDate/rdfs:label :: xsd:string",
143
+ "property_label_default": "Earlier established form",
144
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.ealier_established_form",
145
+ "ldpath": "madsrdf:hasEarlierEstablishedForm/madsrdf:authoritativeLabel :: xsd:string",
130
146
  "selectable": false,
131
- "drillable": false
147
+ "drillable": false,
148
+ "subauth": ["conference"]
132
149
  },
133
150
  {
134
- "group_id": "dates",
135
- "property_label_default": "Start: ",
136
- "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.activity_state_date",
137
- "ldpath": "madsrdf:identifiesRWO/madsrdf:activityStartDate/rdfs:label :: xsd:string",
151
+ "property_label_default": "Later established form",
152
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.later_established_form",
153
+ "ldpath": "madsrdf:hasLaterEstablishedForm/madsrdf:authoritativeLabel :: xsd:string",
138
154
  "selectable": false,
139
- "drillable": false
155
+ "drillable": false,
156
+ "subauth": ["conference"]
140
157
  },
141
158
  {
142
- "group_id": "dates",
143
- "property_label_default": "End: ",
144
- "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.activity_end_date",
145
- "ldpath": "madsrdf:identifiesRWO/madsrdf:activityEndDate/rdfs:label :: xsd:string",
159
+ "property_label_default": "Editorial note",
160
+ "property_label_i18n": "qa.linked_data.authority.locnames_ld4l_cache.editorial_note",
161
+ "ldpath": "madsrdf:editorialNote :: xsd:string",
146
162
  "selectable": false,
147
163
  "drillable": false
148
164
  }
149
165
  ]
150
166
  },
151
167
  "subauthorities": {
152
- "person": "Person",
153
- "personal_name": "Person",
154
- "organization": "Organization",
155
- "corporate_name": "Organization",
156
- "place": "Place",
157
- "intangible": "Intangible",
158
- "geocoordinates": "GeoCoordinates",
159
- "work": "Work",
160
- "title": "Work"
168
+ "geographic": "Geographic",
169
+ "conference": "ConferenceName"
161
170
  }
162
171
  }
163
172
  }