solid-ui 2.4.14-842f7f26 → 2.4.14-alpha
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/LICENSE.md +0 -0
- package/README.md +0 -0
- package/lib/acl/access-controller.d.ts +0 -0
- package/lib/acl/access-controller.d.ts.map +0 -0
- package/lib/acl/access-controller.js +334 -441
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.d.ts +0 -0
- package/lib/acl/access-groups.d.ts.map +0 -0
- package/lib/acl/access-groups.js +347 -492
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl-control.d.ts +0 -0
- package/lib/acl/acl-control.d.ts.map +0 -0
- package/lib/acl/acl-control.js +168 -198
- package/lib/acl/acl-control.js.map +1 -1
- package/lib/acl/acl.d.ts +0 -0
- package/lib/acl/acl.d.ts.map +0 -0
- package/lib/acl/acl.js +444 -459
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.d.ts +0 -0
- package/lib/acl/add-agent-buttons.d.ts.map +0 -0
- package/lib/acl/add-agent-buttons.js +318 -515
- package/lib/acl/add-agent-buttons.js.map +1 -1
- package/lib/acl/index.d.ts +0 -0
- package/lib/acl/index.d.ts.map +0 -0
- package/lib/acl/index.js +27 -35
- package/lib/acl/index.js.map +1 -1
- package/lib/acl/styles.d.ts +0 -0
- package/lib/acl/styles.d.ts.map +0 -0
- package/lib/acl/styles.js +84 -90
- package/lib/acl/styles.js.map +1 -1
- package/lib/acl/types.d.ts +0 -0
- package/lib/acl/types.d.ts.map +0 -0
- package/lib/acl/types.js +5 -4
- package/lib/acl/types.js.map +1 -1
- package/lib/authn/authSession.d.ts +0 -0
- package/lib/authn/authSession.d.ts.map +0 -0
- package/lib/authn/authSession.js +14 -21
- package/lib/authn/authSession.js.map +1 -1
- package/lib/authn/authn.d.ts +0 -0
- package/lib/authn/authn.d.ts.map +0 -0
- package/lib/authn/authn.js +1391 -1935
- package/lib/authn/authn.js.map +1 -1
- package/lib/authn/config-default.js +0 -0
- package/lib/authn/config-default.js.map +0 -0
- package/lib/authn/index.d.ts +0 -0
- package/lib/authn/index.d.ts.map +0 -0
- package/lib/authn/index.js +26 -37
- package/lib/authn/index.js.map +1 -1
- package/lib/authn/signup.js +0 -0
- package/lib/authn/signup.js.map +0 -0
- package/lib/authn/types.d.ts +0 -0
- package/lib/authn/types.d.ts.map +0 -0
- package/lib/authn/types.js +1 -4
- package/lib/authn/types.js.map +1 -1
- package/lib/chat/bookmarks.js +0 -0
- package/lib/chat/bookmarks.js.map +0 -0
- package/lib/chat/dateFolder.js +0 -0
- package/lib/chat/dateFolder.js.map +0 -0
- package/lib/chat/infinite.js +0 -0
- package/lib/chat/infinite.js.map +0 -0
- package/lib/chat/message.js +0 -0
- package/lib/chat/message.js.map +0 -0
- package/lib/chat/messageTools.js +0 -0
- package/lib/chat/messageTools.js.map +0 -0
- package/lib/chat/thread.js +0 -0
- package/lib/chat/thread.js.map +0 -0
- package/lib/create/create.d.ts +0 -0
- package/lib/create/create.d.ts.map +0 -0
- package/lib/create/create.js +209 -214
- package/lib/create/create.js.map +1 -1
- package/lib/create/index.d.ts +0 -0
- package/lib/create/index.d.ts.map +0 -0
- package/lib/create/index.js +4 -10
- package/lib/create/index.js.map +1 -1
- package/lib/create/types.d.ts +0 -0
- package/lib/create/types.d.ts.map +0 -0
- package/lib/create/types.js +1 -4
- package/lib/create/types.js.map +1 -1
- package/lib/debug.d.ts +0 -0
- package/lib/debug.d.ts.map +0 -0
- package/lib/debug.js +30 -28
- package/lib/debug.js.map +1 -1
- package/lib/folders.js +0 -0
- package/lib/folders.js.map +0 -0
- package/lib/footer/index.d.ts +20 -0
- package/lib/footer/index.d.ts.map +1 -0
- package/lib/footer/index.js +130 -0
- package/lib/footer/index.js.map +1 -0
- package/lib/footer/styleMap.d.ts +8 -0
- package/lib/footer/styleMap.d.ts.map +1 -0
- package/lib/footer/styleMap.js +11 -0
- package/lib/footer/styleMap.js.map +1 -0
- package/lib/header/empty-profile.d.ts +0 -0
- package/lib/header/empty-profile.d.ts.map +0 -0
- package/lib/header/empty-profile.js +2 -6
- package/lib/header/empty-profile.js.map +1 -1
- package/lib/header/index.d.ts +11 -8
- package/lib/header/index.d.ts.map +1 -1
- package/lib/header/index.js +291 -355
- package/lib/header/index.js.map +1 -1
- package/lib/header/styleMap.d.ts +0 -2
- package/lib/header/styleMap.d.ts.map +1 -1
- package/lib/header/styleMap.js +116 -136
- package/lib/header/styleMap.js.map +1 -1
- package/lib/iconBase.d.ts +0 -0
- package/lib/iconBase.d.ts.map +0 -0
- package/lib/iconBase.js +23 -30
- package/lib/iconBase.js.map +1 -1
- package/lib/icons/solid_logo.d.ts +0 -0
- package/lib/icons/solid_logo.d.ts.map +0 -0
- package/lib/icons/solid_logo.js +0 -0
- package/lib/icons/solid_logo.js.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +103 -198
- package/lib/index.js.map +1 -1
- package/lib/jss/index.d.ts +0 -0
- package/lib/jss/index.d.ts.map +0 -0
- package/lib/jss/index.js +21 -30
- package/lib/jss/index.js.map +1 -1
- package/lib/log.d.ts +0 -0
- package/lib/log.d.ts.map +0 -0
- package/lib/log.js +83 -131
- package/lib/log.js.map +1 -1
- package/lib/logic.d.ts +0 -0
- package/lib/logic.d.ts.map +0 -0
- package/lib/logic.js +82 -69
- package/lib/logic.js.map +1 -1
- package/lib/matrix/index.d.ts +0 -0
- package/lib/matrix/index.d.ts.map +0 -0
- package/lib/matrix/index.js +4 -10
- package/lib/matrix/index.js.map +1 -1
- package/lib/matrix/matrix.d.ts +0 -0
- package/lib/matrix/matrix.d.ts.map +0 -0
- package/lib/matrix/matrix.js +210 -237
- package/lib/matrix/matrix.js.map +1 -1
- package/lib/matrix/types.d.ts +0 -0
- package/lib/matrix/types.d.ts.map +0 -0
- package/lib/matrix/types.js +1 -4
- package/lib/matrix/types.js.map +1 -1
- package/lib/media/index.d.ts +0 -0
- package/lib/media/index.d.ts.map +0 -0
- package/lib/media/index.js +5 -11
- package/lib/media/index.js.map +1 -1
- package/lib/media/media-capture.d.ts +0 -0
- package/lib/media/media-capture.d.ts.map +0 -0
- package/lib/media/media-capture.js +187 -181
- package/lib/media/media-capture.js.map +1 -1
- package/lib/messageArea.js +0 -0
- package/lib/messageArea.js.map +0 -0
- package/lib/noun_Camera_1618446_000000.js +0 -0
- package/lib/noun_Camera_1618446_000000.js.map +0 -0
- package/lib/ns.js +0 -0
- package/lib/ns.js.map +0 -0
- package/lib/pad.d.ts +0 -0
- package/lib/pad.d.ts.map +0 -0
- package/lib/pad.js +794 -954
- package/lib/pad.js.map +1 -1
- package/lib/participation.d.ts +0 -0
- package/lib/participation.d.ts.map +0 -0
- package/lib/participation.js +170 -199
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js +0 -0
- package/lib/preferences.js.map +0 -0
- package/lib/stories/decorators.js +0 -0
- package/lib/stories/decorators.js.map +0 -0
- package/lib/style.js +0 -0
- package/lib/style.js.map +0 -0
- package/lib/table.js +0 -0
- package/lib/table.js.map +0 -0
- package/lib/tabs.d.ts +0 -0
- package/lib/tabs.d.ts.map +0 -0
- package/lib/tabs.js +235 -342
- package/lib/tabs.js.map +1 -1
- package/lib/typings.d.js +0 -0
- package/lib/typings.d.js.map +0 -0
- package/lib/{header/headerHelpers.d.ts → utils/headerFooterHelpers.d.ts} +11 -3
- package/lib/utils/headerFooterHelpers.d.ts.map +1 -0
- package/lib/utils/headerFooterHelpers.js +164 -0
- package/lib/utils/headerFooterHelpers.js.map +1 -0
- package/lib/utils/index.js +0 -0
- package/lib/utils/index.js.map +0 -0
- package/lib/utils/label.d.ts +0 -0
- package/lib/utils/label.d.ts.map +0 -0
- package/lib/utils/label.js +121 -113
- package/lib/utils/label.js.map +1 -1
- package/lib/versionInfo.d.ts +0 -0
- package/lib/versionInfo.d.ts.map +0 -0
- package/lib/versionInfo.js +23 -28
- package/lib/versionInfo.js.map +1 -1
- package/lib/webpack-bundle.js +454 -160
- package/lib/webpack-bundle.js.map +1 -1
- package/lib/widgets/buttons/iconLinks.d.ts +0 -0
- package/lib/widgets/buttons/iconLinks.d.ts.map +0 -0
- package/lib/widgets/buttons/iconLinks.js +19 -30
- package/lib/widgets/buttons/iconLinks.js.map +1 -1
- package/lib/widgets/buttons.d.ts +0 -0
- package/lib/widgets/buttons.d.ts.map +0 -0
- package/lib/widgets/buttons.js +935 -1113
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/dragAndDrop.js +0 -0
- package/lib/widgets/dragAndDrop.js.map +0 -0
- package/lib/widgets/error.d.ts +0 -0
- package/lib/widgets/error.d.ts.map +0 -0
- package/lib/widgets/error.js +18 -24
- package/lib/widgets/error.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.js +234 -325
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteField.js +246 -276
- package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +317 -497
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/language.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/language.js +159 -212
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/publicData.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/publicData.js +485 -718
- package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
- package/lib/widgets/forms/basic.d.ts +0 -0
- package/lib/widgets/forms/basic.d.ts.map +0 -0
- package/lib/widgets/forms/basic.js +208 -239
- package/lib/widgets/forms/basic.js.map +1 -1
- package/lib/widgets/forms/comment.d.ts +0 -0
- package/lib/widgets/forms/comment.d.ts.map +0 -0
- package/lib/widgets/forms/comment.js +48 -48
- package/lib/widgets/forms/comment.js.map +1 -1
- package/lib/widgets/forms/fieldFunction.d.ts +0 -0
- package/lib/widgets/forms/fieldFunction.d.ts.map +0 -0
- package/lib/widgets/forms/fieldFunction.js +31 -50
- package/lib/widgets/forms/fieldFunction.js.map +1 -1
- package/lib/widgets/forms/fieldParams.d.ts +0 -0
- package/lib/widgets/forms/fieldParams.d.ts.map +0 -0
- package/lib/widgets/forms/fieldParams.js +102 -81
- package/lib/widgets/forms/fieldParams.js.map +1 -1
- package/lib/widgets/forms/formStyle.d.ts +0 -0
- package/lib/widgets/forms/formStyle.d.ts.map +0 -0
- package/lib/widgets/forms/formStyle.js +52 -50
- package/lib/widgets/forms/formStyle.js.map +1 -1
- package/lib/widgets/forms.js +0 -0
- package/lib/widgets/forms.js.map +0 -0
- package/lib/widgets/index.js +0 -0
- package/lib/widgets/index.js.map +0 -0
- package/lib/widgets/peoplePicker.js +0 -0
- package/lib/widgets/peoplePicker.js.map +0 -0
- package/lib/widgets/widgetHelpers.d.ts +0 -0
- package/lib/widgets/widgetHelpers.d.ts.map +0 -0
- package/lib/widgets/widgetHelpers.js +18 -30
- package/lib/widgets/widgetHelpers.js.map +1 -1
- package/package.json +5 -4
- package/lib/header/headerHelpers.d.ts.map +0 -1
- package/lib/header/headerHelpers.js +0 -96
- package/lib/header/headerHelpers.js.map +0 -1
|
@@ -1,779 +1,546 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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;
|
|
9
13
|
});
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
var
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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;
|
|
45
59
|
/* Logic to access public data stores
|
|
46
60
|
*
|
|
47
61
|
* including filtering resut by natural language etc
|
|
48
62
|
* See https://solidos.solidcommunity.net/public/2021/01%20Building%20Solid%20Apps%20which%20use%20Public%20Data.html
|
|
49
63
|
*/
|
|
50
|
-
|
|
51
64
|
/* 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");
|
|
52
69
|
// import * as logic from '../../../logic'
|
|
53
|
-
var
|
|
70
|
+
var language_1 = require("./language");
|
|
71
|
+
exports.AUTOCOMPLETE_LIMIT = 200; // How many to get from server
|
|
54
72
|
// With 3000 we could exceed the wikidata timeout
|
|
55
|
-
|
|
56
|
-
exports.AUTOCOMPLETE_LIMIT = AUTOCOMPLETE_LIMIT;
|
|
57
73
|
var subjectRegexp = /\$\(subject\)/g;
|
|
58
74
|
// Schema.org seems to suggest NGOs are non-profit and Corporaions are for-profit
|
|
59
75
|
// but doesn't have explicit classes
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
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'
|
|
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'
|
|
77
87
|
};
|
|
78
|
-
exports.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
credentials: 'omit',
|
|
83
|
-
// try to avoid CORS problems. Data is public so no auth
|
|
84
|
-
headers: new Headers({
|
|
85
|
-
Accept: 'application/json'
|
|
86
|
-
})
|
|
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' })
|
|
87
92
|
};
|
|
88
|
-
exports.
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
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: {}
|
|
96
100
|
};
|
|
97
|
-
exports.
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
endpoint: 'https://dbpedia.org/sparql/'
|
|
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/'
|
|
103
106
|
};
|
|
104
|
-
exports.
|
|
105
|
-
|
|
106
|
-
|
|
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'
|
|
107
115
|
};
|
|
108
|
-
exports.
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
Insitute: 'http://www.wikidata.org/entity/Q1664720'
|
|
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}"
|
|
116
123
|
};
|
|
117
|
-
exports.
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
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}"
|
|
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
|
|
127
133
|
};
|
|
128
|
-
exports.
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
// geographic location
|
|
144
|
-
'http://www.wikidata.org/entity/Q167037': ns.schema('Corporation') // Corporation
|
|
145
|
-
|
|
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')
|
|
146
149
|
};
|
|
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
|
-
|
|
167
150
|
function bindingToTerm(item) {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
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);
|
|
177
|
-
}
|
|
178
|
-
} else {
|
|
179
|
-
throw new Error("bindingToTerm: Unexpected type \"".concat(item.type, "\" in sparql binding}"));
|
|
180
|
-
}
|
|
181
|
-
}
|
|
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
|
|
151
|
+
var typ = item.type.toLowerCase();
|
|
152
|
+
if (typ === 'uri' || typ === 'iri') {
|
|
153
|
+
return logic_1.kb.sym(item.value);
|
|
195
154
|
}
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
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);
|
|
155
|
+
else if (typ === 'literal') {
|
|
156
|
+
if (item['xml:lang']) {
|
|
157
|
+
return new rdflib_1.Literal(item.value, item['xml:lang']);
|
|
220
158
|
}
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
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}"));
|
|
165
|
+
}
|
|
166
|
+
}
|
|
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
|
|
237
179
|
}
|
|
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
|
-
}
|
|
245
180
|
});
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
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
|
+
}
|
|
251
232
|
}
|
|
233
|
+
exports.loadFromBindings = loadFromBindings;
|
|
252
234
|
/* ESCO sopecific
|
|
253
235
|
*/
|
|
254
|
-
|
|
255
|
-
|
|
256
236
|
function ESCOResultToBindings(json) {
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
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;
|
|
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;
|
|
275
244
|
}
|
|
245
|
+
exports.ESCOResultToBindings = ESCOResultToBindings;
|
|
276
246
|
/* Query all entities of given class and partially matching name
|
|
277
247
|
*/
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
248
|
+
function queryESCODataByName(filter, theClass, queryTarget) {
|
|
249
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
250
|
+
var limit, queryURI, response, text, json;
|
|
251
|
+
return __generator(this, function (_a) {
|
|
252
|
+
switch (_a.label) {
|
|
253
|
+
case 0:
|
|
254
|
+
if (!queryTarget.searchByNameURI)
|
|
255
|
+
throw new Error('Missing queryTarget.searchByNameURI on queryESCODataByName');
|
|
256
|
+
limit = queryTarget.limit || exports.AUTOCOMPLETE_LIMIT;
|
|
257
|
+
queryURI = queryTarget.searchByNameURI
|
|
258
|
+
.replace('$(name)', filter)
|
|
259
|
+
.replace('$(limit)', '' + limit)
|
|
260
|
+
.replace('$(targetClass)', theClass.toNT());
|
|
261
|
+
debug.log('Querying ESCO data - uri: ' + queryURI);
|
|
262
|
+
return [4 /*yield*/, logic_1.kb.fetcher.webOperation('GET', queryURI, exports.fetcherOptionsJsonPublicData)];
|
|
263
|
+
case 1:
|
|
264
|
+
response = _a.sent();
|
|
265
|
+
text = response.responseText || '';
|
|
266
|
+
debug.log(' Query result text' + text.slice(0, 500) + '...');
|
|
267
|
+
if (text.length === 0)
|
|
268
|
+
throw new Error('Wot no text back from ESCO query ' + queryURI);
|
|
269
|
+
json = JSON.parse(text);
|
|
270
|
+
// console.log('Whole JSON return object', json)
|
|
271
|
+
debug.log(' ESCO Query result JSON' + JSON.stringify(json, null, 4).slice(0, 500) + '...');
|
|
272
|
+
return [2 /*return*/, ESCOResultToBindings(json)];
|
|
273
|
+
}
|
|
274
|
+
});
|
|
275
|
+
});
|
|
282
276
|
}
|
|
277
|
+
exports.queryESCODataByName = queryESCODataByName;
|
|
283
278
|
/* Cope ithe syntax probelm in wikidata timeout responses
|
|
284
279
|
*
|
|
285
280
|
* Wikidata bug: https://phabricator.wikimedia.org/T283962
|
|
286
281
|
* This will not be needed whn that WDQS bug fixed.
|
|
287
282
|
* This is aptured in https://github.com/solid/solid-ui/issues/403
|
|
288
283
|
*/
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
function _queryESCODataByName() {
|
|
292
|
-
_queryESCODataByName = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(filter, theClass, queryTarget) {
|
|
293
|
-
var limit, queryURI, response, text, json;
|
|
294
|
-
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
295
|
-
while (1) {
|
|
296
|
-
switch (_context.prev = _context.next) {
|
|
297
|
-
case 0:
|
|
298
|
-
if (queryTarget.searchByNameURI) {
|
|
299
|
-
_context.next = 2;
|
|
300
|
-
break;
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
throw new Error('Missing queryTarget.searchByNameURI on queryESCODataByName');
|
|
304
|
-
|
|
305
|
-
case 2:
|
|
306
|
-
limit = queryTarget.limit || AUTOCOMPLETE_LIMIT;
|
|
307
|
-
queryURI = queryTarget.searchByNameURI.replace('$(name)', filter).replace('$(limit)', '' + limit).replace('$(targetClass)', theClass.toNT());
|
|
308
|
-
debug.log('Querying ESCO data - uri: ' + queryURI);
|
|
309
|
-
_context.next = 7;
|
|
310
|
-
return _logic.kb.fetcher.webOperation('GET', queryURI, fetcherOptionsJsonPublicData);
|
|
311
|
-
|
|
312
|
-
case 7:
|
|
313
|
-
response = _context.sent;
|
|
314
|
-
text = response.responseText || '';
|
|
315
|
-
debug.log(' Query result text' + text.slice(0, 500) + '...');
|
|
316
|
-
|
|
317
|
-
if (!(text.length === 0)) {
|
|
318
|
-
_context.next = 12;
|
|
319
|
-
break;
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
throw new Error('Wot no text back from ESCO query ' + queryURI);
|
|
323
|
-
|
|
324
|
-
case 12:
|
|
325
|
-
json = JSON.parse(text); // console.log('Whole JSON return object', json)
|
|
326
|
-
|
|
327
|
-
debug.log(' ESCO Query result JSON' + JSON.stringify(json, null, 4).slice(0, 500) + '...');
|
|
328
|
-
return _context.abrupt("return", ESCOResultToBindings(json));
|
|
329
|
-
|
|
330
|
-
case 15:
|
|
331
|
-
case "end":
|
|
332
|
-
return _context.stop();
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
}, _callee);
|
|
336
|
-
}));
|
|
337
|
-
return _queryESCODataByName.apply(this, arguments);
|
|
338
|
-
}
|
|
339
|
-
|
|
340
284
|
function fixWikidataJSON(str) {
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
285
|
+
var syntaxProblem = str.indexOf('SPARQL-QUERY');
|
|
286
|
+
if (syntaxProblem < 0)
|
|
287
|
+
return str;
|
|
288
|
+
// console.log('@@ fixWikidataJSON FIXING')
|
|
289
|
+
debug.warn(' ### Fixing JSON with wikidata error code injection ' + str.slice(syntaxProblem, syntaxProblem + 200));
|
|
290
|
+
var goodness = str.lastIndexOf('}, {');
|
|
291
|
+
return str.slice(0, goodness) + ' } ] } } '; // Close binding, array, bindings, results, root object
|
|
347
292
|
}
|
|
348
293
|
/* Query all entities of given class and partially matching name
|
|
349
294
|
*/
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
function
|
|
353
|
-
|
|
295
|
+
function queryPublicDataByName(filter, theClass, languages, queryTarget) {
|
|
296
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
297
|
+
function substituteStrings(template) {
|
|
298
|
+
var limit = queryTarget.limit || exports.AUTOCOMPLETE_LIMIT;
|
|
299
|
+
var u1 = template.replace('$(name)', filter)
|
|
300
|
+
.replace('$(limit)', '' + limit)
|
|
301
|
+
.replace('$(language)', language);
|
|
302
|
+
return u1.replace('$(targetClass)', theClass.toNT());
|
|
303
|
+
}
|
|
304
|
+
var languagePrefs, language, sparql, queryURI, response, err_1, text, text2, json, bindings;
|
|
305
|
+
return __generator(this, function (_a) {
|
|
306
|
+
switch (_a.label) {
|
|
307
|
+
case 0:
|
|
308
|
+
if (!theClass) {
|
|
309
|
+
throw new Error('queryPublicDataByName: No class provided');
|
|
310
|
+
}
|
|
311
|
+
return [4 /*yield*/, (0, language_1.getPreferredLanguages)()];
|
|
312
|
+
case 1:
|
|
313
|
+
languagePrefs = (_a.sent()) || language_1.defaultPreferredLanguages;
|
|
314
|
+
language = languagePrefs[0] || 'en';
|
|
315
|
+
if (!queryTarget.searchByNameQuery) return [3 /*break*/, 2];
|
|
316
|
+
sparql = substituteStrings(queryTarget.searchByNameQuery);
|
|
317
|
+
debug.log('Querying public data - sparql: ' + sparql);
|
|
318
|
+
return [2 /*return*/, queryPublicDataSelect(sparql, queryTarget)];
|
|
319
|
+
case 2:
|
|
320
|
+
if (!queryTarget.searchByNameURI) return [3 /*break*/, 7];
|
|
321
|
+
queryURI = substituteStrings(queryTarget.searchByNameURI);
|
|
322
|
+
response = void 0;
|
|
323
|
+
_a.label = 3;
|
|
324
|
+
case 3:
|
|
325
|
+
_a.trys.push([3, 5, , 6]);
|
|
326
|
+
return [4 /*yield*/, logic_1.kb.fetcher.webOperation('GET', queryURI, exports.fetcherOptionsJsonPublicData)];
|
|
327
|
+
case 4:
|
|
328
|
+
response = _a.sent();
|
|
329
|
+
return [3 /*break*/, 6];
|
|
330
|
+
case 5:
|
|
331
|
+
err_1 = _a.sent();
|
|
332
|
+
throw new Error("Exception when trying to fetch ".concat(queryURI, " \n ").concat(err_1));
|
|
333
|
+
case 6:
|
|
334
|
+
text = response.responseText || '' // ts
|
|
335
|
+
;
|
|
336
|
+
if (response.status !== 200) {
|
|
337
|
+
throw new Error("HTTP error status ".concat(response.status, " trying to fetch ").concat(queryURI, " "));
|
|
338
|
+
}
|
|
339
|
+
debug.log(' Query result text' + text.slice(0, 500) + '...');
|
|
340
|
+
if (text.length === 0)
|
|
341
|
+
throw new Error('queryPublicDataByName: No text back from public data query ' + queryURI);
|
|
342
|
+
text2 = fixWikidataJSON(text) // Kludge: strip of interrupting error message
|
|
343
|
+
;
|
|
344
|
+
json = JSON.parse(text2);
|
|
345
|
+
debug.log(' API Query result JSON' + JSON.stringify(json, null, 4).slice(0, 500) + '...');
|
|
346
|
+
if (json._embedded) {
|
|
347
|
+
debug.log(' Looks like ESCO');
|
|
348
|
+
bindings = ESCOResultToBindings(json);
|
|
349
|
+
return [2 /*return*/, bindings];
|
|
350
|
+
}
|
|
351
|
+
else {
|
|
352
|
+
alert('Code me: unrecognized API return format');
|
|
353
|
+
throw new Error("*** Need to add code to parse unrecognized API JSON return\n".concat(JSON.stringify(json, null, 4)));
|
|
354
|
+
}
|
|
355
|
+
return [3 /*break*/, 8];
|
|
356
|
+
case 7: throw new Error('Query source must have either rest API or SPARQL endpoint.');
|
|
357
|
+
case 8: return [2 /*return*/];
|
|
358
|
+
}
|
|
359
|
+
});
|
|
360
|
+
});
|
|
354
361
|
}
|
|
362
|
+
exports.queryPublicDataByName = queryPublicDataByName;
|
|
355
363
|
/* Query a database using SPARQL SELECT
|
|
356
364
|
*/
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
if (_context2.t0) {
|
|
387
|
-
_context2.next = 8;
|
|
388
|
-
break;
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
_context2.t0 = _language.defaultPreferredLanguages;
|
|
392
|
-
|
|
393
|
-
case 8:
|
|
394
|
-
languagePrefs = _context2.t0;
|
|
395
|
-
language = languagePrefs[0] || 'en';
|
|
396
|
-
|
|
397
|
-
if (!queryTarget.searchByNameQuery) {
|
|
398
|
-
_context2.next = 16;
|
|
399
|
-
break;
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
sparql = substituteStrings(queryTarget.searchByNameQuery);
|
|
403
|
-
debug.log('Querying public data - sparql: ' + sparql);
|
|
404
|
-
return _context2.abrupt("return", queryPublicDataSelect(sparql, queryTarget));
|
|
405
|
-
|
|
406
|
-
case 16:
|
|
407
|
-
if (!queryTarget.searchByNameURI) {
|
|
408
|
-
_context2.next = 46;
|
|
409
|
-
break;
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
// not sparql - random API
|
|
413
|
-
queryURI = substituteStrings(queryTarget.searchByNameURI);
|
|
414
|
-
_context2.prev = 18;
|
|
415
|
-
_context2.next = 21;
|
|
416
|
-
return _logic.kb.fetcher.webOperation('GET', queryURI, fetcherOptionsJsonPublicData);
|
|
417
|
-
|
|
418
|
-
case 21:
|
|
419
|
-
response = _context2.sent;
|
|
420
|
-
_context2.next = 27;
|
|
421
|
-
break;
|
|
422
|
-
|
|
423
|
-
case 24:
|
|
424
|
-
_context2.prev = 24;
|
|
425
|
-
_context2.t1 = _context2["catch"](18);
|
|
426
|
-
throw new Error("Exception when trying to fetch ".concat(queryURI, " \n ").concat(_context2.t1));
|
|
427
|
-
|
|
428
|
-
case 27:
|
|
429
|
-
text = response.responseText || ''; // ts
|
|
430
|
-
|
|
431
|
-
if (!(response.status !== 200)) {
|
|
432
|
-
_context2.next = 30;
|
|
433
|
-
break;
|
|
365
|
+
function queryPublicDataSelect(sparql, queryTarget) {
|
|
366
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
367
|
+
var myUrlWithParams, queryURI, headers, options, response, text, text2, json, bindings;
|
|
368
|
+
return __generator(this, function (_a) {
|
|
369
|
+
switch (_a.label) {
|
|
370
|
+
case 0:
|
|
371
|
+
if (!queryTarget.endpoint)
|
|
372
|
+
throw new Error('Missing queryTarget.endpoint required for queryPublicDataSelect');
|
|
373
|
+
myUrlWithParams = new URL(queryTarget.endpoint);
|
|
374
|
+
myUrlWithParams.searchParams.append('query', sparql);
|
|
375
|
+
queryURI = myUrlWithParams.href;
|
|
376
|
+
debug.log(' queryPublicDataSelect uri: ' + queryURI);
|
|
377
|
+
headers = new Headers();
|
|
378
|
+
headers.append('Accept', 'application/json');
|
|
379
|
+
options = {
|
|
380
|
+
credentials: 'omit',
|
|
381
|
+
headers: headers
|
|
382
|
+
};
|
|
383
|
+
return [4 /*yield*/, logic_1.kb.fetcher.webOperation('GET', queryURI, options)];
|
|
384
|
+
case 1:
|
|
385
|
+
response = _a.sent();
|
|
386
|
+
text = response.responseText || '';
|
|
387
|
+
if (text.length === 0)
|
|
388
|
+
throw new Error('No text back from query ' + queryURI);
|
|
389
|
+
text2 = fixWikidataJSON(text);
|
|
390
|
+
json = JSON.parse(text2);
|
|
391
|
+
debug.log(' Query result JSON' + JSON.stringify(json, null, 4).slice(0, 100) + '...');
|
|
392
|
+
bindings = json.results.bindings;
|
|
393
|
+
return [2 /*return*/, bindings];
|
|
434
394
|
}
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
case 30:
|
|
439
|
-
debug.log(' Query result text' + text.slice(0, 500) + '...');
|
|
440
|
-
|
|
441
|
-
if (!(text.length === 0)) {
|
|
442
|
-
_context2.next = 33;
|
|
443
|
-
break;
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
throw new Error('queryPublicDataByName: No text back from public data query ' + queryURI);
|
|
447
|
-
|
|
448
|
-
case 33:
|
|
449
|
-
text2 = fixWikidataJSON(text); // Kludge: strip of interrupting error message
|
|
450
|
-
|
|
451
|
-
json = JSON.parse(text2);
|
|
452
|
-
debug.log(' API Query result JSON' + JSON.stringify(json, null, 4).slice(0, 500) + '...');
|
|
453
|
-
|
|
454
|
-
if (!json._embedded) {
|
|
455
|
-
_context2.next = 42;
|
|
456
|
-
break;
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
debug.log(' Looks like ESCO');
|
|
460
|
-
bindings = ESCOResultToBindings(json);
|
|
461
|
-
return _context2.abrupt("return", bindings);
|
|
462
|
-
|
|
463
|
-
case 42:
|
|
464
|
-
alert('Code me: unrecognized API return format');
|
|
465
|
-
throw new Error("*** Need to add code to parse unrecognized API JSON return\n".concat(JSON.stringify(json, null, 4)));
|
|
466
|
-
|
|
467
|
-
case 44:
|
|
468
|
-
_context2.next = 47;
|
|
469
|
-
break;
|
|
470
|
-
|
|
471
|
-
case 46:
|
|
472
|
-
throw new Error('Query source must have either rest API or SPARQL endpoint.');
|
|
473
|
-
|
|
474
|
-
case 47:
|
|
475
|
-
case "end":
|
|
476
|
-
return _context2.stop();
|
|
477
|
-
}
|
|
478
|
-
}
|
|
479
|
-
}, _callee2, null, [[18, 24]]);
|
|
480
|
-
}));
|
|
481
|
-
return _queryPublicDataByName.apply(this, arguments);
|
|
482
|
-
}
|
|
483
|
-
|
|
484
|
-
function queryPublicDataSelect(_x8, _x9) {
|
|
485
|
-
return _queryPublicDataSelect.apply(this, arguments);
|
|
395
|
+
});
|
|
396
|
+
});
|
|
486
397
|
}
|
|
398
|
+
exports.queryPublicDataSelect = queryPublicDataSelect;
|
|
487
399
|
/* Load from a database using SPARQL CONSTRUCT
|
|
488
400
|
*/
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
return _logic.kb.fetcher.webOperation('GET', queryURI, options);
|
|
519
|
-
|
|
520
|
-
case 11:
|
|
521
|
-
response = _context3.sent;
|
|
522
|
-
text = response.responseText || '';
|
|
523
|
-
|
|
524
|
-
if (!(text.length === 0)) {
|
|
525
|
-
_context3.next = 15;
|
|
526
|
-
break;
|
|
401
|
+
function queryPublicDataConstruct(sparql, pubicId, queryTarget) {
|
|
402
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
403
|
+
var myUrlWithParams, queryURI, headers, options, response, text, report;
|
|
404
|
+
return __generator(this, function (_a) {
|
|
405
|
+
switch (_a.label) {
|
|
406
|
+
case 0:
|
|
407
|
+
debug.log('queryPublicDataConstruct: sparql:', sparql);
|
|
408
|
+
if (!queryTarget.endpoint)
|
|
409
|
+
throw new Error('Missing queryTarget.endpoint required for queryPublicDataConstruct');
|
|
410
|
+
myUrlWithParams = new URL(queryTarget.endpoint);
|
|
411
|
+
myUrlWithParams.searchParams.append('query', sparql);
|
|
412
|
+
queryURI = myUrlWithParams.href;
|
|
413
|
+
debug.log(' queryPublicDataConstruct uri: ' + queryURI);
|
|
414
|
+
headers = new Headers();
|
|
415
|
+
headers.append('Accept', 'text/turtle');
|
|
416
|
+
options = {
|
|
417
|
+
credentials: 'omit',
|
|
418
|
+
headers: headers // ({ Accept: 'text/turtle' } as Headers)
|
|
419
|
+
};
|
|
420
|
+
return [4 /*yield*/, logic_1.kb.fetcher.webOperation('GET', queryURI, options)];
|
|
421
|
+
case 1:
|
|
422
|
+
response = _a.sent();
|
|
423
|
+
text = response.responseText || 'No response text?';
|
|
424
|
+
report = text.length > 500 ? text.slice(0, 200) + ' ... ' + text.slice(-200) : text;
|
|
425
|
+
debug.log(' queryPublicDataConstruct result text:' + report);
|
|
426
|
+
if (text.length === 0)
|
|
427
|
+
throw new Error('queryPublicDataConstruct: No text back from construct query:' + queryURI);
|
|
428
|
+
(0, rdflib_1.parse)(text, logic_1.kb, pubicId.uri, 'text/turtle');
|
|
429
|
+
return [2 /*return*/];
|
|
527
430
|
}
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
case 15:
|
|
532
|
-
text2 = fixWikidataJSON(text);
|
|
533
|
-
json = JSON.parse(text2);
|
|
534
|
-
debug.log(' Query result JSON' + JSON.stringify(json, null, 4).slice(0, 100) + '...');
|
|
535
|
-
bindings = json.results.bindings;
|
|
536
|
-
return _context3.abrupt("return", bindings);
|
|
537
|
-
|
|
538
|
-
case 20:
|
|
539
|
-
case "end":
|
|
540
|
-
return _context3.stop();
|
|
541
|
-
}
|
|
542
|
-
}
|
|
543
|
-
}, _callee3);
|
|
544
|
-
}));
|
|
545
|
-
return _queryPublicDataSelect.apply(this, arguments);
|
|
546
|
-
}
|
|
547
|
-
|
|
548
|
-
function queryPublicDataConstruct(_x10, _x11, _x12) {
|
|
549
|
-
return _queryPublicDataConstruct.apply(this, arguments);
|
|
431
|
+
});
|
|
432
|
+
});
|
|
550
433
|
}
|
|
551
|
-
|
|
552
|
-
function
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
response = _context4.sent;
|
|
586
|
-
text = response.responseText || 'No response text?';
|
|
587
|
-
report = text.length > 500 ? text.slice(0, 200) + ' ... ' + text.slice(-200) : text;
|
|
588
|
-
debug.log(' queryPublicDataConstruct result text:' + report);
|
|
589
|
-
|
|
590
|
-
if (!(text.length === 0)) {
|
|
591
|
-
_context4.next = 18;
|
|
592
|
-
break;
|
|
434
|
+
exports.queryPublicDataConstruct = queryPublicDataConstruct;
|
|
435
|
+
function loadPublicDataThing(kb, subject, publicDataID) {
|
|
436
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
437
|
+
var iDToFetch, headers;
|
|
438
|
+
return __generator(this, function (_a) {
|
|
439
|
+
switch (_a.label) {
|
|
440
|
+
case 0:
|
|
441
|
+
if (!publicDataID.uri.startsWith('https://dbpedia.org/resource/')) return [3 /*break*/, 1];
|
|
442
|
+
return [2 /*return*/, getDbpediaDetails(kb, subject, publicDataID)];
|
|
443
|
+
case 1:
|
|
444
|
+
if (!publicDataID.uri.match(/^https?:\/\/www\.wikidata\.org\/entity\/.*/)) return [3 /*break*/, 3];
|
|
445
|
+
// const QId = publicDataID.uri.split('/')[4]
|
|
446
|
+
// const dataURI = `http://www.wikidata.org/wiki/Special:EntityData/${QId}.ttl`
|
|
447
|
+
// In fact loading the data URI gives much too much irrelevant data, from wikidata, so we do a query.
|
|
448
|
+
return [4 /*yield*/, getWikidataDetails(kb, subject, publicDataID)
|
|
449
|
+
// await getWikidataLocation(kb, subject, publicDataID) -- should get that in the details query now
|
|
450
|
+
];
|
|
451
|
+
case 2:
|
|
452
|
+
// const QId = publicDataID.uri.split('/')[4]
|
|
453
|
+
// const dataURI = `http://www.wikidata.org/wiki/Special:EntityData/${QId}.ttl`
|
|
454
|
+
// In fact loading the data URI gives much too much irrelevant data, from wikidata, so we do a query.
|
|
455
|
+
_a.sent();
|
|
456
|
+
return [3 /*break*/, 4];
|
|
457
|
+
case 3:
|
|
458
|
+
iDToFetch = publicDataID.uri.startsWith('http:')
|
|
459
|
+
? kb.sym('https:' + publicDataID.uri.slice(5))
|
|
460
|
+
: publicDataID;
|
|
461
|
+
headers = new Headers();
|
|
462
|
+
headers.append('Accept', 'text/turtle');
|
|
463
|
+
return [2 /*return*/, kb.fetcher.load(iDToFetch, {
|
|
464
|
+
credentials: 'omit',
|
|
465
|
+
headers: headers
|
|
466
|
+
})];
|
|
467
|
+
case 4: return [2 /*return*/];
|
|
593
468
|
}
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
case 18:
|
|
598
|
-
(0, _rdflib.parse)(text, _logic.kb, pubicId.uri, 'text/turtle');
|
|
599
|
-
|
|
600
|
-
case 19:
|
|
601
|
-
case "end":
|
|
602
|
-
return _context4.stop();
|
|
603
|
-
}
|
|
604
|
-
}
|
|
605
|
-
}, _callee4);
|
|
606
|
-
}));
|
|
607
|
-
return _queryPublicDataConstruct.apply(this, arguments);
|
|
608
|
-
}
|
|
609
|
-
|
|
610
|
-
function loadPublicDataThing(_x13, _x14, _x15) {
|
|
611
|
-
return _loadPublicDataThing.apply(this, arguments);
|
|
469
|
+
});
|
|
470
|
+
});
|
|
612
471
|
}
|
|
613
|
-
|
|
614
|
-
function
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
case 4:
|
|
629
|
-
if (!publicDataID.uri.match(/^https?:\/\/www\.wikidata\.org\/entity\/.*/)) {
|
|
630
|
-
_context5.next = 9;
|
|
631
|
-
break;
|
|
472
|
+
exports.loadPublicDataThing = loadPublicDataThing;
|
|
473
|
+
function getWikidataDetails(kb, solidSubject, publicDataID) {
|
|
474
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
475
|
+
var subjRegexp, sparql;
|
|
476
|
+
return __generator(this, function (_a) {
|
|
477
|
+
switch (_a.label) {
|
|
478
|
+
case 0:
|
|
479
|
+
subjRegexp = /wd:Q49108/g;
|
|
480
|
+
sparql = exports.instituteDetailsWikidataQuery.replace(subjRegexp, publicDataID.toNT());
|
|
481
|
+
return [4 /*yield*/, queryPublicDataConstruct(sparql, publicDataID, exports.wikidataParameters)];
|
|
482
|
+
case 1:
|
|
483
|
+
_a.sent();
|
|
484
|
+
debug.log('getWikidataDetails: loaded.', publicDataID);
|
|
485
|
+
return [2 /*return*/];
|
|
632
486
|
}
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
return getWikidataDetails(kb, subject, publicDataID);
|
|
636
|
-
|
|
637
|
-
case 7:
|
|
638
|
-
_context5.next = 13;
|
|
639
|
-
break;
|
|
640
|
-
|
|
641
|
-
case 9:
|
|
642
|
-
iDToFetch = publicDataID.uri.startsWith('http:') ? kb.sym('https:' + publicDataID.uri.slice(5)) : publicDataID;
|
|
643
|
-
headers = new Headers();
|
|
644
|
-
headers.append('Accept', 'text/turtle');
|
|
645
|
-
return _context5.abrupt("return", kb.fetcher.load(iDToFetch, {
|
|
646
|
-
credentials: 'omit',
|
|
647
|
-
headers: headers
|
|
648
|
-
}));
|
|
649
|
-
|
|
650
|
-
case 13:
|
|
651
|
-
case "end":
|
|
652
|
-
return _context5.stop();
|
|
653
|
-
}
|
|
654
|
-
}
|
|
655
|
-
}, _callee5);
|
|
656
|
-
}));
|
|
657
|
-
return _loadPublicDataThing.apply(this, arguments);
|
|
658
|
-
}
|
|
659
|
-
|
|
660
|
-
function getWikidataDetails(_x16, _x17, _x18) {
|
|
661
|
-
return _getWikidataDetails.apply(this, arguments);
|
|
662
|
-
}
|
|
663
|
-
|
|
664
|
-
function _getWikidataDetails() {
|
|
665
|
-
_getWikidataDetails = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(kb, solidSubject, publicDataID) {
|
|
666
|
-
var subjRegexp, sparql;
|
|
667
|
-
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
668
|
-
while (1) {
|
|
669
|
-
switch (_context6.prev = _context6.next) {
|
|
670
|
-
case 0:
|
|
671
|
-
subjRegexp = /wd:Q49108/g;
|
|
672
|
-
sparql = instituteDetailsWikidataQuery.replace(subjRegexp, publicDataID.toNT());
|
|
673
|
-
_context6.next = 4;
|
|
674
|
-
return queryPublicDataConstruct(sparql, publicDataID, wikidataParameters);
|
|
675
|
-
|
|
676
|
-
case 4:
|
|
677
|
-
debug.log('getWikidataDetails: loaded.', publicDataID);
|
|
678
|
-
|
|
679
|
-
case 5:
|
|
680
|
-
case "end":
|
|
681
|
-
return _context6.stop();
|
|
682
|
-
}
|
|
683
|
-
}
|
|
684
|
-
}, _callee6);
|
|
685
|
-
}));
|
|
686
|
-
return _getWikidataDetails.apply(this, arguments);
|
|
687
|
-
}
|
|
688
|
-
|
|
689
|
-
function getWikidataDetailsOld(_x19, _x20, _x21) {
|
|
690
|
-
return _getWikidataDetailsOld.apply(this, arguments);
|
|
691
|
-
}
|
|
692
|
-
|
|
693
|
-
function _getWikidataDetailsOld() {
|
|
694
|
-
_getWikidataDetailsOld = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7(kb, solidSubject, publicDataID) {
|
|
695
|
-
var sparql, bindings;
|
|
696
|
-
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
697
|
-
while (1) {
|
|
698
|
-
switch (_context7.prev = _context7.next) {
|
|
699
|
-
case 0:
|
|
700
|
-
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());
|
|
701
|
-
_context7.next = 3;
|
|
702
|
-
return queryPublicDataSelect(sparql, wikidataParameters);
|
|
703
|
-
|
|
704
|
-
case 3:
|
|
705
|
-
bindings = _context7.sent;
|
|
706
|
-
loadFromBindings(kb, publicDataID, bindings, publicDataID.doc()); // arg2 was solidSubject
|
|
707
|
-
|
|
708
|
-
case 5:
|
|
709
|
-
case "end":
|
|
710
|
-
return _context7.stop();
|
|
711
|
-
}
|
|
712
|
-
}
|
|
713
|
-
}, _callee7);
|
|
714
|
-
}));
|
|
715
|
-
return _getWikidataDetailsOld.apply(this, arguments);
|
|
716
|
-
}
|
|
717
|
-
|
|
718
|
-
function getWikidataLocation(_x22, _x23, _x24) {
|
|
719
|
-
return _getWikidataLocation.apply(this, arguments);
|
|
487
|
+
});
|
|
488
|
+
});
|
|
720
489
|
}
|
|
721
|
-
|
|
722
|
-
function
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
case 7:
|
|
740
|
-
case "end":
|
|
741
|
-
return _context8.stop();
|
|
742
|
-
}
|
|
743
|
-
}
|
|
744
|
-
}, _callee8);
|
|
745
|
-
}));
|
|
746
|
-
return _getWikidataLocation.apply(this, arguments);
|
|
490
|
+
exports.getWikidataDetails = getWikidataDetails;
|
|
491
|
+
function getWikidataDetailsOld(kb, solidSubject, publicDataID) {
|
|
492
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
493
|
+
var sparql, bindings;
|
|
494
|
+
return __generator(this, function (_a) {
|
|
495
|
+
switch (_a.label) {
|
|
496
|
+
case 0:
|
|
497
|
+
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}"
|
|
498
|
+
.replace(subjectRegexp, publicDataID.toNT());
|
|
499
|
+
return [4 /*yield*/, queryPublicDataSelect(sparql, exports.wikidataParameters)];
|
|
500
|
+
case 1:
|
|
501
|
+
bindings = _a.sent();
|
|
502
|
+
loadFromBindings(kb, publicDataID, bindings, publicDataID.doc()); // arg2 was solidSubject
|
|
503
|
+
return [2 /*return*/];
|
|
504
|
+
}
|
|
505
|
+
});
|
|
506
|
+
});
|
|
747
507
|
}
|
|
748
|
-
|
|
749
|
-
function
|
|
750
|
-
|
|
508
|
+
exports.getWikidataDetailsOld = getWikidataDetailsOld;
|
|
509
|
+
function getWikidataLocation(kb, solidSubject, publicDataID) {
|
|
510
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
511
|
+
var sparql, bindings;
|
|
512
|
+
return __generator(this, function (_a) {
|
|
513
|
+
switch (_a.label) {
|
|
514
|
+
case 0:
|
|
515
|
+
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());
|
|
516
|
+
debug.log(' location query sparql:' + sparql);
|
|
517
|
+
return [4 /*yield*/, queryPublicDataSelect(sparql, exports.wikidataParameters)];
|
|
518
|
+
case 1:
|
|
519
|
+
bindings = _a.sent();
|
|
520
|
+
debug.log(' location query bindings:', bindings);
|
|
521
|
+
loadFromBindings(kb, publicDataID, bindings, publicDataID.doc()); // was solidSubject
|
|
522
|
+
return [2 /*return*/];
|
|
523
|
+
}
|
|
524
|
+
});
|
|
525
|
+
});
|
|
751
526
|
}
|
|
752
|
-
|
|
753
|
-
function
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
case 6:
|
|
771
|
-
case "end":
|
|
772
|
-
return _context9.stop();
|
|
773
|
-
}
|
|
774
|
-
}
|
|
775
|
-
}, _callee9);
|
|
776
|
-
}));
|
|
777
|
-
return _getDbpediaDetails.apply(this, arguments);
|
|
527
|
+
exports.getWikidataLocation = getWikidataLocation;
|
|
528
|
+
function getDbpediaDetails(kb, solidSubject, publicDataID) {
|
|
529
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
530
|
+
var sparql, bindings;
|
|
531
|
+
return __generator(this, function (_a) {
|
|
532
|
+
switch (_a.label) {
|
|
533
|
+
case 0:
|
|
534
|
+
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 }");
|
|
535
|
+
return [4 /*yield*/, queryPublicDataSelect(sparql, exports.dbpediaParameters)];
|
|
536
|
+
case 1:
|
|
537
|
+
bindings = _a.sent();
|
|
538
|
+
loadFromBindings(kb, publicDataID, bindings, publicDataID.doc());
|
|
539
|
+
debug.log('Finished getDbpediaDetails.');
|
|
540
|
+
return [2 /*return*/];
|
|
541
|
+
}
|
|
542
|
+
});
|
|
543
|
+
});
|
|
778
544
|
}
|
|
545
|
+
exports.getDbpediaDetails = getDbpediaDetails;
|
|
779
546
|
//# sourceMappingURL=publicData.js.map
|