@matdata/yasr 4.7.4 → 4.8.0
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/build/ts/src/bindingsToCsv.js +14 -0
- package/build/ts/src/bindingsToCsv.js.map +1 -0
- package/build/ts/src/defaults.js +28 -0
- package/build/ts/src/defaults.js.map +1 -0
- package/build/ts/src/helpers/addCSS.js +8 -0
- package/build/ts/src/helpers/addCSS.js.map +1 -0
- package/build/ts/src/helpers/addScript.js +13 -0
- package/build/ts/src/helpers/addScript.js.map +1 -0
- package/build/ts/src/helpers/index.js +4 -0
- package/build/ts/src/helpers/index.js.map +1 -0
- package/build/ts/src/helpers/sanitize.js +9 -0
- package/build/ts/src/helpers/sanitize.js.map +1 -0
- package/build/ts/src/imgs.js +5 -0
- package/build/ts/src/imgs.js.map +1 -0
- package/build/ts/src/index.d.ts +3 -2
- package/build/ts/src/index.js +581 -0
- package/build/ts/src/index.js.map +1 -0
- package/build/ts/src/parsers/csv.js +26 -0
- package/build/ts/src/parsers/csv.js.map +1 -0
- package/build/ts/src/parsers/index.js +267 -0
- package/build/ts/src/parsers/index.js.map +1 -0
- package/build/ts/src/parsers/json.js +21 -0
- package/build/ts/src/parsers/json.js.map +1 -0
- package/build/ts/src/parsers/tsv.js +40 -0
- package/build/ts/src/parsers/tsv.js.map +1 -0
- package/build/ts/src/parsers/turtleFamily.js +58 -0
- package/build/ts/src/parsers/turtleFamily.js.map +1 -0
- package/build/ts/src/parsers/xml.js +77 -0
- package/build/ts/src/parsers/xml.js.map +1 -0
- package/build/ts/src/plugins/boolean/index.d.ts +1 -0
- package/build/ts/src/plugins/boolean/index.js +31 -0
- package/build/ts/src/plugins/boolean/index.js.map +1 -0
- package/build/ts/src/plugins/error/index.d.ts +1 -0
- package/build/ts/src/plugins/error/index.js +123 -0
- package/build/ts/src/plugins/error/index.js.map +1 -0
- package/build/ts/src/plugins/index.js +2 -0
- package/build/ts/src/plugins/index.js.map +1 -0
- package/build/ts/src/plugins/response/index.d.ts +9 -0
- package/build/ts/src/plugins/response/index.js +139 -0
- package/build/ts/src/plugins/response/index.js.map +1 -0
- package/build/ts/src/plugins/table/index.d.ts +3 -0
- package/build/ts/src/plugins/table/index.js +350 -0
- package/build/ts/src/plugins/table/index.js.map +1 -0
- package/build/yasr.min.css +2 -2
- package/build/yasr.min.css.map +7 -1
- package/build/yasr.min.js +103 -3
- package/build/yasr.min.js.map +7 -1
- package/package.json +1 -1
- package/src/index.ts +3 -3
- package/src/jquery/extendJquery.js +1 -1
- package/src/jquery/tableToCsv.js +2 -2
- package/src/plugins/boolean/index.ts +1 -1
- package/src/plugins/error/index.ts +1 -1
- package/src/plugins/response/index.ts +10 -10
- package/src/plugins/table/index.ts +4 -4
- package/build/yasr.html +0 -32
- package/build/yasr.min.js.LICENSE.txt +0 -34
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
import SparqlJsonParser from "./json";
|
|
2
|
+
import TurtleParser, { getTurtleAsStatements } from "./turtleFamily";
|
|
3
|
+
import SparqlXmlParser from "./xml";
|
|
4
|
+
import SparqlCsvParser from "./csv";
|
|
5
|
+
import SparqlTsvParser from "./tsv";
|
|
6
|
+
import bindingsToCsv from "../bindingsToCsv";
|
|
7
|
+
import { cloneDeep } from "lodash-es";
|
|
8
|
+
const applyMustacheToLiterals = (binding) => {
|
|
9
|
+
for (const lit in binding) {
|
|
10
|
+
if (binding[lit].type === "uri")
|
|
11
|
+
continue;
|
|
12
|
+
binding[lit].value = binding[lit].value.replace(/{{(.*?)}}/g, (variable) => {
|
|
13
|
+
variable = variable.substring(2, variable.length - 2).trim();
|
|
14
|
+
if (binding[variable]) {
|
|
15
|
+
return binding[variable].value;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
return variable;
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return binding;
|
|
23
|
+
};
|
|
24
|
+
class Parser {
|
|
25
|
+
constructor(responseOrObject, executionTime) {
|
|
26
|
+
if (responseOrObject.executionTime)
|
|
27
|
+
this.executionTime = responseOrObject.executionTime;
|
|
28
|
+
if (executionTime)
|
|
29
|
+
this.executionTime = executionTime;
|
|
30
|
+
if (responseOrObject instanceof Error) {
|
|
31
|
+
this.error = responseOrObject;
|
|
32
|
+
}
|
|
33
|
+
else if (responseOrObject.content) {
|
|
34
|
+
this.setResponse(responseOrObject);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
this.setSummary(responseOrObject);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
setResponse(res) {
|
|
41
|
+
this.res = res;
|
|
42
|
+
}
|
|
43
|
+
setSummary(summary) {
|
|
44
|
+
if (!summary.data && !summary.error) {
|
|
45
|
+
this.summary = {
|
|
46
|
+
data: summary,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this.summary = summary;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
hasError() {
|
|
54
|
+
if (this.res && this.res.status >= 400)
|
|
55
|
+
return true;
|
|
56
|
+
if (this.errorSummary)
|
|
57
|
+
return true;
|
|
58
|
+
if (this.error)
|
|
59
|
+
return true;
|
|
60
|
+
if (this.summary && this.summary.error)
|
|
61
|
+
return true;
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
getError() {
|
|
65
|
+
if (!this.errorSummary) {
|
|
66
|
+
if (this.res && this.res.status >= 400) {
|
|
67
|
+
this.errorSummary = {
|
|
68
|
+
text: this.res.statusText,
|
|
69
|
+
status: this.res.status,
|
|
70
|
+
statusText: !this.res.ok ? this.res.statusText : undefined,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
if (this.summary && this.summary.error) {
|
|
74
|
+
this.errorSummary = this.summary.error;
|
|
75
|
+
}
|
|
76
|
+
if (this.error) {
|
|
77
|
+
this.errorSummary = {
|
|
78
|
+
text: this.error.message,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return this.errorSummary;
|
|
83
|
+
}
|
|
84
|
+
getContentType() {
|
|
85
|
+
if (this.res)
|
|
86
|
+
return this.res.headers.get("content-type") || undefined;
|
|
87
|
+
if (this.summary)
|
|
88
|
+
return this.summary.contentType;
|
|
89
|
+
}
|
|
90
|
+
getAsJson() {
|
|
91
|
+
if (this.json)
|
|
92
|
+
return this.json;
|
|
93
|
+
if (this.json === false || this.hasError())
|
|
94
|
+
return;
|
|
95
|
+
if (this.getParserFromContentType())
|
|
96
|
+
return this.json;
|
|
97
|
+
if (this.doLuckyGuess())
|
|
98
|
+
return this.json;
|
|
99
|
+
if (!this.json)
|
|
100
|
+
this.json = false;
|
|
101
|
+
return this.json;
|
|
102
|
+
}
|
|
103
|
+
getData() {
|
|
104
|
+
if (this.res) {
|
|
105
|
+
if (this.res.content)
|
|
106
|
+
return this.res.content;
|
|
107
|
+
if (this.res.body)
|
|
108
|
+
return this.res.body;
|
|
109
|
+
if (this.res.text)
|
|
110
|
+
return this.res.text;
|
|
111
|
+
}
|
|
112
|
+
if (this.summary)
|
|
113
|
+
return this.summary.data;
|
|
114
|
+
}
|
|
115
|
+
getResponseTime() {
|
|
116
|
+
return this.executionTime;
|
|
117
|
+
}
|
|
118
|
+
getParserFromContentType() {
|
|
119
|
+
const contentType = this.getContentType();
|
|
120
|
+
if (contentType) {
|
|
121
|
+
const data = cloneDeep(this.getData());
|
|
122
|
+
try {
|
|
123
|
+
if (contentType.indexOf("json") > -1) {
|
|
124
|
+
if (contentType.indexOf("sparql-results+json") >= 0) {
|
|
125
|
+
this.json = SparqlJsonParser(data, applyMustacheToLiterals);
|
|
126
|
+
this.type = "json";
|
|
127
|
+
return true;
|
|
128
|
+
}
|
|
129
|
+
else if (contentType.indexOf("application/rdf+json") > -1) {
|
|
130
|
+
this.type = "json";
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
this.type = "json";
|
|
134
|
+
}
|
|
135
|
+
else if (contentType.indexOf("xml") > -1) {
|
|
136
|
+
this.json = SparqlXmlParser(data, applyMustacheToLiterals);
|
|
137
|
+
this.type = "xml";
|
|
138
|
+
return true;
|
|
139
|
+
}
|
|
140
|
+
else if (contentType.indexOf("csv") > -1) {
|
|
141
|
+
this.json = SparqlCsvParser(data);
|
|
142
|
+
this.type = "csv";
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
else if (contentType.indexOf("tab-separated") > -1) {
|
|
146
|
+
this.json = SparqlTsvParser(data);
|
|
147
|
+
this.type = "tsv";
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
150
|
+
else if (contentType.indexOf("turtle") > 0 ||
|
|
151
|
+
contentType.indexOf("trig") > 0 ||
|
|
152
|
+
contentType.indexOf("triple") > 0 ||
|
|
153
|
+
contentType.indexOf("quad") > 0) {
|
|
154
|
+
this.json = TurtleParser(data);
|
|
155
|
+
this.type = "ttl";
|
|
156
|
+
return true;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
catch (e) {
|
|
160
|
+
if (e instanceof Error) {
|
|
161
|
+
this.errorSummary = { text: e.message };
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
this.errorSummary = { text: e };
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
doLuckyGuess() {
|
|
171
|
+
const data = cloneDeep(this.getData());
|
|
172
|
+
try {
|
|
173
|
+
this.json = SparqlJsonParser(data, applyMustacheToLiterals);
|
|
174
|
+
this.type = "json";
|
|
175
|
+
return true;
|
|
176
|
+
}
|
|
177
|
+
catch (_a) { }
|
|
178
|
+
try {
|
|
179
|
+
this.json = SparqlXmlParser(data, applyMustacheToLiterals);
|
|
180
|
+
this.type = "xml";
|
|
181
|
+
return true;
|
|
182
|
+
}
|
|
183
|
+
catch (_b) { }
|
|
184
|
+
return false;
|
|
185
|
+
}
|
|
186
|
+
getVariables() {
|
|
187
|
+
const json = this.getAsJson();
|
|
188
|
+
if (json && json.head)
|
|
189
|
+
return json.head.vars;
|
|
190
|
+
return [];
|
|
191
|
+
}
|
|
192
|
+
getBoolean() {
|
|
193
|
+
const json = this.getAsJson();
|
|
194
|
+
if (json && "boolean" in json)
|
|
195
|
+
return json.boolean;
|
|
196
|
+
}
|
|
197
|
+
getBindings() {
|
|
198
|
+
const json = this.getAsJson();
|
|
199
|
+
if (json && json.results)
|
|
200
|
+
return json.results.bindings;
|
|
201
|
+
else
|
|
202
|
+
return null;
|
|
203
|
+
}
|
|
204
|
+
getStatements() {
|
|
205
|
+
if (!this.statements && this.type === "ttl") {
|
|
206
|
+
this.statements = getTurtleAsStatements(this.getData());
|
|
207
|
+
}
|
|
208
|
+
if (this.statements)
|
|
209
|
+
return this.statements;
|
|
210
|
+
return null;
|
|
211
|
+
}
|
|
212
|
+
getOriginalResponseAsString() {
|
|
213
|
+
const data = this.getData();
|
|
214
|
+
if (typeof data === "string") {
|
|
215
|
+
return data;
|
|
216
|
+
}
|
|
217
|
+
else if (this.type === "json") {
|
|
218
|
+
return JSON.stringify(data, undefined, 2);
|
|
219
|
+
}
|
|
220
|
+
return data;
|
|
221
|
+
}
|
|
222
|
+
getType() {
|
|
223
|
+
if (!this.type)
|
|
224
|
+
this.getAsJson();
|
|
225
|
+
return this.type;
|
|
226
|
+
}
|
|
227
|
+
getStatus() {
|
|
228
|
+
if (this.res)
|
|
229
|
+
return this.res.status;
|
|
230
|
+
if (this.summary)
|
|
231
|
+
return this.summary.status;
|
|
232
|
+
}
|
|
233
|
+
getAsStoreObject(maxResponseSize) {
|
|
234
|
+
let summary = this.summary;
|
|
235
|
+
if (!summary && this.res) {
|
|
236
|
+
summary = {
|
|
237
|
+
contentType: this.getContentType(),
|
|
238
|
+
data: this.getOriginalResponseAsString(),
|
|
239
|
+
error: this.getError(),
|
|
240
|
+
status: this.getStatus(),
|
|
241
|
+
executionTime: this.getResponseTime(),
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
if (summary) {
|
|
245
|
+
if (summary.data && summary.data.length > maxResponseSize) {
|
|
246
|
+
return undefined;
|
|
247
|
+
}
|
|
248
|
+
return summary;
|
|
249
|
+
}
|
|
250
|
+
if (this.error) {
|
|
251
|
+
return {
|
|
252
|
+
error: this.getError(),
|
|
253
|
+
executionTime: this.getResponseTime(),
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
asCsv() {
|
|
258
|
+
const json = this.getAsJson();
|
|
259
|
+
if (this.type === "csv")
|
|
260
|
+
return this.getOriginalResponseAsString();
|
|
261
|
+
if (json && json.results) {
|
|
262
|
+
return bindingsToCsv(json);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
export default Parser;
|
|
267
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/yasr/src/parsers/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export default function (queryResponse, postProcessBinding) {
|
|
2
|
+
if (typeof queryResponse == "string") {
|
|
3
|
+
const json = JSON.parse(queryResponse);
|
|
4
|
+
if (postProcessBinding) {
|
|
5
|
+
for (const binding in json.results.bindings) {
|
|
6
|
+
json.results.bindings[binding] = postProcessBinding(json.results.bindings[binding]);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
return json;
|
|
10
|
+
}
|
|
11
|
+
if (typeof queryResponse == "object" && queryResponse.constructor === {}.constructor) {
|
|
12
|
+
if (postProcessBinding && queryResponse.results) {
|
|
13
|
+
for (const binding in queryResponse.results.bindings) {
|
|
14
|
+
queryResponse.results.bindings[binding] = postProcessBinding(queryResponse.results.bindings[binding]);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return queryResponse;
|
|
18
|
+
}
|
|
19
|
+
throw new Error("Could not parse json");
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../../../../../packages/yasr/src/parsers/json.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,OAAO,WAAW,aAAkB,EAAE,kBAA6C;IACxF,IAAI,OAAO,aAAa,IAAI,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACvC,IAAI,kBAAkB,EAAE,CAAC;YACvB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,aAAa,IAAI,QAAQ,IAAI,aAAa,CAAC,WAAW,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC;QAErF,IAAI,kBAAkB,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAChD,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrD,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACxG,CAAC;QACH,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export default function (tsvString) {
|
|
2
|
+
const lines = tsvString.split("\n");
|
|
3
|
+
lines.pop();
|
|
4
|
+
const [headersString, ...sparqlDataStringArr] = lines;
|
|
5
|
+
const headers = headersString.split("\t").map((header) => header.substring(1));
|
|
6
|
+
const sparqlData = sparqlDataStringArr.map((row) => {
|
|
7
|
+
const binding = {};
|
|
8
|
+
for (const [index, value] of row.split("\t").entries()) {
|
|
9
|
+
const bindingName = headers[index];
|
|
10
|
+
if (value[0] === "<") {
|
|
11
|
+
binding[bindingName] = { value: value.substring(1, value.length - 1), type: "uri" };
|
|
12
|
+
}
|
|
13
|
+
else if (value[0] === '"') {
|
|
14
|
+
const lastDoubleQuote = value.lastIndexOf('"');
|
|
15
|
+
const literalValue = value.substring(1, lastDoubleQuote);
|
|
16
|
+
if (lastDoubleQuote === value.length - 1)
|
|
17
|
+
binding[bindingName] = { value: literalValue, type: "literal" };
|
|
18
|
+
else if (lastDoubleQuote < value.lastIndexOf("@")) {
|
|
19
|
+
const langTag = value.substring(value.lastIndexOf("@") + 1);
|
|
20
|
+
binding[bindingName] = { value: literalValue, type: "literal", "xml:lang": langTag };
|
|
21
|
+
}
|
|
22
|
+
else if (lastDoubleQuote < value.lastIndexOf("^^")) {
|
|
23
|
+
const dataTag = value.substring(value.lastIndexOf("^^") + 2);
|
|
24
|
+
binding[bindingName] = { value: literalValue, type: "typed-literal", datatype: dataTag };
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return binding;
|
|
29
|
+
});
|
|
30
|
+
const sparqlResults = {
|
|
31
|
+
head: {
|
|
32
|
+
vars: headers,
|
|
33
|
+
},
|
|
34
|
+
results: {
|
|
35
|
+
bindings: sparqlData,
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
return sparqlResults;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=tsv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tsv.js","sourceRoot":"","sources":["../../../../../../packages/yasr/src/parsers/tsv.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,WAAW,SAAiB;IACxC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEpC,KAAK,CAAC,GAAG,EAAE,CAAC;IAEZ,MAAM,CAAC,aAAa,EAAE,GAAG,mBAAmB,CAAC,GAAG,KAAK,CAAC;IACtD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/E,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACjD,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YACvD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACrB,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YACtF,CAAC;iBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC5B,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC/C,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;gBACzD,IAAI,eAAe,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;qBACrG,IAAI,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClD,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC5D,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACvF,CAAC;qBAAM,IAAI,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrD,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC7D,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;gBAC3F,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAyB;QAC1C,IAAI,EAAE;YACJ,IAAI,EAAE,OAAO;SACd;QACD,OAAO,EAAE;YACP,QAAQ,EAAE,UAAU;SACrB;KACF,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as N3 from "n3";
|
|
2
|
+
function n3TermToSparqlBinding(term) {
|
|
3
|
+
if (term.termType === "NamedNode") {
|
|
4
|
+
return {
|
|
5
|
+
value: term.value,
|
|
6
|
+
type: "uri",
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
if (term.termType === "Literal") {
|
|
10
|
+
const bindingVal = {
|
|
11
|
+
value: term.value,
|
|
12
|
+
type: "literal",
|
|
13
|
+
};
|
|
14
|
+
const lang = term.language;
|
|
15
|
+
if (lang)
|
|
16
|
+
bindingVal["xml:lang"] = lang;
|
|
17
|
+
const type = term.datatypeString;
|
|
18
|
+
if (type)
|
|
19
|
+
bindingVal.datatype = type;
|
|
20
|
+
return bindingVal;
|
|
21
|
+
}
|
|
22
|
+
if (term.termType === "BlankNode") {
|
|
23
|
+
return {
|
|
24
|
+
value: term.value,
|
|
25
|
+
type: "bnode",
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
value: term.value,
|
|
30
|
+
type: "uri",
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export default function (queryResponse) {
|
|
34
|
+
const statements = getTurtleAsStatements(queryResponse);
|
|
35
|
+
const vars = ["subject", "predicate", "object"];
|
|
36
|
+
const bindings = statements.map((statement) => {
|
|
37
|
+
const binding = {
|
|
38
|
+
subject: n3TermToSparqlBinding(statement.subject),
|
|
39
|
+
predicate: n3TermToSparqlBinding(statement.predicate),
|
|
40
|
+
object: n3TermToSparqlBinding(statement.object),
|
|
41
|
+
};
|
|
42
|
+
return binding;
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
head: {
|
|
46
|
+
vars: vars,
|
|
47
|
+
},
|
|
48
|
+
results: {
|
|
49
|
+
bindings: bindings,
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export function getTurtleAsStatements(queryResponse) {
|
|
54
|
+
const parser = new N3.Parser();
|
|
55
|
+
const parsed = parser.parse(queryResponse || "");
|
|
56
|
+
return parsed;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=turtleFamily.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turtleFamily.js","sourceRoot":"","sources":["../../../../../../packages/yasr/src/parsers/turtleFamily.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,SAAS,qBAAqB,CAAC,IAAa;IAC1C,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,KAAK;SACZ,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,UAAU,GAAwB;YACtC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,SAAS;SAChB,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,IAAI,IAAI;YAAE,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;QACjC,IAAI,IAAI;YAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,OAAO;SACd,CAAC;IACJ,CAAC;IACD,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,KAAK;KACZ,CAAC;AACJ,CAAC;AACD,MAAM,CAAC,OAAO,WAAW,aAAkB;IACzC,MAAM,UAAU,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAC5C,MAAM,OAAO,GAAmB;YAC9B,OAAO,EAAE,qBAAqB,CAAC,SAAS,CAAC,OAAO,CAAC;YACjD,SAAS,EAAE,qBAAqB,CAAC,SAAS,CAAC,SAAS,CAAC;YACrD,MAAM,EAAE,qBAAqB,CAAC,SAAS,CAAC,MAAM,CAAC;SAChD,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,OAAO;QACL,IAAI,EAAE;YACJ,IAAI,EAAE,IAAI;SACX;QACD,OAAO,EAAE;YACP,QAAQ,EAAE,QAAQ;SACnB;KACF,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,qBAAqB,CAAC,aAAkB;IACtD,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;IAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { unescape, isEmpty } from "lodash-es";
|
|
2
|
+
function parseHead(node) {
|
|
3
|
+
const head = {
|
|
4
|
+
vars: [],
|
|
5
|
+
};
|
|
6
|
+
for (let headNodeIt = 0; headNodeIt < node.childNodes.length; headNodeIt++) {
|
|
7
|
+
const headNode = node.childNodes[headNodeIt];
|
|
8
|
+
if (headNode.nodeName == "variable") {
|
|
9
|
+
const name = headNode.getAttribute("name");
|
|
10
|
+
if (name)
|
|
11
|
+
head.vars.push(name);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return head;
|
|
15
|
+
}
|
|
16
|
+
const allowedBindingValueTypes = ["uri", "literal", "bnode", "typed-literal"];
|
|
17
|
+
function parseResults(node, postProcessBinding) {
|
|
18
|
+
const results = {
|
|
19
|
+
bindings: [],
|
|
20
|
+
};
|
|
21
|
+
for (let resultIt = 0; resultIt < node.childNodes.length; resultIt++) {
|
|
22
|
+
const resultNode = node.childNodes[resultIt];
|
|
23
|
+
const binding = {};
|
|
24
|
+
for (let bindingIt = 0; bindingIt < resultNode.childNodes.length; bindingIt++) {
|
|
25
|
+
const bindingNode = resultNode.childNodes[bindingIt];
|
|
26
|
+
if (bindingNode.nodeName == "binding") {
|
|
27
|
+
const varName = bindingNode.getAttribute("name");
|
|
28
|
+
if (varName) {
|
|
29
|
+
for (let bindingInfIt = 0; bindingInfIt < bindingNode.childNodes.length; bindingInfIt++) {
|
|
30
|
+
const bindingInf = bindingNode.childNodes[bindingInfIt];
|
|
31
|
+
if (bindingInf.nodeName === "#text")
|
|
32
|
+
continue;
|
|
33
|
+
if (allowedBindingValueTypes.indexOf(bindingInf.nodeName) < 0)
|
|
34
|
+
continue;
|
|
35
|
+
const bindingValue = {
|
|
36
|
+
type: bindingInf.nodeName,
|
|
37
|
+
value: unescape(bindingInf.innerHTML),
|
|
38
|
+
};
|
|
39
|
+
const dataType = bindingInf.getAttribute("datatype");
|
|
40
|
+
if (dataType)
|
|
41
|
+
bindingValue.datatype = dataType;
|
|
42
|
+
binding[varName] = bindingValue;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (!isEmpty) {
|
|
48
|
+
}
|
|
49
|
+
if (!isEmpty(binding))
|
|
50
|
+
results.bindings.push(postProcessBinding(binding));
|
|
51
|
+
}
|
|
52
|
+
return results;
|
|
53
|
+
}
|
|
54
|
+
function parseBoolean(node) {
|
|
55
|
+
return node.innerHTML === "true";
|
|
56
|
+
}
|
|
57
|
+
export default function (xmlString, postProcessBinding) {
|
|
58
|
+
if (typeof xmlString !== "string")
|
|
59
|
+
return;
|
|
60
|
+
const domParser = new DOMParser();
|
|
61
|
+
let mainXml = domParser.parseFromString(xmlString, "text/xml");
|
|
62
|
+
if (!mainXml.childNodes.length)
|
|
63
|
+
return;
|
|
64
|
+
const xml = mainXml.childNodes[0];
|
|
65
|
+
const json = {};
|
|
66
|
+
for (let i = 0; i < xml.childNodes.length; i++) {
|
|
67
|
+
const node = xml.childNodes[i];
|
|
68
|
+
if (node.nodeName == "head")
|
|
69
|
+
json.head = parseHead(node);
|
|
70
|
+
if (node.nodeName == "results")
|
|
71
|
+
json.results = parseResults(node, postProcessBinding);
|
|
72
|
+
if (node.nodeName == "boolean")
|
|
73
|
+
json.boolean = parseBoolean(node);
|
|
74
|
+
}
|
|
75
|
+
return json;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=xml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xml.js","sourceRoot":"","sources":["../../../../../../packages/yasr/src/parsers/xml.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import "./index.scss";
|
|
2
|
+
import { drawSvgStringAsElement } from "@matdata/yasgui-utils";
|
|
3
|
+
const cross = '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0" y="0" width="30" height="30" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve"><g><path d="M83.288,88.13c-2.114,2.112-5.575,2.112-7.689,0L53.659,66.188c-2.114-2.112-5.573-2.112-7.687,0L24.251,87.907 c-2.113,2.114-5.571,2.114-7.686,0l-4.693-4.691c-2.114-2.114-2.114-5.573,0-7.688l21.719-21.721c2.113-2.114,2.113-5.573,0-7.686 L11.872,24.4c-2.114-2.113-2.114-5.571,0-7.686l4.842-4.842c2.113-2.114,5.571-2.114,7.686,0L46.12,33.591 c2.114,2.114,5.572,2.114,7.688,0l21.721-21.719c2.114-2.114,5.573-2.114,7.687,0l4.695,4.695c2.111,2.113,2.111,5.571-0.003,7.686 L66.188,45.973c-2.112,2.114-2.112,5.573,0,7.686L88.13,75.602c2.112,2.111,2.112,5.572,0,7.687L83.288,88.13z"/></g></svg>';
|
|
4
|
+
const check = '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0" y="0" width="30" height="30" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve"><path d="M14.301,49.982l22.606,17.047L84.361,4.903c2.614-3.733,7.76-4.64,11.493-2.026l0.627,0.462 c3.732,2.614,4.64,7.758,2.025,11.492l-51.783,79.77c-1.955,2.791-3.896,3.762-7.301,3.988c-3.405,0.225-5.464-1.039-7.508-3.084 L2.447,61.814c-3.263-3.262-3.263-8.553,0-11.814l0.041-0.019C5.75,46.718,11.039,46.718,14.301,49.982z"/></svg>';
|
|
5
|
+
export default class Boolean {
|
|
6
|
+
constructor(yasr) {
|
|
7
|
+
this.priority = 10;
|
|
8
|
+
this.hideFromSelection = true;
|
|
9
|
+
this.yasr = yasr;
|
|
10
|
+
}
|
|
11
|
+
draw() {
|
|
12
|
+
var _a;
|
|
13
|
+
const el = document.createElement("div");
|
|
14
|
+
el.className = "booleanResult";
|
|
15
|
+
const boolVal = (_a = this.yasr.results) === null || _a === void 0 ? void 0 : _a.getBoolean();
|
|
16
|
+
el.appendChild(drawSvgStringAsElement(boolVal ? check : cross));
|
|
17
|
+
const textEl = document.createElement("span");
|
|
18
|
+
textEl.textContent = boolVal ? "True" : "False";
|
|
19
|
+
el.appendChild(textEl);
|
|
20
|
+
this.yasr.resultsEl.appendChild(el);
|
|
21
|
+
}
|
|
22
|
+
canHandleResults() {
|
|
23
|
+
var _a;
|
|
24
|
+
return (!!((_a = this.yasr.results) === null || _a === void 0 ? void 0 : _a.getBoolean) &&
|
|
25
|
+
(this.yasr.results.getBoolean() === true || this.yasr.results.getBoolean() == false));
|
|
26
|
+
}
|
|
27
|
+
getIcon() {
|
|
28
|
+
return document.createElement("");
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/yasr/src/plugins/boolean/index.ts"],"names":[],"mappings":"AAKA,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,MAAM,KAAK,GACT,6vBAA6vB,CAAC;AAChwB,MAAM,KAAK,GACT,sfAAsf,CAAC;AAEzf,MAAM,CAAC,OAAO,OAAO,OAAO;IAI1B,YAAY,IAAU;QAFf,aAAQ,GAAG,EAAE,CAAC;QACrB,sBAAiB,GAAG,IAAI,CAAC;QAEvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,IAAI;;QACF,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzC,EAAE,CAAC,SAAS,GAAG,eAAe,CAAC;QAE/B,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,OAAO,0CAAE,UAAU,EAAE,CAAC;QAChD,EAAE,CAAC,WAAW,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAChD,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEvB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,gBAAgB;;QACd,OAAO,CACL,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,OAAO,0CAAE,UAAU,CAAA;YAC/B,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,KAAK,CAAC,CACrF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;CACF"}
|