solid-ui 2.6.1-d631dfca → 2.6.1-dc6afe0

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 (366) hide show
  1. package/LICENSE.md +3 -1
  2. package/README.md +85 -26
  3. package/dist/acl/access-controller.js +293 -0
  4. package/dist/acl/access-controller.js.map +1 -0
  5. package/dist/acl/access-groups.js +372 -0
  6. package/dist/acl/access-groups.js.map +1 -0
  7. package/dist/acl/acl-control.js +217 -0
  8. package/dist/acl/acl-control.js.map +1 -0
  9. package/dist/acl/acl.js +550 -0
  10. package/dist/acl/acl.js.map +1 -0
  11. package/dist/acl/add-agent-buttons.js +260 -0
  12. package/dist/acl/add-agent-buttons.js.map +1 -0
  13. package/dist/acl/index.js +35 -0
  14. package/dist/acl/index.js.map +1 -0
  15. package/dist/acl/types.js +7 -0
  16. package/dist/acl/types.js.map +1 -0
  17. package/{lib → dist}/chat/keys.d.ts +1 -1
  18. package/{lib → dist}/chat/keys.d.ts.map +1 -1
  19. package/dist/chat/keys.js +148 -0
  20. package/dist/chat/keys.js.map +1 -0
  21. package/dist/chat/signature.js +71 -0
  22. package/dist/chat/signature.js.map +1 -0
  23. package/dist/create/create.js +288 -0
  24. package/dist/create/create.js.map +1 -0
  25. package/dist/create/index.js +8 -0
  26. package/dist/create/index.js.map +1 -0
  27. package/dist/create/types.js +3 -0
  28. package/dist/create/types.js.map +1 -0
  29. package/dist/debug.js +23 -0
  30. package/dist/debug.js.map +1 -0
  31. package/dist/footer/index.js +72 -0
  32. package/dist/footer/index.js.map +1 -0
  33. package/dist/header/empty-profile.js +14 -0
  34. package/dist/header/empty-profile.js.map +1 -0
  35. package/dist/header/index.js +305 -0
  36. package/dist/header/index.js.map +1 -0
  37. package/dist/iconBase.js +40 -0
  38. package/dist/iconBase.js.map +1 -0
  39. package/dist/icons/solid_logo.js.map +1 -0
  40. package/{lib → dist}/index.d.ts +7 -9
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +162 -0
  43. package/dist/index.js.map +1 -0
  44. package/{lib → dist}/log.js +85 -99
  45. package/dist/log.js.map +1 -0
  46. package/dist/login/login.js +910 -0
  47. package/dist/login/login.js.map +1 -0
  48. package/dist/matrix/index.js +8 -0
  49. package/dist/matrix/index.js.map +1 -0
  50. package/dist/matrix/matrix.js +253 -0
  51. package/dist/matrix/matrix.js.map +1 -0
  52. package/dist/matrix/types.js +3 -0
  53. package/dist/matrix/types.js.map +1 -0
  54. package/dist/media/index.js +9 -0
  55. package/dist/media/index.js.map +1 -0
  56. package/dist/media/media-capture.js +198 -0
  57. package/dist/media/media-capture.js.map +1 -0
  58. package/dist/pad.js +795 -0
  59. package/dist/pad.js.map +1 -0
  60. package/dist/participation.js +228 -0
  61. package/dist/participation.js.map +1 -0
  62. package/dist/solid-ui.esm.js +25542 -0
  63. package/dist/solid-ui.esm.js.map +1 -0
  64. package/dist/solid-ui.esm.min.js +43 -0
  65. package/dist/solid-ui.esm.min.js.map +1 -0
  66. package/dist/solid-ui.js +23485 -68926
  67. package/dist/solid-ui.js.map +1 -1
  68. package/dist/solid-ui.min.js +40 -2
  69. package/dist/solid-ui.min.js.map +1 -1
  70. package/dist/tabs.js +398 -0
  71. package/dist/tabs.js.map +1 -0
  72. package/dist/utils/headerFooterHelpers.js +122 -0
  73. package/dist/utils/headerFooterHelpers.js.map +1 -0
  74. package/{lib → dist}/utils/keyHelpers/accessData.d.ts +3 -3
  75. package/{lib → dist}/utils/keyHelpers/accessData.d.ts.map +1 -1
  76. package/dist/utils/keyHelpers/accessData.js +108 -0
  77. package/dist/utils/keyHelpers/accessData.js.map +1 -0
  78. package/dist/utils/keyHelpers/acl.js +112 -0
  79. package/dist/utils/keyHelpers/acl.js.map +1 -0
  80. package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts +1 -1
  81. package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts.map +1 -1
  82. package/dist/utils/keyHelpers/otherHelpers.js +19 -0
  83. package/dist/utils/keyHelpers/otherHelpers.js.map +1 -0
  84. package/dist/utils/label.js +150 -0
  85. package/dist/utils/label.js.map +1 -0
  86. package/dist/versionInfo.js +33 -0
  87. package/dist/versionInfo.js.map +1 -0
  88. package/dist/widgets/buttons/iconLinks.js +49 -0
  89. package/dist/widgets/buttons/iconLinks.js.map +1 -0
  90. package/dist/widgets/buttons.js +1355 -0
  91. package/dist/widgets/buttons.js.map +1 -0
  92. package/dist/widgets/error.js +42 -0
  93. package/dist/widgets/error.js.map +1 -0
  94. package/dist/widgets/forms/autocomplete/autocompleteBar.js +162 -0
  95. package/dist/widgets/forms/autocomplete/autocompleteBar.js.map +1 -0
  96. package/dist/widgets/forms/autocomplete/autocompleteField.js +235 -0
  97. package/dist/widgets/forms/autocomplete/autocompleteField.js.map +1 -0
  98. package/dist/widgets/forms/autocomplete/autocompletePicker.js +296 -0
  99. package/dist/widgets/forms/autocomplete/autocompletePicker.js.map +1 -0
  100. package/dist/widgets/forms/autocomplete/language.js +147 -0
  101. package/dist/widgets/forms/autocomplete/language.js.map +1 -0
  102. package/{lib → dist}/widgets/forms/autocomplete/publicData.d.ts +3 -3
  103. package/dist/widgets/forms/autocomplete/publicData.d.ts.map +1 -0
  104. package/dist/widgets/forms/autocomplete/publicData.js +507 -0
  105. package/dist/widgets/forms/autocomplete/publicData.js.map +1 -0
  106. package/dist/widgets/forms/basic.js +250 -0
  107. package/dist/widgets/forms/basic.js.map +1 -0
  108. package/dist/widgets/forms/comment.js +52 -0
  109. package/dist/widgets/forms/comment.js.map +1 -0
  110. package/dist/widgets/forms/fieldFunction.js +49 -0
  111. package/dist/widgets/forms/fieldFunction.js.map +1 -0
  112. package/dist/widgets/forms/fieldParams.js +95 -0
  113. package/dist/widgets/forms/fieldParams.js.map +1 -0
  114. package/dist/widgets/forms/formStyle.js +43 -0
  115. package/dist/widgets/forms/formStyle.js.map +1 -0
  116. package/{lib → dist}/widgets/widgetHelpers.d.ts.map +1 -1
  117. package/{lib → dist}/widgets/widgetHelpers.js +19 -24
  118. package/dist/widgets/widgetHelpers.js.map +1 -0
  119. package/package.json +44 -47
  120. package/dist/789.solid-ui.min.js +0 -1
  121. package/dist/841.solid-ui.min.js +0 -3
  122. package/dist/841.solid-ui.min.js.LICENSE.txt +0 -58
  123. package/dist/841.solid-ui.min.js.map +0 -1
  124. package/dist/_2b19.solid-ui.js +0 -14
  125. package/dist/_2b19.solid-ui.js.map +0 -1
  126. package/dist/index.html +0 -1
  127. package/dist/solid-ui.min.js.LICENSE.txt +0 -57
  128. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +0 -12247
  129. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +0 -1
  130. package/lib/acl/access-controller.js +0 -391
  131. package/lib/acl/access-controller.js.map +0 -1
  132. package/lib/acl/access-groups.js +0 -507
  133. package/lib/acl/access-groups.js.map +0 -1
  134. package/lib/acl/acl-control.js +0 -237
  135. package/lib/acl/acl-control.js.map +0 -1
  136. package/lib/acl/acl.js +0 -517
  137. package/lib/acl/acl.js.map +0 -1
  138. package/lib/acl/add-agent-buttons.js +0 -434
  139. package/lib/acl/add-agent-buttons.js.map +0 -1
  140. package/lib/acl/index.js +0 -39
  141. package/lib/acl/index.js.map +0 -1
  142. package/lib/acl/types.js +0 -6
  143. package/lib/acl/types.js.map +0 -1
  144. package/lib/chat/bookmarks.js +0 -303
  145. package/lib/chat/bookmarks.js.map +0 -1
  146. package/lib/chat/chatLogic.js +0 -420
  147. package/lib/chat/chatLogic.js.map +0 -1
  148. package/lib/chat/dateFolder.js +0 -328
  149. package/lib/chat/dateFolder.js.map +0 -1
  150. package/lib/chat/infinite.js +0 -994
  151. package/lib/chat/infinite.js.map +0 -1
  152. package/lib/chat/keys.js +0 -232
  153. package/lib/chat/keys.js.map +0 -1
  154. package/lib/chat/message.js +0 -715
  155. package/lib/chat/message.js.map +0 -1
  156. package/lib/chat/messageTools.js +0 -538
  157. package/lib/chat/messageTools.js.map +0 -1
  158. package/lib/chat/signature.js +0 -109
  159. package/lib/chat/signature.js.map +0 -1
  160. package/lib/chat/thread.js +0 -535
  161. package/lib/chat/thread.js.map +0 -1
  162. package/lib/create/create.js +0 -242
  163. package/lib/create/create.js.map +0 -1
  164. package/lib/create/index.js +0 -11
  165. package/lib/create/index.js.map +0 -1
  166. package/lib/create/types.js +0 -6
  167. package/lib/create/types.js.map +0 -1
  168. package/lib/debug.js +0 -30
  169. package/lib/debug.js.map +0 -1
  170. package/lib/folders.js +0 -132
  171. package/lib/folders.js.map +0 -1
  172. package/lib/footer/index.js +0 -123
  173. package/lib/footer/index.js.map +0 -1
  174. package/lib/header/empty-profile.js +0 -8
  175. package/lib/header/empty-profile.js.map +0 -1
  176. package/lib/header/index.js +0 -375
  177. package/lib/header/index.js.map +0 -1
  178. package/lib/iconBase.js +0 -44
  179. package/lib/iconBase.js.map +0 -1
  180. package/lib/icons/solid_logo.js.map +0 -1
  181. package/lib/index.d.ts.map +0 -1
  182. package/lib/index.js +0 -223
  183. package/lib/index.js.map +0 -1
  184. package/lib/log.js.map +0 -1
  185. package/lib/login/login.js +0 -1241
  186. package/lib/login/login.js.map +0 -1
  187. package/lib/matrix/index.js +0 -11
  188. package/lib/matrix/index.js.map +0 -1
  189. package/lib/matrix/matrix.js +0 -216
  190. package/lib/matrix/matrix.js.map +0 -1
  191. package/lib/matrix/types.js +0 -6
  192. package/lib/matrix/types.js.map +0 -1
  193. package/lib/media/index.js +0 -12
  194. package/lib/media/index.js.map +0 -1
  195. package/lib/media/media-capture.js +0 -194
  196. package/lib/media/media-capture.js.map +0 -1
  197. package/lib/messageArea.js +0 -319
  198. package/lib/messageArea.js.map +0 -1
  199. package/lib/noun_Camera_1618446_000000.js +0 -8
  200. package/lib/noun_Camera_1618446_000000.js.map +0 -1
  201. package/lib/ns.js +0 -17
  202. package/lib/ns.js.map +0 -1
  203. package/lib/pad.js +0 -805
  204. package/lib/pad.js.map +0 -1
  205. package/lib/participation.js +0 -219
  206. package/lib/participation.js.map +0 -1
  207. package/lib/preferences.js +0 -215
  208. package/lib/preferences.js.map +0 -1
  209. package/lib/signup/config-default.js +0 -43
  210. package/lib/signup/config-default.js.map +0 -1
  211. package/lib/signup/signup.js +0 -74
  212. package/lib/signup/signup.js.map +0 -1
  213. package/lib/stories/decorators.js +0 -10
  214. package/lib/stories/decorators.js.map +0 -1
  215. package/lib/style.js +0 -158
  216. package/lib/style.js.map +0 -1
  217. package/lib/styleConstants.js +0 -35
  218. package/lib/styleConstants.js.map +0 -1
  219. package/lib/style_multiSelect.js +0 -62
  220. package/lib/style_multiSelect.js.map +0 -1
  221. package/lib/table.js +0 -1573
  222. package/lib/table.js.map +0 -1
  223. package/lib/tabs.js +0 -448
  224. package/lib/tabs.js.map +0 -1
  225. package/lib/typings.d.js +0 -2
  226. package/lib/typings.d.js.map +0 -1
  227. package/lib/utils/headerFooterHelpers.js +0 -165
  228. package/lib/utils/headerFooterHelpers.js.map +0 -1
  229. package/lib/utils/index.js +0 -527
  230. package/lib/utils/index.js.map +0 -1
  231. package/lib/utils/keyHelpers/accessData.js +0 -131
  232. package/lib/utils/keyHelpers/accessData.js.map +0 -1
  233. package/lib/utils/keyHelpers/acl.js +0 -90
  234. package/lib/utils/keyHelpers/acl.js.map +0 -1
  235. package/lib/utils/keyHelpers/otherHelpers.js +0 -21
  236. package/lib/utils/keyHelpers/otherHelpers.js.map +0 -1
  237. package/lib/utils/label.js +0 -103
  238. package/lib/utils/label.js.map +0 -1
  239. package/lib/versionInfo.d.ts +0 -32
  240. package/lib/versionInfo.d.ts.map +0 -1
  241. package/lib/versionInfo.js +0 -37
  242. package/lib/versionInfo.js.map +0 -1
  243. package/lib/widgets/buttons/iconLinks.js +0 -53
  244. package/lib/widgets/buttons/iconLinks.js.map +0 -1
  245. package/lib/widgets/buttons.js +0 -1306
  246. package/lib/widgets/buttons.js.map +0 -1
  247. package/lib/widgets/dragAndDrop.js +0 -194
  248. package/lib/widgets/dragAndDrop.js.map +0 -1
  249. package/lib/widgets/error.js +0 -46
  250. package/lib/widgets/error.js.map +0 -1
  251. package/lib/widgets/forms/autocomplete/autocompleteBar.js +0 -271
  252. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +0 -1
  253. package/lib/widgets/forms/autocomplete/autocompleteField.js +0 -258
  254. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +0 -1
  255. package/lib/widgets/forms/autocomplete/autocompletePicker.js +0 -436
  256. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +0 -1
  257. package/lib/widgets/forms/autocomplete/language.js +0 -189
  258. package/lib/widgets/forms/autocomplete/language.js.map +0 -1
  259. package/lib/widgets/forms/autocomplete/publicData.d.ts.map +0 -1
  260. package/lib/widgets/forms/autocomplete/publicData.js +0 -636
  261. package/lib/widgets/forms/autocomplete/publicData.js.map +0 -1
  262. package/lib/widgets/forms/basic.js +0 -254
  263. package/lib/widgets/forms/basic.js.map +0 -1
  264. package/lib/widgets/forms/comment.js +0 -54
  265. package/lib/widgets/forms/comment.js.map +0 -1
  266. package/lib/widgets/forms/fieldFunction.js +0 -52
  267. package/lib/widgets/forms/fieldFunction.js.map +0 -1
  268. package/lib/widgets/forms/fieldParams.js +0 -77
  269. package/lib/widgets/forms/fieldParams.js.map +0 -1
  270. package/lib/widgets/forms/formStyle.js +0 -44
  271. package/lib/widgets/forms/formStyle.js.map +0 -1
  272. package/lib/widgets/forms.js +0 -2045
  273. package/lib/widgets/forms.js.map +0 -1
  274. package/lib/widgets/index.js +0 -110
  275. package/lib/widgets/index.js.map +0 -1
  276. package/lib/widgets/multiSelect.js +0 -658
  277. package/lib/widgets/multiSelect.js.map +0 -1
  278. package/lib/widgets/peoplePicker.js +0 -467
  279. package/lib/widgets/peoplePicker.js.map +0 -1
  280. package/lib/widgets/widgetHelpers.js.map +0 -1
  281. /package/{lib → dist}/acl/access-controller.d.ts +0 -0
  282. /package/{lib → dist}/acl/access-controller.d.ts.map +0 -0
  283. /package/{lib → dist}/acl/access-groups.d.ts +0 -0
  284. /package/{lib → dist}/acl/access-groups.d.ts.map +0 -0
  285. /package/{lib → dist}/acl/acl-control.d.ts +0 -0
  286. /package/{lib → dist}/acl/acl-control.d.ts.map +0 -0
  287. /package/{lib → dist}/acl/acl.d.ts +0 -0
  288. /package/{lib → dist}/acl/acl.d.ts.map +0 -0
  289. /package/{lib → dist}/acl/add-agent-buttons.d.ts +0 -0
  290. /package/{lib → dist}/acl/add-agent-buttons.d.ts.map +0 -0
  291. /package/{lib → dist}/acl/index.d.ts +0 -0
  292. /package/{lib → dist}/acl/index.d.ts.map +0 -0
  293. /package/{lib → dist}/acl/types.d.ts +0 -0
  294. /package/{lib → dist}/acl/types.d.ts.map +0 -0
  295. /package/{lib → dist}/chat/signature.d.ts +0 -0
  296. /package/{lib → dist}/chat/signature.d.ts.map +0 -0
  297. /package/{lib → dist}/create/create.d.ts +0 -0
  298. /package/{lib → dist}/create/create.d.ts.map +0 -0
  299. /package/{lib → dist}/create/index.d.ts +0 -0
  300. /package/{lib → dist}/create/index.d.ts.map +0 -0
  301. /package/{lib → dist}/create/types.d.ts +0 -0
  302. /package/{lib → dist}/create/types.d.ts.map +0 -0
  303. /package/{lib → dist}/debug.d.ts +0 -0
  304. /package/{lib → dist}/debug.d.ts.map +0 -0
  305. /package/{lib → dist}/footer/index.d.ts +0 -0
  306. /package/{lib → dist}/footer/index.d.ts.map +0 -0
  307. /package/{lib → dist}/header/empty-profile.d.ts +0 -0
  308. /package/{lib → dist}/header/empty-profile.d.ts.map +0 -0
  309. /package/{lib → dist}/header/index.d.ts +0 -0
  310. /package/{lib → dist}/header/index.d.ts.map +0 -0
  311. /package/{lib → dist}/iconBase.d.ts +0 -0
  312. /package/{lib → dist}/iconBase.d.ts.map +0 -0
  313. /package/{lib → dist}/icons/solid_logo.d.ts +0 -0
  314. /package/{lib → dist}/icons/solid_logo.d.ts.map +0 -0
  315. /package/{lib → dist}/icons/solid_logo.js +0 -0
  316. /package/{lib → dist}/log.d.ts +0 -0
  317. /package/{lib → dist}/log.d.ts.map +0 -0
  318. /package/{lib → dist}/login/login.d.ts +0 -0
  319. /package/{lib → dist}/login/login.d.ts.map +0 -0
  320. /package/{lib → dist}/matrix/index.d.ts +0 -0
  321. /package/{lib → dist}/matrix/index.d.ts.map +0 -0
  322. /package/{lib → dist}/matrix/matrix.d.ts +0 -0
  323. /package/{lib → dist}/matrix/matrix.d.ts.map +0 -0
  324. /package/{lib → dist}/matrix/types.d.ts +0 -0
  325. /package/{lib → dist}/matrix/types.d.ts.map +0 -0
  326. /package/{lib → dist}/media/index.d.ts +0 -0
  327. /package/{lib → dist}/media/index.d.ts.map +0 -0
  328. /package/{lib → dist}/media/media-capture.d.ts +0 -0
  329. /package/{lib → dist}/media/media-capture.d.ts.map +0 -0
  330. /package/{lib → dist}/pad.d.ts +0 -0
  331. /package/{lib → dist}/pad.d.ts.map +0 -0
  332. /package/{lib → dist}/participation.d.ts +0 -0
  333. /package/{lib → dist}/participation.d.ts.map +0 -0
  334. /package/{lib → dist}/tabs.d.ts +0 -0
  335. /package/{lib → dist}/tabs.d.ts.map +0 -0
  336. /package/{lib → dist}/utils/headerFooterHelpers.d.ts +0 -0
  337. /package/{lib → dist}/utils/headerFooterHelpers.d.ts.map +0 -0
  338. /package/{lib → dist}/utils/keyHelpers/acl.d.ts +0 -0
  339. /package/{lib → dist}/utils/keyHelpers/acl.d.ts.map +0 -0
  340. /package/{lib → dist}/utils/label.d.ts +0 -0
  341. /package/{lib → dist}/utils/label.d.ts.map +0 -0
  342. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts +0 -0
  343. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts.map +0 -0
  344. /package/{lib → dist}/widgets/buttons.d.ts +0 -0
  345. /package/{lib → dist}/widgets/buttons.d.ts.map +0 -0
  346. /package/{lib → dist}/widgets/error.d.ts +0 -0
  347. /package/{lib → dist}/widgets/error.d.ts.map +0 -0
  348. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
  349. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
  350. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
  351. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
  352. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
  353. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
  354. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts +0 -0
  355. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts.map +0 -0
  356. /package/{lib → dist}/widgets/forms/basic.d.ts +0 -0
  357. /package/{lib → dist}/widgets/forms/basic.d.ts.map +0 -0
  358. /package/{lib → dist}/widgets/forms/comment.d.ts +0 -0
  359. /package/{lib → dist}/widgets/forms/comment.d.ts.map +0 -0
  360. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts +0 -0
  361. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts.map +0 -0
  362. /package/{lib → dist}/widgets/forms/fieldParams.d.ts +0 -0
  363. /package/{lib → dist}/widgets/forms/fieldParams.d.ts.map +0 -0
  364. /package/{lib → dist}/widgets/forms/formStyle.d.ts +0 -0
  365. /package/{lib → dist}/widgets/forms/formStyle.d.ts.map +0 -0
  366. /package/{lib → dist}/widgets/widgetHelpers.d.ts +0 -0
@@ -0,0 +1,507 @@
1
+ "use strict";
2
+ /* Logic to access public data stores
3
+ *
4
+ * including filtering resut by natural language etc
5
+ * See https://solidos.solidcommunity.net/public/2021/01%20Building%20Solid%20Apps%20which%20use%20Public%20Data.html
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ var __importDefault = (this && this.__importDefault) || function (mod) {
41
+ return (mod && mod.__esModule) ? mod : { "default": mod };
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ 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;
45
+ exports.bindingToTerm = bindingToTerm;
46
+ exports.loadFromBindings = loadFromBindings;
47
+ exports.ESCOResultToBindings = ESCOResultToBindings;
48
+ exports.queryESCODataByName = queryESCODataByName;
49
+ exports.queryPublicDataByName = queryPublicDataByName;
50
+ exports.queryPublicDataSelect = queryPublicDataSelect;
51
+ exports.queryPublicDataConstruct = queryPublicDataConstruct;
52
+ exports.loadPublicDataThing = loadPublicDataThing;
53
+ exports.getWikidataDetails = getWikidataDetails;
54
+ exports.getWikidataDetailsOld = getWikidataDetailsOld;
55
+ exports.getWikidataLocation = getWikidataLocation;
56
+ exports.getDbpediaDetails = getDbpediaDetails;
57
+ const rdflib_1 = require("rdflib");
58
+ const solid_logic_1 = require("solid-logic");
59
+ const debug = __importStar(require("../../../debug"));
60
+ const ns_1 = __importDefault(require("../../../ns"));
61
+ const language_1 = require("./language");
62
+ exports.AUTOCOMPLETE_LIMIT = 200; // How many to get from server
63
+ // With 3000 we could exceed the wikidata timeout
64
+ const subjectRegexp = /\$\(subject\)/g;
65
+ // Schema.org seems to suggest NGOs are non-profit and Corporaions are for-profit
66
+ // but doesn't have explicit classes
67
+ exports.wikidataClasses = {
68
+ Corporation: 'http://www.wikidata.org/entity/Q6881511', // Enterprise is for-profit
69
+ EducationalOrganization: 'http://www.wikidata.org/entity/Q178706', // insitution
70
+ GovernmentOrganization: 'http://www.wikidata.org/entity/Q327333', // government agency
71
+ MedicalOrganization: 'http://www.wikidata.org/entity/Q4287745',
72
+ MusicGroup: 'http://www.wikidata.org/entity/Q32178211', // music organization
73
+ NGO: 'http://www.wikidata.org/entity/Q163740', // nonprofit organization @@
74
+ Occupation: 'http://www.wikidata.org/entity/Q28640', // Profession
75
+ // Organization: 'http://www.wikidata.org/entity/Q43229',
76
+ Project: 'http://www.wikidata.org/entity/Q170584',
77
+ ResearchOrganization: 'http://www.wikidata.org/entity/Q31855',
78
+ SportsOrganization: 'http://www.wikidata.org/entity/Q4438121'
79
+ };
80
+ exports.instituteDetailsWikidataQuery = `prefix vcard: <http://www.w3.org/2006/vcard/ns#>
81
+ CONSTRUCT
82
+ { wd:Q49108 vcard:fn ?itemLabel.
83
+ wd:Q49108 rdf:type ?klass. ?klass rdfs:label ?klassLabel; rdfs:comment ?klassDescription .
84
+ wd:Q49108 schema:logo ?logo;
85
+ schema:image ?image;
86
+ schema:logo ?sealImage;
87
+ schema:subOrganization ?subsidiary .
88
+ ?subsidiary rdfs:label ?subsidiaryLabel .
89
+ ?supersidiary schema:subOrganization wd:Q49108 .
90
+ ?supersidiary rdfs:label ?supersidiaryLabel .
91
+ wd:Q49108 schema:location ?location .
92
+ ?location schema:elevation ?elevation .
93
+ ?location wdt:P131 ?region . ?region rdfs:label ?regionLabel .
94
+ ?location wdt:P625 ?coordinates .
95
+ ?location schema:country ?country . ?country rdfs:label ?countryLabel .
96
+ }
97
+ WHERE
98
+ { optional {wd:Q49108 rdfs:label ?itemLabel} .
99
+ optional {wd:Q49108 wdt:P154 ?logo .}
100
+ optional {wd:Q49108 wdt:P31 ?klass .}
101
+ optional {wd:Q49108 wdt:P158 ?sealImage .}
102
+ optional {wd:Q49108 wdt:P18 ?image .}
103
+
104
+ optional { wd:Q49108 wdt:P355 ?subsidiary . }
105
+ optional { ?supersidiary wdt:P355 wd:Q49108. }
106
+
107
+ optional { wd:Q49108 wdt:P276 ?location .
108
+
109
+ optional { ?location schema:eleveation ?elevation }
110
+ optional { ?location wdt:P131 ?region }
111
+ optional { ?location wdt:P625 ?coordinates }
112
+ optional { ?location wdt:P17 ?country }
113
+ }
114
+ SERVICE wikibase:label { bd:serviceParam wikibase:language "fr,en,de,it". }
115
+ }`;
116
+ exports.fetcherOptionsJsonPublicData = {
117
+ credentials: 'omit', // try to avoid CORS problems. Data is public so no auth
118
+ headers: new Headers({ Accept: 'application/json' })
119
+ };
120
+ exports.escoParameters = {
121
+ label: 'ESCO',
122
+ logo: solid_logic_1.store.sym('https://ec.europa.eu/esco/portal/static_resource2/images/logo/logo_en.gif'),
123
+ searchByNameURI: 'https://ec.europa.eu/esco/api/search?language=$(language)&type=occupation&text=$(name)'
124
+ // endpoint: undefined
125
+ // returnFormat: 'ESCO',
126
+ // targetClass: {}
127
+ };
128
+ exports.dbpediaParameters = {
129
+ label: 'DBPedia',
130
+ logo: solid_logic_1.store.sym('https://upload.wikimedia.org/wikipedia/commons/thumb/7/73/DBpediaLogo.svg/263px-DBpediaLogo.svg.png'),
131
+ searchByNameQuery: `select distinct ?subject, ?name where {
132
+ ?subject a $(targetClass); rdfs:label ?name
133
+ FILTER regex(?name, "$(name)", "i")
134
+ } LIMIT $(limit)`,
135
+ endpoint: 'https://dbpedia.org/sparql/'
136
+ };
137
+ exports.dbPediaTypeMap = { AcademicInsitution: 'http://umbel.org/umbel/rc/EducationalOrganization' };
138
+ exports.wikidataOutgoingClassMap = {
139
+ AcademicInsitution: 'http://www.wikidata.org/entity/Q4671277',
140
+ Enterprise: 'http://www.wikidata.org/entity/Q6881511',
141
+ Business: 'http://www.wikidata.org/entity/Q4830453',
142
+ NGO: 'http://www.wikidata.org/entity/Q79913',
143
+ CharitableOrganization: 'http://www.wikidata.org/entity/Q708676',
144
+ Insitute: 'http://www.wikidata.org/entity/Q1664720'
145
+ };
146
+ exports.wikidataParameters = {
147
+ label: 'WikiData',
148
+ limit: 3000, // Need a high one as very many items, and many languages
149
+ logo: solid_logic_1.store.sym('https://www.wikimedia.org/static/images/project-logos/wikidatawiki.png'),
150
+ endpoint: 'https://query.wikidata.org/sparql',
151
+ searchByNameQuery: `SELECT ?subject ?name
152
+ WHERE {
153
+ ?klass wdt:P279* $(targetClass) .
154
+ ?subject wdt:P31 ?klass .
155
+ ?subject rdfs:label ?name.
156
+ FILTER regex(?name, "$(name)", "i")
157
+ } LIMIT $(limit) `, // was SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en" }
158
+ insitituteDetailsQuery: `CONSTRUCT
159
+ { wd:Q49108 schema:name ?itemLabel;
160
+ schema:logo ?logo;
161
+ schema:logo ?sealImage;
162
+ schema:subOrganization ?subsidiary .
163
+ ?subsidiary schema:name ?subsidiaryLabel .
164
+ }
165
+ WHERE
166
+ {
167
+ wd:Q49108 # rdfs:label ?itemLabel ;
168
+ wdt:P154 ?logo;
169
+ wdt:P158 ?sealImage ;
170
+ wdt:P355 ?subsidiary .
171
+ # ?subsidiary rdfs:label ?subsidiaryLabel .
172
+
173
+ SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE], fr". }
174
+ }`
175
+ };
176
+ exports.wikidataIncomingClassMap = {
177
+ 'http://www.wikidata.org/entity/Q15936437': ns_1.default.schema('CollegeOrUniversity'), // research university
178
+ 'http://www.wikidata.org/entity/Q1664720': ns_1.default.schema('EducationalOrganization'), // insitute @@
179
+ 'http://www.wikidata.org/entity/Q43229': ns_1.default.schema('Organization'), // research university
180
+ 'http://www.wikidata.org/entity/Q3918': ns_1.default.schema('CollegeOrUniversity'), // university
181
+ 'http://www.wikidata.org/entity/Q170584': ns_1.default.schema('Project'), // university
182
+ 'http://www.wikidata.org/entity/Q327333': ns_1.default.schema('GovernmentOrganization'), // govt agency
183
+ 'http://www.wikidata.org/entity/Q2221906': ns_1.default.schema('Place'), // geographic location
184
+ 'http://www.wikidata.org/entity/Q167037': ns_1.default.schema('Corporation') // Corporation
185
+ };
186
+ exports.variableNameToPredicateMap = {
187
+ // wikidata:
188
+ targetClass: ns_1.default.rdf('type'),
189
+ // logo: ns.schema('logo'),
190
+ sealImage: ns_1.default.schema('logo'),
191
+ // image: ns.schema('image'), defaults to shema
192
+ shortName: ns_1.default.foaf('nick'),
193
+ subsidiary: ns_1.default.schema('subOrganization'),
194
+ // dbpedia - :
195
+ city: ns_1.default.vcard('locality'),
196
+ state: ns_1.default.vcard('region'),
197
+ country: ns_1.default.vcard('country-name'),
198
+ homepage: ns_1.default.foaf('homepage'),
199
+ lat: ns_1.default.schema('latitude'),
200
+ long: ns_1.default.schema('longitude')
201
+ };
202
+ function bindingToTerm(item) {
203
+ const typ = item.type.toLowerCase();
204
+ if (typ === 'uri' || typ === 'iri') {
205
+ return solid_logic_1.store.sym(item.value);
206
+ }
207
+ else if (typ === 'literal') {
208
+ if (item['xml:lang']) {
209
+ return new rdflib_1.Literal(item.value, item['xml:lang']);
210
+ }
211
+ else {
212
+ return new rdflib_1.Literal(item.value);
213
+ }
214
+ }
215
+ else {
216
+ throw new Error(`bindingToTerm: Unexpected type "${item.type}" in sparql binding}`);
217
+ }
218
+ }
219
+ function loadFromBindings(kb, solidSubject, bindings, doc, predMap = exports.variableNameToPredicateMap) {
220
+ const results = {};
221
+ debug.log(`loadFromBindings: subject: ${solidSubject}`);
222
+ debug.log(` doc: ${doc}`);
223
+ bindings.forEach(binding => {
224
+ for (const key in binding) {
225
+ const result = binding[key];
226
+ const combined = JSON.stringify(result); // ( result.type, result.value )
227
+ results[key] = results[key] || new Set();
228
+ results[key].add(combined); // remove duplicates
229
+ }
230
+ });
231
+ for (const key in results) {
232
+ const values = results[key];
233
+ debug.log(` results ${key} -> ${values}`);
234
+ values.forEach(combined => {
235
+ const result = JSON.parse(combined);
236
+ const { type, value } = result;
237
+ let obj;
238
+ if (type === 'uri') {
239
+ obj = kb.sym(value);
240
+ }
241
+ else if (type === 'literal') {
242
+ obj = new rdflib_1.Literal(value, result.language, result.datatype);
243
+ }
244
+ else {
245
+ throw new Error(`loadFromBindings: unexpected type: ${type}`);
246
+ }
247
+ if (key === 'type') {
248
+ if (exports.wikidataIncomingClassMap[value]) {
249
+ obj = exports.wikidataIncomingClassMap[value];
250
+ }
251
+ else {
252
+ debug.warn('Unmapped Wikidata Class: ' + value);
253
+ }
254
+ }
255
+ else if (key === 'coordinates') {
256
+ // const latlong = value // Like 'Point(-71.106111111 42.375)'
257
+ debug.log(' @@@ hey a point: ' + value);
258
+ // const regexp = /.*\(([-0-9\.-]*) ([-0-9\.-]*)\)/
259
+ const regexp = /.*\(([-0-9.-]*) ([-0-9.-]*)\)/;
260
+ const match = regexp.exec(value);
261
+ if (match) {
262
+ const float = ns_1.default.xsd('float');
263
+ const latitude = new rdflib_1.Literal(match[1], null, float);
264
+ const longitude = new rdflib_1.Literal(match[2], null, float);
265
+ kb.add(solidSubject, ns_1.default.schema('longitude'), longitude, doc);
266
+ kb.add(solidSubject, ns_1.default.schema('latitude'), latitude, doc);
267
+ }
268
+ else {
269
+ debug.log('Bad coordinates syntax: ' + value);
270
+ }
271
+ }
272
+ else {
273
+ const pred = predMap[key] || ns_1.default.schema(key); // fallback to just using schema.org
274
+ kb.add(solidSubject, pred, obj, doc); // @@ deal with non-string and objects
275
+ debug.log(` public data ${pred} ${obj}.`);
276
+ }
277
+ });
278
+ }
279
+ }
280
+ /* ESCO sopecific
281
+ */
282
+ function ESCOResultToBindings(json) {
283
+ const results = json._embedded.results; // Array
284
+ const bindings = results.map(result => {
285
+ const name = result.title;
286
+ const uri = result.uri; // like http://data.europa.eu/esco/occupation/57af9090-55b4-4911-b2d0-86db01c00b02
287
+ return { name: { value: name, type: 'literal' }, subject: { type: 'IRI', value: uri } }; // simulate SPARQL bindings
288
+ });
289
+ return bindings;
290
+ }
291
+ /* Query all entities of given class and partially matching name
292
+ */
293
+ async function queryESCODataByName(filter, theClass, queryTarget) {
294
+ if (!queryTarget.searchByNameURI)
295
+ throw new Error('Missing queryTarget.searchByNameURI on queryESCODataByName');
296
+ const limit = queryTarget.limit || exports.AUTOCOMPLETE_LIMIT;
297
+ const queryURI = queryTarget.searchByNameURI
298
+ .replace('$(name)', filter)
299
+ .replace('$(limit)', '' + limit)
300
+ .replace('$(targetClass)', theClass.toNT());
301
+ debug.log('Querying ESCO data - uri: ' + queryURI);
302
+ const response = await solid_logic_1.store.fetcher?.webOperation('GET', queryURI, exports.fetcherOptionsJsonPublicData);
303
+ const text = response?.responseText || '';
304
+ debug.log(' Query result text' + text.slice(0, 500) + '...');
305
+ if (text.length === 0)
306
+ throw new Error('Wot no text back from ESCO query ' + queryURI);
307
+ const json = JSON.parse(text);
308
+ // console.log('Whole JSON return object', json)
309
+ debug.log(' ESCO Query result JSON' + JSON.stringify(json, null, 4).slice(0, 500) + '...');
310
+ return ESCOResultToBindings(json);
311
+ }
312
+ /* Cope ithe syntax probelm in wikidata timeout responses
313
+ *
314
+ * Wikidata bug: https://phabricator.wikimedia.org/T283962
315
+ * This will not be needed whn that WDQS bug fixed.
316
+ * This is aptured in https://github.com/solidos/solid-ui/issues/403
317
+ */
318
+ function fixWikidataJSON(str) {
319
+ const syntaxProblem = str.indexOf('SPARQL-QUERY');
320
+ if (syntaxProblem < 0)
321
+ return str;
322
+ // console.log('@@ fixWikidataJSON FIXING')
323
+ debug.warn(' ### Fixing JSON with wikidata error code injection ' + str.slice(syntaxProblem, syntaxProblem + 200));
324
+ const goodness = str.lastIndexOf('}, {');
325
+ return str.slice(0, goodness) + ' } ] } } '; // Close binding, array, bindings, results, root object
326
+ }
327
+ /* Query all entities of given class and partially matching name
328
+ */
329
+ async function queryPublicDataByName(filter, theClass, languages, queryTarget) {
330
+ function substituteStrings(template) {
331
+ const limit = queryTarget.limit || exports.AUTOCOMPLETE_LIMIT;
332
+ const u1 = template.replace('$(name)', filter)
333
+ .replace('$(limit)', '' + limit)
334
+ .replace('$(language)', language);
335
+ return u1.replace('$(targetClass)', theClass.toNT());
336
+ }
337
+ if (!theClass) {
338
+ throw new Error('queryPublicDataByName: No class provided');
339
+ }
340
+ const languagePrefs = await (0, language_1.getPreferredLanguages)() || language_1.defaultPreferredLanguages;
341
+ const language = languagePrefs[0] || 'en';
342
+ if (queryTarget.searchByNameQuery) {
343
+ const sparql = substituteStrings(queryTarget.searchByNameQuery);
344
+ debug.log('Querying public data - sparql: ' + sparql);
345
+ return queryPublicDataSelect(sparql, queryTarget);
346
+ }
347
+ else if (queryTarget.searchByNameURI) { // not sparql - random API
348
+ const queryURI = substituteStrings(queryTarget.searchByNameURI);
349
+ let response;
350
+ try {
351
+ response = await solid_logic_1.store.fetcher?.webOperation('GET', queryURI, exports.fetcherOptionsJsonPublicData);
352
+ }
353
+ catch (err) {
354
+ throw new Error(`Exception when trying to fetch ${queryURI} \n ${err}`);
355
+ }
356
+ const text = response.responseText || ''; // ts
357
+ if (response.status !== 200) {
358
+ throw new Error(`HTTP error status ${response.status} trying to fetch ${queryURI} `);
359
+ }
360
+ debug.log(' Query result text' + text.slice(0, 500) + '...');
361
+ if (text.length === 0)
362
+ throw new Error('queryPublicDataByName: No text back from public data query ' + queryURI);
363
+ const text2 = fixWikidataJSON(text); // Kludge: strip of interrupting error message
364
+ const json = JSON.parse(text2);
365
+ debug.log(' API Query result JSON' + JSON.stringify(json, null, 4).slice(0, 500) + '...');
366
+ if (json._embedded) {
367
+ debug.log(' Looks like ESCO');
368
+ const bindings = ESCOResultToBindings(json);
369
+ return bindings;
370
+ }
371
+ else {
372
+ alert('Code me: unrecognized API return format');
373
+ throw new Error(`*** Need to add code to parse unrecognized API JSON return\n${JSON.stringify(json, null, 4)}`);
374
+ }
375
+ }
376
+ else {
377
+ throw new Error('Query source must have either rest API or SPARQL endpoint.');
378
+ }
379
+ }
380
+ /* Query a database using SPARQL SELECT
381
+ */
382
+ async function queryPublicDataSelect(sparql, queryTarget) {
383
+ if (!queryTarget.endpoint)
384
+ throw new Error('Missing queryTarget.endpoint required for queryPublicDataSelect');
385
+ const myUrlWithParams = new URL(queryTarget.endpoint);
386
+ myUrlWithParams.searchParams.append('query', sparql);
387
+ const queryURI = myUrlWithParams.href;
388
+ debug.log(' queryPublicDataSelect uri: ' + queryURI);
389
+ const headers = new Headers();
390
+ headers.append('Accept', 'application/json');
391
+ const options = {
392
+ credentials: 'omit', // CORS - as we know it is public
393
+ headers
394
+ };
395
+ const response = await solid_logic_1.store.fetcher?.webOperation('GET', queryURI, options);
396
+ const text = response?.responseText || '';
397
+ if (text.length === 0)
398
+ throw new Error('No text back from query ' + queryURI);
399
+ const text2 = fixWikidataJSON(text);
400
+ const json = JSON.parse(text2);
401
+ debug.log(' Query result JSON' + JSON.stringify(json, null, 4).slice(0, 100) + '...');
402
+ const bindings = json.results.bindings;
403
+ return bindings;
404
+ }
405
+ /* Load from a database using SPARQL CONSTRUCT
406
+ */
407
+ async function queryPublicDataConstruct(sparql, pubicId, queryTarget) {
408
+ debug.log('queryPublicDataConstruct: sparql:', sparql);
409
+ if (!queryTarget.endpoint)
410
+ throw new Error('Missing queryTarget.endpoint required for queryPublicDataConstruct');
411
+ const myUrlWithParams = new URL(queryTarget.endpoint);
412
+ myUrlWithParams.searchParams.append('query', sparql);
413
+ const queryURI = myUrlWithParams.href;
414
+ debug.log(' queryPublicDataConstruct uri: ' + queryURI);
415
+ const headers = new Headers();
416
+ headers.append('Accept', 'text/turtle');
417
+ const options = {
418
+ credentials: 'omit', // CORS // @tsc pain
419
+ headers // ({ Accept: 'text/turtle' } as Headers)
420
+ };
421
+ const response = await solid_logic_1.store.fetcher?.webOperation('GET', queryURI, options);
422
+ const text = response?.responseText || 'No response text?';
423
+ const report = text.length > 500 ? text.slice(0, 200) + ' ... ' + text.slice(-200) : text;
424
+ debug.log(' queryPublicDataConstruct result text:' + report);
425
+ if (text.length === 0)
426
+ throw new Error('queryPublicDataConstruct: No text back from construct query:' + queryURI);
427
+ (0, rdflib_1.parse)(text, solid_logic_1.store, pubicId.uri, 'text/turtle');
428
+ }
429
+ async function loadPublicDataThing(kb, subject, publicDataID) {
430
+ if (publicDataID.uri.startsWith('https://dbpedia.org/resource/')) {
431
+ return getDbpediaDetails(kb, subject, publicDataID);
432
+ }
433
+ else if (publicDataID.uri.match(/^https?:\/\/www\.wikidata\.org\/entity\/.*/)) {
434
+ // const QId = publicDataID.uri.split('/')[4]
435
+ // const dataURI = `http://www.wikidata.org/wiki/Special:EntityData/${QId}.ttl`
436
+ // In fact loading the data URI gives much too much irrelevant data, from wikidata, so we do a query.
437
+ await getWikidataDetails(kb, subject, publicDataID);
438
+ // await getWikidataLocation(kb, subject, publicDataID) -- should get that in the details query now
439
+ }
440
+ else {
441
+ const iDToFetch = publicDataID.uri.startsWith('http:')
442
+ ? kb.sym('https:' + publicDataID.uri.slice(5))
443
+ : publicDataID;
444
+ const headers = new Headers();
445
+ headers.append('Accept', 'text/turtle');
446
+ return kb.fetcher.load(iDToFetch, {
447
+ credentials: 'omit',
448
+ headers
449
+ });
450
+ }
451
+ }
452
+ async function getWikidataDetails(kb, solidSubject, publicDataID) {
453
+ const subjRegexp = /wd:Q49108/g;
454
+ const sparql = exports.instituteDetailsWikidataQuery.replace(subjRegexp, publicDataID.toNT());
455
+ await queryPublicDataConstruct(sparql, publicDataID, exports.wikidataParameters);
456
+ debug.log('getWikidataDetails: loaded.', publicDataID);
457
+ }
458
+ async function getWikidataDetailsOld(kb, solidSubject, publicDataID) {
459
+ const sparql = `select distinct * where {
460
+ optional { $(subject) wdt:P31 ?targetClass } # instance of
461
+ optional { $(subject) wdt:P154 ?logo }
462
+ optional { $(subject) wdt:P158 ?sealImage }
463
+ # optional { $(subject) wdt:P159 ?headquartersLocation }
464
+
465
+ optional { $(subject) wdt:P17 ?country }
466
+ optional { $(subject) wdt:P18 ?image }
467
+ optional { $(subject) wdt:P1813 ?shortName }
468
+
469
+ optional { $(subject) wdt:P355 ?subsidiary }
470
+ # SERVICE wikibase:label { bd:serviceParam wikibase:language "fr,en,de,it" }
471
+ }`
472
+ .replace(subjectRegexp, publicDataID.toNT());
473
+ const bindings = await queryPublicDataSelect(sparql, exports.wikidataParameters);
474
+ loadFromBindings(kb, publicDataID, bindings, publicDataID.doc()); // arg2 was solidSubject
475
+ }
476
+ async function getWikidataLocation(kb, solidSubject, publicDataID) {
477
+ const sparql = `select distinct * where {
478
+
479
+ $(subject) wdt:P276 ?location .
480
+
481
+ optional { ?location wdt:P2044 ?elevation }
482
+ optional { ?location wdt:P131 ?region }
483
+ optional { ?location wdt:P625 ?coordinates }
484
+ optional { ?location wdt:P17 ?country }
485
+
486
+ # SERVICE wikibase:label { bd:serviceParam wikibase:language "fr,en,de,it" }
487
+ }`.replace(subjectRegexp, publicDataID.toNT());
488
+ debug.log(' location query sparql:' + sparql);
489
+ const bindings = await queryPublicDataSelect(sparql, exports.wikidataParameters);
490
+ debug.log(' location query bindings:', bindings);
491
+ loadFromBindings(kb, publicDataID, bindings, publicDataID.doc()); // was solidSubject
492
+ }
493
+ async function getDbpediaDetails(kb, solidSubject, publicDataID) {
494
+ // Note below the string form of the named node with <> works in SPARQL
495
+ const sparql = `select distinct ?city, ?state, ?country, ?homepage, ?logo, ?lat, ?long, WHERE {
496
+ OPTIONAL { <${publicDataID}> <http://dbpedia.org/ontology/city> ?city }
497
+ OPTIONAL { ${publicDataID} <http://dbpedia.org/ontology/state> ?state }
498
+ OPTIONAL { ${publicDataID} <http://dbpedia.org/ontology/country> ?country }
499
+ OPTIONAL { ${publicDataID} foaf:homepage ?homepage }
500
+ OPTIONAL { ${publicDataID} foaf:lat ?lat; foaf:long ?long }
501
+ OPTIONAL { ${publicDataID} <http://dbpedia.org/ontology/country> ?country }
502
+ }`;
503
+ const bindings = await queryPublicDataSelect(sparql, exports.dbpediaParameters);
504
+ loadFromBindings(kb, publicDataID, bindings, publicDataID.doc());
505
+ debug.log('Finished getDbpediaDetails.');
506
+ }
507
+ //# sourceMappingURL=publicData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publicData.js","sourceRoot":"","sources":["../../../../src/widgets/forms/autocomplete/publicData.ts"],"names":[],"mappings":"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"}