solid-ui 2.4.14-bbf45639 → 2.4.14-bbf45639-e81d3e08

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/LICENSE.md +0 -0
  2. package/README.md +0 -0
  3. package/lib/acl/access-controller.d.ts +0 -0
  4. package/lib/acl/access-controller.d.ts.map +0 -0
  5. package/lib/acl/access-controller.js +441 -334
  6. package/lib/acl/access-controller.js.map +1 -1
  7. package/lib/acl/access-groups.d.ts +0 -0
  8. package/lib/acl/access-groups.d.ts.map +0 -0
  9. package/lib/acl/access-groups.js +495 -348
  10. package/lib/acl/access-groups.js.map +1 -1
  11. package/lib/acl/acl-control.d.ts +0 -0
  12. package/lib/acl/acl-control.d.ts.map +0 -0
  13. package/lib/acl/acl-control.js +198 -168
  14. package/lib/acl/acl-control.js.map +1 -1
  15. package/lib/acl/acl.d.ts +0 -0
  16. package/lib/acl/acl.d.ts.map +0 -0
  17. package/lib/acl/acl.js +463 -446
  18. package/lib/acl/acl.js.map +1 -1
  19. package/lib/acl/add-agent-buttons.d.ts +0 -0
  20. package/lib/acl/add-agent-buttons.d.ts.map +0 -0
  21. package/lib/acl/add-agent-buttons.js +515 -318
  22. package/lib/acl/add-agent-buttons.js.map +1 -1
  23. package/lib/acl/index.d.ts +0 -0
  24. package/lib/acl/index.d.ts.map +0 -0
  25. package/lib/acl/index.js +35 -27
  26. package/lib/acl/index.js.map +1 -1
  27. package/lib/acl/styles.d.ts +0 -0
  28. package/lib/acl/styles.d.ts.map +0 -0
  29. package/lib/acl/styles.js +90 -84
  30. package/lib/acl/styles.js.map +1 -1
  31. package/lib/acl/types.d.ts +0 -0
  32. package/lib/acl/types.d.ts.map +0 -0
  33. package/lib/acl/types.js +4 -5
  34. package/lib/acl/types.js.map +1 -1
  35. package/lib/authn/authSession.d.ts +0 -0
  36. package/lib/authn/authSession.d.ts.map +0 -0
  37. package/lib/authn/authSession.js +21 -14
  38. package/lib/authn/authSession.js.map +1 -1
  39. package/lib/authn/authn.d.ts +0 -0
  40. package/lib/authn/authn.d.ts.map +0 -0
  41. package/lib/authn/authn.js +1935 -1391
  42. package/lib/authn/authn.js.map +1 -1
  43. package/lib/authn/config-default.js +0 -0
  44. package/lib/authn/config-default.js.map +0 -0
  45. package/lib/authn/index.d.ts +0 -0
  46. package/lib/authn/index.d.ts.map +0 -0
  47. package/lib/authn/index.js +37 -26
  48. package/lib/authn/index.js.map +1 -1
  49. package/lib/authn/signup.js +0 -0
  50. package/lib/authn/signup.js.map +0 -0
  51. package/lib/authn/types.d.ts +0 -0
  52. package/lib/authn/types.d.ts.map +0 -0
  53. package/lib/authn/types.js +4 -1
  54. package/lib/authn/types.js.map +1 -1
  55. package/lib/chat/bookmarks.js +0 -0
  56. package/lib/chat/bookmarks.js.map +0 -0
  57. package/lib/chat/dateFolder.js +0 -0
  58. package/lib/chat/dateFolder.js.map +0 -0
  59. package/lib/chat/infinite.js +0 -0
  60. package/lib/chat/infinite.js.map +0 -0
  61. package/lib/chat/message.js +0 -0
  62. package/lib/chat/message.js.map +0 -0
  63. package/lib/chat/messageTools.js +0 -0
  64. package/lib/chat/messageTools.js.map +0 -0
  65. package/lib/chat/thread.js +0 -0
  66. package/lib/chat/thread.js.map +0 -0
  67. package/lib/create/create.d.ts +0 -0
  68. package/lib/create/create.d.ts.map +0 -0
  69. package/lib/create/create.js +214 -209
  70. package/lib/create/create.js.map +1 -1
  71. package/lib/create/index.d.ts +0 -0
  72. package/lib/create/index.d.ts.map +0 -0
  73. package/lib/create/index.js +10 -4
  74. package/lib/create/index.js.map +1 -1
  75. package/lib/create/types.d.ts +0 -0
  76. package/lib/create/types.d.ts.map +0 -0
  77. package/lib/create/types.js +4 -1
  78. package/lib/create/types.js.map +1 -1
  79. package/lib/debug.d.ts +0 -0
  80. package/lib/debug.d.ts.map +0 -0
  81. package/lib/debug.js +28 -30
  82. package/lib/debug.js.map +1 -1
  83. package/lib/folders.js +0 -0
  84. package/lib/folders.js.map +0 -0
  85. package/lib/footer/index.d.ts +0 -0
  86. package/lib/footer/index.d.ts.map +0 -0
  87. package/lib/footer/index.js +126 -109
  88. package/lib/footer/index.js.map +1 -1
  89. package/lib/footer/styleMap.d.ts +0 -0
  90. package/lib/footer/styleMap.d.ts.map +0 -0
  91. package/lib/footer/styleMap.js +11 -7
  92. package/lib/footer/styleMap.js.map +1 -1
  93. package/lib/header/empty-profile.d.ts +0 -0
  94. package/lib/header/empty-profile.d.ts.map +0 -0
  95. package/lib/header/empty-profile.js +6 -2
  96. package/lib/header/empty-profile.js.map +1 -1
  97. package/lib/header/index.d.ts +0 -0
  98. package/lib/header/index.d.ts.map +0 -0
  99. package/lib/header/index.js +361 -285
  100. package/lib/header/index.js.map +1 -1
  101. package/lib/header/styleMap.d.ts +0 -0
  102. package/lib/header/styleMap.d.ts.map +0 -0
  103. package/lib/header/styleMap.js +132 -116
  104. package/lib/header/styleMap.js.map +1 -1
  105. package/lib/iconBase.d.ts +0 -0
  106. package/lib/iconBase.d.ts.map +0 -0
  107. package/lib/iconBase.js +30 -23
  108. package/lib/iconBase.js.map +1 -1
  109. package/lib/icons/solid_logo.d.ts +0 -0
  110. package/lib/icons/solid_logo.d.ts.map +0 -0
  111. package/lib/icons/solid_logo.js +0 -0
  112. package/lib/icons/solid_logo.js.map +1 -1
  113. package/lib/index.d.ts +0 -0
  114. package/lib/index.d.ts.map +0 -0
  115. package/lib/index.js +207 -103
  116. package/lib/index.js.map +1 -1
  117. package/lib/jss/index.d.ts +0 -0
  118. package/lib/jss/index.d.ts.map +0 -0
  119. package/lib/jss/index.js +30 -21
  120. package/lib/jss/index.js.map +1 -1
  121. package/lib/log.d.ts +0 -0
  122. package/lib/log.d.ts.map +0 -0
  123. package/lib/log.js +131 -83
  124. package/lib/log.js.map +1 -1
  125. package/lib/logic.d.ts +0 -0
  126. package/lib/logic.d.ts.map +1 -1
  127. package/lib/logic.js +73 -82
  128. package/lib/logic.js.map +1 -1
  129. package/lib/matrix/index.d.ts +0 -0
  130. package/lib/matrix/index.d.ts.map +0 -0
  131. package/lib/matrix/index.js +10 -4
  132. package/lib/matrix/index.js.map +1 -1
  133. package/lib/matrix/matrix.d.ts +0 -0
  134. package/lib/matrix/matrix.d.ts.map +0 -0
  135. package/lib/matrix/matrix.js +237 -210
  136. package/lib/matrix/matrix.js.map +1 -1
  137. package/lib/matrix/types.d.ts +0 -0
  138. package/lib/matrix/types.d.ts.map +0 -0
  139. package/lib/matrix/types.js +4 -1
  140. package/lib/matrix/types.js.map +1 -1
  141. package/lib/media/index.d.ts +0 -0
  142. package/lib/media/index.d.ts.map +0 -0
  143. package/lib/media/index.js +11 -5
  144. package/lib/media/index.js.map +1 -1
  145. package/lib/media/media-capture.d.ts +0 -0
  146. package/lib/media/media-capture.d.ts.map +0 -0
  147. package/lib/media/media-capture.js +181 -187
  148. package/lib/media/media-capture.js.map +1 -1
  149. package/lib/messageArea.js +0 -0
  150. package/lib/messageArea.js.map +0 -0
  151. package/lib/noun_Camera_1618446_000000.js +0 -0
  152. package/lib/noun_Camera_1618446_000000.js.map +0 -0
  153. package/lib/ns.js +0 -0
  154. package/lib/ns.js.map +0 -0
  155. package/lib/pad.d.ts +0 -0
  156. package/lib/pad.d.ts.map +0 -0
  157. package/lib/pad.js +954 -794
  158. package/lib/pad.js.map +1 -1
  159. package/lib/participation.d.ts +0 -0
  160. package/lib/participation.d.ts.map +0 -0
  161. package/lib/participation.js +199 -170
  162. package/lib/participation.js.map +1 -1
  163. package/lib/preferences.js +0 -0
  164. package/lib/preferences.js.map +0 -0
  165. package/lib/stories/decorators.js +0 -0
  166. package/lib/stories/decorators.js.map +0 -0
  167. package/lib/style.js +0 -0
  168. package/lib/style.js.map +0 -0
  169. package/lib/table.js +0 -0
  170. package/lib/table.js.map +0 -0
  171. package/lib/tabs.d.ts +0 -0
  172. package/lib/tabs.d.ts.map +0 -0
  173. package/lib/tabs.js +342 -235
  174. package/lib/tabs.js.map +1 -1
  175. package/lib/typings.d.js +0 -0
  176. package/lib/typings.d.js.map +0 -0
  177. package/lib/utils/headerFooterHelpers.d.ts +0 -0
  178. package/lib/utils/headerFooterHelpers.d.ts.map +0 -0
  179. package/lib/utils/headerFooterHelpers.js +155 -130
  180. package/lib/utils/headerFooterHelpers.js.map +1 -1
  181. package/lib/utils/index.js +0 -0
  182. package/lib/utils/index.js.map +0 -0
  183. package/lib/utils/label.d.ts +0 -0
  184. package/lib/utils/label.d.ts.map +0 -0
  185. package/lib/utils/label.js +113 -121
  186. package/lib/utils/label.js.map +1 -1
  187. package/lib/versionInfo.d.ts +0 -0
  188. package/lib/versionInfo.d.ts.map +0 -0
  189. package/lib/versionInfo.js +28 -23
  190. package/lib/versionInfo.js.map +1 -1
  191. package/lib/webpack-bundle.js +16324 -31
  192. package/lib/webpack-bundle.js.map +1 -1
  193. package/lib/widgets/buttons/iconLinks.d.ts +0 -0
  194. package/lib/widgets/buttons/iconLinks.d.ts.map +0 -0
  195. package/lib/widgets/buttons/iconLinks.js +30 -19
  196. package/lib/widgets/buttons/iconLinks.js.map +1 -1
  197. package/lib/widgets/buttons.d.ts +0 -0
  198. package/lib/widgets/buttons.d.ts.map +0 -0
  199. package/lib/widgets/buttons.js +1113 -935
  200. package/lib/widgets/buttons.js.map +1 -1
  201. package/lib/widgets/dragAndDrop.js +0 -0
  202. package/lib/widgets/dragAndDrop.js.map +0 -0
  203. package/lib/widgets/error.d.ts +0 -0
  204. package/lib/widgets/error.d.ts.map +0 -0
  205. package/lib/widgets/error.js +24 -18
  206. package/lib/widgets/error.js.map +1 -1
  207. package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
  208. package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
  209. package/lib/widgets/forms/autocomplete/autocompleteBar.js +325 -234
  210. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
  211. package/lib/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
  212. package/lib/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
  213. package/lib/widgets/forms/autocomplete/autocompleteField.js +280 -249
  214. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
  215. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
  216. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
  217. package/lib/widgets/forms/autocomplete/autocompletePicker.js +497 -317
  218. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
  219. package/lib/widgets/forms/autocomplete/language.d.ts +0 -0
  220. package/lib/widgets/forms/autocomplete/language.d.ts.map +0 -0
  221. package/lib/widgets/forms/autocomplete/language.js +214 -160
  222. package/lib/widgets/forms/autocomplete/language.js.map +1 -1
  223. package/lib/widgets/forms/autocomplete/publicData.d.ts +0 -0
  224. package/lib/widgets/forms/autocomplete/publicData.d.ts.map +0 -0
  225. package/lib/widgets/forms/autocomplete/publicData.js +725 -489
  226. package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
  227. package/lib/widgets/forms/basic.d.ts +0 -0
  228. package/lib/widgets/forms/basic.d.ts.map +0 -0
  229. package/lib/widgets/forms/basic.js +239 -208
  230. package/lib/widgets/forms/basic.js.map +1 -1
  231. package/lib/widgets/forms/comment.d.ts +0 -0
  232. package/lib/widgets/forms/comment.d.ts.map +0 -0
  233. package/lib/widgets/forms/comment.js +48 -48
  234. package/lib/widgets/forms/comment.js.map +1 -1
  235. package/lib/widgets/forms/fieldFunction.d.ts +0 -0
  236. package/lib/widgets/forms/fieldFunction.d.ts.map +0 -0
  237. package/lib/widgets/forms/fieldFunction.js +50 -31
  238. package/lib/widgets/forms/fieldFunction.js.map +1 -1
  239. package/lib/widgets/forms/fieldParams.d.ts +0 -0
  240. package/lib/widgets/forms/fieldParams.d.ts.map +0 -0
  241. package/lib/widgets/forms/fieldParams.js +81 -102
  242. package/lib/widgets/forms/fieldParams.js.map +1 -1
  243. package/lib/widgets/forms/formStyle.d.ts +0 -0
  244. package/lib/widgets/forms/formStyle.d.ts.map +0 -0
  245. package/lib/widgets/forms/formStyle.js +50 -52
  246. package/lib/widgets/forms/formStyle.js.map +1 -1
  247. package/lib/widgets/forms.js +0 -0
  248. package/lib/widgets/forms.js.map +0 -0
  249. package/lib/widgets/index.js +0 -0
  250. package/lib/widgets/index.js.map +0 -0
  251. package/lib/widgets/peoplePicker.js +0 -0
  252. package/lib/widgets/peoplePicker.js.map +0 -0
  253. package/lib/widgets/widgetHelpers.d.ts +0 -0
  254. package/lib/widgets/widgetHelpers.d.ts.map +0 -0
  255. package/lib/widgets/widgetHelpers.js +30 -18
  256. package/lib/widgets/widgetHelpers.js.map +1 -1
  257. package/package.json +6 -6
@@ -1,550 +1,786 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
13
9
  });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
- return new (P || (P = Promise))(function (resolve, reject) {
24
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
- step((generator = generator.apply(thisArg, _arguments || [])).next());
28
- });
29
- };
30
- var __generator = (this && this.__generator) || function (thisArg, body) {
31
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
32
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
33
- function verb(n) { return function (v) { return step([n, v]); }; }
34
- function step(op) {
35
- if (f) throw new TypeError("Generator is already executing.");
36
- while (_) try {
37
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
38
- if (y = 0, t) op = [op[0] & 2, t.value];
39
- switch (op[0]) {
40
- case 0: case 1: t = op; break;
41
- case 4: _.label++; return { value: op[1], done: false };
42
- case 5: _.label++; y = op[1]; op = [0]; continue;
43
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
44
- default:
45
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
46
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
47
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
48
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
49
- if (t[2]) _.ops.pop();
50
- _.trys.pop(); continue;
51
- }
52
- op = body.call(thisArg, _);
53
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
54
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
55
- }
56
- };
57
- Object.defineProperty(exports, "__esModule", { value: true });
58
- exports.getDbpediaDetails = exports.getWikidataLocation = exports.getWikidataDetailsOld = exports.getWikidataDetails = exports.loadPublicDataThing = exports.queryPublicDataConstruct = exports.queryPublicDataSelect = exports.queryPublicDataByName = exports.queryESCODataByName = exports.ESCOResultToBindings = exports.loadFromBindings = exports.bindingToTerm = exports.variableNameToPredicateMap = exports.wikidataIncomingClassMap = exports.wikidataParameters = exports.wikidataOutgoingClassMap = exports.dbPediaTypeMap = exports.dbpediaParameters = exports.escoParameters = exports.fetcherOptionsJsonPublicData = exports.instituteDetailsWikidataQuery = exports.wikidataClasses = exports.AUTOCOMPLETE_LIMIT = void 0;
10
+ exports.AUTOCOMPLETE_LIMIT = void 0;
11
+ exports.ESCOResultToBindings = ESCOResultToBindings;
12
+ exports.bindingToTerm = bindingToTerm;
13
+ exports.fetcherOptionsJsonPublicData = exports.escoParameters = exports.dbpediaParameters = exports.dbPediaTypeMap = void 0;
14
+ exports.getDbpediaDetails = getDbpediaDetails;
15
+ exports.getWikidataDetails = getWikidataDetails;
16
+ exports.getWikidataDetailsOld = getWikidataDetailsOld;
17
+ exports.getWikidataLocation = getWikidataLocation;
18
+ exports.instituteDetailsWikidataQuery = void 0;
19
+ exports.loadFromBindings = loadFromBindings;
20
+ exports.loadPublicDataThing = loadPublicDataThing;
21
+ exports.queryESCODataByName = queryESCODataByName;
22
+ exports.queryPublicDataByName = queryPublicDataByName;
23
+ exports.queryPublicDataConstruct = queryPublicDataConstruct;
24
+ exports.queryPublicDataSelect = queryPublicDataSelect;
25
+ exports.wikidataParameters = exports.wikidataOutgoingClassMap = exports.wikidataIncomingClassMap = exports.wikidataClasses = exports.variableNameToPredicateMap = void 0;
26
+
27
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
28
+
29
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
30
+
31
+ var _rdflib = require("rdflib");
32
+
33
+ var debug = _interopRequireWildcard(require("../../../debug"));
34
+
35
+ var ns = _interopRequireWildcard(require("../../../ns"));
36
+
37
+ var _logic = require("../../../logic");
38
+
39
+ var _language = require("./language");
40
+
41
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
42
+
43
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
44
+
59
45
  /* Logic to access public data stores
60
46
  *
61
47
  * including filtering resut by natural language etc
62
48
  * See https://solidos.solidcommunity.net/public/2021/01%20Building%20Solid%20Apps%20which%20use%20Public%20Data.html
63
49
  */
50
+
64
51
  /* eslint-disable no-console */
65
- var rdflib_1 = require("rdflib");
66
- var debug = __importStar(require("../../../debug"));
67
- var ns = __importStar(require("../../../ns"));
68
- var logic_1 = require("../../../logic");
69
52
  // import * as logic from '../../../logic'
70
- var language_1 = require("./language");
71
- exports.AUTOCOMPLETE_LIMIT = 200; // How many to get from server
53
+ var AUTOCOMPLETE_LIMIT = 200; // How many to get from server
72
54
  // With 3000 we could exceed the wikidata timeout
55
+
56
+ exports.AUTOCOMPLETE_LIMIT = AUTOCOMPLETE_LIMIT;
73
57
  var subjectRegexp = /\$\(subject\)/g;
74
58
  // Schema.org seems to suggest NGOs are non-profit and Corporaions are for-profit
75
59
  // but doesn't have explicit classes
76
- exports.wikidataClasses = {
77
- Corporation: 'http://www.wikidata.org/entity/Q6881511',
78
- EducationalOrganization: 'http://www.wikidata.org/entity/Q178706',
79
- GovernmentOrganization: 'http://www.wikidata.org/entity/Q327333',
80
- MedicalOrganization: 'http://www.wikidata.org/entity/Q4287745',
81
- MusicGroup: 'http://www.wikidata.org/entity/Q32178211',
82
- NGO: 'http://www.wikidata.org/entity/Q163740',
83
- Occupation: 'http://www.wikidata.org/entity/Q28640',
84
- // Organization: 'http://www.wikidata.org/entity/Q43229',
85
- Project: 'http://www.wikidata.org/entity/Q170584',
86
- SportsOrganization: 'http://www.wikidata.org/entity/Q4438121'
60
+ var wikidataClasses = {
61
+ Corporation: 'http://www.wikidata.org/entity/Q6881511',
62
+ // Enterprise is for-profit
63
+ EducationalOrganization: 'http://www.wikidata.org/entity/Q178706',
64
+ // insitution
65
+ GovernmentOrganization: 'http://www.wikidata.org/entity/Q327333',
66
+ // government agency
67
+ MedicalOrganization: 'http://www.wikidata.org/entity/Q4287745',
68
+ MusicGroup: 'http://www.wikidata.org/entity/Q32178211',
69
+ // music organization
70
+ NGO: 'http://www.wikidata.org/entity/Q163740',
71
+ // nonprofit organization @@
72
+ Occupation: 'http://www.wikidata.org/entity/Q28640',
73
+ // Profession
74
+ // Organization: 'http://www.wikidata.org/entity/Q43229',
75
+ Project: 'http://www.wikidata.org/entity/Q170584',
76
+ SportsOrganization: 'http://www.wikidata.org/entity/Q4438121'
87
77
  };
88
- exports.instituteDetailsWikidataQuery = "prefix vcard: <http://www.w3.org/2006/vcard/ns#>\nCONSTRUCT\n{ wd:Q49108 vcard:fn ?itemLabel.\nwd:Q49108 rdf:type ?klass. ?klass rdfs:label ?klassLabel; rdfs:comment ?klassDescription .\nwd:Q49108 schema:logo ?logo;\n schema:image ?image;\n schema:logo ?sealImage;\n schema:subOrganization ?subsidiary .\n ?subsidiary rdfs:label ?subsidiaryLabel .\n ?supersidiary schema:subOrganization wd:Q49108 .\n ?supersidiary rdfs:label ?supersidiaryLabel .\n wd:Q49108 schema:location ?location .\n ?location schema:elevation ?elevation .\n ?location wdt:P131 ?region . ?region rdfs:label ?regionLabel .\n ?location wdt:P625 ?coordinates .\n ?location schema:country ?country . ?country rdfs:label ?countryLabel .\n}\nWHERE\n{ optional {wd:Q49108 rdfs:label ?itemLabel} .\n optional {wd:Q49108 wdt:P154 ?logo .}\n optional {wd:Q49108 wdt:P31 ?klass .}\n optional {wd:Q49108 wdt:P158 ?sealImage .}\n optional {wd:Q49108 wdt:P18 ?image .}\n\n optional { wd:Q49108 wdt:P355 ?subsidiary . }\n optional { ?supersidiary wdt:P355 wd:Q49108. }\n\n optional { wd:Q49108 wdt:P276 ?location .\n\n optional { ?location schema:eleveation ?elevation }\n optional { ?location wdt:P131 ?region }\n optional { ?location wdt:P625 ?coordinates }\n optional { ?location wdt:P17 ?country }\n }\n SERVICE wikibase:label { bd:serviceParam wikibase:language \"fr,en,de,it\". }\n}";
89
- exports.fetcherOptionsJsonPublicData = {
90
- credentials: 'omit',
91
- headers: new Headers({ Accept: 'application/json' })
78
+ exports.wikidataClasses = wikidataClasses;
79
+ var instituteDetailsWikidataQuery = "prefix vcard: <http://www.w3.org/2006/vcard/ns#>\nCONSTRUCT\n{ wd:Q49108 vcard:fn ?itemLabel.\nwd:Q49108 rdf:type ?klass. ?klass rdfs:label ?klassLabel; rdfs:comment ?klassDescription .\nwd:Q49108 schema:logo ?logo;\n schema:image ?image;\n schema:logo ?sealImage;\n schema:subOrganization ?subsidiary .\n ?subsidiary rdfs:label ?subsidiaryLabel .\n ?supersidiary schema:subOrganization wd:Q49108 .\n ?supersidiary rdfs:label ?supersidiaryLabel .\n wd:Q49108 schema:location ?location .\n ?location schema:elevation ?elevation .\n ?location wdt:P131 ?region . ?region rdfs:label ?regionLabel .\n ?location wdt:P625 ?coordinates .\n ?location schema:country ?country . ?country rdfs:label ?countryLabel .\n}\nWHERE\n{ optional {wd:Q49108 rdfs:label ?itemLabel} .\n optional {wd:Q49108 wdt:P154 ?logo .}\n optional {wd:Q49108 wdt:P31 ?klass .}\n optional {wd:Q49108 wdt:P158 ?sealImage .}\n optional {wd:Q49108 wdt:P18 ?image .}\n\n optional { wd:Q49108 wdt:P355 ?subsidiary . }\n optional { ?supersidiary wdt:P355 wd:Q49108. }\n\n optional { wd:Q49108 wdt:P276 ?location .\n\n optional { ?location schema:eleveation ?elevation }\n optional { ?location wdt:P131 ?region }\n optional { ?location wdt:P625 ?coordinates }\n optional { ?location wdt:P17 ?country }\n }\n SERVICE wikibase:label { bd:serviceParam wikibase:language \"fr,en,de,it\". }\n}";
80
+ exports.instituteDetailsWikidataQuery = instituteDetailsWikidataQuery;
81
+ var fetcherOptionsJsonPublicData = {
82
+ credentials: 'omit',
83
+ // try to avoid CORS problems. Data is public so no auth
84
+ headers: new Headers({
85
+ Accept: 'application/json'
86
+ })
92
87
  };
93
- exports.escoParameters = {
94
- label: 'ESCO',
95
- logo: logic_1.kb.sym('https://ec.europa.eu/esco/portal/static_resource2/images/logo/logo_en.gif'),
96
- searchByNameURI: 'https://ec.europa.eu/esco/api/search?language=$(language)&type=occupation&text=$(name)'
97
- // endpoint: undefined
98
- // returnFormat: 'ESCO',
99
- // targetClass: {}
88
+ exports.fetcherOptionsJsonPublicData = fetcherOptionsJsonPublicData;
89
+ var escoParameters = {
90
+ label: 'ESCO',
91
+ logo: _logic.kb.sym('https://ec.europa.eu/esco/portal/static_resource2/images/logo/logo_en.gif'),
92
+ searchByNameURI: 'https://ec.europa.eu/esco/api/search?language=$(language)&type=occupation&text=$(name)' // endpoint: undefined
93
+ // returnFormat: 'ESCO',
94
+ // targetClass: {}
95
+
100
96
  };
101
- exports.dbpediaParameters = {
102
- label: 'DBPedia',
103
- logo: logic_1.kb.sym('https://upload.wikimedia.org/wikipedia/commons/thumb/7/73/DBpediaLogo.svg/263px-DBpediaLogo.svg.png'),
104
- searchByNameQuery: "select distinct ?subject, ?name where {\n ?subject a $(targetClass); rdfs:label ?name\n FILTER regex(?name, \"$(name)\", \"i\")\n } LIMIT $(limit)",
105
- endpoint: 'https://dbpedia.org/sparql/'
97
+ exports.escoParameters = escoParameters;
98
+ var dbpediaParameters = {
99
+ label: 'DBPedia',
100
+ logo: _logic.kb.sym('https://upload.wikimedia.org/wikipedia/commons/thumb/7/73/DBpediaLogo.svg/263px-DBpediaLogo.svg.png'),
101
+ searchByNameQuery: "select distinct ?subject, ?name where {\n ?subject a $(targetClass); rdfs:label ?name\n FILTER regex(?name, \"$(name)\", \"i\")\n } LIMIT $(limit)",
102
+ endpoint: 'https://dbpedia.org/sparql/'
106
103
  };
107
- exports.dbPediaTypeMap = { AcademicInsitution: 'http://umbel.org/umbel/rc/EducationalOrganization' };
108
- exports.wikidataOutgoingClassMap = {
109
- AcademicInsitution: 'http://www.wikidata.org/entity/Q4671277',
110
- Enterprise: 'http://www.wikidata.org/entity/Q6881511',
111
- Business: 'http://www.wikidata.org/entity/Q4830453',
112
- NGO: 'http://www.wikidata.org/entity/Q79913',
113
- CharitableOrganization: 'http://www.wikidata.org/entity/Q708676',
114
- Insitute: 'http://www.wikidata.org/entity/Q1664720'
104
+ exports.dbpediaParameters = dbpediaParameters;
105
+ var dbPediaTypeMap = {
106
+ AcademicInsitution: 'http://umbel.org/umbel/rc/EducationalOrganization'
115
107
  };
116
- exports.wikidataParameters = {
117
- label: 'WikiData',
118
- limit: 3000,
119
- logo: logic_1.kb.sym('https://www.wikimedia.org/static/images/project-logos/wikidatawiki.png'),
120
- endpoint: 'https://query.wikidata.org/sparql',
121
- searchByNameQuery: "SELECT ?subject ?name\n WHERE {\n ?klass wdt:P279* $(targetClass) .\n ?subject wdt:P31 ?klass .\n ?subject rdfs:label ?name.\n FILTER regex(?name, \"$(name)\", \"i\")\n } LIMIT $(limit) ",
122
- insitituteDetailsQuery: "CONSTRUCT\n{ wd:Q49108 schema:name ?itemLabel;\n schema:logo ?logo;\n schema:logo ?sealImage;\n schema:subOrganization ?subsidiary .\n ?subsidiary schema:name ?subsidiaryLabel .\n}\nWHERE\n{\n wd:Q49108 # rdfs:label ?itemLabel ;\n wdt:P154 ?logo;\n wdt:P158 ?sealImage ;\n wdt:P355 ?subsidiary .\n # ?subsidiary rdfs:label ?subsidiaryLabel .\n\n SERVICE wikibase:label { bd:serviceParam wikibase:language \"[AUTO_LANGUAGE], fr\". }\n}"
108
+ exports.dbPediaTypeMap = dbPediaTypeMap;
109
+ var wikidataOutgoingClassMap = {
110
+ AcademicInsitution: 'http://www.wikidata.org/entity/Q4671277',
111
+ Enterprise: 'http://www.wikidata.org/entity/Q6881511',
112
+ Business: 'http://www.wikidata.org/entity/Q4830453',
113
+ NGO: 'http://www.wikidata.org/entity/Q79913',
114
+ CharitableOrganization: 'http://www.wikidata.org/entity/Q708676',
115
+ Insitute: 'http://www.wikidata.org/entity/Q1664720'
123
116
  };
124
- exports.wikidataIncomingClassMap = {
125
- 'http://www.wikidata.org/entity/Q15936437': ns.schema('CollegeOrUniversity'),
126
- 'http://www.wikidata.org/entity/Q1664720': ns.schema('EducationalOrganization'),
127
- 'http://www.wikidata.org/entity/Q43229': ns.schema('Organization'),
128
- 'http://www.wikidata.org/entity/Q3918': ns.schema('CollegeOrUniversity'),
129
- 'http://www.wikidata.org/entity/Q170584': ns.schema('Project'),
130
- 'http://www.wikidata.org/entity/Q327333': ns.schema('GovernmentOrganization'),
131
- 'http://www.wikidata.org/entity/Q2221906': ns.schema('Place'),
132
- 'http://www.wikidata.org/entity/Q167037': ns.schema('Corporation') // Corporation
117
+ exports.wikidataOutgoingClassMap = wikidataOutgoingClassMap;
118
+ var wikidataParameters = {
119
+ label: 'WikiData',
120
+ limit: 3000,
121
+ // Need a high one as very many items, and many languages
122
+ logo: _logic.kb.sym('https://www.wikimedia.org/static/images/project-logos/wikidatawiki.png'),
123
+ endpoint: 'https://query.wikidata.org/sparql',
124
+ searchByNameQuery: "SELECT ?subject ?name\n WHERE {\n ?klass wdt:P279* $(targetClass) .\n ?subject wdt:P31 ?klass .\n ?subject rdfs:label ?name.\n FILTER regex(?name, \"$(name)\", \"i\")\n } LIMIT $(limit) ",
125
+ // was SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en" }
126
+ insitituteDetailsQuery: "CONSTRUCT\n{ wd:Q49108 schema:name ?itemLabel;\n schema:logo ?logo;\n schema:logo ?sealImage;\n schema:subOrganization ?subsidiary .\n ?subsidiary schema:name ?subsidiaryLabel .\n}\nWHERE\n{\n wd:Q49108 # rdfs:label ?itemLabel ;\n wdt:P154 ?logo;\n wdt:P158 ?sealImage ;\n wdt:P355 ?subsidiary .\n # ?subsidiary rdfs:label ?subsidiaryLabel .\n\n SERVICE wikibase:label { bd:serviceParam wikibase:language \"[AUTO_LANGUAGE], fr\". }\n}"
133
127
  };
134
- exports.variableNameToPredicateMap = {
135
- // wikidata:
136
- targetClass: ns.rdf('type'),
137
- // logo: ns.schema('logo'),
138
- sealImage: ns.schema('logo'),
139
- // image: ns.schema('image'), defaults to shema
140
- shortName: ns.foaf('nick'),
141
- subsidiary: ns.schema('subOrganization'),
142
- // dbpedia - :
143
- city: ns.vcard('locality'),
144
- state: ns.vcard('region'),
145
- country: ns.vcard('country-name'),
146
- homepage: ns.foaf('homepage'),
147
- lat: ns.schema('latitude'),
148
- long: ns.schema('longitude')
128
+ exports.wikidataParameters = wikidataParameters;
129
+ var wikidataIncomingClassMap = {
130
+ 'http://www.wikidata.org/entity/Q15936437': ns.schema('CollegeOrUniversity'),
131
+ // research university
132
+ 'http://www.wikidata.org/entity/Q1664720': ns.schema('EducationalOrganization'),
133
+ // insitute @@
134
+ 'http://www.wikidata.org/entity/Q43229': ns.schema('Organization'),
135
+ // research university
136
+ 'http://www.wikidata.org/entity/Q3918': ns.schema('CollegeOrUniversity'),
137
+ // university
138
+ 'http://www.wikidata.org/entity/Q170584': ns.schema('Project'),
139
+ // university
140
+ 'http://www.wikidata.org/entity/Q327333': ns.schema('GovernmentOrganization'),
141
+ // govt agency
142
+ 'http://www.wikidata.org/entity/Q2221906': ns.schema('Place'),
143
+ // geographic location
144
+ 'http://www.wikidata.org/entity/Q167037': ns.schema('Corporation') // Corporation
145
+
149
146
  };
147
+ exports.wikidataIncomingClassMap = wikidataIncomingClassMap;
148
+ var variableNameToPredicateMap = {
149
+ // allow other mappings to be added in theory hence var
150
+ // wikidata:
151
+ targetClass: ns.rdf('type'),
152
+ // logo: ns.schema('logo'),
153
+ sealImage: ns.schema('logo'),
154
+ // image: ns.schema('image'), defaults to shema
155
+ shortName: ns.foaf('nick'),
156
+ subsidiary: ns.schema('subOrganization'),
157
+ // dbpedia - :
158
+ city: ns.vcard('locality'),
159
+ state: ns.vcard('region'),
160
+ country: ns.vcard('country-name'),
161
+ homepage: ns.foaf('homepage'),
162
+ lat: ns.schema('latitude'),
163
+ "long": ns.schema('longitude')
164
+ };
165
+ exports.variableNameToPredicateMap = variableNameToPredicateMap;
166
+
150
167
  function bindingToTerm(item) {
151
- var typ = item.type.toLowerCase();
152
- if (typ === 'uri' || typ === 'iri') {
153
- return logic_1.kb.sym(item.value);
154
- }
155
- else if (typ === 'literal') {
156
- if (item['xml:lang']) {
157
- return new rdflib_1.Literal(item.value, item['xml:lang']);
158
- }
159
- else {
160
- return new rdflib_1.Literal(item.value);
161
- }
162
- }
163
- else {
164
- throw new Error("bindingToTerm: Unexpected type \"".concat(item.type, "\" in sparql binding}"));
168
+ var typ = item.type.toLowerCase();
169
+
170
+ if (typ === 'uri' || typ === 'iri') {
171
+ return _logic.kb.sym(item.value);
172
+ } else if (typ === 'literal') {
173
+ if (item['xml:lang']) {
174
+ return new _rdflib.Literal(item.value, item['xml:lang']);
175
+ } else {
176
+ return new _rdflib.Literal(item.value);
165
177
  }
178
+ } else {
179
+ throw new Error("bindingToTerm: Unexpected type \"".concat(item.type, "\" in sparql binding}"));
180
+ }
166
181
  }
167
- exports.bindingToTerm = bindingToTerm;
168
- function loadFromBindings(kb, solidSubject, bindings, doc, predMap) {
169
- if (predMap === void 0) { predMap = exports.variableNameToPredicateMap; }
170
- var results = {};
171
- debug.log("loadFromBindings: subject: ".concat(solidSubject));
172
- debug.log(" doc: ".concat(doc));
173
- bindings.forEach(function (binding) {
174
- for (var key in binding) {
175
- var result = binding[key];
176
- var combined = JSON.stringify(result); // ( result.type, result.value )
177
- results[key] = results[key] || new Set();
178
- results[key].add(combined); // remove duplicates
182
+
183
+ function loadFromBindings(kb, solidSubject, bindings, doc) {
184
+ var predMap = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : variableNameToPredicateMap;
185
+ var results = {};
186
+ debug.log("loadFromBindings: subject: ".concat(solidSubject));
187
+ debug.log(" doc: ".concat(doc));
188
+ bindings.forEach(function (binding) {
189
+ for (var key in binding) {
190
+ var result = binding[key];
191
+ var combined = JSON.stringify(result); // ( result.type, result.value )
192
+
193
+ results[key] = results[key] || new Set();
194
+ results[key].add(combined); // remove duplicates
195
+ }
196
+ });
197
+
198
+ var _loop = function _loop(key) {
199
+ var values = results[key];
200
+ debug.log(" results ".concat(key, " -> ").concat(values));
201
+ values.forEach(function (combined) {
202
+ var result = JSON.parse(combined);
203
+ var type = result.type,
204
+ value = result.value;
205
+ var obj;
206
+
207
+ if (type === 'uri') {
208
+ obj = kb.sym(value);
209
+ } else if (type === 'literal') {
210
+ obj = new _rdflib.Literal(value, result.language, result.datatype);
211
+ } else {
212
+ throw new Error("loadFromBindings: unexpected type: ".concat(type));
213
+ }
214
+
215
+ if (key === 'type') {
216
+ if (wikidataIncomingClassMap[value]) {
217
+ obj = wikidataIncomingClassMap[value];
218
+ } else {
219
+ debug.warn('Unmapped Wikidata Class: ' + value);
220
+ }
221
+ } else if (key === 'coordinates') {
222
+ // const latlong = value // Like 'Point(-71.106111111 42.375)'
223
+ debug.log(' @@@ hey a point: ' + value); // const regexp = /.*\(([-0-9\.-]*) ([-0-9\.-]*)\)/
224
+
225
+ var regexp = /.*\(([-0-9.-]*) ([-0-9.-]*)\)/;
226
+ var match = regexp.exec(value);
227
+
228
+ if (match) {
229
+ var _float = ns.xsd('float');
230
+
231
+ var latitude = new _rdflib.Literal(match[1], null, _float);
232
+ var longitude = new _rdflib.Literal(match[2], null, _float);
233
+ kb.add(solidSubject, ns.schema('longitude'), longitude, doc);
234
+ kb.add(solidSubject, ns.schema('latitude'), latitude, doc);
235
+ } else {
236
+ debug.log('Bad coordinates syntax: ' + value);
179
237
  }
238
+ } else {
239
+ var pred = predMap[key] || ns.schema(key); // fallback to just using schema.org
240
+
241
+ kb.add(solidSubject, pred, obj, doc); // @@ deal with non-string and objects
242
+
243
+ debug.log(" public data ".concat(pred, " ").concat(obj, "."));
244
+ }
180
245
  });
181
- var _loop_1 = function (key) {
182
- var values = results[key];
183
- debug.log(" results ".concat(key, " -> ").concat(values));
184
- values.forEach(function (combined) {
185
- var result = JSON.parse(combined);
186
- var type = result.type, value = result.value;
187
- var obj;
188
- if (type === 'uri') {
189
- obj = kb.sym(value);
190
- }
191
- else if (type === 'literal') {
192
- obj = new rdflib_1.Literal(value, result.language, result.datatype);
193
- }
194
- else {
195
- throw new Error("loadFromBindings: unexpected type: ".concat(type));
196
- }
197
- if (key === 'type') {
198
- if (exports.wikidataIncomingClassMap[value]) {
199
- obj = exports.wikidataIncomingClassMap[value];
200
- }
201
- else {
202
- debug.warn('Unmapped Wikidata Class: ' + value);
203
- }
204
- }
205
- else if (key === 'coordinates') {
206
- // const latlong = value // Like 'Point(-71.106111111 42.375)'
207
- debug.log(' @@@ hey a point: ' + value);
208
- // const regexp = /.*\(([-0-9\.-]*) ([-0-9\.-]*)\)/
209
- var regexp = /.*\(([-0-9.-]*) ([-0-9.-]*)\)/;
210
- var match = regexp.exec(value);
211
- if (match) {
212
- var float = ns.xsd('float');
213
- var latitude = new rdflib_1.Literal(match[1], null, float);
214
- var longitude = new rdflib_1.Literal(match[2], null, float);
215
- kb.add(solidSubject, ns.schema('longitude'), longitude, doc);
216
- kb.add(solidSubject, ns.schema('latitude'), latitude, doc);
217
- }
218
- else {
219
- debug.log('Bad coordinates syntax: ' + value);
220
- }
221
- }
222
- else {
223
- var pred = predMap[key] || ns.schema(key); // fallback to just using schema.org
224
- kb.add(solidSubject, pred, obj, doc); // @@ deal with non-string and objects
225
- debug.log(" public data ".concat(pred, " ").concat(obj, "."));
226
- }
227
- });
228
- };
229
- for (var key in results) {
230
- _loop_1(key);
231
- }
246
+ };
247
+
248
+ for (var key in results) {
249
+ _loop(key);
250
+ }
232
251
  }
233
- exports.loadFromBindings = loadFromBindings;
234
252
  /* ESCO sopecific
235
253
  */
254
+
255
+
236
256
  function ESCOResultToBindings(json) {
237
- var results = json._embedded.results; // Array
238
- var bindings = results.map(function (result) {
239
- var name = result.title;
240
- var uri = result.uri; // like http://data.europa.eu/esco/occupation/57af9090-55b4-4911-b2d0-86db01c00b02
241
- return { name: { value: name, type: 'literal' }, subject: { type: 'IRI', value: uri } }; // simulate SPARQL bindings
242
- });
243
- return bindings;
257
+ var results = json._embedded.results; // Array
258
+
259
+ var bindings = results.map(function (result) {
260
+ var name = result.title;
261
+ var uri = result.uri; // like http://data.europa.eu/esco/occupation/57af9090-55b4-4911-b2d0-86db01c00b02
262
+
263
+ return {
264
+ name: {
265
+ value: name,
266
+ type: 'literal'
267
+ },
268
+ subject: {
269
+ type: 'IRI',
270
+ value: uri
271
+ }
272
+ }; // simulate SPARQL bindings
273
+ });
274
+ return bindings;
244
275
  }
245
- exports.ESCOResultToBindings = ESCOResultToBindings;
246
276
  /* Query all entities of given class and partially matching name
247
277
  */
248
- function queryESCODataByName(filter, theClass, queryTarget) {
249
- var _a;
250
- return __awaiter(this, void 0, void 0, function () {
251
- var limit, queryURI, response, text, json;
252
- return __generator(this, function (_b) {
253
- switch (_b.label) {
254
- case 0:
255
- if (!queryTarget.searchByNameURI)
256
- throw new Error('Missing queryTarget.searchByNameURI on queryESCODataByName');
257
- limit = queryTarget.limit || exports.AUTOCOMPLETE_LIMIT;
258
- queryURI = queryTarget.searchByNameURI
259
- .replace('$(name)', filter)
260
- .replace('$(limit)', '' + limit)
261
- .replace('$(targetClass)', theClass.toNT());
262
- debug.log('Querying ESCO data - uri: ' + queryURI);
263
- return [4 /*yield*/, ((_a = logic_1.kb.fetcher) === null || _a === void 0 ? void 0 : _a.webOperation('GET', queryURI, exports.fetcherOptionsJsonPublicData))];
264
- case 1:
265
- response = _b.sent();
266
- text = (response === null || response === void 0 ? void 0 : response.responseText) || '';
267
- debug.log(' Query result text' + text.slice(0, 500) + '...');
268
- if (text.length === 0)
269
- throw new Error('Wot no text back from ESCO query ' + queryURI);
270
- json = JSON.parse(text);
271
- // console.log('Whole JSON return object', json)
272
- debug.log(' ESCO Query result JSON' + JSON.stringify(json, null, 4).slice(0, 500) + '...');
273
- return [2 /*return*/, ESCOResultToBindings(json)];
274
- }
275
- });
276
- });
278
+
279
+
280
+ function queryESCODataByName(_x, _x2, _x3) {
281
+ return _queryESCODataByName.apply(this, arguments);
277
282
  }
278
- exports.queryESCODataByName = queryESCODataByName;
279
283
  /* Cope ithe syntax probelm in wikidata timeout responses
280
284
  *
281
285
  * Wikidata bug: https://phabricator.wikimedia.org/T283962
282
286
  * This will not be needed whn that WDQS bug fixed.
283
287
  * This is aptured in https://github.com/solid/solid-ui/issues/403
284
288
  */
289
+
290
+
291
+ function _queryESCODataByName() {
292
+ _queryESCODataByName = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(filter, theClass, queryTarget) {
293
+ var _kb$fetcher;
294
+
295
+ var limit, queryURI, response, text, json;
296
+ return _regenerator["default"].wrap(function _callee$(_context) {
297
+ while (1) {
298
+ switch (_context.prev = _context.next) {
299
+ case 0:
300
+ if (queryTarget.searchByNameURI) {
301
+ _context.next = 2;
302
+ break;
303
+ }
304
+
305
+ throw new Error('Missing queryTarget.searchByNameURI on queryESCODataByName');
306
+
307
+ case 2:
308
+ limit = queryTarget.limit || AUTOCOMPLETE_LIMIT;
309
+ queryURI = queryTarget.searchByNameURI.replace('$(name)', filter).replace('$(limit)', '' + limit).replace('$(targetClass)', theClass.toNT());
310
+ debug.log('Querying ESCO data - uri: ' + queryURI);
311
+ _context.next = 7;
312
+ return (_kb$fetcher = _logic.kb.fetcher) === null || _kb$fetcher === void 0 ? void 0 : _kb$fetcher.webOperation('GET', queryURI, fetcherOptionsJsonPublicData);
313
+
314
+ case 7:
315
+ response = _context.sent;
316
+ text = (response === null || response === void 0 ? void 0 : response.responseText) || '';
317
+ debug.log(' Query result text' + text.slice(0, 500) + '...');
318
+
319
+ if (!(text.length === 0)) {
320
+ _context.next = 12;
321
+ break;
322
+ }
323
+
324
+ throw new Error('Wot no text back from ESCO query ' + queryURI);
325
+
326
+ case 12:
327
+ json = JSON.parse(text); // console.log('Whole JSON return object', json)
328
+
329
+ debug.log(' ESCO Query result JSON' + JSON.stringify(json, null, 4).slice(0, 500) + '...');
330
+ return _context.abrupt("return", ESCOResultToBindings(json));
331
+
332
+ case 15:
333
+ case "end":
334
+ return _context.stop();
335
+ }
336
+ }
337
+ }, _callee);
338
+ }));
339
+ return _queryESCODataByName.apply(this, arguments);
340
+ }
341
+
285
342
  function fixWikidataJSON(str) {
286
- var syntaxProblem = str.indexOf('SPARQL-QUERY');
287
- if (syntaxProblem < 0)
288
- return str;
289
- // console.log('@@ fixWikidataJSON FIXING')
290
- debug.warn(' ### Fixing JSON with wikidata error code injection ' + str.slice(syntaxProblem, syntaxProblem + 200));
291
- var goodness = str.lastIndexOf('}, {');
292
- return str.slice(0, goodness) + ' } ] } } '; // Close binding, array, bindings, results, root object
343
+ var syntaxProblem = str.indexOf('SPARQL-QUERY');
344
+ if (syntaxProblem < 0) return str; // console.log('@@ fixWikidataJSON FIXING')
345
+
346
+ debug.warn(' ### Fixing JSON with wikidata error code injection ' + str.slice(syntaxProblem, syntaxProblem + 200));
347
+ var goodness = str.lastIndexOf('}, {');
348
+ return str.slice(0, goodness) + ' } ] } } '; // Close binding, array, bindings, results, root object
293
349
  }
294
350
  /* Query all entities of given class and partially matching name
295
351
  */
296
- function queryPublicDataByName(filter, theClass, languages, queryTarget) {
297
- var _a;
298
- return __awaiter(this, void 0, void 0, function () {
299
- function substituteStrings(template) {
300
- var limit = queryTarget.limit || exports.AUTOCOMPLETE_LIMIT;
301
- var u1 = template.replace('$(name)', filter)
302
- .replace('$(limit)', '' + limit)
303
- .replace('$(language)', language);
304
- return u1.replace('$(targetClass)', theClass.toNT());
305
- }
306
- var languagePrefs, language, sparql, queryURI, response, err_1, text, text2, json, bindings;
307
- return __generator(this, function (_b) {
308
- switch (_b.label) {
309
- case 0:
310
- if (!theClass) {
311
- throw new Error('queryPublicDataByName: No class provided');
312
- }
313
- return [4 /*yield*/, (0, language_1.getPreferredLanguages)()];
314
- case 1:
315
- languagePrefs = (_b.sent()) || language_1.defaultPreferredLanguages;
316
- language = languagePrefs[0] || 'en';
317
- if (!queryTarget.searchByNameQuery) return [3 /*break*/, 2];
318
- sparql = substituteStrings(queryTarget.searchByNameQuery);
319
- debug.log('Querying public data - sparql: ' + sparql);
320
- return [2 /*return*/, queryPublicDataSelect(sparql, queryTarget)];
321
- case 2:
322
- if (!queryTarget.searchByNameURI) return [3 /*break*/, 7];
323
- queryURI = substituteStrings(queryTarget.searchByNameURI);
324
- response = void 0;
325
- _b.label = 3;
326
- case 3:
327
- _b.trys.push([3, 5, , 6]);
328
- return [4 /*yield*/, ((_a = logic_1.kb.fetcher) === null || _a === void 0 ? void 0 : _a.webOperation('GET', queryURI, exports.fetcherOptionsJsonPublicData))];
329
- case 4:
330
- response = _b.sent();
331
- return [3 /*break*/, 6];
332
- case 5:
333
- err_1 = _b.sent();
334
- throw new Error("Exception when trying to fetch ".concat(queryURI, " \n ").concat(err_1));
335
- case 6:
336
- text = response.responseText || '' // ts
337
- ;
338
- if (response.status !== 200) {
339
- throw new Error("HTTP error status ".concat(response.status, " trying to fetch ").concat(queryURI, " "));
340
- }
341
- debug.log(' Query result text' + text.slice(0, 500) + '...');
342
- if (text.length === 0)
343
- throw new Error('queryPublicDataByName: No text back from public data query ' + queryURI);
344
- text2 = fixWikidataJSON(text) // Kludge: strip of interrupting error message
345
- ;
346
- json = JSON.parse(text2);
347
- debug.log(' API Query result JSON' + JSON.stringify(json, null, 4).slice(0, 500) + '...');
348
- if (json._embedded) {
349
- debug.log(' Looks like ESCO');
350
- bindings = ESCOResultToBindings(json);
351
- return [2 /*return*/, bindings];
352
- }
353
- else {
354
- alert('Code me: unrecognized API return format');
355
- throw new Error("*** Need to add code to parse unrecognized API JSON return\n".concat(JSON.stringify(json, null, 4)));
356
- }
357
- return [3 /*break*/, 8];
358
- case 7: throw new Error('Query source must have either rest API or SPARQL endpoint.');
359
- case 8: return [2 /*return*/];
360
- }
361
- });
362
- });
352
+
353
+
354
+ function queryPublicDataByName(_x4, _x5, _x6, _x7) {
355
+ return _queryPublicDataByName.apply(this, arguments);
363
356
  }
364
- exports.queryPublicDataByName = queryPublicDataByName;
365
357
  /* Query a database using SPARQL SELECT
366
358
  */
367
- function queryPublicDataSelect(sparql, queryTarget) {
368
- var _a;
369
- return __awaiter(this, void 0, void 0, function () {
370
- var myUrlWithParams, queryURI, headers, options, response, text, text2, json, bindings;
371
- return __generator(this, function (_b) {
372
- switch (_b.label) {
373
- case 0:
374
- if (!queryTarget.endpoint)
375
- throw new Error('Missing queryTarget.endpoint required for queryPublicDataSelect');
376
- myUrlWithParams = new URL(queryTarget.endpoint);
377
- myUrlWithParams.searchParams.append('query', sparql);
378
- queryURI = myUrlWithParams.href;
379
- debug.log(' queryPublicDataSelect uri: ' + queryURI);
380
- headers = new Headers();
381
- headers.append('Accept', 'application/json');
382
- options = {
383
- credentials: 'omit',
384
- headers: headers
385
- };
386
- return [4 /*yield*/, ((_a = logic_1.kb.fetcher) === null || _a === void 0 ? void 0 : _a.webOperation('GET', queryURI, options))];
387
- case 1:
388
- response = _b.sent();
389
- text = (response === null || response === void 0 ? void 0 : response.responseText) || '';
390
- if (text.length === 0)
391
- throw new Error('No text back from query ' + queryURI);
392
- text2 = fixWikidataJSON(text);
393
- json = JSON.parse(text2);
394
- debug.log(' Query result JSON' + JSON.stringify(json, null, 4).slice(0, 100) + '...');
395
- bindings = json.results.bindings;
396
- return [2 /*return*/, bindings];
359
+
360
+
361
+ function _queryPublicDataByName() {
362
+ _queryPublicDataByName = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(filter, theClass, languages, queryTarget) {
363
+ var substituteStrings, languagePrefs, language, sparql, queryURI, response, _kb$fetcher2, text, text2, json, bindings;
364
+
365
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
366
+ while (1) {
367
+ switch (_context2.prev = _context2.next) {
368
+ case 0:
369
+ substituteStrings = function _substituteStrings(template) {
370
+ var limit = queryTarget.limit || AUTOCOMPLETE_LIMIT;
371
+ var u1 = template.replace('$(name)', filter).replace('$(limit)', '' + limit).replace('$(language)', language);
372
+ return u1.replace('$(targetClass)', theClass.toNT());
373
+ };
374
+
375
+ if (theClass) {
376
+ _context2.next = 3;
377
+ break;
397
378
  }
398
- });
399
- });
379
+
380
+ throw new Error('queryPublicDataByName: No class provided');
381
+
382
+ case 3:
383
+ _context2.next = 5;
384
+ return (0, _language.getPreferredLanguages)();
385
+
386
+ case 5:
387
+ _context2.t0 = _context2.sent;
388
+
389
+ if (_context2.t0) {
390
+ _context2.next = 8;
391
+ break;
392
+ }
393
+
394
+ _context2.t0 = _language.defaultPreferredLanguages;
395
+
396
+ case 8:
397
+ languagePrefs = _context2.t0;
398
+ language = languagePrefs[0] || 'en';
399
+
400
+ if (!queryTarget.searchByNameQuery) {
401
+ _context2.next = 16;
402
+ break;
403
+ }
404
+
405
+ sparql = substituteStrings(queryTarget.searchByNameQuery);
406
+ debug.log('Querying public data - sparql: ' + sparql);
407
+ return _context2.abrupt("return", queryPublicDataSelect(sparql, queryTarget));
408
+
409
+ case 16:
410
+ if (!queryTarget.searchByNameURI) {
411
+ _context2.next = 46;
412
+ break;
413
+ }
414
+
415
+ // not sparql - random API
416
+ queryURI = substituteStrings(queryTarget.searchByNameURI);
417
+ _context2.prev = 18;
418
+ _context2.next = 21;
419
+ return (_kb$fetcher2 = _logic.kb.fetcher) === null || _kb$fetcher2 === void 0 ? void 0 : _kb$fetcher2.webOperation('GET', queryURI, fetcherOptionsJsonPublicData);
420
+
421
+ case 21:
422
+ response = _context2.sent;
423
+ _context2.next = 27;
424
+ break;
425
+
426
+ case 24:
427
+ _context2.prev = 24;
428
+ _context2.t1 = _context2["catch"](18);
429
+ throw new Error("Exception when trying to fetch ".concat(queryURI, " \n ").concat(_context2.t1));
430
+
431
+ case 27:
432
+ text = response.responseText || ''; // ts
433
+
434
+ if (!(response.status !== 200)) {
435
+ _context2.next = 30;
436
+ break;
437
+ }
438
+
439
+ throw new Error("HTTP error status ".concat(response.status, " trying to fetch ").concat(queryURI, " "));
440
+
441
+ case 30:
442
+ debug.log(' Query result text' + text.slice(0, 500) + '...');
443
+
444
+ if (!(text.length === 0)) {
445
+ _context2.next = 33;
446
+ break;
447
+ }
448
+
449
+ throw new Error('queryPublicDataByName: No text back from public data query ' + queryURI);
450
+
451
+ case 33:
452
+ text2 = fixWikidataJSON(text); // Kludge: strip of interrupting error message
453
+
454
+ json = JSON.parse(text2);
455
+ debug.log(' API Query result JSON' + JSON.stringify(json, null, 4).slice(0, 500) + '...');
456
+
457
+ if (!json._embedded) {
458
+ _context2.next = 42;
459
+ break;
460
+ }
461
+
462
+ debug.log(' Looks like ESCO');
463
+ bindings = ESCOResultToBindings(json);
464
+ return _context2.abrupt("return", bindings);
465
+
466
+ case 42:
467
+ alert('Code me: unrecognized API return format');
468
+ throw new Error("*** Need to add code to parse unrecognized API JSON return\n".concat(JSON.stringify(json, null, 4)));
469
+
470
+ case 44:
471
+ _context2.next = 47;
472
+ break;
473
+
474
+ case 46:
475
+ throw new Error('Query source must have either rest API or SPARQL endpoint.');
476
+
477
+ case 47:
478
+ case "end":
479
+ return _context2.stop();
480
+ }
481
+ }
482
+ }, _callee2, null, [[18, 24]]);
483
+ }));
484
+ return _queryPublicDataByName.apply(this, arguments);
485
+ }
486
+
487
+ function queryPublicDataSelect(_x8, _x9) {
488
+ return _queryPublicDataSelect.apply(this, arguments);
400
489
  }
401
- exports.queryPublicDataSelect = queryPublicDataSelect;
402
490
  /* Load from a database using SPARQL CONSTRUCT
403
491
  */
404
- function queryPublicDataConstruct(sparql, pubicId, queryTarget) {
405
- var _a;
406
- return __awaiter(this, void 0, void 0, function () {
407
- var myUrlWithParams, queryURI, headers, options, response, text, report;
408
- return __generator(this, function (_b) {
409
- switch (_b.label) {
410
- case 0:
411
- debug.log('queryPublicDataConstruct: sparql:', sparql);
412
- if (!queryTarget.endpoint)
413
- throw new Error('Missing queryTarget.endpoint required for queryPublicDataConstruct');
414
- myUrlWithParams = new URL(queryTarget.endpoint);
415
- myUrlWithParams.searchParams.append('query', sparql);
416
- queryURI = myUrlWithParams.href;
417
- debug.log(' queryPublicDataConstruct uri: ' + queryURI);
418
- headers = new Headers();
419
- headers.append('Accept', 'text/turtle');
420
- options = {
421
- credentials: 'omit',
422
- headers: headers // ({ Accept: 'text/turtle' } as Headers)
423
- };
424
- return [4 /*yield*/, ((_a = logic_1.kb.fetcher) === null || _a === void 0 ? void 0 : _a.webOperation('GET', queryURI, options))];
425
- case 1:
426
- response = _b.sent();
427
- text = (response === null || response === void 0 ? void 0 : response.responseText) || 'No response text?';
428
- report = text.length > 500 ? text.slice(0, 200) + ' ... ' + text.slice(-200) : text;
429
- debug.log(' queryPublicDataConstruct result text:' + report);
430
- if (text.length === 0)
431
- throw new Error('queryPublicDataConstruct: No text back from construct query:' + queryURI);
432
- (0, rdflib_1.parse)(text, logic_1.kb, pubicId.uri, 'text/turtle');
433
- return [2 /*return*/];
492
+
493
+
494
+ function _queryPublicDataSelect() {
495
+ _queryPublicDataSelect = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(sparql, queryTarget) {
496
+ var _kb$fetcher3;
497
+
498
+ var myUrlWithParams, queryURI, headers, options, response, text, text2, json, bindings;
499
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
500
+ while (1) {
501
+ switch (_context3.prev = _context3.next) {
502
+ case 0:
503
+ if (queryTarget.endpoint) {
504
+ _context3.next = 2;
505
+ break;
434
506
  }
435
- });
436
- });
437
- }
438
- exports.queryPublicDataConstruct = queryPublicDataConstruct;
439
- function loadPublicDataThing(kb, subject, publicDataID) {
440
- return __awaiter(this, void 0, void 0, function () {
441
- var iDToFetch, headers;
442
- return __generator(this, function (_a) {
443
- switch (_a.label) {
444
- case 0:
445
- if (!publicDataID.uri.startsWith('https://dbpedia.org/resource/')) return [3 /*break*/, 1];
446
- return [2 /*return*/, getDbpediaDetails(kb, subject, publicDataID)];
447
- case 1:
448
- if (!publicDataID.uri.match(/^https?:\/\/www\.wikidata\.org\/entity\/.*/)) return [3 /*break*/, 3];
449
- // const QId = publicDataID.uri.split('/')[4]
450
- // const dataURI = `http://www.wikidata.org/wiki/Special:EntityData/${QId}.ttl`
451
- // In fact loading the data URI gives much too much irrelevant data, from wikidata, so we do a query.
452
- return [4 /*yield*/, getWikidataDetails(kb, subject, publicDataID)
453
- // await getWikidataLocation(kb, subject, publicDataID) -- should get that in the details query now
454
- ];
455
- case 2:
456
- // const QId = publicDataID.uri.split('/')[4]
457
- // const dataURI = `http://www.wikidata.org/wiki/Special:EntityData/${QId}.ttl`
458
- // In fact loading the data URI gives much too much irrelevant data, from wikidata, so we do a query.
459
- _a.sent();
460
- return [3 /*break*/, 4];
461
- case 3:
462
- iDToFetch = publicDataID.uri.startsWith('http:')
463
- ? kb.sym('https:' + publicDataID.uri.slice(5))
464
- : publicDataID;
465
- headers = new Headers();
466
- headers.append('Accept', 'text/turtle');
467
- return [2 /*return*/, kb.fetcher.load(iDToFetch, {
468
- credentials: 'omit',
469
- headers: headers
470
- })];
471
- case 4: return [2 /*return*/];
507
+
508
+ throw new Error('Missing queryTarget.endpoint required for queryPublicDataSelect');
509
+
510
+ case 2:
511
+ myUrlWithParams = new URL(queryTarget.endpoint);
512
+ myUrlWithParams.searchParams.append('query', sparql);
513
+ queryURI = myUrlWithParams.href;
514
+ debug.log(' queryPublicDataSelect uri: ' + queryURI);
515
+ headers = new Headers();
516
+ headers.append('Accept', 'application/json');
517
+ options = {
518
+ credentials: 'omit',
519
+ // CORS - as we know it is public
520
+ headers: headers
521
+ };
522
+ _context3.next = 11;
523
+ return (_kb$fetcher3 = _logic.kb.fetcher) === null || _kb$fetcher3 === void 0 ? void 0 : _kb$fetcher3.webOperation('GET', queryURI, options);
524
+
525
+ case 11:
526
+ response = _context3.sent;
527
+ text = (response === null || response === void 0 ? void 0 : response.responseText) || '';
528
+
529
+ if (!(text.length === 0)) {
530
+ _context3.next = 15;
531
+ break;
472
532
  }
473
- });
474
- });
533
+
534
+ throw new Error('No text back from query ' + queryURI);
535
+
536
+ case 15:
537
+ text2 = fixWikidataJSON(text);
538
+ json = JSON.parse(text2);
539
+ debug.log(' Query result JSON' + JSON.stringify(json, null, 4).slice(0, 100) + '...');
540
+ bindings = json.results.bindings;
541
+ return _context3.abrupt("return", bindings);
542
+
543
+ case 20:
544
+ case "end":
545
+ return _context3.stop();
546
+ }
547
+ }
548
+ }, _callee3);
549
+ }));
550
+ return _queryPublicDataSelect.apply(this, arguments);
475
551
  }
476
- exports.loadPublicDataThing = loadPublicDataThing;
477
- function getWikidataDetails(kb, solidSubject, publicDataID) {
478
- return __awaiter(this, void 0, void 0, function () {
479
- var subjRegexp, sparql;
480
- return __generator(this, function (_a) {
481
- switch (_a.label) {
482
- case 0:
483
- subjRegexp = /wd:Q49108/g;
484
- sparql = exports.instituteDetailsWikidataQuery.replace(subjRegexp, publicDataID.toNT());
485
- return [4 /*yield*/, queryPublicDataConstruct(sparql, publicDataID, exports.wikidataParameters)];
486
- case 1:
487
- _a.sent();
488
- debug.log('getWikidataDetails: loaded.', publicDataID);
489
- return [2 /*return*/];
490
- }
491
- });
492
- });
552
+
553
+ function queryPublicDataConstruct(_x10, _x11, _x12) {
554
+ return _queryPublicDataConstruct.apply(this, arguments);
493
555
  }
494
- exports.getWikidataDetails = getWikidataDetails;
495
- function getWikidataDetailsOld(kb, solidSubject, publicDataID) {
496
- return __awaiter(this, void 0, void 0, function () {
497
- var sparql, bindings;
498
- return __generator(this, function (_a) {
499
- switch (_a.label) {
500
- case 0:
501
- sparql = "select distinct * where {\n optional { $(subject) wdt:P31 ?targetClass } # instance of\n optional { $(subject) wdt:P154 ?logo }\n optional { $(subject) wdt:P158 ?sealImage }\n# optional { $(subject) wdt:P159 ?headquartersLocation }\n\noptional { $(subject) wdt:P17 ?country }\noptional { $(subject) wdt:P18 ?image }\noptional { $(subject) wdt:P1813 ?shortName }\n\noptional { $(subject) wdt:P355 ?subsidiary }\n# SERVICE wikibase:label { bd:serviceParam wikibase:language \"fr,en,de,it\" }\n}"
502
- .replace(subjectRegexp, publicDataID.toNT());
503
- return [4 /*yield*/, queryPublicDataSelect(sparql, exports.wikidataParameters)];
504
- case 1:
505
- bindings = _a.sent();
506
- loadFromBindings(kb, publicDataID, bindings, publicDataID.doc()); // arg2 was solidSubject
507
- return [2 /*return*/];
556
+
557
+ function _queryPublicDataConstruct() {
558
+ _queryPublicDataConstruct = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(sparql, pubicId, queryTarget) {
559
+ var _kb$fetcher4;
560
+
561
+ var myUrlWithParams, queryURI, headers, options, response, text, report;
562
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
563
+ while (1) {
564
+ switch (_context4.prev = _context4.next) {
565
+ case 0:
566
+ debug.log('queryPublicDataConstruct: sparql:', sparql);
567
+
568
+ if (queryTarget.endpoint) {
569
+ _context4.next = 3;
570
+ break;
508
571
  }
509
- });
510
- });
511
- }
512
- exports.getWikidataDetailsOld = getWikidataDetailsOld;
513
- function getWikidataLocation(kb, solidSubject, publicDataID) {
514
- return __awaiter(this, void 0, void 0, function () {
515
- var sparql, bindings;
516
- return __generator(this, function (_a) {
517
- switch (_a.label) {
518
- case 0:
519
- sparql = "select distinct * where {\n\n $(subject) wdt:P276 ?location .\n\n optional { ?location wdt:P2044 ?elevation }\n optional { ?location wdt:P131 ?region }\n optional { ?location wdt:P625 ?coordinates }\noptional { ?location wdt:P17 ?country }\n\n# SERVICE wikibase:label { bd:serviceParam wikibase:language \"fr,en,de,it\" }\n}".replace(subjectRegexp, publicDataID.toNT());
520
- debug.log(' location query sparql:' + sparql);
521
- return [4 /*yield*/, queryPublicDataSelect(sparql, exports.wikidataParameters)];
522
- case 1:
523
- bindings = _a.sent();
524
- debug.log(' location query bindings:', bindings);
525
- loadFromBindings(kb, publicDataID, bindings, publicDataID.doc()); // was solidSubject
526
- return [2 /*return*/];
572
+
573
+ throw new Error('Missing queryTarget.endpoint required for queryPublicDataConstruct');
574
+
575
+ case 3:
576
+ myUrlWithParams = new URL(queryTarget.endpoint);
577
+ myUrlWithParams.searchParams.append('query', sparql);
578
+ queryURI = myUrlWithParams.href;
579
+ debug.log(' queryPublicDataConstruct uri: ' + queryURI);
580
+ headers = new Headers();
581
+ headers.append('Accept', 'text/turtle');
582
+ options = {
583
+ credentials: 'omit',
584
+ // CORS // @tsc pain
585
+ headers: headers // ({ Accept: 'text/turtle' } as Headers)
586
+
587
+ };
588
+ _context4.next = 12;
589
+ return (_kb$fetcher4 = _logic.kb.fetcher) === null || _kb$fetcher4 === void 0 ? void 0 : _kb$fetcher4.webOperation('GET', queryURI, options);
590
+
591
+ case 12:
592
+ response = _context4.sent;
593
+ text = (response === null || response === void 0 ? void 0 : response.responseText) || 'No response text?';
594
+ report = text.length > 500 ? text.slice(0, 200) + ' ... ' + text.slice(-200) : text;
595
+ debug.log(' queryPublicDataConstruct result text:' + report);
596
+
597
+ if (!(text.length === 0)) {
598
+ _context4.next = 18;
599
+ break;
527
600
  }
528
- });
529
- });
601
+
602
+ throw new Error('queryPublicDataConstruct: No text back from construct query:' + queryURI);
603
+
604
+ case 18:
605
+ (0, _rdflib.parse)(text, _logic.kb, pubicId.uri, 'text/turtle');
606
+
607
+ case 19:
608
+ case "end":
609
+ return _context4.stop();
610
+ }
611
+ }
612
+ }, _callee4);
613
+ }));
614
+ return _queryPublicDataConstruct.apply(this, arguments);
530
615
  }
531
- exports.getWikidataLocation = getWikidataLocation;
532
- function getDbpediaDetails(kb, solidSubject, publicDataID) {
533
- return __awaiter(this, void 0, void 0, function () {
534
- var sparql, bindings;
535
- return __generator(this, function (_a) {
536
- switch (_a.label) {
537
- case 0:
538
- sparql = "select distinct ?city, ?state, ?country, ?homepage, ?logo, ?lat, ?long, WHERE {\n OPTIONAL { <".concat(publicDataID, "> <http://dbpedia.org/ontology/city> ?city }\n OPTIONAL { ").concat(publicDataID, " <http://dbpedia.org/ontology/state> ?state }\n OPTIONAL { ").concat(publicDataID, " <http://dbpedia.org/ontology/country> ?country }\n OPTIONAL { ").concat(publicDataID, " foaf:homepage ?homepage }\n OPTIONAL { ").concat(publicDataID, " foaf:lat ?lat; foaf:long ?long }\n OPTIONAL { ").concat(publicDataID, " <http://dbpedia.org/ontology/country> ?country }\n }");
539
- return [4 /*yield*/, queryPublicDataSelect(sparql, exports.dbpediaParameters)];
540
- case 1:
541
- bindings = _a.sent();
542
- loadFromBindings(kb, publicDataID, bindings, publicDataID.doc());
543
- debug.log('Finished getDbpediaDetails.');
544
- return [2 /*return*/];
616
+
617
+ function loadPublicDataThing(_x13, _x14, _x15) {
618
+ return _loadPublicDataThing.apply(this, arguments);
619
+ }
620
+
621
+ function _loadPublicDataThing() {
622
+ _loadPublicDataThing = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(kb, subject, publicDataID) {
623
+ var iDToFetch, headers;
624
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
625
+ while (1) {
626
+ switch (_context5.prev = _context5.next) {
627
+ case 0:
628
+ if (!publicDataID.uri.startsWith('https://dbpedia.org/resource/')) {
629
+ _context5.next = 4;
630
+ break;
545
631
  }
546
- });
547
- });
632
+
633
+ return _context5.abrupt("return", getDbpediaDetails(kb, subject, publicDataID));
634
+
635
+ case 4:
636
+ if (!publicDataID.uri.match(/^https?:\/\/www\.wikidata\.org\/entity\/.*/)) {
637
+ _context5.next = 9;
638
+ break;
639
+ }
640
+
641
+ _context5.next = 7;
642
+ return getWikidataDetails(kb, subject, publicDataID);
643
+
644
+ case 7:
645
+ _context5.next = 13;
646
+ break;
647
+
648
+ case 9:
649
+ iDToFetch = publicDataID.uri.startsWith('http:') ? kb.sym('https:' + publicDataID.uri.slice(5)) : publicDataID;
650
+ headers = new Headers();
651
+ headers.append('Accept', 'text/turtle');
652
+ return _context5.abrupt("return", kb.fetcher.load(iDToFetch, {
653
+ credentials: 'omit',
654
+ headers: headers
655
+ }));
656
+
657
+ case 13:
658
+ case "end":
659
+ return _context5.stop();
660
+ }
661
+ }
662
+ }, _callee5);
663
+ }));
664
+ return _loadPublicDataThing.apply(this, arguments);
665
+ }
666
+
667
+ function getWikidataDetails(_x16, _x17, _x18) {
668
+ return _getWikidataDetails.apply(this, arguments);
669
+ }
670
+
671
+ function _getWikidataDetails() {
672
+ _getWikidataDetails = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(kb, solidSubject, publicDataID) {
673
+ var subjRegexp, sparql;
674
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
675
+ while (1) {
676
+ switch (_context6.prev = _context6.next) {
677
+ case 0:
678
+ subjRegexp = /wd:Q49108/g;
679
+ sparql = instituteDetailsWikidataQuery.replace(subjRegexp, publicDataID.toNT());
680
+ _context6.next = 4;
681
+ return queryPublicDataConstruct(sparql, publicDataID, wikidataParameters);
682
+
683
+ case 4:
684
+ debug.log('getWikidataDetails: loaded.', publicDataID);
685
+
686
+ case 5:
687
+ case "end":
688
+ return _context6.stop();
689
+ }
690
+ }
691
+ }, _callee6);
692
+ }));
693
+ return _getWikidataDetails.apply(this, arguments);
694
+ }
695
+
696
+ function getWikidataDetailsOld(_x19, _x20, _x21) {
697
+ return _getWikidataDetailsOld.apply(this, arguments);
698
+ }
699
+
700
+ function _getWikidataDetailsOld() {
701
+ _getWikidataDetailsOld = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7(kb, solidSubject, publicDataID) {
702
+ var sparql, bindings;
703
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
704
+ while (1) {
705
+ switch (_context7.prev = _context7.next) {
706
+ case 0:
707
+ sparql = "select distinct * where {\n optional { $(subject) wdt:P31 ?targetClass } # instance of\n optional { $(subject) wdt:P154 ?logo }\n optional { $(subject) wdt:P158 ?sealImage }\n# optional { $(subject) wdt:P159 ?headquartersLocation }\n\noptional { $(subject) wdt:P17 ?country }\noptional { $(subject) wdt:P18 ?image }\noptional { $(subject) wdt:P1813 ?shortName }\n\noptional { $(subject) wdt:P355 ?subsidiary }\n# SERVICE wikibase:label { bd:serviceParam wikibase:language \"fr,en,de,it\" }\n}".replace(subjectRegexp, publicDataID.toNT());
708
+ _context7.next = 3;
709
+ return queryPublicDataSelect(sparql, wikidataParameters);
710
+
711
+ case 3:
712
+ bindings = _context7.sent;
713
+ loadFromBindings(kb, publicDataID, bindings, publicDataID.doc()); // arg2 was solidSubject
714
+
715
+ case 5:
716
+ case "end":
717
+ return _context7.stop();
718
+ }
719
+ }
720
+ }, _callee7);
721
+ }));
722
+ return _getWikidataDetailsOld.apply(this, arguments);
723
+ }
724
+
725
+ function getWikidataLocation(_x22, _x23, _x24) {
726
+ return _getWikidataLocation.apply(this, arguments);
727
+ }
728
+
729
+ function _getWikidataLocation() {
730
+ _getWikidataLocation = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8(kb, solidSubject, publicDataID) {
731
+ var sparql, bindings;
732
+ return _regenerator["default"].wrap(function _callee8$(_context8) {
733
+ while (1) {
734
+ switch (_context8.prev = _context8.next) {
735
+ case 0:
736
+ sparql = "select distinct * where {\n\n $(subject) wdt:P276 ?location .\n\n optional { ?location wdt:P2044 ?elevation }\n optional { ?location wdt:P131 ?region }\n optional { ?location wdt:P625 ?coordinates }\noptional { ?location wdt:P17 ?country }\n\n# SERVICE wikibase:label { bd:serviceParam wikibase:language \"fr,en,de,it\" }\n}".replace(subjectRegexp, publicDataID.toNT());
737
+ debug.log(' location query sparql:' + sparql);
738
+ _context8.next = 4;
739
+ return queryPublicDataSelect(sparql, wikidataParameters);
740
+
741
+ case 4:
742
+ bindings = _context8.sent;
743
+ debug.log(' location query bindings:', bindings);
744
+ loadFromBindings(kb, publicDataID, bindings, publicDataID.doc()); // was solidSubject
745
+
746
+ case 7:
747
+ case "end":
748
+ return _context8.stop();
749
+ }
750
+ }
751
+ }, _callee8);
752
+ }));
753
+ return _getWikidataLocation.apply(this, arguments);
754
+ }
755
+
756
+ function getDbpediaDetails(_x25, _x26, _x27) {
757
+ return _getDbpediaDetails.apply(this, arguments);
758
+ }
759
+
760
+ function _getDbpediaDetails() {
761
+ _getDbpediaDetails = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9(kb, solidSubject, publicDataID) {
762
+ var sparql, bindings;
763
+ return _regenerator["default"].wrap(function _callee9$(_context9) {
764
+ while (1) {
765
+ switch (_context9.prev = _context9.next) {
766
+ case 0:
767
+ // Note below the string form of the named node with <> works in SPARQL
768
+ sparql = "select distinct ?city, ?state, ?country, ?homepage, ?logo, ?lat, ?long, WHERE {\n OPTIONAL { <".concat(publicDataID, "> <http://dbpedia.org/ontology/city> ?city }\n OPTIONAL { ").concat(publicDataID, " <http://dbpedia.org/ontology/state> ?state }\n OPTIONAL { ").concat(publicDataID, " <http://dbpedia.org/ontology/country> ?country }\n OPTIONAL { ").concat(publicDataID, " foaf:homepage ?homepage }\n OPTIONAL { ").concat(publicDataID, " foaf:lat ?lat; foaf:long ?long }\n OPTIONAL { ").concat(publicDataID, " <http://dbpedia.org/ontology/country> ?country }\n }");
769
+ _context9.next = 3;
770
+ return queryPublicDataSelect(sparql, dbpediaParameters);
771
+
772
+ case 3:
773
+ bindings = _context9.sent;
774
+ loadFromBindings(kb, publicDataID, bindings, publicDataID.doc());
775
+ debug.log('Finished getDbpediaDetails.');
776
+
777
+ case 6:
778
+ case "end":
779
+ return _context9.stop();
780
+ }
781
+ }
782
+ }, _callee9);
783
+ }));
784
+ return _getDbpediaDetails.apply(this, arguments);
548
785
  }
549
- exports.getDbpediaDetails = getDbpediaDetails;
550
786
  //# sourceMappingURL=publicData.js.map