@openhps/rdf 0.1.8 → 0.1.9
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/cjs/service/SPARQLDataDriver.d.ts +4 -10
- package/dist/cjs/service/SPARQLDataDriver.js +2 -78
- package/dist/cjs/service/SPARQLDataDriver.js.map +1 -1
- package/dist/cjs/service/SPARQLDriverBase.d.ts +20 -0
- package/dist/cjs/service/SPARQLDriverBase.js +90 -0
- package/dist/cjs/service/SPARQLDriverBase.js.map +1 -0
- package/dist/cjs/service/SPARQLGenerator.js +15 -1
- package/dist/cjs/service/SPARQLGenerator.js.map +1 -1
- package/dist/cjs/service/index.d.ts +1 -0
- package/dist/cjs/service/index.js +1 -0
- package/dist/cjs/service/index.js.map +1 -1
- package/dist/esm/service/SPARQLDataDriver.d.ts +4 -10
- package/dist/esm/service/SPARQLDataDriver.js +3 -79
- package/dist/esm/service/SPARQLDataDriver.js.map +1 -1
- package/dist/esm/service/SPARQLDriverBase.d.ts +20 -0
- package/dist/esm/service/SPARQLDriverBase.js +86 -0
- package/dist/esm/service/SPARQLDriverBase.js.map +1 -0
- package/dist/esm/service/SPARQLGenerator.js +15 -1
- package/dist/esm/service/SPARQLGenerator.js.map +1 -1
- package/dist/esm/service/index.d.ts +1 -0
- package/dist/esm/service/index.js +1 -0
- package/dist/esm/service/index.js.map +1 -1
- package/dist/types/service/SPARQLDataDriver.d.ts +4 -10
- package/dist/types/service/SPARQLDriverBase.d.ts +20 -0
- package/dist/types/service/index.d.ts +1 -0
- package/dist/web/openhps-rdf.all.es.js +115 -72
- package/dist/web/openhps-rdf.all.es.js.map +1 -1
- package/dist/web/openhps-rdf.all.es.min.js +1 -1
- package/dist/web/openhps-rdf.all.es.min.js.map +1 -1
- package/dist/web/openhps-rdf.all.js +115 -72
- package/dist/web/openhps-rdf.all.js.map +1 -1
- package/dist/web/openhps-rdf.all.min.js +1 -1
- package/dist/web/openhps-rdf.all.min.js.map +1 -1
- package/dist/web/openhps-rdf.sparql.es.js +114 -72
- package/dist/web/openhps-rdf.sparql.es.js.map +1 -1
- package/dist/web/openhps-rdf.sparql.es.min.js +1 -1
- package/dist/web/openhps-rdf.sparql.es.min.js.map +1 -1
- package/dist/web/openhps-rdf.sparql.js +114 -72
- package/dist/web/openhps-rdf.sparql.js.map +1 -1
- package/dist/web/openhps-rdf.sparql.min.js +1 -1
- package/dist/web/openhps-rdf.sparql.min.js.map +1 -1
- package/package.json +1 -1
- package/src/service/SPARQLDataDriver.ts +6 -95
- package/src/service/SPARQLDriverBase.ts +112 -0
- package/src/service/SPARQLGenerator.ts +15 -1
- package/src/service/index.ts +1 -0
|
@@ -1,30 +1,24 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FilterQuery, Constructor } from '@openhps/core';
|
|
2
2
|
import { Store } from 'n3';
|
|
3
3
|
import { IriString, UrlString } from '../rdf';
|
|
4
4
|
import SparqlClient from 'sparql-http-client';
|
|
5
|
-
import {
|
|
6
|
-
export declare class SPARQLDataDriver<T> extends
|
|
5
|
+
import { SPARQLDriverBase, SPARQLDriverOptions } from './SPARQLDriverBase';
|
|
6
|
+
export declare class SPARQLDataDriver<T> extends SPARQLDriverBase<T> {
|
|
7
7
|
protected options: SPARQLDataDriverOptions;
|
|
8
8
|
protected client: SparqlClient;
|
|
9
|
-
protected generator: SPARQLGenerator<T>;
|
|
10
9
|
constructor(dataType?: Constructor<T>, options?: SPARQLDataDriverOptions);
|
|
11
10
|
private _onBuild;
|
|
12
|
-
findByUID(id: IriString): Promise<T>;
|
|
13
|
-
findOne(query?: FilterQuery<T>, options?: FindOptions): Promise<T>;
|
|
14
11
|
protected findAllSerialized(query?: FilterQuery<T>): Promise<Store>;
|
|
15
|
-
findAll(query?: FilterQuery<T>, options?: FindOptions): Promise<T[]>;
|
|
16
|
-
count(query?: FilterQuery<T>): Promise<number>;
|
|
17
12
|
insert(_: IriString, object: T): Promise<T>;
|
|
18
13
|
delete(id: IriString): Promise<void>;
|
|
19
14
|
deleteAll(query?: FilterQuery<T>): Promise<void>;
|
|
20
15
|
}
|
|
21
|
-
export interface SPARQLDataDriverOptions extends
|
|
16
|
+
export interface SPARQLDataDriverOptions extends SPARQLDriverOptions {
|
|
22
17
|
endpointUrl: UrlString;
|
|
23
18
|
storeUrl?: UrlString;
|
|
24
19
|
updateUrl?: UrlString;
|
|
25
20
|
headers?: HeadersInit;
|
|
26
21
|
user?: string;
|
|
27
22
|
password?: string;
|
|
28
|
-
baseUri?: IriString;
|
|
29
23
|
operation?: 'get' | 'postUrlencoded' | 'postDirect';
|
|
30
24
|
}
|
|
@@ -4,16 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.SPARQLDataDriver = void 0;
|
|
7
|
-
const core_1 = require("@openhps/core");
|
|
8
7
|
const n3_1 = require("n3");
|
|
9
|
-
const rdf_1 = require("../rdf");
|
|
10
8
|
const sparql_http_client_1 = __importDefault(require("sparql-http-client"));
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
class SPARQLDataDriver extends core_1.DataServiceDriver {
|
|
9
|
+
const SPARQLDriverBase_1 = require("./SPARQLDriverBase");
|
|
10
|
+
class SPARQLDataDriver extends SPARQLDriverBase_1.SPARQLDriverBase {
|
|
14
11
|
constructor(dataType, options) {
|
|
15
12
|
super(dataType, options);
|
|
16
|
-
this.generator = new SPARQLGenerator_1.SPARQLGenerator(this.dataType, this.options.baseUri);
|
|
17
13
|
this.once('build', this._onBuild.bind(this));
|
|
18
14
|
}
|
|
19
15
|
_onBuild() {
|
|
@@ -28,28 +24,6 @@ class SPARQLDataDriver extends core_1.DataServiceDriver {
|
|
|
28
24
|
resolve();
|
|
29
25
|
});
|
|
30
26
|
}
|
|
31
|
-
findByUID(id) {
|
|
32
|
-
return new Promise((resolve, reject) => {
|
|
33
|
-
const identifierMember = rdf_1.RDFSerializer.getUriMetadata(this.dataType);
|
|
34
|
-
this.findOne({
|
|
35
|
-
[identifierMember.key]: id,
|
|
36
|
-
})
|
|
37
|
-
.then(resolve)
|
|
38
|
-
.catch(reject);
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
findOne(query, options = {}) {
|
|
42
|
-
return new Promise((resolve, reject) => {
|
|
43
|
-
this.findAll(query, {
|
|
44
|
-
limit: 1,
|
|
45
|
-
sort: options.sort,
|
|
46
|
-
})
|
|
47
|
-
.then((results) => {
|
|
48
|
-
resolve(results[0]);
|
|
49
|
-
})
|
|
50
|
-
.catch(reject);
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
27
|
findAllSerialized(query) {
|
|
54
28
|
return new Promise((resolve, reject) => {
|
|
55
29
|
this.client.query
|
|
@@ -66,56 +40,6 @@ class SPARQLDataDriver extends core_1.DataServiceDriver {
|
|
|
66
40
|
.catch(reject);
|
|
67
41
|
});
|
|
68
42
|
}
|
|
69
|
-
findAll(query, options = {}) {
|
|
70
|
-
return new Promise((resolve, reject) => {
|
|
71
|
-
this.findAllSerialized(query)
|
|
72
|
-
.then((store) => {
|
|
73
|
-
if (store.size === 0) {
|
|
74
|
-
return resolve([]);
|
|
75
|
-
}
|
|
76
|
-
const subjects = store
|
|
77
|
-
.getSubjects(n3_1.DataFactory.namedNode(vocab_1.rdf.type), null, null)
|
|
78
|
-
.filter((subject) => subject.termType === 'NamedNode');
|
|
79
|
-
let data = subjects.map((subject) => rdf_1.RDFSerializer.deserializeFromStore(subject, store));
|
|
80
|
-
if (options.sort) {
|
|
81
|
-
data = data
|
|
82
|
-
.sort((a, b) => options.sort
|
|
83
|
-
.map((s) => {
|
|
84
|
-
const res1 = core_1.MemoryQueryEvaluator.getValueFromPath(s[1] > 0 ? a : b, s[0])[1];
|
|
85
|
-
const res2 = core_1.MemoryQueryEvaluator.getValueFromPath(s[1] > 0 ? b : a, s[0])[1];
|
|
86
|
-
if (typeof res1 === 'number') {
|
|
87
|
-
return res1 - res2;
|
|
88
|
-
}
|
|
89
|
-
else if (typeof res1 === 'string') {
|
|
90
|
-
return res1.localeCompare(res2);
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
return 0;
|
|
94
|
-
}
|
|
95
|
-
})
|
|
96
|
-
.reduce((a, b) => a + b))
|
|
97
|
-
.slice(0, options.limit);
|
|
98
|
-
}
|
|
99
|
-
resolve(data);
|
|
100
|
-
})
|
|
101
|
-
.catch(reject);
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
count(query) {
|
|
105
|
-
return new Promise((resolve, reject) => {
|
|
106
|
-
this.findAllSerialized(query)
|
|
107
|
-
.then((store) => {
|
|
108
|
-
if (store.size === 0) {
|
|
109
|
-
return resolve(0);
|
|
110
|
-
}
|
|
111
|
-
const subjects = store
|
|
112
|
-
.getSubjects(n3_1.DataFactory.namedNode(vocab_1.rdf.type), null, null)
|
|
113
|
-
.filter((subject) => subject.termType === 'NamedNode');
|
|
114
|
-
resolve(subjects.length);
|
|
115
|
-
})
|
|
116
|
-
.catch(reject);
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
43
|
insert(_, object) {
|
|
120
44
|
return new Promise((resolve, reject) => {
|
|
121
45
|
this.client.query
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SPARQLDataDriver.js","sourceRoot":"","sources":["../../../src/service/SPARQLDataDriver.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"SPARQLDataDriver.js","sourceRoot":"","sources":["../../../src/service/SPARQLDataDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { DataServiceOptions, FilterQuery, FindOptions, Constructor, DataServiceDriver } from '@openhps/core';
|
|
2
|
+
import { Store } from 'n3';
|
|
3
|
+
import { IriString } from '../rdf';
|
|
4
|
+
import { SPARQLGenerator } from './SPARQLGenerator';
|
|
5
|
+
export declare abstract class SPARQLDriverBase<T> extends DataServiceDriver<IriString, T> {
|
|
6
|
+
protected options: SPARQLDriverOptions;
|
|
7
|
+
protected generator: SPARQLGenerator<T>;
|
|
8
|
+
constructor(dataType?: Constructor<T>, options?: SPARQLDriverOptions);
|
|
9
|
+
findByUID(id: IriString): Promise<T>;
|
|
10
|
+
findOne(query?: FilterQuery<T>, options?: FindOptions): Promise<T>;
|
|
11
|
+
protected abstract findAllSerialized(query?: FilterQuery<T>): Promise<Store>;
|
|
12
|
+
findAll(query?: FilterQuery<T>, options?: FindOptions): Promise<T[]>;
|
|
13
|
+
count(query?: FilterQuery<T>): Promise<number>;
|
|
14
|
+
abstract insert(_: IriString, object: T): Promise<T>;
|
|
15
|
+
abstract delete(id: IriString): Promise<void>;
|
|
16
|
+
abstract deleteAll(query?: FilterQuery<T>): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
export interface SPARQLDriverOptions extends DataServiceOptions {
|
|
19
|
+
baseUri?: IriString;
|
|
20
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SPARQLDriverBase = void 0;
|
|
4
|
+
const core_1 = require("@openhps/core");
|
|
5
|
+
const n3_1 = require("n3");
|
|
6
|
+
const rdf_1 = require("../rdf");
|
|
7
|
+
const vocab_1 = require("../vocab");
|
|
8
|
+
const SPARQLGenerator_1 = require("./SPARQLGenerator");
|
|
9
|
+
class SPARQLDriverBase extends core_1.DataServiceDriver {
|
|
10
|
+
constructor(dataType, options) {
|
|
11
|
+
super(dataType, options);
|
|
12
|
+
this.generator = new SPARQLGenerator_1.SPARQLGenerator(this.dataType, this.options.baseUri);
|
|
13
|
+
}
|
|
14
|
+
findByUID(id) {
|
|
15
|
+
return new Promise((resolve, reject) => {
|
|
16
|
+
const identifierMember = rdf_1.RDFSerializer.getUriMetadata(this.dataType);
|
|
17
|
+
this.findOne({
|
|
18
|
+
[identifierMember.key]: id,
|
|
19
|
+
})
|
|
20
|
+
.then(resolve)
|
|
21
|
+
.catch(reject);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
findOne(query, options = {}) {
|
|
25
|
+
return new Promise((resolve, reject) => {
|
|
26
|
+
this.findAll(query, {
|
|
27
|
+
limit: 1,
|
|
28
|
+
sort: options.sort,
|
|
29
|
+
})
|
|
30
|
+
.then((results) => {
|
|
31
|
+
resolve(results[0]);
|
|
32
|
+
})
|
|
33
|
+
.catch(reject);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
findAll(query, options = {}) {
|
|
37
|
+
return new Promise((resolve, reject) => {
|
|
38
|
+
this.findAllSerialized(query)
|
|
39
|
+
.then((store) => {
|
|
40
|
+
if (store.size === 0) {
|
|
41
|
+
return resolve([]);
|
|
42
|
+
}
|
|
43
|
+
const subjects = store
|
|
44
|
+
.getSubjects(n3_1.DataFactory.namedNode(vocab_1.rdf.type), null, null)
|
|
45
|
+
.filter((subject) => subject.termType === 'NamedNode');
|
|
46
|
+
let data = subjects
|
|
47
|
+
.map((subject) => rdf_1.RDFSerializer.deserializeFromStore(subject, store))
|
|
48
|
+
.filter((data) => data.constructor.name === this.dataType.name);
|
|
49
|
+
if (options.sort) {
|
|
50
|
+
data = data
|
|
51
|
+
.sort((a, b) => options.sort
|
|
52
|
+
.map((s) => {
|
|
53
|
+
const res1 = core_1.MemoryQueryEvaluator.getValueFromPath(s[1] > 0 ? a : b, s[0])[1];
|
|
54
|
+
const res2 = core_1.MemoryQueryEvaluator.getValueFromPath(s[1] > 0 ? b : a, s[0])[1];
|
|
55
|
+
if (typeof res1 === 'number') {
|
|
56
|
+
return res1 - res2;
|
|
57
|
+
}
|
|
58
|
+
else if (typeof res1 === 'string') {
|
|
59
|
+
return res1.localeCompare(res2);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
return 0;
|
|
63
|
+
}
|
|
64
|
+
})
|
|
65
|
+
.reduce((a, b) => a + b))
|
|
66
|
+
.slice(0, options.limit);
|
|
67
|
+
}
|
|
68
|
+
resolve(data);
|
|
69
|
+
})
|
|
70
|
+
.catch(reject);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
count(query) {
|
|
74
|
+
return new Promise((resolve, reject) => {
|
|
75
|
+
this.findAllSerialized(query)
|
|
76
|
+
.then((store) => {
|
|
77
|
+
if (store.size === 0) {
|
|
78
|
+
return resolve(0);
|
|
79
|
+
}
|
|
80
|
+
const subjects = store
|
|
81
|
+
.getSubjects(n3_1.DataFactory.namedNode(vocab_1.rdf.type), null, null)
|
|
82
|
+
.filter((subject) => subject.termType === 'NamedNode');
|
|
83
|
+
resolve(subjects.length);
|
|
84
|
+
})
|
|
85
|
+
.catch(reject);
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
exports.SPARQLDriverBase = SPARQLDriverBase;
|
|
90
|
+
//# sourceMappingURL=SPARQLDriverBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SPARQLDriverBase.js","sourceRoot":"","sources":["../../../src/service/SPARQLDriverBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -443,7 +443,21 @@ class SPARQLGenerator {
|
|
|
443
443
|
case '$nin':
|
|
444
444
|
break;
|
|
445
445
|
case '$elemMatch':
|
|
446
|
-
patterns.push(
|
|
446
|
+
patterns.push({
|
|
447
|
+
type: 'group',
|
|
448
|
+
patterns: [
|
|
449
|
+
{
|
|
450
|
+
type: 'bgp',
|
|
451
|
+
triples: [
|
|
452
|
+
{
|
|
453
|
+
subject: n3_1.DataFactory.variable('subject'),
|
|
454
|
+
predicate: n3_1.DataFactory.namedNode(predicate),
|
|
455
|
+
object: n3_1.DataFactory.namedNode(this.baseUri + 'dataobject_mvdewync'),
|
|
456
|
+
},
|
|
457
|
+
],
|
|
458
|
+
},
|
|
459
|
+
],
|
|
460
|
+
});
|
|
447
461
|
break;
|
|
448
462
|
}
|
|
449
463
|
return patterns;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SPARQLGenerator.js","sourceRoot":"","sources":["../../../src/service/SPARQLGenerator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SPARQLGenerator.js","sourceRoot":"","sources":["../../../src/service/SPARQLGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./SPARQLDataDriver"), exports);
|
|
18
18
|
__exportStar(require("./SPARQLGenerator"), exports);
|
|
19
|
+
__exportStar(require("./SPARQLDriverBase"), exports);
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/service/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,oDAAkC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/service/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,oDAAkC;AAClC,qDAAmC"}
|
|
@@ -1,30 +1,24 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FilterQuery, Constructor } from '@openhps/core';
|
|
2
2
|
import { Store } from 'n3';
|
|
3
3
|
import { IriString, UrlString } from '../rdf';
|
|
4
4
|
import SparqlClient from 'sparql-http-client';
|
|
5
|
-
import {
|
|
6
|
-
export declare class SPARQLDataDriver<T> extends
|
|
5
|
+
import { SPARQLDriverBase, SPARQLDriverOptions } from './SPARQLDriverBase';
|
|
6
|
+
export declare class SPARQLDataDriver<T> extends SPARQLDriverBase<T> {
|
|
7
7
|
protected options: SPARQLDataDriverOptions;
|
|
8
8
|
protected client: SparqlClient;
|
|
9
|
-
protected generator: SPARQLGenerator<T>;
|
|
10
9
|
constructor(dataType?: Constructor<T>, options?: SPARQLDataDriverOptions);
|
|
11
10
|
private _onBuild;
|
|
12
|
-
findByUID(id: IriString): Promise<T>;
|
|
13
|
-
findOne(query?: FilterQuery<T>, options?: FindOptions): Promise<T>;
|
|
14
11
|
protected findAllSerialized(query?: FilterQuery<T>): Promise<Store>;
|
|
15
|
-
findAll(query?: FilterQuery<T>, options?: FindOptions): Promise<T[]>;
|
|
16
|
-
count(query?: FilterQuery<T>): Promise<number>;
|
|
17
12
|
insert(_: IriString, object: T): Promise<T>;
|
|
18
13
|
delete(id: IriString): Promise<void>;
|
|
19
14
|
deleteAll(query?: FilterQuery<T>): Promise<void>;
|
|
20
15
|
}
|
|
21
|
-
export interface SPARQLDataDriverOptions extends
|
|
16
|
+
export interface SPARQLDataDriverOptions extends SPARQLDriverOptions {
|
|
22
17
|
endpointUrl: UrlString;
|
|
23
18
|
storeUrl?: UrlString;
|
|
24
19
|
updateUrl?: UrlString;
|
|
25
20
|
headers?: HeadersInit;
|
|
26
21
|
user?: string;
|
|
27
22
|
password?: string;
|
|
28
|
-
baseUri?: IriString;
|
|
29
23
|
operation?: 'get' | 'postUrlencoded' | 'postDirect';
|
|
30
24
|
}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { DataFactory, Store } from 'n3';
|
|
3
|
-
import { RDFSerializer } from '../rdf';
|
|
1
|
+
import { Store } from 'n3';
|
|
4
2
|
import SparqlClient from 'sparql-http-client';
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
export class SPARQLDataDriver extends DataServiceDriver {
|
|
3
|
+
import { SPARQLDriverBase } from './SPARQLDriverBase';
|
|
4
|
+
export class SPARQLDataDriver extends SPARQLDriverBase {
|
|
8
5
|
constructor(dataType, options) {
|
|
9
6
|
super(dataType, options);
|
|
10
|
-
this.generator = new SPARQLGenerator(this.dataType, this.options.baseUri);
|
|
11
7
|
this.once('build', this._onBuild.bind(this));
|
|
12
8
|
}
|
|
13
9
|
_onBuild() {
|
|
@@ -22,28 +18,6 @@ export class SPARQLDataDriver extends DataServiceDriver {
|
|
|
22
18
|
resolve();
|
|
23
19
|
});
|
|
24
20
|
}
|
|
25
|
-
findByUID(id) {
|
|
26
|
-
return new Promise((resolve, reject) => {
|
|
27
|
-
const identifierMember = RDFSerializer.getUriMetadata(this.dataType);
|
|
28
|
-
this.findOne({
|
|
29
|
-
[identifierMember.key]: id,
|
|
30
|
-
})
|
|
31
|
-
.then(resolve)
|
|
32
|
-
.catch(reject);
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
findOne(query, options = {}) {
|
|
36
|
-
return new Promise((resolve, reject) => {
|
|
37
|
-
this.findAll(query, {
|
|
38
|
-
limit: 1,
|
|
39
|
-
sort: options.sort,
|
|
40
|
-
})
|
|
41
|
-
.then((results) => {
|
|
42
|
-
resolve(results[0]);
|
|
43
|
-
})
|
|
44
|
-
.catch(reject);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
21
|
findAllSerialized(query) {
|
|
48
22
|
return new Promise((resolve, reject) => {
|
|
49
23
|
this.client.query
|
|
@@ -60,56 +34,6 @@ export class SPARQLDataDriver extends DataServiceDriver {
|
|
|
60
34
|
.catch(reject);
|
|
61
35
|
});
|
|
62
36
|
}
|
|
63
|
-
findAll(query, options = {}) {
|
|
64
|
-
return new Promise((resolve, reject) => {
|
|
65
|
-
this.findAllSerialized(query)
|
|
66
|
-
.then((store) => {
|
|
67
|
-
if (store.size === 0) {
|
|
68
|
-
return resolve([]);
|
|
69
|
-
}
|
|
70
|
-
const subjects = store
|
|
71
|
-
.getSubjects(DataFactory.namedNode(rdf.type), null, null)
|
|
72
|
-
.filter((subject) => subject.termType === 'NamedNode');
|
|
73
|
-
let data = subjects.map((subject) => RDFSerializer.deserializeFromStore(subject, store));
|
|
74
|
-
if (options.sort) {
|
|
75
|
-
data = data
|
|
76
|
-
.sort((a, b) => options.sort
|
|
77
|
-
.map((s) => {
|
|
78
|
-
const res1 = MemoryQueryEvaluator.getValueFromPath(s[1] > 0 ? a : b, s[0])[1];
|
|
79
|
-
const res2 = MemoryQueryEvaluator.getValueFromPath(s[1] > 0 ? b : a, s[0])[1];
|
|
80
|
-
if (typeof res1 === 'number') {
|
|
81
|
-
return res1 - res2;
|
|
82
|
-
}
|
|
83
|
-
else if (typeof res1 === 'string') {
|
|
84
|
-
return res1.localeCompare(res2);
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
return 0;
|
|
88
|
-
}
|
|
89
|
-
})
|
|
90
|
-
.reduce((a, b) => a + b))
|
|
91
|
-
.slice(0, options.limit);
|
|
92
|
-
}
|
|
93
|
-
resolve(data);
|
|
94
|
-
})
|
|
95
|
-
.catch(reject);
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
count(query) {
|
|
99
|
-
return new Promise((resolve, reject) => {
|
|
100
|
-
this.findAllSerialized(query)
|
|
101
|
-
.then((store) => {
|
|
102
|
-
if (store.size === 0) {
|
|
103
|
-
return resolve(0);
|
|
104
|
-
}
|
|
105
|
-
const subjects = store
|
|
106
|
-
.getSubjects(DataFactory.namedNode(rdf.type), null, null)
|
|
107
|
-
.filter((subject) => subject.termType === 'NamedNode');
|
|
108
|
-
resolve(subjects.length);
|
|
109
|
-
})
|
|
110
|
-
.catch(reject);
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
37
|
insert(_, object) {
|
|
114
38
|
return new Promise((resolve, reject) => {
|
|
115
39
|
this.client.query
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SPARQLDataDriver.js","sourceRoot":"","sources":["../../../src/service/SPARQLDataDriver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SPARQLDataDriver.js","sourceRoot":"","sources":["../../../src/service/SPARQLDataDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { DataServiceOptions, FilterQuery, FindOptions, Constructor, DataServiceDriver } from '@openhps/core';
|
|
2
|
+
import { Store } from 'n3';
|
|
3
|
+
import { IriString } from '../rdf';
|
|
4
|
+
import { SPARQLGenerator } from './SPARQLGenerator';
|
|
5
|
+
export declare abstract class SPARQLDriverBase<T> extends DataServiceDriver<IriString, T> {
|
|
6
|
+
protected options: SPARQLDriverOptions;
|
|
7
|
+
protected generator: SPARQLGenerator<T>;
|
|
8
|
+
constructor(dataType?: Constructor<T>, options?: SPARQLDriverOptions);
|
|
9
|
+
findByUID(id: IriString): Promise<T>;
|
|
10
|
+
findOne(query?: FilterQuery<T>, options?: FindOptions): Promise<T>;
|
|
11
|
+
protected abstract findAllSerialized(query?: FilterQuery<T>): Promise<Store>;
|
|
12
|
+
findAll(query?: FilterQuery<T>, options?: FindOptions): Promise<T[]>;
|
|
13
|
+
count(query?: FilterQuery<T>): Promise<number>;
|
|
14
|
+
abstract insert(_: IriString, object: T): Promise<T>;
|
|
15
|
+
abstract delete(id: IriString): Promise<void>;
|
|
16
|
+
abstract deleteAll(query?: FilterQuery<T>): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
export interface SPARQLDriverOptions extends DataServiceOptions {
|
|
19
|
+
baseUri?: IriString;
|
|
20
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { MemoryQueryEvaluator, DataServiceDriver, } from '@openhps/core';
|
|
2
|
+
import { DataFactory } from 'n3';
|
|
3
|
+
import { RDFSerializer } from '../rdf';
|
|
4
|
+
import { rdf } from '../vocab';
|
|
5
|
+
import { SPARQLGenerator } from './SPARQLGenerator';
|
|
6
|
+
export class SPARQLDriverBase extends DataServiceDriver {
|
|
7
|
+
constructor(dataType, options) {
|
|
8
|
+
super(dataType, options);
|
|
9
|
+
this.generator = new SPARQLGenerator(this.dataType, this.options.baseUri);
|
|
10
|
+
}
|
|
11
|
+
findByUID(id) {
|
|
12
|
+
return new Promise((resolve, reject) => {
|
|
13
|
+
const identifierMember = RDFSerializer.getUriMetadata(this.dataType);
|
|
14
|
+
this.findOne({
|
|
15
|
+
[identifierMember.key]: id,
|
|
16
|
+
})
|
|
17
|
+
.then(resolve)
|
|
18
|
+
.catch(reject);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
findOne(query, options = {}) {
|
|
22
|
+
return new Promise((resolve, reject) => {
|
|
23
|
+
this.findAll(query, {
|
|
24
|
+
limit: 1,
|
|
25
|
+
sort: options.sort,
|
|
26
|
+
})
|
|
27
|
+
.then((results) => {
|
|
28
|
+
resolve(results[0]);
|
|
29
|
+
})
|
|
30
|
+
.catch(reject);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
findAll(query, options = {}) {
|
|
34
|
+
return new Promise((resolve, reject) => {
|
|
35
|
+
this.findAllSerialized(query)
|
|
36
|
+
.then((store) => {
|
|
37
|
+
if (store.size === 0) {
|
|
38
|
+
return resolve([]);
|
|
39
|
+
}
|
|
40
|
+
const subjects = store
|
|
41
|
+
.getSubjects(DataFactory.namedNode(rdf.type), null, null)
|
|
42
|
+
.filter((subject) => subject.termType === 'NamedNode');
|
|
43
|
+
let data = subjects
|
|
44
|
+
.map((subject) => RDFSerializer.deserializeFromStore(subject, store))
|
|
45
|
+
.filter((data) => data.constructor.name === this.dataType.name);
|
|
46
|
+
if (options.sort) {
|
|
47
|
+
data = data
|
|
48
|
+
.sort((a, b) => options.sort
|
|
49
|
+
.map((s) => {
|
|
50
|
+
const res1 = MemoryQueryEvaluator.getValueFromPath(s[1] > 0 ? a : b, s[0])[1];
|
|
51
|
+
const res2 = MemoryQueryEvaluator.getValueFromPath(s[1] > 0 ? b : a, s[0])[1];
|
|
52
|
+
if (typeof res1 === 'number') {
|
|
53
|
+
return res1 - res2;
|
|
54
|
+
}
|
|
55
|
+
else if (typeof res1 === 'string') {
|
|
56
|
+
return res1.localeCompare(res2);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
return 0;
|
|
60
|
+
}
|
|
61
|
+
})
|
|
62
|
+
.reduce((a, b) => a + b))
|
|
63
|
+
.slice(0, options.limit);
|
|
64
|
+
}
|
|
65
|
+
resolve(data);
|
|
66
|
+
})
|
|
67
|
+
.catch(reject);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
count(query) {
|
|
71
|
+
return new Promise((resolve, reject) => {
|
|
72
|
+
this.findAllSerialized(query)
|
|
73
|
+
.then((store) => {
|
|
74
|
+
if (store.size === 0) {
|
|
75
|
+
return resolve(0);
|
|
76
|
+
}
|
|
77
|
+
const subjects = store
|
|
78
|
+
.getSubjects(DataFactory.namedNode(rdf.type), null, null)
|
|
79
|
+
.filter((subject) => subject.termType === 'NamedNode');
|
|
80
|
+
resolve(subjects.length);
|
|
81
|
+
})
|
|
82
|
+
.catch(reject);
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=SPARQLDriverBase.js.map
|