qa_server 7.2.0 → 7.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop_fixme.yml +6 -0
  3. data/.travis.yml +4 -5
  4. data/CHANGELOG.md +38 -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 +105 -105
  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 +18 -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/services/concerns/qa_server/gruff_graph.rb +16 -16
  47. data/app/services/qa_server/authority_loader_service.rb +14 -14
  48. data/app/services/qa_server/authority_validator_service.rb +1 -0
  49. data/app/services/qa_server/database_migrator.rb +14 -14
  50. data/app/services/qa_server/history_graphing_service.rb +30 -30
  51. data/app/services/qa_server/performance_calculator_service.rb +80 -80
  52. data/app/services/qa_server/performance_datatable_service.rb +35 -35
  53. data/app/services/qa_server/performance_graph_data_service.rb +28 -28
  54. data/app/services/qa_server/performance_graphing_service.rb +58 -58
  55. data/app/services/qa_server/performance_per_byte_calculator_service.rb +88 -0
  56. data/app/services/qa_server/performance_per_byte_data_service.rb +41 -0
  57. data/app/services/qa_server/scenarios_loader_service.rb +1 -1
  58. data/app/services/qa_server/time_period_service.rb +21 -21
  59. data/app/validators/qa_server/scenario_validator.rb +99 -87
  60. data/app/validators/qa_server/search_scenario_validator.rb +67 -61
  61. data/app/validators/qa_server/term_scenario_validator.rb +20 -15
  62. data/app/views/qa_server/check_status/index.html.erb +120 -24
  63. data/config/i18n-tasks.yml +133 -0
  64. data/config/locales/qa_server.en.yml +15 -0
  65. data/lib/generators/qa_server/assets_generator.rb +4 -4
  66. data/lib/generators/qa_server/templates/config/authorities/linked_data/cerl_ld4l_cache.json +2 -2
  67. data/lib/generators/qa_server/templates/config/authorities/linked_data/getty_aat_ld4l_cache.json +62 -1
  68. data/lib/generators/qa_server/templates/config/authorities/linked_data/getty_tgn_ld4l_cache.json +28 -4
  69. data/lib/generators/qa_server/templates/config/authorities/linked_data/isni_ld4l_cache.json +90 -0
  70. data/lib/generators/qa_server/templates/config/authorities/linked_data/ligatus_ld4l_cache.json +133 -0
  71. data/lib/generators/qa_server/templates/config/authorities/linked_data/locnames_rwo2_ld4l_cache.json +248 -0
  72. data/lib/generators/qa_server/templates/config/authorities/linked_data/locnames_rwo3_ld4l_cache.json +248 -0
  73. data/lib/generators/qa_server/templates/config/authorities/linked_data/locvocabs_ld4l_cache.json +117 -0
  74. data/lib/generators/qa_server/templates/config/authorities/linked_data/mesh_nlm_ld4l_cache.json +135 -3
  75. data/lib/generators/qa_server/templates/config/authorities/linked_data/oclcfast_direct.json +1 -0
  76. data/lib/generators/qa_server/templates/config/authorities/linked_data/oclcfast_ld4l_cache.json +1 -4
  77. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/agrovoc_direct_validation.yml +31 -0
  78. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/agrovoc_ld4l_cache_validation.yml +31 -0
  79. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/cerl_ld4l_cache_validation.yml +23 -11
  80. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/dbpedia_ld4l_cache_validation.yml +33 -0
  81. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/geonames_direct_validation.yml +35 -0
  82. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/geonames_ld4l_cache_validation.yml +58 -5
  83. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/getty_aat_ld4l_cache_validation.yml +256 -0
  84. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/getty_tgn_ld4l_cache_validation.yml +35 -1
  85. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/getty_ulan_ld4l_cache_validation.yml +37 -0
  86. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/isni_ld4l_cache_validation.yml +10 -0
  87. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/ligatus_ld4l_cache_validation.yml +36 -0
  88. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locdemographics_ld4l_cache_validation.yml +73 -44
  89. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locgenres_ld4l_cache_validation.yml +31 -0
  90. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_ld4l_cache_validation.yml +71 -0
  91. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_rwo_ld4l_cache_validation.yml +70 -2
  92. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locperformance_ld4l_cache_validation.yml +6 -0
  93. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locsubjects_ld4l_cache_validation.yml +32 -0
  94. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locvocabs_ld4l_cache_validation.yml +184 -0
  95. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/mesh_nlm_ld4l_cache_validation.yml +51 -1
  96. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/nalt_ld4l_cache_validation.yml +37 -0
  97. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/oclc_fast_validation.yml +71 -5
  98. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/oclcfast_direct_validation.yml +66 -1
  99. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/oclcfast_ld4l_cache_validation.yml +57 -0
  100. data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/rda_registry_ld4l_cache_validation.yml +310 -0
  101. data/lib/qa_server/configuration.rb +28 -24
  102. data/lib/qa_server/version.rb +1 -1
  103. data/qa_server.gemspec +2 -1
  104. data/spec/feature/accuracy_spec.rb +32 -0
  105. data/spec/i18n_spec.rb +36 -0
  106. data/spec/spec_helper.rb +4 -0
  107. metadata +46 -12
  108. data/app/cache_processors/qa_server/performance_daily_graph_cache.rb +0 -60
  109. data/app/cache_processors/qa_server/performance_hourly_graph_cache.rb +0 -65
  110. data/app/cache_processors/qa_server/performance_monthly_graph_cache.rb +0 -60
@@ -1,6 +1,12 @@
1
1
  ---
2
2
  en:
3
3
  qa_server:
4
+ application_name: "Replace with your application's name"
5
+ application_version: "Replace with your application's version"
6
+ footer:
7
+ attribution_html: This service is supported by work on <a href="http://ld4l.org" class="navbar-link" target="_blank">Linked Data for Libraries - Labs</a> and <br> <a href="https://wiki.duraspace.org/x/9xgRBg" class="navbar-link" target="_blank">Linked Data for Production</a> funded by <a href="https://mellon.org/" class="navbar-link" target="_blank">Andrew W. Mellon Foundation</a>, <br>and by work on Questioning Authority in <a href="http://samvera.org" class="navbar-link" target="_blank">Samvera</a>, an open source community.
8
+ copyright_html: <strong>Copyright &copy; 2018-2020 Your Institution</strong> Licensed under the Apache License, Version 2.0
9
+ service_html: A service of <a href="http://your.institution.website/" class="navbar-link" target="_blank">Your Institution Name</a>.
4
10
  menu:
5
11
  home: Home
6
12
  usage: Usage
@@ -22,16 +28,21 @@ en:
22
28
  show_all: ALL Authorities (SLOW)
23
29
  connections: Check Connection Status only
24
30
  accuracy: Check Accuracy only
31
+ comparison: Compare Accuracy
25
32
  all_checks: Run all checks
26
33
  wait_message: "Please wait while the status is verified. This will be slow if you selected ALL Authorities."
27
34
  connection_checks: Connection Checks
28
35
  accuracy_checks: Accuracy Checks for Search Results
36
+ comparison_checks: Comparison of Accuracy Checks
29
37
  status_table:
38
+ before: Before
39
+ after: After
30
40
  action: Action
31
41
  actual_position: Actual Position
32
42
  authority: Authority
33
43
  errmsg: Errors
34
44
  expected_by_position: Expected by Position
45
+ request_data: Query
35
46
  service: Service
36
47
  status: Status
37
48
  subauthority: Subauthority
@@ -97,6 +108,10 @@ en:
97
108
  now: NOW
98
109
  today: TODAY
99
110
  datatable_desc: 'Performance tabulated data'
111
+ datatable_all_desc: 'All Data'
112
+ datatable_day_desc: 'Day'
113
+ datatable_month_desc: 'Month'
114
+ datatable_year_desc: 'Year'
100
115
  datarange: 'From %{from} to %{to}'
101
116
  authority: Authority
102
117
  average_times: Average (ms)
@@ -28,9 +28,9 @@ class QaServer::AssetsGenerator < Rails::Generators::Base
28
28
  end
29
29
  end
30
30
 
31
- private
31
+ private
32
32
 
33
- def qa_server_javascript_installed?
34
- IO.read("app/assets/javascripts/application.js").include?('qa_server')
35
- end
33
+ def qa_server_javascript_installed?
34
+ IO.read("app/assets/javascripts/application.js").include?('qa_server')
35
+ end
36
36
  end
@@ -4,8 +4,8 @@
4
4
  "prefixes": {
5
5
  "rdaGr2": "http://rdvocab.info/ElementsGr2/",
6
6
  "rdaGr3": "http://rdvocab.info/ElementsGr3/",
7
- "ct": "http://www.cerl.org/namespaces/thesaurus",
8
- "rdaRelGr2": "http://metadataregistry.org/uri/schema/RDARelationshipsGR2",
7
+ "ct": "http://www.cerl.org/namespaces/thesaurus/",
8
+ "rdaRelGr2": "http://metadataregistry.org/uri/schema/RDARelationshipsGR2/",
9
9
  "vivo": "http://vivoweb.org/ontology/core#"
10
10
  },
11
11
  "term": {
@@ -2,6 +2,7 @@
2
2
  "QA_CONFIG_VERSION": "2.2",
3
3
  "service_uri": "http://ld4l.org/ld4l_services/cache",
4
4
  "prefixes": {
5
+ "getty": "http://vocab.getty.edu/ontology#",
5
6
  "vivo": "http://vivoweb.org/ontology/core#"
6
7
  },
7
8
  "term": {
@@ -89,6 +90,67 @@
89
90
  "label_ldpath": "skos:prefLabel ::xsd:string",
90
91
  "sort_ldpath": "vivo:rank ::xsd:string"
91
92
  },
93
+ "context": {
94
+ "groups": {
95
+ "hierarchies": {
96
+ "group_label_i18n": "qa.linked_data.authority.getty_aat_ld4l_cache.hierarchies",
97
+ "group_label_default": "Hierarchies"
98
+ }
99
+ },
100
+ "properties": [
101
+ {
102
+ "property_label_i18n": "qa.linked_data.authority.getty_aat_ld4l_cache.preferred_label",
103
+ "property_label_default": "Preferred label",
104
+ "ldpath": "skos:prefLabel :: xsd:string",
105
+ "selectable": true,
106
+ "drillable": false
107
+ },
108
+ {
109
+ "property_label_i18n": "qa.linked_data.authority.getty_aat_ld4l_cache.alt_label",
110
+ "property_label_default": "Alternative Label",
111
+ "ldpath": "skos:altLabel :: xsd:string",
112
+ "selectable": false,
113
+ "drillable": false
114
+ },
115
+ {
116
+ "group_id": "hierarchies",
117
+ "property_label_i18n": "qa.linked_data.authority.getty_aat_ld4l_cache.broader",
118
+ "property_label_default": "Broader",
119
+ "ldpath": "skos:broader :: xsd:string",
120
+ "selectable": true,
121
+ "drillable": true,
122
+ "expansion_label_ldpath": "skos:prefLabel ::xsd:string",
123
+ "expansion_id_ldpath": "dc:identifier ::xsd:string"
124
+ },
125
+ {
126
+ "group_id": "hierarchies",
127
+ "property_label_i18n": "qa.linked_data.authority.getty_aat_ld4l_cache.narrower",
128
+ "property_label_default": "Narrower",
129
+ "ldpath": "skos:narrower :: xsd:string",
130
+ "selectable": true,
131
+ "drillable": true,
132
+ "expansion_label_ldpath": "skos:prefLabel ::xsd:string",
133
+ "expansion_id_ldpath": "dc:identifier ::xsd:string"
134
+ },
135
+ {
136
+ "property_label_i18n": "qa.linked_data.authority.getty_aat_ld4l_cache.scope_note",
137
+ "property_label_default": "Scope note",
138
+ "ldpath": "skos:scopeNote :: xsd:string",
139
+ "selectable": false,
140
+ "drillable": false
141
+ },
142
+ {
143
+ "group_id": "hierarchies",
144
+ "property_label_i18n": "qa.linked_data.authority.getty_aat_ld4l_cache.hierarchy",
145
+ "property_label_default": "Hierarchy",
146
+ "ldpath": "gvp:broaderPreferredExtended :: xsd:string",
147
+ "selectable": true,
148
+ "drillable": true,
149
+ "expansion_label_ldpath": "skos:prefLabel ::xsd:string",
150
+ "expansion_id_ldpath": "dc:identifier ::xsd:string"
151
+ }
152
+ ]
153
+ },
92
154
  "subauthorities": {
93
155
  "Activities": "&facet=300264090",
94
156
  "Activities__Disciplines": "&facet=300054134",
@@ -123,4 +185,3 @@
123
185
  }
124
186
  }
125
187
  }
126
-
@@ -3,7 +3,8 @@
3
3
  "service_uri": "http://ld4l.org/ld4l_services/cache",
4
4
  "prefixes": {
5
5
  "getty": "http://vocab.getty.edu/ontology#",
6
- "vivo": "http://vivoweb.org/ontology/core#"
6
+ "vivo": "http://vivoweb.org/ontology/core#",
7
+ "xl": "http://www.w3.org/2008/05/skos-xl#"
7
8
  },
8
9
  "term": {
9
10
  "url": {
@@ -85,11 +86,34 @@
85
86
  "context": {
86
87
  "properties": [
87
88
  {
88
- "property_label_i18n": "qa.linked_data.authority.getty_tgn_ld4l_cache.parent_string",
89
- "property_label_default": "Parent",
90
- "ldpath": "getty:parentString :: xsd:string",
89
+ "property_label_i18n": "qa.linked_data.authority.getty_tgn_ld4l_cache.preferred_label",
90
+ "property_label_default": "Preferred label",
91
+ "ldpath": "^foaf:focus/xl:prefLabel/xl:literalForm :: xsd:string",
92
+ "selectable": true,
93
+ "drillable": false
94
+ },
95
+ {
96
+ "property_label_i18n": "qa.linked_data.authority.getty_tgn_ld4l_cache.variant_label",
97
+ "property_label_default": "Variant Label",
98
+ "ldpath": "^foaf:focus/xl:altLabel/xl:literalForm :: xsd:string",
99
+ "selectable": false,
100
+ "drillable": false
101
+ },
102
+ {
103
+ "property_label_i18n": "qa.linked_data.authority.getty_tgn_ld4l_cache.place_type",
104
+ "property_label_default": "Place type",
105
+ "ldpath": "^foaf:focus/gvp:placeTypePreferred :: xsd:string",
91
106
  "selectable": false,
92
107
  "drillable": false
108
+ },
109
+ {
110
+ "property_label_i18n": "qa.linked_data.authority.getty_aat_ld4l_cache.broader",
111
+ "property_label_default": "Broader",
112
+ "ldpath": "^foaf:focus/gvp:broaderPreferred/xl:altLabel/xl:literalForm :: xsd:string",
113
+ "selectable": false,
114
+ "drillable": true,
115
+ "expansion_label_ldpath": "skos:prefLabel ::xsd:string",
116
+ "expansion_id_ldpath": "dc:identifier ::xsd:string"
93
117
  }
94
118
  ]
95
119
  }
@@ -0,0 +1,90 @@
1
+ {
2
+ "QA_CONFIG_VERSION": "2.2",
3
+ "service_uri": "http://ld4l.org/ld4l_services/cache",
4
+ "prefixes": {
5
+ "schema": "http://schema.org/",
6
+ "vivo": "http://vivoweb.org/ontology/core#"
7
+ },
8
+ "term": {},
9
+ "search": {
10
+ "url": {
11
+ "@context": "http://www.w3.org/ns/hydra/context.jsonld",
12
+ "@type": "IriTemplate",
13
+ "template": "http://services.ld4l.org/ld4l_services/isni_batch.jsp?{?query}&{?maxRecords}&{?startRecord}&{?lang}",
14
+ "variableRepresentation": "BasicRepresentation",
15
+ "mapping": [
16
+ {
17
+ "@type": "IriTemplateMapping",
18
+ "variable": "query",
19
+ "property": "hydra:freetextQuery",
20
+ "required": true,
21
+ "encode": true
22
+ },
23
+ {
24
+ "@type": "IriTemplateMapping",
25
+ "variable": "maxRecords",
26
+ "property": "hydra:freetextQuery",
27
+ "required": false,
28
+ "default": "20"
29
+ },
30
+ {
31
+ "@type": "IriTemplateMapping",
32
+ "variable": "startRecord",
33
+ "property": "hydra:freetextQuery",
34
+ "required": false,
35
+ "default": "1"
36
+ },
37
+ {
38
+ "@type": "IriTemplateMapping",
39
+ "variable": "lang",
40
+ "property": "hydra:freetextQuery",
41
+ "required": false,
42
+ "default": "en"
43
+ }
44
+ ]
45
+ },
46
+ "qa_replacement_patterns": {
47
+ "query": "query",
48
+ "start_record": "startRecord",
49
+ "requested_records": "maxRecords"
50
+ },
51
+ "total_count_ldpath": "vivo:count",
52
+ "results": {
53
+ "label_ldpath": "foaf:name | schema:name | skos:altLabel | schema:alternateName ::xsd:string",
54
+ "sort_ldpath": "vivo:rank ::xsd:string"
55
+ },
56
+ "context": {
57
+ "properties": [
58
+ {
59
+ "property_label_i18n": "qa.linked_data.authority.isni_ld4l_cache.name",
60
+ "property_label_default": "Name",
61
+ "ldpath": "foaf:name | schema:name | skos:altLabel | schema:alternateName :: xsd:string",
62
+ "selectable": true,
63
+ "drillable": false
64
+ },
65
+ {
66
+ "property_label_i18n": "qa.linked_data.authority.isni_ld4l_cache.type",
67
+ "property_label_default": "Type",
68
+ "ldpath": "rdf:type :: xsd:string",
69
+ "selectable": false,
70
+ "drillable": false
71
+ },
72
+ {
73
+ "property_label_i18n": "qa.linked_data.authority.isni_ld4l_cache.isni",
74
+ "property_label_default": "ISNI",
75
+ "ldpath": "schema:identifier/schema:value :: xsd:string",
76
+ "selectable": false,
77
+ "drillable": false
78
+ },
79
+ {
80
+ "property_label_i18n": "qa.linked_data.authority.isni_ld4l_cache.isni_label",
81
+ "property_label_default": "ISNI Label",
82
+ "ldpath": "rdfs:label :: xsd:string",
83
+ "selectable": false,
84
+ "drillable": false
85
+ }
86
+ ]
87
+ }
88
+ }
89
+ }
90
+
@@ -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": "rdfs:label ::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.type_label",
107
+ "ldpath": "rdfs:label :: 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.type_label",
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
+ }