@blackcatinformatics/purrdf 0.3.3 → 0.4.3

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.
@@ -116,6 +116,9 @@ export class DataFactory {
116
116
  const ret = wasm.datafactory_namedNode(this.__wbg_ptr, ptr0, len0);
117
117
  return Term.__wrap(ret);
118
118
  }
119
+ /**
120
+ * `new DataFactory()` — a fresh factory with its blank-node counter at zero.
121
+ */
119
122
  constructor() {
120
123
  const ret = wasm.datafactory_new();
121
124
  this.__wbg_ptr = ret;
@@ -252,6 +255,39 @@ export class Dataset {
252
255
  wasm.__wbindgen_add_to_stack_pointer(16);
253
256
  }
254
257
  }
258
+ /**
259
+ * `canonicalize()` → the dataset as canonical, flat N-Quads under RDFC-1.0
260
+ * (SHA-256).
261
+ *
262
+ * The deterministic identity string for the graph: two datasets denote the same
263
+ * RDF graph (under blank-node relabeling) iff their canonical forms are
264
+ * byte-identical. This is the same RDFC-1.0 output the conformance gate pins.
265
+ * @returns {string}
266
+ */
267
+ canonicalize() {
268
+ let deferred2_0;
269
+ let deferred2_1;
270
+ try {
271
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
272
+ wasm.dataset_canonicalize(retptr, this.__wbg_ptr);
273
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
274
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
275
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
276
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
277
+ var ptr1 = r0;
278
+ var len1 = r1;
279
+ if (r3) {
280
+ ptr1 = 0; len1 = 0;
281
+ throw takeObject(r2);
282
+ }
283
+ deferred2_0 = ptr1;
284
+ deferred2_1 = len1;
285
+ return getStringFromWasm0(ptr1, len1);
286
+ } finally {
287
+ wasm.__wbindgen_add_to_stack_pointer(16);
288
+ wasm.__wbindgen_export3(deferred2_0, deferred2_1, 1);
289
+ }
290
+ }
255
291
  /**
256
292
  * `delete(quad)` → remove a quad. Returns `true` if the effective set changed.
257
293
  * @param {Quad} quad
@@ -294,6 +330,33 @@ export class Dataset {
294
330
  wasm.__wbindgen_add_to_stack_pointer(16);
295
331
  }
296
332
  }
333
+ /**
334
+ * `isomorphic(other)` → whether this dataset and `other` are the same RDF graph
335
+ * under blank-node relabeling.
336
+ *
337
+ * The formal RDF graph-identity check, backed by full RDFC-1.0 canonicalization:
338
+ * an exact oracle with no false positives or false negatives. Equivalent to
339
+ * comparing the two [`canonicalize`](Self::canonicalize) strings, but avoids
340
+ * materializing them for obviously-different inputs.
341
+ * @param {Dataset} other
342
+ * @returns {boolean}
343
+ */
344
+ isomorphic(other) {
345
+ try {
346
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
347
+ _assertClass(other, Dataset);
348
+ wasm.dataset_isomorphic(retptr, this.__wbg_ptr, other.__wbg_ptr);
349
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
350
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
351
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
352
+ if (r2) {
353
+ throw takeObject(r1);
354
+ }
355
+ return r0 !== 0;
356
+ } finally {
357
+ wasm.__wbindgen_add_to_stack_pointer(16);
358
+ }
359
+ }
297
360
  /**
298
361
  * `match(subject?, predicate?, object?, graph?)` → a new dataset of the matching
299
362
  * quads. An omitted (`undefined`) position is a wildcard; `defaultGraph()` matches
@@ -495,6 +558,99 @@ export class Dataset {
495
558
  const ret = wasm.dataset_size(this.__wbg_ptr);
496
559
  return ret >>> 0;
497
560
  }
561
+ /**
562
+ * `visualExportJson(optionsJson?)` -> model, scene, geometry, and index as JSON.
563
+ * @param {string | null} [options_json]
564
+ * @returns {string}
565
+ */
566
+ visualExportJson(options_json) {
567
+ let deferred3_0;
568
+ let deferred3_1;
569
+ try {
570
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
571
+ var ptr0 = isLikeNone(options_json) ? 0 : passStringToWasm0(options_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
572
+ var len0 = WASM_VECTOR_LEN;
573
+ wasm.dataset_visualExportJson(retptr, this.__wbg_ptr, ptr0, len0);
574
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
575
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
576
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
577
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
578
+ var ptr2 = r0;
579
+ var len2 = r1;
580
+ if (r3) {
581
+ ptr2 = 0; len2 = 0;
582
+ throw takeObject(r2);
583
+ }
584
+ deferred3_0 = ptr2;
585
+ deferred3_1 = len2;
586
+ return getStringFromWasm0(ptr2, len2);
587
+ } finally {
588
+ wasm.__wbindgen_add_to_stack_pointer(16);
589
+ wasm.__wbindgen_export3(deferred3_0, deferred3_1, 1);
590
+ }
591
+ }
592
+ /**
593
+ * `visualModelJson(optionsJson?)` -> the renderer-neutral RDF 1.2 model as JSON.
594
+ * @param {string | null} [options_json]
595
+ * @returns {string}
596
+ */
597
+ visualModelJson(options_json) {
598
+ let deferred3_0;
599
+ let deferred3_1;
600
+ try {
601
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
602
+ var ptr0 = isLikeNone(options_json) ? 0 : passStringToWasm0(options_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
603
+ var len0 = WASM_VECTOR_LEN;
604
+ wasm.dataset_visualModelJson(retptr, this.__wbg_ptr, ptr0, len0);
605
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
606
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
607
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
608
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
609
+ var ptr2 = r0;
610
+ var len2 = r1;
611
+ if (r3) {
612
+ ptr2 = 0; len2 = 0;
613
+ throw takeObject(r2);
614
+ }
615
+ deferred3_0 = ptr2;
616
+ deferred3_1 = len2;
617
+ return getStringFromWasm0(ptr2, len2);
618
+ } finally {
619
+ wasm.__wbindgen_add_to_stack_pointer(16);
620
+ wasm.__wbindgen_export3(deferred3_0, deferred3_1, 1);
621
+ }
622
+ }
623
+ /**
624
+ * `visualSvgJson(optionsJson?)` -> deterministic SVG and its complete export.
625
+ * @param {string | null} [options_json]
626
+ * @returns {string}
627
+ */
628
+ visualSvgJson(options_json) {
629
+ let deferred3_0;
630
+ let deferred3_1;
631
+ try {
632
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
633
+ var ptr0 = isLikeNone(options_json) ? 0 : passStringToWasm0(options_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
634
+ var len0 = WASM_VECTOR_LEN;
635
+ wasm.dataset_visualSvgJson(retptr, this.__wbg_ptr, ptr0, len0);
636
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
637
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
638
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
639
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
640
+ var ptr2 = r0;
641
+ var len2 = r1;
642
+ if (r3) {
643
+ ptr2 = 0; len2 = 0;
644
+ throw takeObject(r2);
645
+ }
646
+ deferred3_0 = ptr2;
647
+ deferred3_1 = len2;
648
+ return getStringFromWasm0(ptr2, len2);
649
+ } finally {
650
+ wasm.__wbindgen_add_to_stack_pointer(16);
651
+ wasm.__wbindgen_export3(deferred3_0, deferred3_1, 1);
652
+ }
653
+ }
498
654
  }
499
655
  if (Symbol.dispose) Dataset.prototype[Symbol.dispose] = Dataset.prototype.free;
500
656
 
@@ -550,6 +706,7 @@ export class Quad {
550
706
  return ret !== 0;
551
707
  }
552
708
  /**
709
+ * The graph [`Term`] of the quad (`DefaultGraph` when unnamed).
553
710
  * @returns {Term}
554
711
  */
555
712
  get graph() {
@@ -557,6 +714,7 @@ export class Quad {
557
714
  return Term.__wrap(ret);
558
715
  }
559
716
  /**
717
+ * The object [`Term`] of the quad.
560
718
  * @returns {Term}
561
719
  */
562
720
  get object() {
@@ -564,6 +722,7 @@ export class Quad {
564
722
  return Term.__wrap(ret);
565
723
  }
566
724
  /**
725
+ * The predicate [`Term`] of the quad.
567
726
  * @returns {Term}
568
727
  */
569
728
  get predicate() {
@@ -571,6 +730,7 @@ export class Quad {
571
730
  return Term.__wrap(ret);
572
731
  }
573
732
  /**
733
+ * The subject [`Term`] of the quad.
574
734
  * @returns {Term}
575
735
  */
576
736
  get subject() {
@@ -620,6 +780,425 @@ export class Quad {
620
780
  }
621
781
  if (Symbol.dispose) Quad.prototype[Symbol.dispose] = Quad.prototype.free;
622
782
 
783
+ /**
784
+ * A reusable SPARQL engine that keeps the native plan cache alive across calls.
785
+ */
786
+ export class QueryEngine {
787
+ __destroy_into_raw() {
788
+ const ptr = this.__wbg_ptr;
789
+ this.__wbg_ptr = 0;
790
+ QueryEngineFinalization.unregister(this);
791
+ return ptr;
792
+ }
793
+ free() {
794
+ const ptr = this.__destroy_into_raw();
795
+ wasm.__wbg_queryengine_free(ptr, 0);
796
+ }
797
+ /**
798
+ * Run an ASK query and return the boolean result.
799
+ * @param {Dataset} dataset
800
+ * @param {string} sparql
801
+ * @param {string | null} [base]
802
+ * @returns {boolean}
803
+ */
804
+ ask(dataset, sparql, base) {
805
+ try {
806
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
807
+ _assertClass(dataset, Dataset);
808
+ const ptr0 = passStringToWasm0(sparql, wasm.__wbindgen_export, wasm.__wbindgen_export2);
809
+ const len0 = WASM_VECTOR_LEN;
810
+ var ptr1 = isLikeNone(base) ? 0 : passStringToWasm0(base, wasm.__wbindgen_export, wasm.__wbindgen_export2);
811
+ var len1 = WASM_VECTOR_LEN;
812
+ wasm.queryengine_ask(retptr, this.__wbg_ptr, dataset.__wbg_ptr, ptr0, len0, ptr1, len1);
813
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
814
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
815
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
816
+ if (r2) {
817
+ throw takeObject(r1);
818
+ }
819
+ return r0 !== 0;
820
+ } finally {
821
+ wasm.__wbindgen_add_to_stack_pointer(16);
822
+ }
823
+ }
824
+ /**
825
+ * Run a CONSTRUCT query and return its result dataset.
826
+ * @param {Dataset} dataset
827
+ * @param {string} sparql
828
+ * @param {string | null} [base]
829
+ * @returns {Dataset}
830
+ */
831
+ construct(dataset, sparql, base) {
832
+ try {
833
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
834
+ _assertClass(dataset, Dataset);
835
+ const ptr0 = passStringToWasm0(sparql, wasm.__wbindgen_export, wasm.__wbindgen_export2);
836
+ const len0 = WASM_VECTOR_LEN;
837
+ var ptr1 = isLikeNone(base) ? 0 : passStringToWasm0(base, wasm.__wbindgen_export, wasm.__wbindgen_export2);
838
+ var len1 = WASM_VECTOR_LEN;
839
+ wasm.queryengine_construct(retptr, this.__wbg_ptr, dataset.__wbg_ptr, ptr0, len0, ptr1, len1);
840
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
841
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
842
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
843
+ if (r2) {
844
+ throw takeObject(r1);
845
+ }
846
+ return Dataset.__wrap(r0);
847
+ } finally {
848
+ wasm.__wbindgen_add_to_stack_pointer(16);
849
+ }
850
+ }
851
+ /**
852
+ * Run a DESCRIBE query and return its result dataset.
853
+ * @param {Dataset} dataset
854
+ * @param {string} sparql
855
+ * @param {string | null} [base]
856
+ * @returns {Dataset}
857
+ */
858
+ describe(dataset, sparql, base) {
859
+ try {
860
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
861
+ _assertClass(dataset, Dataset);
862
+ const ptr0 = passStringToWasm0(sparql, wasm.__wbindgen_export, wasm.__wbindgen_export2);
863
+ const len0 = WASM_VECTOR_LEN;
864
+ var ptr1 = isLikeNone(base) ? 0 : passStringToWasm0(base, wasm.__wbindgen_export, wasm.__wbindgen_export2);
865
+ var len1 = WASM_VECTOR_LEN;
866
+ wasm.queryengine_describe(retptr, this.__wbg_ptr, dataset.__wbg_ptr, ptr0, len0, ptr1, len1);
867
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
868
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
869
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
870
+ if (r2) {
871
+ throw takeObject(r1);
872
+ }
873
+ return Dataset.__wrap(r0);
874
+ } finally {
875
+ wasm.__wbindgen_add_to_stack_pointer(16);
876
+ }
877
+ }
878
+ /**
879
+ * Create a reusable offline SPARQL engine.
880
+ */
881
+ constructor() {
882
+ const ret = wasm.queryengine_new();
883
+ this.__wbg_ptr = ret;
884
+ QueryEngineFinalization.register(this, this.__wbg_ptr, this);
885
+ return this;
886
+ }
887
+ /**
888
+ * Run any SPARQL query and return a typed raw wasm result wrapper.
889
+ * @param {Dataset} dataset
890
+ * @param {string} sparql
891
+ * @param {string | null} [base]
892
+ * @returns {QueryResult}
893
+ */
894
+ query(dataset, sparql, base) {
895
+ try {
896
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
897
+ _assertClass(dataset, Dataset);
898
+ const ptr0 = passStringToWasm0(sparql, wasm.__wbindgen_export, wasm.__wbindgen_export2);
899
+ const len0 = WASM_VECTOR_LEN;
900
+ var ptr1 = isLikeNone(base) ? 0 : passStringToWasm0(base, wasm.__wbindgen_export, wasm.__wbindgen_export2);
901
+ var len1 = WASM_VECTOR_LEN;
902
+ wasm.queryengine_query(retptr, this.__wbg_ptr, dataset.__wbg_ptr, ptr0, len0, ptr1, len1);
903
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
904
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
905
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
906
+ if (r2) {
907
+ throw takeObject(r1);
908
+ }
909
+ return QueryResult.__wrap(r0);
910
+ } finally {
911
+ wasm.__wbindgen_add_to_stack_pointer(16);
912
+ }
913
+ }
914
+ /**
915
+ * Run any SPARQL query and serialize its raw result.
916
+ * @param {Dataset} dataset
917
+ * @param {string} sparql
918
+ * @param {string | null} [base]
919
+ * @param {string | null} [format]
920
+ * @returns {string}
921
+ */
922
+ queryRaw(dataset, sparql, base, format) {
923
+ let deferred5_0;
924
+ let deferred5_1;
925
+ try {
926
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
927
+ _assertClass(dataset, Dataset);
928
+ const ptr0 = passStringToWasm0(sparql, wasm.__wbindgen_export, wasm.__wbindgen_export2);
929
+ const len0 = WASM_VECTOR_LEN;
930
+ var ptr1 = isLikeNone(base) ? 0 : passStringToWasm0(base, wasm.__wbindgen_export, wasm.__wbindgen_export2);
931
+ var len1 = WASM_VECTOR_LEN;
932
+ var ptr2 = isLikeNone(format) ? 0 : passStringToWasm0(format, wasm.__wbindgen_export, wasm.__wbindgen_export2);
933
+ var len2 = WASM_VECTOR_LEN;
934
+ wasm.queryengine_queryRaw(retptr, this.__wbg_ptr, dataset.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);
935
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
936
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
937
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
938
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
939
+ var ptr4 = r0;
940
+ var len4 = r1;
941
+ if (r3) {
942
+ ptr4 = 0; len4 = 0;
943
+ throw takeObject(r2);
944
+ }
945
+ deferred5_0 = ptr4;
946
+ deferred5_1 = len4;
947
+ return getStringFromWasm0(ptr4, len4);
948
+ } finally {
949
+ wasm.__wbindgen_add_to_stack_pointer(16);
950
+ wasm.__wbindgen_export3(deferred5_0, deferred5_1, 1);
951
+ }
952
+ }
953
+ /**
954
+ * Run a SELECT query and return typed rows.
955
+ * @param {Dataset} dataset
956
+ * @param {string} sparql
957
+ * @param {string | null} [base]
958
+ * @returns {SelectResult}
959
+ */
960
+ select(dataset, sparql, base) {
961
+ try {
962
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
963
+ _assertClass(dataset, Dataset);
964
+ const ptr0 = passStringToWasm0(sparql, wasm.__wbindgen_export, wasm.__wbindgen_export2);
965
+ const len0 = WASM_VECTOR_LEN;
966
+ var ptr1 = isLikeNone(base) ? 0 : passStringToWasm0(base, wasm.__wbindgen_export, wasm.__wbindgen_export2);
967
+ var len1 = WASM_VECTOR_LEN;
968
+ wasm.queryengine_select(retptr, this.__wbg_ptr, dataset.__wbg_ptr, ptr0, len0, ptr1, len1);
969
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
970
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
971
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
972
+ if (r2) {
973
+ throw takeObject(r1);
974
+ }
975
+ return SelectResult.__wrap(r0);
976
+ } finally {
977
+ wasm.__wbindgen_add_to_stack_pointer(16);
978
+ }
979
+ }
980
+ /**
981
+ * Apply a SPARQL UPDATE atomically to the supplied dataset.
982
+ * @param {Dataset} dataset
983
+ * @param {string} sparql
984
+ * @param {string | null} [base]
985
+ */
986
+ update(dataset, sparql, base) {
987
+ try {
988
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
989
+ _assertClass(dataset, Dataset);
990
+ const ptr0 = passStringToWasm0(sparql, wasm.__wbindgen_export, wasm.__wbindgen_export2);
991
+ const len0 = WASM_VECTOR_LEN;
992
+ var ptr1 = isLikeNone(base) ? 0 : passStringToWasm0(base, wasm.__wbindgen_export, wasm.__wbindgen_export2);
993
+ var len1 = WASM_VECTOR_LEN;
994
+ wasm.queryengine_update(retptr, this.__wbg_ptr, dataset.__wbg_ptr, ptr0, len0, ptr1, len1);
995
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
996
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
997
+ if (r1) {
998
+ throw takeObject(r0);
999
+ }
1000
+ } finally {
1001
+ wasm.__wbindgen_add_to_stack_pointer(16);
1002
+ }
1003
+ }
1004
+ }
1005
+ if (Symbol.dispose) QueryEngine.prototype[Symbol.dispose] = QueryEngine.prototype.free;
1006
+
1007
+ /**
1008
+ * A typed SPARQL result returned by the raw wasm binding.
1009
+ */
1010
+ export class QueryResult {
1011
+ static __wrap(ptr) {
1012
+ const obj = Object.create(QueryResult.prototype);
1013
+ obj.__wbg_ptr = ptr;
1014
+ QueryResultFinalization.register(obj, obj.__wbg_ptr, obj);
1015
+ return obj;
1016
+ }
1017
+ __destroy_into_raw() {
1018
+ const ptr = this.__wbg_ptr;
1019
+ this.__wbg_ptr = 0;
1020
+ QueryResultFinalization.unregister(this);
1021
+ return ptr;
1022
+ }
1023
+ free() {
1024
+ const ptr = this.__destroy_into_raw();
1025
+ wasm.__wbg_queryresult_free(ptr, 0);
1026
+ }
1027
+ /**
1028
+ * The ASK boolean when `kind === "ask"`, otherwise `undefined`.
1029
+ * @returns {boolean | undefined}
1030
+ */
1031
+ get boolean() {
1032
+ const ret = wasm.queryresult_boolean(this.__wbg_ptr);
1033
+ return ret === 0xFFFFFF ? undefined : ret !== 0;
1034
+ }
1035
+ /**
1036
+ * The result discriminator: `"select"`, `"ask"`, or `"graph"`.
1037
+ * @returns {string}
1038
+ */
1039
+ get kind() {
1040
+ let deferred1_0;
1041
+ let deferred1_1;
1042
+ try {
1043
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1044
+ wasm.queryresult_kind(retptr, this.__wbg_ptr);
1045
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1046
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1047
+ deferred1_0 = r0;
1048
+ deferred1_1 = r1;
1049
+ return getStringFromWasm0(r0, r1);
1050
+ } finally {
1051
+ wasm.__wbindgen_add_to_stack_pointer(16);
1052
+ wasm.__wbindgen_export3(deferred1_0, deferred1_1, 1);
1053
+ }
1054
+ }
1055
+ /**
1056
+ * Move the graph dataset out of this wrapper.
1057
+ * @returns {Dataset | undefined}
1058
+ */
1059
+ takeDataset() {
1060
+ const ret = wasm.queryresult_takeDataset(this.__wbg_ptr);
1061
+ return ret === 0 ? undefined : Dataset.__wrap(ret);
1062
+ }
1063
+ /**
1064
+ * Move the SELECT result out of this wrapper.
1065
+ * @returns {SelectResult | undefined}
1066
+ */
1067
+ takeSelect() {
1068
+ const ret = wasm.queryresult_takeSelect(this.__wbg_ptr);
1069
+ return ret === 0 ? undefined : SelectResult.__wrap(ret);
1070
+ }
1071
+ }
1072
+ if (Symbol.dispose) QueryResult.prototype[Symbol.dispose] = QueryResult.prototype.free;
1073
+
1074
+ /**
1075
+ * A typed SELECT result returned by the raw wasm binding.
1076
+ */
1077
+ export class SelectResult {
1078
+ static __wrap(ptr) {
1079
+ const obj = Object.create(SelectResult.prototype);
1080
+ obj.__wbg_ptr = ptr;
1081
+ SelectResultFinalization.register(obj, obj.__wbg_ptr, obj);
1082
+ return obj;
1083
+ }
1084
+ __destroy_into_raw() {
1085
+ const ptr = this.__wbg_ptr;
1086
+ this.__wbg_ptr = 0;
1087
+ SelectResultFinalization.unregister(this);
1088
+ return ptr;
1089
+ }
1090
+ free() {
1091
+ const ptr = this.__destroy_into_raw();
1092
+ wasm.__wbg_selectresult_free(ptr, 0);
1093
+ }
1094
+ /**
1095
+ * The result discriminator.
1096
+ * @returns {string}
1097
+ */
1098
+ get kind() {
1099
+ let deferred1_0;
1100
+ let deferred1_1;
1101
+ try {
1102
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1103
+ wasm.selectresult_kind(retptr, this.__wbg_ptr);
1104
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1105
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1106
+ deferred1_0 = r0;
1107
+ deferred1_1 = r1;
1108
+ return getStringFromWasm0(r0, r1);
1109
+ } finally {
1110
+ wasm.__wbindgen_add_to_stack_pointer(16);
1111
+ wasm.__wbindgen_export3(deferred1_0, deferred1_1, 1);
1112
+ }
1113
+ }
1114
+ /**
1115
+ * SELECT rows, one object-like row per solution.
1116
+ * @returns {SelectRow[]}
1117
+ */
1118
+ get rows() {
1119
+ try {
1120
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1121
+ wasm.selectresult_rows(retptr, this.__wbg_ptr);
1122
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1123
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1124
+ var v1 = getArrayJsValueFromWasm0(r0, r1).slice();
1125
+ wasm.__wbindgen_export3(r0, r1 * 4, 4);
1126
+ return v1;
1127
+ } finally {
1128
+ wasm.__wbindgen_add_to_stack_pointer(16);
1129
+ }
1130
+ }
1131
+ /**
1132
+ * Projected variables, in SELECT projection order.
1133
+ * @returns {string[]}
1134
+ */
1135
+ get variables() {
1136
+ try {
1137
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1138
+ wasm.selectresult_variables(retptr, this.__wbg_ptr);
1139
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1140
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1141
+ var v1 = getArrayJsValueFromWasm0(r0, r1).slice();
1142
+ wasm.__wbindgen_export3(r0, r1 * 4, 4);
1143
+ return v1;
1144
+ } finally {
1145
+ wasm.__wbindgen_add_to_stack_pointer(16);
1146
+ }
1147
+ }
1148
+ }
1149
+ if (Symbol.dispose) SelectResult.prototype[Symbol.dispose] = SelectResult.prototype.free;
1150
+
1151
+ /**
1152
+ * One SELECT binding row.
1153
+ */
1154
+ export class SelectRow {
1155
+ static __wrap(ptr) {
1156
+ const obj = Object.create(SelectRow.prototype);
1157
+ obj.__wbg_ptr = ptr;
1158
+ SelectRowFinalization.register(obj, obj.__wbg_ptr, obj);
1159
+ return obj;
1160
+ }
1161
+ __destroy_into_raw() {
1162
+ const ptr = this.__wbg_ptr;
1163
+ this.__wbg_ptr = 0;
1164
+ SelectRowFinalization.unregister(this);
1165
+ return ptr;
1166
+ }
1167
+ free() {
1168
+ const ptr = this.__destroy_into_raw();
1169
+ wasm.__wbg_selectrow_free(ptr, 0);
1170
+ }
1171
+ /**
1172
+ * Return the bound term for a variable name, or `undefined` for unbound/absent.
1173
+ * @param {string} variable
1174
+ * @returns {Term | undefined}
1175
+ */
1176
+ get(variable) {
1177
+ const ptr0 = passStringToWasm0(variable, wasm.__wbindgen_export, wasm.__wbindgen_export2);
1178
+ const len0 = WASM_VECTOR_LEN;
1179
+ const ret = wasm.selectrow_get(this.__wbg_ptr, ptr0, len0);
1180
+ return ret === 0 ? undefined : Term.__wrap(ret);
1181
+ }
1182
+ /**
1183
+ * Variables projected by this row, in SELECT projection order.
1184
+ * @returns {string[]}
1185
+ */
1186
+ get variables() {
1187
+ try {
1188
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1189
+ wasm.selectrow_variables(retptr, this.__wbg_ptr);
1190
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1191
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1192
+ var v1 = getArrayJsValueFromWasm0(r0, r1).slice();
1193
+ wasm.__wbindgen_export3(r0, r1 * 4, 4);
1194
+ return v1;
1195
+ } finally {
1196
+ wasm.__wbindgen_add_to_stack_pointer(16);
1197
+ }
1198
+ }
1199
+ }
1200
+ if (Symbol.dispose) SelectRow.prototype[Symbol.dispose] = SelectRow.prototype.free;
1201
+
623
1202
  /**
624
1203
  * An RDF/JS `Sink` — a streaming consumer that interns pushed quads through the
625
1204
  * `purrdf-events` protocol and freezes them at `finish()`.
@@ -655,6 +1234,9 @@ export class Sink {
655
1234
  wasm.__wbindgen_add_to_stack_pointer(16);
656
1235
  }
657
1236
  }
1237
+ /**
1238
+ * `new Sink()` — an empty sink ready to accept quads via `push`.
1239
+ */
658
1240
  constructor() {
659
1241
  const ret = wasm.sink_new();
660
1242
  this.__wbg_ptr = ret;
@@ -962,6 +1544,15 @@ function __wbg_get_imports() {
962
1544
  const ret = Math.random();
963
1545
  return ret;
964
1546
  },
1547
+ __wbg_selectrow_new: function(arg0) {
1548
+ const ret = SelectRow.__wrap(arg0);
1549
+ return addHeapObject(ret);
1550
+ },
1551
+ __wbindgen_cast_0000000000000001: function(arg0, arg1) {
1552
+ // Cast intrinsic for `Ref(String) -> Externref`.
1553
+ const ret = getStringFromWasm0(arg0, arg1);
1554
+ return addHeapObject(ret);
1555
+ },
965
1556
  __wbindgen_object_drop_ref: function(arg0) {
966
1557
  takeObject(arg0);
967
1558
  },
@@ -981,6 +1572,18 @@ const DatasetFinalization = (typeof FinalizationRegistry === 'undefined')
981
1572
  const QuadFinalization = (typeof FinalizationRegistry === 'undefined')
982
1573
  ? { register: () => {}, unregister: () => {} }
983
1574
  : new FinalizationRegistry(ptr => wasm.__wbg_quad_free(ptr, 1));
1575
+ const QueryEngineFinalization = (typeof FinalizationRegistry === 'undefined')
1576
+ ? { register: () => {}, unregister: () => {} }
1577
+ : new FinalizationRegistry(ptr => wasm.__wbg_queryengine_free(ptr, 1));
1578
+ const QueryResultFinalization = (typeof FinalizationRegistry === 'undefined')
1579
+ ? { register: () => {}, unregister: () => {} }
1580
+ : new FinalizationRegistry(ptr => wasm.__wbg_queryresult_free(ptr, 1));
1581
+ const SelectResultFinalization = (typeof FinalizationRegistry === 'undefined')
1582
+ ? { register: () => {}, unregister: () => {} }
1583
+ : new FinalizationRegistry(ptr => wasm.__wbg_selectresult_free(ptr, 1));
1584
+ const SelectRowFinalization = (typeof FinalizationRegistry === 'undefined')
1585
+ ? { register: () => {}, unregister: () => {} }
1586
+ : new FinalizationRegistry(ptr => wasm.__wbg_selectrow_free(ptr, 1));
984
1587
  const SinkFinalization = (typeof FinalizationRegistry === 'undefined')
985
1588
  ? { register: () => {}, unregister: () => {} }
986
1589
  : new FinalizationRegistry(ptr => wasm.__wbg_sink_free(ptr, 1));
Binary file