@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.
Files changed (46) hide show
  1. package/dist/cjs/service/SPARQLDataDriver.d.ts +4 -10
  2. package/dist/cjs/service/SPARQLDataDriver.js +2 -78
  3. package/dist/cjs/service/SPARQLDataDriver.js.map +1 -1
  4. package/dist/cjs/service/SPARQLDriverBase.d.ts +20 -0
  5. package/dist/cjs/service/SPARQLDriverBase.js +90 -0
  6. package/dist/cjs/service/SPARQLDriverBase.js.map +1 -0
  7. package/dist/cjs/service/SPARQLGenerator.js +15 -1
  8. package/dist/cjs/service/SPARQLGenerator.js.map +1 -1
  9. package/dist/cjs/service/index.d.ts +1 -0
  10. package/dist/cjs/service/index.js +1 -0
  11. package/dist/cjs/service/index.js.map +1 -1
  12. package/dist/esm/service/SPARQLDataDriver.d.ts +4 -10
  13. package/dist/esm/service/SPARQLDataDriver.js +3 -79
  14. package/dist/esm/service/SPARQLDataDriver.js.map +1 -1
  15. package/dist/esm/service/SPARQLDriverBase.d.ts +20 -0
  16. package/dist/esm/service/SPARQLDriverBase.js +86 -0
  17. package/dist/esm/service/SPARQLDriverBase.js.map +1 -0
  18. package/dist/esm/service/SPARQLGenerator.js +15 -1
  19. package/dist/esm/service/SPARQLGenerator.js.map +1 -1
  20. package/dist/esm/service/index.d.ts +1 -0
  21. package/dist/esm/service/index.js +1 -0
  22. package/dist/esm/service/index.js.map +1 -1
  23. package/dist/types/service/SPARQLDataDriver.d.ts +4 -10
  24. package/dist/types/service/SPARQLDriverBase.d.ts +20 -0
  25. package/dist/types/service/index.d.ts +1 -0
  26. package/dist/web/openhps-rdf.all.es.js +115 -72
  27. package/dist/web/openhps-rdf.all.es.js.map +1 -1
  28. package/dist/web/openhps-rdf.all.es.min.js +1 -1
  29. package/dist/web/openhps-rdf.all.es.min.js.map +1 -1
  30. package/dist/web/openhps-rdf.all.js +115 -72
  31. package/dist/web/openhps-rdf.all.js.map +1 -1
  32. package/dist/web/openhps-rdf.all.min.js +1 -1
  33. package/dist/web/openhps-rdf.all.min.js.map +1 -1
  34. package/dist/web/openhps-rdf.sparql.es.js +114 -72
  35. package/dist/web/openhps-rdf.sparql.es.js.map +1 -1
  36. package/dist/web/openhps-rdf.sparql.es.min.js +1 -1
  37. package/dist/web/openhps-rdf.sparql.es.min.js.map +1 -1
  38. package/dist/web/openhps-rdf.sparql.js +114 -72
  39. package/dist/web/openhps-rdf.sparql.js.map +1 -1
  40. package/dist/web/openhps-rdf.sparql.min.js +1 -1
  41. package/dist/web/openhps-rdf.sparql.min.js.map +1 -1
  42. package/package.json +1 -1
  43. package/src/service/SPARQLDataDriver.ts +6 -95
  44. package/src/service/SPARQLDriverBase.ts +112 -0
  45. package/src/service/SPARQLGenerator.ts +15 -1
  46. package/src/service/index.ts +1 -0
@@ -1,30 +1,24 @@
1
- import { DataServiceOptions, FilterQuery, FindOptions, Constructor, DataServiceDriver } from '@openhps/core';
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 { SPARQLGenerator } from './SPARQLGenerator';
6
- export declare class SPARQLDataDriver<T> extends DataServiceDriver<IriString, T> {
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 DataServiceOptions {
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 vocab_1 = require("../vocab");
12
- const SPARQLGenerator_1 = require("./SPARQLGenerator");
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":"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"}
1
+ {"version":3,"file":"SPARQLDataDriver.js","sourceRoot":"","sources":["../../../src/service/SPARQLDataDriver.ts"],"names":[],"mappings":";;;;;;AACA,2BAA2B;AAE3B,4EAA8C;AAC9C,yDAA2E;AAE3E,MAAa,gBAAoB,SAAQ,mCAAmB;IAIxD,YAAY,QAAyB,EAAE,OAAiC;QACpE,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAEO,QAAQ;QACZ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,4BAAY,CAAC;gBAC3B,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;gBACrC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;gBAC/B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;gBACjC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;aAClC,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;IAES,iBAAiB,CAAC,KAAsB;QAC9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,KAAK;iBACZ,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;iBAC9C,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACb,MAAM,KAAK,GAAU,IAAI,UAAK,EAAE,CAAC;gBACjC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;oBACtB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBAClB,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC;iBACD,KAAK,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,CAAY,EAAE,MAAS;QAC1B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,KAAK;iBACZ,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;gBACzC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;gBAC7B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;aACpC,CAAC;iBACD,IAAI,CAAC,GAAG,EAAE;gBACP,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC,CAAC;iBACD,KAAK,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,EAAa;QAChB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,KAAK;iBACZ,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;gBAC7B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;aACpC,CAAC;iBACD,IAAI,CAAC,OAAO,CAAC;iBACb,KAAK,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,KAAsB;QAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,KAAK;iBACZ,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;gBAC7B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;aACpC,CAAC;iBACD,IAAI,CAAC,OAAO,CAAC;iBACb,KAAK,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA5ED,4CA4EC"}
@@ -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":";;;AAAA,wCAOuB;AACvB,2BAAwC;AACxC,gCAAkD;AAClD,oCAA+B;AAC/B,uDAAoD;AAEpD,MAAsB,gBAAoB,SAAQ,wBAA+B;IAI7E,YAAY,QAAyB,EAAE,OAA6B;QAChE,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED,SAAS,CAAC,EAAa;QACnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,gBAAgB,GAAG,mBAAa,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrE,IAAI,CAAC,OAAO,CAAC;gBACT,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE;aACtB,CAAC;iBACJ,IAAI,CAAC,OAAO,CAAC;iBACb,KAAK,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAAC,KAAsB,EAAE,UAAuB,EAAE;QACrD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBAChB,KAAK,EAAE,CAAC;gBACR,IAAI,EAAE,OAAO,CAAC,IAAI;aACrB,CAAC;iBACG,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;gBACd,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC,CAAC;iBACD,KAAK,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;IAID,OAAO,CAAC,KAAsB,EAAE,UAAuB,EAAE;QACrD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;iBACxB,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBACZ,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE;oBAClB,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;iBACtB;gBACD,MAAM,QAAQ,GAAG,KAAK;qBACjB,WAAW,CAAC,gBAAW,CAAC,SAAS,CAAC,WAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;qBACxD,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;gBAC3D,IAAI,IAAI,GAAQ,QAAQ;qBACnB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAa,CAAC,oBAAoB,CAAC,OAAc,EAAE,KAAK,CAAC,CAAC;qBAC3E,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAQ,CAAC;gBAC3E,IAAI,OAAO,CAAC,IAAI,EAAE;oBACd,IAAI,GAAG,IAAI;yBACN,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACX,OAAO,CAAC,IAAI;yBACP,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBACP,MAAM,IAAI,GAAG,2BAAoB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC9E,MAAM,IAAI,GAAG,2BAAoB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC9E,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;4BAC1B,OAAO,IAAI,GAAG,IAAI,CAAC;yBACtB;6BAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;4BACjC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;yBACnC;6BAAM;4BACH,OAAO,CAAC,CAAC;yBACZ;oBACL,CAAC,CAAC;yBACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAC/B;yBACA,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;iBAChC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,CAAC;iBACD,KAAK,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,KAAsB;QACxB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;iBACxB,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBACZ,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE;oBAClB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;iBACrB;gBACD,MAAM,QAAQ,GAAG,KAAK;qBACjB,WAAW,CAAC,gBAAW,CAAC,SAAS,CAAC,WAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;qBACxD,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;gBAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC,CAAC;iBACD,KAAK,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;CAOJ;AA9FD,4CA8FC"}
@@ -443,7 +443,21 @@ class SPARQLGenerator {
443
443
  case '$nin':
444
444
  break;
445
445
  case '$elemMatch':
446
- patterns.push(...this.createQuery(subquery[selector], dataType));
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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"}
@@ -1,2 +1,3 @@
1
1
  export * from './SPARQLDataDriver';
2
2
  export * from './SPARQLGenerator';
3
+ export * from './SPARQLDriverBase';
@@ -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 { DataServiceOptions, FilterQuery, FindOptions, Constructor, DataServiceDriver } from '@openhps/core';
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 { SPARQLGenerator } from './SPARQLGenerator';
6
- export declare class SPARQLDataDriver<T> extends DataServiceDriver<IriString, T> {
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 DataServiceOptions {
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 { MemoryQueryEvaluator, DataServiceDriver, } from '@openhps/core';
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 { rdf } from '../vocab';
6
- import { SPARQLGenerator } from './SPARQLGenerator';
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":"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"}
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