solid-ui 2.4.23 → 2.4.24
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.
- package/dist/main.js +2159 -5039
- package/dist/main.js.map +1 -1
- package/lib/acl/access-controller.js +4 -67
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.js +59 -137
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl-control.js +14 -54
- package/lib/acl/acl-control.js.map +1 -1
- package/lib/acl/acl.js +32 -107
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.js +0 -92
- package/lib/acl/add-agent-buttons.js.map +1 -1
- package/lib/acl/index.js +1 -3
- package/lib/acl/index.js.map +1 -1
- package/lib/acl/styles.js +1 -2
- package/lib/acl/styles.js.map +1 -1
- package/lib/chat/bookmarks.js +8 -80
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/chat/chatLogic.js +109 -180
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/dateFolder.js +6 -91
- package/lib/chat/dateFolder.js.map +1 -1
- package/lib/chat/infinite.js +33 -185
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/message.js +37 -150
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js +23 -96
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/thread.js +33 -91
- package/lib/chat/thread.js.map +1 -1
- package/lib/create/create.js +19 -51
- package/lib/create/create.js.map +1 -1
- package/lib/create/index.js +0 -2
- package/lib/create/index.js.map +1 -1
- package/lib/debug.js +0 -8
- package/lib/debug.js.map +1 -1
- package/lib/folders.js +4 -27
- package/lib/folders.js.map +1 -1
- package/lib/footer/index.js +2 -24
- package/lib/footer/index.js.map +1 -1
- package/lib/footer/styleMap.js.map +1 -1
- package/lib/header/empty-profile.js.map +1 -1
- package/lib/header/index.js +3 -72
- package/lib/header/index.js.map +1 -1
- package/lib/header/styleMap.js +4 -3
- package/lib/header/styleMap.js.map +1 -1
- package/lib/iconBase.js +3 -4
- package/lib/iconBase.js.map +1 -1
- package/lib/index.js +5 -46
- package/lib/index.js.map +1 -1
- package/lib/jss/index.js +3 -9
- package/lib/jss/index.js.map +1 -1
- package/lib/log.js +15 -51
- package/lib/log.js.map +1 -1
- package/lib/login/login.js +74 -303
- package/lib/login/login.js.map +1 -1
- package/lib/matrix/index.js +0 -2
- package/lib/matrix/index.js.map +1 -1
- package/lib/matrix/matrix.js +7 -55
- package/lib/matrix/matrix.js.map +1 -1
- package/lib/media/index.js +0 -2
- package/lib/media/index.js.map +1 -1
- package/lib/media/media-capture.js +13 -33
- package/lib/media/media-capture.js.map +1 -1
- package/lib/messageArea.js +23 -64
- package/lib/messageArea.js.map +1 -1
- package/lib/noun_Camera_1618446_000000.js.map +1 -1
- package/lib/ns.js +5 -7
- package/lib/ns.js.map +1 -1
- package/lib/pad.js +48 -234
- package/lib/pad.js.map +1 -1
- package/lib/participation.js +10 -65
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js +21 -42
- package/lib/preferences.js.map +1 -1
- package/lib/signup/config-default.js +1 -8
- package/lib/signup/config-default.js.map +1 -1
- package/lib/signup/signup.js +6 -13
- package/lib/signup/signup.js.map +1 -1
- package/lib/stories/decorators.js +0 -2
- package/lib/stories/decorators.js.map +1 -1
- package/lib/style.js +8 -5
- package/lib/style.js.map +1 -1
- package/lib/style_multiSelect.js +1 -5
- package/lib/style_multiSelect.js.map +1 -1
- package/lib/table.js +309 -322
- package/lib/table.js.map +1 -1
- package/lib/tabs.js +20 -100
- package/lib/tabs.js.map +1 -1
- package/lib/utils/headerFooterHelpers.js +4 -52
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/utils/index.js +41 -135
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/label.js +13 -34
- package/lib/utils/label.js.map +1 -1
- package/lib/versionInfo.js +4 -4
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/buttons/iconLinks.js +0 -8
- package/lib/widgets/buttons/iconLinks.js.map +1 -1
- package/lib/widgets/buttons.js +115 -291
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/dragAndDrop.js +12 -41
- package/lib/widgets/dragAndDrop.js.map +1 -1
- package/lib/widgets/error.js +3 -9
- package/lib/widgets/error.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.js +8 -71
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteField.js +13 -65
- package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +15 -107
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.js +6 -55
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.js +12 -131
- package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
- package/lib/widgets/forms/basic.js +12 -55
- package/lib/widgets/forms/basic.js.map +1 -1
- package/lib/widgets/forms/comment.js +1 -15
- package/lib/widgets/forms/comment.js.map +1 -1
- package/lib/widgets/forms/fieldFunction.js +3 -16
- package/lib/widgets/forms/fieldFunction.js.map +1 -1
- package/lib/widgets/forms/fieldParams.js +0 -12
- package/lib/widgets/forms/fieldParams.js.map +1 -1
- package/lib/widgets/forms/formStyle.js +1 -14
- package/lib/widgets/forms/formStyle.js.map +1 -1
- package/lib/widgets/forms.js +70 -474
- package/lib/widgets/forms.js.map +1 -1
- package/lib/widgets/index.js +0 -21
- package/lib/widgets/index.js.map +1 -1
- package/lib/widgets/multiSelect.js +48 -171
- package/lib/widgets/multiSelect.js.map +1 -1
- package/lib/widgets/peoplePicker.js +20 -90
- package/lib/widgets/peoplePicker.js.map +1 -1
- package/lib/widgets/widgetHelpers.js +2 -9
- package/lib/widgets/widgetHelpers.js.map +1 -1
- package/package.json +28 -28
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
@@ -23,35 +21,24 @@ exports.queryPublicDataByName = queryPublicDataByName;
|
|
|
23
21
|
exports.queryPublicDataConstruct = queryPublicDataConstruct;
|
|
24
22
|
exports.queryPublicDataSelect = queryPublicDataSelect;
|
|
25
23
|
exports.wikidataParameters = exports.wikidataOutgoingClassMap = exports.wikidataIncomingClassMap = exports.wikidataClasses = exports.variableNameToPredicateMap = void 0;
|
|
26
|
-
|
|
27
24
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
28
|
-
|
|
29
25
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
30
|
-
|
|
31
26
|
var _rdflib = require("rdflib");
|
|
32
|
-
|
|
33
27
|
var _solidLogic = require("solid-logic");
|
|
34
|
-
|
|
35
28
|
var debug = _interopRequireWildcard(require("../../../debug"));
|
|
36
|
-
|
|
37
29
|
var ns = _interopRequireWildcard(require("../../../ns"));
|
|
38
|
-
|
|
39
30
|
var _language = require("./language");
|
|
40
|
-
|
|
41
31
|
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
32
|
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
|
-
|
|
45
33
|
/* Logic to access public data stores
|
|
46
34
|
*
|
|
47
35
|
* including filtering resut by natural language etc
|
|
48
36
|
* See https://solidos.solidcommunity.net/public/2021/01%20Building%20Solid%20Apps%20which%20use%20Public%20Data.html
|
|
49
37
|
*/
|
|
50
|
-
|
|
51
38
|
/* eslint-disable no-console */
|
|
39
|
+
|
|
52
40
|
var AUTOCOMPLETE_LIMIT = 200; // How many to get from server
|
|
53
41
|
// With 3000 we could exceed the wikidata timeout
|
|
54
|
-
|
|
55
42
|
exports.AUTOCOMPLETE_LIMIT = AUTOCOMPLETE_LIMIT;
|
|
56
43
|
var subjectRegexp = /\$\(subject\)/g;
|
|
57
44
|
// Schema.org seems to suggest NGOs are non-profit and Corporaions are for-profit
|
|
@@ -89,10 +76,10 @@ exports.fetcherOptionsJsonPublicData = fetcherOptionsJsonPublicData;
|
|
|
89
76
|
var escoParameters = {
|
|
90
77
|
label: 'ESCO',
|
|
91
78
|
logo: _solidLogic.store.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)'
|
|
79
|
+
searchByNameURI: 'https://ec.europa.eu/esco/api/search?language=$(language)&type=occupation&text=$(name)'
|
|
80
|
+
// endpoint: undefined
|
|
93
81
|
// returnFormat: 'ESCO',
|
|
94
82
|
// targetClass: {}
|
|
95
|
-
|
|
96
83
|
};
|
|
97
84
|
exports.escoParameters = escoParameters;
|
|
98
85
|
var dbpediaParameters = {
|
|
@@ -123,6 +110,7 @@ var wikidataParameters = {
|
|
|
123
110
|
endpoint: 'https://query.wikidata.org/sparql',
|
|
124
111
|
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
112
|
// was SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en" }
|
|
113
|
+
|
|
126
114
|
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}"
|
|
127
115
|
};
|
|
128
116
|
exports.wikidataParameters = wikidataParameters;
|
|
@@ -142,7 +130,6 @@ var wikidataIncomingClassMap = {
|
|
|
142
130
|
'http://www.wikidata.org/entity/Q2221906': ns.schema('Place'),
|
|
143
131
|
// geographic location
|
|
144
132
|
'http://www.wikidata.org/entity/Q167037': ns.schema('Corporation') // Corporation
|
|
145
|
-
|
|
146
133
|
};
|
|
147
134
|
exports.wikidataIncomingClassMap = wikidataIncomingClassMap;
|
|
148
135
|
var variableNameToPredicateMap = {
|
|
@@ -163,10 +150,8 @@ var variableNameToPredicateMap = {
|
|
|
163
150
|
"long": ns.schema('longitude')
|
|
164
151
|
};
|
|
165
152
|
exports.variableNameToPredicateMap = variableNameToPredicateMap;
|
|
166
|
-
|
|
167
153
|
function bindingToTerm(item) {
|
|
168
154
|
var typ = item.type.toLowerCase();
|
|
169
|
-
|
|
170
155
|
if (typ === 'uri' || typ === 'iri') {
|
|
171
156
|
return _solidLogic.store.sym(item.value);
|
|
172
157
|
} else if (typ === 'literal') {
|
|
@@ -179,7 +164,6 @@ function bindingToTerm(item) {
|
|
|
179
164
|
throw new Error("bindingToTerm: Unexpected type \"".concat(item.type, "\" in sparql binding}"));
|
|
180
165
|
}
|
|
181
166
|
}
|
|
182
|
-
|
|
183
167
|
function loadFromBindings(kb, solidSubject, bindings, doc) {
|
|
184
168
|
var predMap = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : variableNameToPredicateMap;
|
|
185
169
|
var results = {};
|
|
@@ -189,21 +173,18 @@ function loadFromBindings(kb, solidSubject, bindings, doc) {
|
|
|
189
173
|
for (var key in binding) {
|
|
190
174
|
var result = binding[key];
|
|
191
175
|
var combined = JSON.stringify(result); // ( result.type, result.value )
|
|
192
|
-
|
|
193
176
|
results[key] = results[key] || new Set();
|
|
194
177
|
results[key].add(combined); // remove duplicates
|
|
195
178
|
}
|
|
196
179
|
});
|
|
197
|
-
|
|
198
180
|
var _loop = function _loop(key) {
|
|
199
181
|
var values = results[key];
|
|
200
182
|
debug.log(" results ".concat(key, " -> ").concat(values));
|
|
201
183
|
values.forEach(function (combined) {
|
|
202
184
|
var result = JSON.parse(combined);
|
|
203
185
|
var type = result.type,
|
|
204
|
-
|
|
186
|
+
value = result.value;
|
|
205
187
|
var obj;
|
|
206
|
-
|
|
207
188
|
if (type === 'uri') {
|
|
208
189
|
obj = kb.sym(value);
|
|
209
190
|
} else if (type === 'literal') {
|
|
@@ -211,7 +192,6 @@ function loadFromBindings(kb, solidSubject, bindings, doc) {
|
|
|
211
192
|
} else {
|
|
212
193
|
throw new Error("loadFromBindings: unexpected type: ".concat(type));
|
|
213
194
|
}
|
|
214
|
-
|
|
215
195
|
if (key === 'type') {
|
|
216
196
|
if (wikidataIncomingClassMap[value]) {
|
|
217
197
|
obj = wikidataIncomingClassMap[value];
|
|
@@ -220,14 +200,12 @@ function loadFromBindings(kb, solidSubject, bindings, doc) {
|
|
|
220
200
|
}
|
|
221
201
|
} else if (key === 'coordinates') {
|
|
222
202
|
// const latlong = value // Like 'Point(-71.106111111 42.375)'
|
|
223
|
-
debug.log(' @@@ hey a point: ' + value);
|
|
224
|
-
|
|
203
|
+
debug.log(' @@@ hey a point: ' + value);
|
|
204
|
+
// const regexp = /.*\(([-0-9\.-]*) ([-0-9\.-]*)\)/
|
|
225
205
|
var regexp = /.*\(([-0-9.-]*) ([-0-9.-]*)\)/;
|
|
226
206
|
var match = regexp.exec(value);
|
|
227
|
-
|
|
228
207
|
if (match) {
|
|
229
208
|
var _float = ns.xsd('float');
|
|
230
|
-
|
|
231
209
|
var latitude = new _rdflib.Literal(match[1], null, _float);
|
|
232
210
|
var longitude = new _rdflib.Literal(match[2], null, _float);
|
|
233
211
|
kb.add(solidSubject, ns.schema('longitude'), longitude, doc);
|
|
@@ -237,29 +215,23 @@ function loadFromBindings(kb, solidSubject, bindings, doc) {
|
|
|
237
215
|
}
|
|
238
216
|
} else {
|
|
239
217
|
var pred = predMap[key] || ns.schema(key); // fallback to just using schema.org
|
|
240
|
-
|
|
241
218
|
kb.add(solidSubject, pred, obj, doc); // @@ deal with non-string and objects
|
|
242
|
-
|
|
243
219
|
debug.log(" public data ".concat(pred, " ").concat(obj, "."));
|
|
244
220
|
}
|
|
245
221
|
});
|
|
246
222
|
};
|
|
247
|
-
|
|
248
223
|
for (var key in results) {
|
|
249
224
|
_loop(key);
|
|
250
225
|
}
|
|
251
226
|
}
|
|
227
|
+
|
|
252
228
|
/* ESCO sopecific
|
|
253
229
|
*/
|
|
254
|
-
|
|
255
|
-
|
|
256
230
|
function ESCOResultToBindings(json) {
|
|
257
231
|
var results = json._embedded.results; // Array
|
|
258
|
-
|
|
259
232
|
var bindings = results.map(function (result) {
|
|
260
233
|
var name = result.title;
|
|
261
234
|
var uri = result.uri; // like http://data.europa.eu/esco/occupation/57af9090-55b4-4911-b2d0-86db01c00b02
|
|
262
|
-
|
|
263
235
|
return {
|
|
264
236
|
name: {
|
|
265
237
|
value: name,
|
|
@@ -271,12 +243,12 @@ function ESCOResultToBindings(json) {
|
|
|
271
243
|
}
|
|
272
244
|
}; // simulate SPARQL bindings
|
|
273
245
|
});
|
|
246
|
+
|
|
274
247
|
return bindings;
|
|
275
248
|
}
|
|
249
|
+
|
|
276
250
|
/* Query all entities of given class and partially matching name
|
|
277
251
|
*/
|
|
278
|
-
|
|
279
|
-
|
|
280
252
|
function queryESCODataByName(_x, _x2, _x3) {
|
|
281
253
|
return _queryESCODataByName.apply(this, arguments);
|
|
282
254
|
}
|
|
@@ -286,12 +258,9 @@ function queryESCODataByName(_x, _x2, _x3) {
|
|
|
286
258
|
* This will not be needed whn that WDQS bug fixed.
|
|
287
259
|
* This is aptured in https://github.com/solidos/solid-ui/issues/403
|
|
288
260
|
*/
|
|
289
|
-
|
|
290
|
-
|
|
291
261
|
function _queryESCODataByName() {
|
|
292
262
|
_queryESCODataByName = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(filter, theClass, queryTarget) {
|
|
293
263
|
var _store$fetcher;
|
|
294
|
-
|
|
295
264
|
var limit, queryURI, response, text, json;
|
|
296
265
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
297
266
|
while (1) {
|
|
@@ -301,34 +270,26 @@ function _queryESCODataByName() {
|
|
|
301
270
|
_context.next = 2;
|
|
302
271
|
break;
|
|
303
272
|
}
|
|
304
|
-
|
|
305
273
|
throw new Error('Missing queryTarget.searchByNameURI on queryESCODataByName');
|
|
306
|
-
|
|
307
274
|
case 2:
|
|
308
275
|
limit = queryTarget.limit || AUTOCOMPLETE_LIMIT;
|
|
309
276
|
queryURI = queryTarget.searchByNameURI.replace('$(name)', filter).replace('$(limit)', '' + limit).replace('$(targetClass)', theClass.toNT());
|
|
310
277
|
debug.log('Querying ESCO data - uri: ' + queryURI);
|
|
311
278
|
_context.next = 7;
|
|
312
279
|
return (_store$fetcher = _solidLogic.store.fetcher) === null || _store$fetcher === void 0 ? void 0 : _store$fetcher.webOperation('GET', queryURI, fetcherOptionsJsonPublicData);
|
|
313
|
-
|
|
314
280
|
case 7:
|
|
315
281
|
response = _context.sent;
|
|
316
282
|
text = (response === null || response === void 0 ? void 0 : response.responseText) || '';
|
|
317
283
|
debug.log(' Query result text' + text.slice(0, 500) + '...');
|
|
318
|
-
|
|
319
284
|
if (!(text.length === 0)) {
|
|
320
285
|
_context.next = 12;
|
|
321
286
|
break;
|
|
322
287
|
}
|
|
323
|
-
|
|
324
288
|
throw new Error('Wot no text back from ESCO query ' + queryURI);
|
|
325
|
-
|
|
326
289
|
case 12:
|
|
327
290
|
json = JSON.parse(text); // console.log('Whole JSON return object', json)
|
|
328
|
-
|
|
329
291
|
debug.log(' ESCO Query result JSON' + JSON.stringify(json, null, 4).slice(0, 500) + '...');
|
|
330
292
|
return _context.abrupt("return", ESCOResultToBindings(json));
|
|
331
|
-
|
|
332
293
|
case 15:
|
|
333
294
|
case "end":
|
|
334
295
|
return _context.stop();
|
|
@@ -338,30 +299,24 @@ function _queryESCODataByName() {
|
|
|
338
299
|
}));
|
|
339
300
|
return _queryESCODataByName.apply(this, arguments);
|
|
340
301
|
}
|
|
341
|
-
|
|
342
302
|
function fixWikidataJSON(str) {
|
|
343
303
|
var syntaxProblem = str.indexOf('SPARQL-QUERY');
|
|
344
|
-
if (syntaxProblem < 0) return str;
|
|
345
|
-
|
|
304
|
+
if (syntaxProblem < 0) return str;
|
|
305
|
+
// console.log('@@ fixWikidataJSON FIXING')
|
|
346
306
|
debug.warn(' ### Fixing JSON with wikidata error code injection ' + str.slice(syntaxProblem, syntaxProblem + 200));
|
|
347
307
|
var goodness = str.lastIndexOf('}, {');
|
|
348
308
|
return str.slice(0, goodness) + ' } ] } } '; // Close binding, array, bindings, results, root object
|
|
349
309
|
}
|
|
350
310
|
/* Query all entities of given class and partially matching name
|
|
351
311
|
*/
|
|
352
|
-
|
|
353
|
-
|
|
354
312
|
function queryPublicDataByName(_x4, _x5, _x6, _x7) {
|
|
355
313
|
return _queryPublicDataByName.apply(this, arguments);
|
|
356
314
|
}
|
|
357
315
|
/* Query a database using SPARQL SELECT
|
|
358
316
|
*/
|
|
359
|
-
|
|
360
|
-
|
|
361
317
|
function _queryPublicDataByName() {
|
|
362
318
|
_queryPublicDataByName = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(filter, theClass, languages, queryTarget) {
|
|
363
319
|
var substituteStrings, languagePrefs, language, sparql, queryURI, response, _store$fetcher2, text, text2, json, bindings;
|
|
364
|
-
|
|
365
320
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
366
321
|
while (1) {
|
|
367
322
|
switch (_context2.prev = _context2.next) {
|
|
@@ -371,109 +326,82 @@ function _queryPublicDataByName() {
|
|
|
371
326
|
var u1 = template.replace('$(name)', filter).replace('$(limit)', '' + limit).replace('$(language)', language);
|
|
372
327
|
return u1.replace('$(targetClass)', theClass.toNT());
|
|
373
328
|
};
|
|
374
|
-
|
|
375
329
|
if (theClass) {
|
|
376
330
|
_context2.next = 3;
|
|
377
331
|
break;
|
|
378
332
|
}
|
|
379
|
-
|
|
380
333
|
throw new Error('queryPublicDataByName: No class provided');
|
|
381
|
-
|
|
382
334
|
case 3:
|
|
383
335
|
_context2.next = 5;
|
|
384
336
|
return (0, _language.getPreferredLanguages)();
|
|
385
|
-
|
|
386
337
|
case 5:
|
|
387
338
|
_context2.t0 = _context2.sent;
|
|
388
|
-
|
|
389
339
|
if (_context2.t0) {
|
|
390
340
|
_context2.next = 8;
|
|
391
341
|
break;
|
|
392
342
|
}
|
|
393
|
-
|
|
394
343
|
_context2.t0 = _language.defaultPreferredLanguages;
|
|
395
|
-
|
|
396
344
|
case 8:
|
|
397
345
|
languagePrefs = _context2.t0;
|
|
398
346
|
language = languagePrefs[0] || 'en';
|
|
399
|
-
|
|
400
347
|
if (!queryTarget.searchByNameQuery) {
|
|
401
348
|
_context2.next = 16;
|
|
402
349
|
break;
|
|
403
350
|
}
|
|
404
|
-
|
|
405
351
|
sparql = substituteStrings(queryTarget.searchByNameQuery);
|
|
406
352
|
debug.log('Querying public data - sparql: ' + sparql);
|
|
407
353
|
return _context2.abrupt("return", queryPublicDataSelect(sparql, queryTarget));
|
|
408
|
-
|
|
409
354
|
case 16:
|
|
410
355
|
if (!queryTarget.searchByNameURI) {
|
|
411
356
|
_context2.next = 46;
|
|
412
357
|
break;
|
|
413
358
|
}
|
|
414
|
-
|
|
415
359
|
// not sparql - random API
|
|
416
360
|
queryURI = substituteStrings(queryTarget.searchByNameURI);
|
|
417
361
|
_context2.prev = 18;
|
|
418
362
|
_context2.next = 21;
|
|
419
363
|
return (_store$fetcher2 = _solidLogic.store.fetcher) === null || _store$fetcher2 === void 0 ? void 0 : _store$fetcher2.webOperation('GET', queryURI, fetcherOptionsJsonPublicData);
|
|
420
|
-
|
|
421
364
|
case 21:
|
|
422
365
|
response = _context2.sent;
|
|
423
366
|
_context2.next = 27;
|
|
424
367
|
break;
|
|
425
|
-
|
|
426
368
|
case 24:
|
|
427
369
|
_context2.prev = 24;
|
|
428
370
|
_context2.t1 = _context2["catch"](18);
|
|
429
371
|
throw new Error("Exception when trying to fetch ".concat(queryURI, " \n ").concat(_context2.t1));
|
|
430
|
-
|
|
431
372
|
case 27:
|
|
432
373
|
text = response.responseText || ''; // ts
|
|
433
|
-
|
|
434
374
|
if (!(response.status !== 200)) {
|
|
435
375
|
_context2.next = 30;
|
|
436
376
|
break;
|
|
437
377
|
}
|
|
438
|
-
|
|
439
378
|
throw new Error("HTTP error status ".concat(response.status, " trying to fetch ").concat(queryURI, " "));
|
|
440
|
-
|
|
441
379
|
case 30:
|
|
442
380
|
debug.log(' Query result text' + text.slice(0, 500) + '...');
|
|
443
|
-
|
|
444
381
|
if (!(text.length === 0)) {
|
|
445
382
|
_context2.next = 33;
|
|
446
383
|
break;
|
|
447
384
|
}
|
|
448
|
-
|
|
449
385
|
throw new Error('queryPublicDataByName: No text back from public data query ' + queryURI);
|
|
450
|
-
|
|
451
386
|
case 33:
|
|
452
387
|
text2 = fixWikidataJSON(text); // Kludge: strip of interrupting error message
|
|
453
|
-
|
|
454
388
|
json = JSON.parse(text2);
|
|
455
389
|
debug.log(' API Query result JSON' + JSON.stringify(json, null, 4).slice(0, 500) + '...');
|
|
456
|
-
|
|
457
390
|
if (!json._embedded) {
|
|
458
391
|
_context2.next = 42;
|
|
459
392
|
break;
|
|
460
393
|
}
|
|
461
|
-
|
|
462
394
|
debug.log(' Looks like ESCO');
|
|
463
395
|
bindings = ESCOResultToBindings(json);
|
|
464
396
|
return _context2.abrupt("return", bindings);
|
|
465
|
-
|
|
466
397
|
case 42:
|
|
467
398
|
alert('Code me: unrecognized API return format');
|
|
468
399
|
throw new Error("*** Need to add code to parse unrecognized API JSON return\n".concat(JSON.stringify(json, null, 4)));
|
|
469
|
-
|
|
470
400
|
case 44:
|
|
471
401
|
_context2.next = 47;
|
|
472
402
|
break;
|
|
473
|
-
|
|
474
403
|
case 46:
|
|
475
404
|
throw new Error('Query source must have either rest API or SPARQL endpoint.');
|
|
476
|
-
|
|
477
405
|
case 47:
|
|
478
406
|
case "end":
|
|
479
407
|
return _context2.stop();
|
|
@@ -483,18 +411,14 @@ function _queryPublicDataByName() {
|
|
|
483
411
|
}));
|
|
484
412
|
return _queryPublicDataByName.apply(this, arguments);
|
|
485
413
|
}
|
|
486
|
-
|
|
487
414
|
function queryPublicDataSelect(_x8, _x9) {
|
|
488
415
|
return _queryPublicDataSelect.apply(this, arguments);
|
|
489
416
|
}
|
|
490
417
|
/* Load from a database using SPARQL CONSTRUCT
|
|
491
418
|
*/
|
|
492
|
-
|
|
493
|
-
|
|
494
419
|
function _queryPublicDataSelect() {
|
|
495
420
|
_queryPublicDataSelect = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(sparql, queryTarget) {
|
|
496
421
|
var _store$fetcher3;
|
|
497
|
-
|
|
498
422
|
var myUrlWithParams, queryURI, headers, options, response, text, text2, json, bindings;
|
|
499
423
|
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
500
424
|
while (1) {
|
|
@@ -504,9 +428,7 @@ function _queryPublicDataSelect() {
|
|
|
504
428
|
_context3.next = 2;
|
|
505
429
|
break;
|
|
506
430
|
}
|
|
507
|
-
|
|
508
431
|
throw new Error('Missing queryTarget.endpoint required for queryPublicDataSelect');
|
|
509
|
-
|
|
510
432
|
case 2:
|
|
511
433
|
myUrlWithParams = new URL(queryTarget.endpoint);
|
|
512
434
|
myUrlWithParams.searchParams.append('query', sparql);
|
|
@@ -521,25 +443,20 @@ function _queryPublicDataSelect() {
|
|
|
521
443
|
};
|
|
522
444
|
_context3.next = 11;
|
|
523
445
|
return (_store$fetcher3 = _solidLogic.store.fetcher) === null || _store$fetcher3 === void 0 ? void 0 : _store$fetcher3.webOperation('GET', queryURI, options);
|
|
524
|
-
|
|
525
446
|
case 11:
|
|
526
447
|
response = _context3.sent;
|
|
527
448
|
text = (response === null || response === void 0 ? void 0 : response.responseText) || '';
|
|
528
|
-
|
|
529
449
|
if (!(text.length === 0)) {
|
|
530
450
|
_context3.next = 15;
|
|
531
451
|
break;
|
|
532
452
|
}
|
|
533
|
-
|
|
534
453
|
throw new Error('No text back from query ' + queryURI);
|
|
535
|
-
|
|
536
454
|
case 15:
|
|
537
455
|
text2 = fixWikidataJSON(text);
|
|
538
456
|
json = JSON.parse(text2);
|
|
539
457
|
debug.log(' Query result JSON' + JSON.stringify(json, null, 4).slice(0, 100) + '...');
|
|
540
458
|
bindings = json.results.bindings;
|
|
541
459
|
return _context3.abrupt("return", bindings);
|
|
542
|
-
|
|
543
460
|
case 20:
|
|
544
461
|
case "end":
|
|
545
462
|
return _context3.stop();
|
|
@@ -549,29 +466,23 @@ function _queryPublicDataSelect() {
|
|
|
549
466
|
}));
|
|
550
467
|
return _queryPublicDataSelect.apply(this, arguments);
|
|
551
468
|
}
|
|
552
|
-
|
|
553
469
|
function queryPublicDataConstruct(_x10, _x11, _x12) {
|
|
554
470
|
return _queryPublicDataConstruct.apply(this, arguments);
|
|
555
471
|
}
|
|
556
|
-
|
|
557
472
|
function _queryPublicDataConstruct() {
|
|
558
473
|
_queryPublicDataConstruct = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(sparql, pubicId, queryTarget) {
|
|
559
474
|
var _store$fetcher4;
|
|
560
|
-
|
|
561
475
|
var myUrlWithParams, queryURI, headers, options, response, text, report;
|
|
562
476
|
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
563
477
|
while (1) {
|
|
564
478
|
switch (_context4.prev = _context4.next) {
|
|
565
479
|
case 0:
|
|
566
480
|
debug.log('queryPublicDataConstruct: sparql:', sparql);
|
|
567
|
-
|
|
568
481
|
if (queryTarget.endpoint) {
|
|
569
482
|
_context4.next = 3;
|
|
570
483
|
break;
|
|
571
484
|
}
|
|
572
|
-
|
|
573
485
|
throw new Error('Missing queryTarget.endpoint required for queryPublicDataConstruct');
|
|
574
|
-
|
|
575
486
|
case 3:
|
|
576
487
|
myUrlWithParams = new URL(queryTarget.endpoint);
|
|
577
488
|
myUrlWithParams.searchParams.append('query', sparql);
|
|
@@ -583,27 +494,21 @@ function _queryPublicDataConstruct() {
|
|
|
583
494
|
credentials: 'omit',
|
|
584
495
|
// CORS // @tsc pain
|
|
585
496
|
headers: headers // ({ Accept: 'text/turtle' } as Headers)
|
|
586
|
-
|
|
587
497
|
};
|
|
588
498
|
_context4.next = 12;
|
|
589
499
|
return (_store$fetcher4 = _solidLogic.store.fetcher) === null || _store$fetcher4 === void 0 ? void 0 : _store$fetcher4.webOperation('GET', queryURI, options);
|
|
590
|
-
|
|
591
500
|
case 12:
|
|
592
501
|
response = _context4.sent;
|
|
593
502
|
text = (response === null || response === void 0 ? void 0 : response.responseText) || 'No response text?';
|
|
594
503
|
report = text.length > 500 ? text.slice(0, 200) + ' ... ' + text.slice(-200) : text;
|
|
595
504
|
debug.log(' queryPublicDataConstruct result text:' + report);
|
|
596
|
-
|
|
597
505
|
if (!(text.length === 0)) {
|
|
598
506
|
_context4.next = 18;
|
|
599
507
|
break;
|
|
600
508
|
}
|
|
601
|
-
|
|
602
509
|
throw new Error('queryPublicDataConstruct: No text back from construct query:' + queryURI);
|
|
603
|
-
|
|
604
510
|
case 18:
|
|
605
511
|
(0, _rdflib.parse)(text, _solidLogic.store, pubicId.uri, 'text/turtle');
|
|
606
|
-
|
|
607
512
|
case 19:
|
|
608
513
|
case "end":
|
|
609
514
|
return _context4.stop();
|
|
@@ -613,11 +518,9 @@ function _queryPublicDataConstruct() {
|
|
|
613
518
|
}));
|
|
614
519
|
return _queryPublicDataConstruct.apply(this, arguments);
|
|
615
520
|
}
|
|
616
|
-
|
|
617
521
|
function loadPublicDataThing(_x13, _x14, _x15) {
|
|
618
522
|
return _loadPublicDataThing.apply(this, arguments);
|
|
619
523
|
}
|
|
620
|
-
|
|
621
524
|
function _loadPublicDataThing() {
|
|
622
525
|
_loadPublicDataThing = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(kb, subject, publicDataID) {
|
|
623
526
|
var iDToFetch, headers;
|
|
@@ -629,22 +532,17 @@ function _loadPublicDataThing() {
|
|
|
629
532
|
_context5.next = 4;
|
|
630
533
|
break;
|
|
631
534
|
}
|
|
632
|
-
|
|
633
535
|
return _context5.abrupt("return", getDbpediaDetails(kb, subject, publicDataID));
|
|
634
|
-
|
|
635
536
|
case 4:
|
|
636
537
|
if (!publicDataID.uri.match(/^https?:\/\/www\.wikidata\.org\/entity\/.*/)) {
|
|
637
538
|
_context5.next = 9;
|
|
638
539
|
break;
|
|
639
540
|
}
|
|
640
|
-
|
|
641
541
|
_context5.next = 7;
|
|
642
542
|
return getWikidataDetails(kb, subject, publicDataID);
|
|
643
|
-
|
|
644
543
|
case 7:
|
|
645
544
|
_context5.next = 13;
|
|
646
545
|
break;
|
|
647
|
-
|
|
648
546
|
case 9:
|
|
649
547
|
iDToFetch = publicDataID.uri.startsWith('http:') ? kb.sym('https:' + publicDataID.uri.slice(5)) : publicDataID;
|
|
650
548
|
headers = new Headers();
|
|
@@ -653,7 +551,6 @@ function _loadPublicDataThing() {
|
|
|
653
551
|
credentials: 'omit',
|
|
654
552
|
headers: headers
|
|
655
553
|
}));
|
|
656
|
-
|
|
657
554
|
case 13:
|
|
658
555
|
case "end":
|
|
659
556
|
return _context5.stop();
|
|
@@ -663,11 +560,9 @@ function _loadPublicDataThing() {
|
|
|
663
560
|
}));
|
|
664
561
|
return _loadPublicDataThing.apply(this, arguments);
|
|
665
562
|
}
|
|
666
|
-
|
|
667
563
|
function getWikidataDetails(_x16, _x17, _x18) {
|
|
668
564
|
return _getWikidataDetails.apply(this, arguments);
|
|
669
565
|
}
|
|
670
|
-
|
|
671
566
|
function _getWikidataDetails() {
|
|
672
567
|
_getWikidataDetails = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(kb, solidSubject, publicDataID) {
|
|
673
568
|
var subjRegexp, sparql;
|
|
@@ -679,10 +574,8 @@ function _getWikidataDetails() {
|
|
|
679
574
|
sparql = instituteDetailsWikidataQuery.replace(subjRegexp, publicDataID.toNT());
|
|
680
575
|
_context6.next = 4;
|
|
681
576
|
return queryPublicDataConstruct(sparql, publicDataID, wikidataParameters);
|
|
682
|
-
|
|
683
577
|
case 4:
|
|
684
578
|
debug.log('getWikidataDetails: loaded.', publicDataID);
|
|
685
|
-
|
|
686
579
|
case 5:
|
|
687
580
|
case "end":
|
|
688
581
|
return _context6.stop();
|
|
@@ -692,11 +585,9 @@ function _getWikidataDetails() {
|
|
|
692
585
|
}));
|
|
693
586
|
return _getWikidataDetails.apply(this, arguments);
|
|
694
587
|
}
|
|
695
|
-
|
|
696
588
|
function getWikidataDetailsOld(_x19, _x20, _x21) {
|
|
697
589
|
return _getWikidataDetailsOld.apply(this, arguments);
|
|
698
590
|
}
|
|
699
|
-
|
|
700
591
|
function _getWikidataDetailsOld() {
|
|
701
592
|
_getWikidataDetailsOld = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7(kb, solidSubject, publicDataID) {
|
|
702
593
|
var sparql, bindings;
|
|
@@ -707,11 +598,9 @@ function _getWikidataDetailsOld() {
|
|
|
707
598
|
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
599
|
_context7.next = 3;
|
|
709
600
|
return queryPublicDataSelect(sparql, wikidataParameters);
|
|
710
|
-
|
|
711
601
|
case 3:
|
|
712
602
|
bindings = _context7.sent;
|
|
713
603
|
loadFromBindings(kb, publicDataID, bindings, publicDataID.doc()); // arg2 was solidSubject
|
|
714
|
-
|
|
715
604
|
case 5:
|
|
716
605
|
case "end":
|
|
717
606
|
return _context7.stop();
|
|
@@ -721,11 +610,9 @@ function _getWikidataDetailsOld() {
|
|
|
721
610
|
}));
|
|
722
611
|
return _getWikidataDetailsOld.apply(this, arguments);
|
|
723
612
|
}
|
|
724
|
-
|
|
725
613
|
function getWikidataLocation(_x22, _x23, _x24) {
|
|
726
614
|
return _getWikidataLocation.apply(this, arguments);
|
|
727
615
|
}
|
|
728
|
-
|
|
729
616
|
function _getWikidataLocation() {
|
|
730
617
|
_getWikidataLocation = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8(kb, solidSubject, publicDataID) {
|
|
731
618
|
var sparql, bindings;
|
|
@@ -737,12 +624,10 @@ function _getWikidataLocation() {
|
|
|
737
624
|
debug.log(' location query sparql:' + sparql);
|
|
738
625
|
_context8.next = 4;
|
|
739
626
|
return queryPublicDataSelect(sparql, wikidataParameters);
|
|
740
|
-
|
|
741
627
|
case 4:
|
|
742
628
|
bindings = _context8.sent;
|
|
743
629
|
debug.log(' location query bindings:', bindings);
|
|
744
630
|
loadFromBindings(kb, publicDataID, bindings, publicDataID.doc()); // was solidSubject
|
|
745
|
-
|
|
746
631
|
case 7:
|
|
747
632
|
case "end":
|
|
748
633
|
return _context8.stop();
|
|
@@ -752,11 +637,9 @@ function _getWikidataLocation() {
|
|
|
752
637
|
}));
|
|
753
638
|
return _getWikidataLocation.apply(this, arguments);
|
|
754
639
|
}
|
|
755
|
-
|
|
756
640
|
function getDbpediaDetails(_x25, _x26, _x27) {
|
|
757
641
|
return _getDbpediaDetails.apply(this, arguments);
|
|
758
642
|
}
|
|
759
|
-
|
|
760
643
|
function _getDbpediaDetails() {
|
|
761
644
|
_getDbpediaDetails = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9(kb, solidSubject, publicDataID) {
|
|
762
645
|
var sparql, bindings;
|
|
@@ -768,12 +651,10 @@ function _getDbpediaDetails() {
|
|
|
768
651
|
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
652
|
_context9.next = 3;
|
|
770
653
|
return queryPublicDataSelect(sparql, dbpediaParameters);
|
|
771
|
-
|
|
772
654
|
case 3:
|
|
773
655
|
bindings = _context9.sent;
|
|
774
656
|
loadFromBindings(kb, publicDataID, bindings, publicDataID.doc());
|
|
775
657
|
debug.log('Finished getDbpediaDetails.');
|
|
776
|
-
|
|
777
658
|
case 6:
|
|
778
659
|
case "end":
|
|
779
660
|
return _context9.stop();
|