Incremunica Streaming Query Source A base class for streaming query sources Install $ yarn add @incremunica/streaming-query-source
Changelog All notable changes to this project will be documented in this file. v2.2.3 - 2025-05-27 chore: delay TODO deadlines chore: improve documentation fix: components not uploaded to npm v2.2.2 - 2025-04-23 chore: extend TODO deadlines fix: remove data-structure-typed dependency chore: correct package.json chore: update README chore: Update README.md chore: strike through npm install in readme chore: update readme for contributions chore: fix licensing Merge pull request #138 from TomWindels/patch-1 Update README.md Merge pull request #137 from comunica/next/minor Merge pull request #129 from maartyman/next/minor v2.2.1 - 2025-03-25 chore: update repository location chore(deps): update dependency typedoc to ^0.28.0 v2.2.0 - 2025-03-11 chore: only run chrome browser tests locally chore: update comunica to v2.1.0 fix: starting with an empty store fix: websockets fix: premature start of the source watch Merge pull request #136 from comunica/feat/order-by Merge branch 'next/minor' into feat/order-by feat: add slice-ordered query operator feat: add support for ORDER BY chore: change CI name and fix badge Merge pull request #127 from comunica/renovate/rdf-terms-2.x fix(deps): update dependency rdf-terms to v2 chore: fix test too wait for ws connection to close chore: add multi platform browser tests fix: remove polly in integration tests + cleanup tests fix: context shortcut for deferredEvaluation chore: extend clean-monorepo command chore: add CI tests for different oses chore: update main repo readme chore(deps): update dependency webpack-cli to v6 (#120) Merge pull request #126 from comunica/next/minor v2.1.0 - 2025-02-14 chore: update ci actions/cache to v4 fix: node v22 + more extensive browser testing framework fix: browser broke on DefferedEvaluation in user tools chore: update packages chore: fix TODO's chore: create next/major branch Merge pull request #125 from comunica/feature/user-tools feat: add user-tools Merge pull request #114 from comunica/fix-dev-environment chore: update lerna publish message chore: fix renovate automerge chore: revert lerna bump chore(deps): update dependency lerna to v8 (#55) chore(deps): update dependency typedoc to ^0.27.0 (#106) Merge pull request #111 from comunica/next/major v2.0.0 - 2025-01-29 chore: changes to types and add context entries to QueryEngine chore: change order in result for optional-hash fix: bug in order of OPTIONAL result fix: add tests and fix bugs for StreamingQuerySourceStream fix: enable nestedloop joins for in cases where a variable is undefined chore: refactor integration test fix: add tests and fix GroupsIterator chore: fix linting issues chore: add tests for delete event in source watch deferred chore: add tests for complete coverage of memory bind join chore: add tests for default behaviour if isAddition is not set chore: rename StreamQuerySources to StreamingQuerySourceStream fix: reenable tests for computational bind join (checks for certain operations) fix: add test for union default graph fix: add Streaming store test on StreamingRdfJs actor chore: update TODO's and fix some linting fix: hashfunction in full hash join fix: hashing in minus join chore: update TODO deadlines chore: fix tsdoc fix: partialArrayify functions and refactored them fix: autostart issues in slice query operator chore: cleanup packages and dependencies in config feat: add support for REDUCED fix: default behaviour of isAddition in jest package fix: make sure default behaviour of quad is addition feat: add LIMIT and OFFSET support fix: matchOptions with deletestream in context fix: sequence issue in StreamingStore chore: rename deferredEvaluationEventEmitter feat: add nop query operator chore: change behaviour is isAddition context is not available chore: edit TODO's chore: rdf-js to @rdfjs/types fix: arrayifyStream imports fix: add tests and fixes to stream source chore: extract logic of partialArrayifyStream to DevTools chore: remove unused IRdfJsSourceExtended interface chore: rename to types chore: rename to jest + minor doc fixes chore: rename join packages, remove "incremental" chore: rename to actor-rdf-join-optional-hash chore: rename to actor-rdf-join-minus-hash chore: rename to actor-query-operation-distinct-hash chore: rename to source-watch and determine-changes fix: explicit undefined test: add aggregation function tests chore decheck fix refactor aggregation functions to Devtools package Merge pull request #110 from comunica/update-to-comunica-v3 fix linting issues add filter fix deferred resource watch fix handle undef joins & add join coefficients calc fix optional hash fix linting fix stream source metadata and depedencies chore rename StreamingStore and DevTools add cardinality estimate fix: overfetching on deferred evaluation fix: disable repeating property paths fix memory leak error on deferredEvaluationEventEmitter fix correct deferred context shortcut fix streamSource lint fix streamSource event emitter memory leak rename StreamingHypermedia to stream fix long running browser test add stream source fix DualKeyHashMap tests Add aggregator implementations add delete hash join change match hash join name clean up codebase changes to memory bind join changes to computational bind join switch StreamingQuerySource to abstract class update packages Remove single-order delta query Add deferred evaluation fix naming issues for polling refactor engine destroy and add polling to context removed source-identify-serialized Fix streaming store issues update files fields in package.json add linting rule for TODO messages with deadline Refactoring and renaming diff => isAddition Fixed most tests for comunica V4 fixed linting fixed config (building for V4) depcheck fix, generic side data types on busses, other minor changes update code to use the comunica hash-bindings bus update code from V3 to V4 (no testing) Apply linting rules and scipts/config updates resolved issues with changes to tsconfig (added comments and cleanup) Fix conig and components js Fix change to query init actor Update some dependencies Change incremental-bindings to bindings with context Rename to source-identify Update package.json Incomplete change incremental-bindings to bindings with context (may contain other changes) Merge pull request #104 from comunica/incremental-distinct-hash Add distinct to configuration Merge pull request #103 from comunica/incremental-distinct-hash add DISTINCT operator Merge pull request #101 from comunica/next/major v1.3.0 - 2024-04-23 add new packages to package.json Merge pull request #100 from comunica/add-incremental-filter partial implementation of the FILTER operator Merge pull request #99 from comunica/add-optional Added incremental optional operator Merge pull request #98 from comunica/add-minus added incremental minus operator added variable initialization to hash bindings added bindingsToString method Merge pull request #97 from comunica/fix-readme Improved clarity on how to use Incremuncia Merge pull request #90 from comunica/fix-automerge-renovate copied renovate settings Merge pull request #86 from comunica/fix-automerge-renovate Merge branch 'master' into fix-automerge-renovate fix automerge properly Update Comunica monorepo packages to v2.10.2 Update dependency node-polyfill-webpack-plugin to v3 Merge pull request #82 from comunica/next/major v1.2.2 - 2023-12-06 Merge pull request #81 from comunica/fix-browser-websockets use the 'websocket-polyfill' package to support browser and nodejs added nessecary 'ws' package Merge pull request #80 from comunica/next/major v1.2.1 - 2023-12-06 Merge pull request #79 from comunica/fix-browser-websockets Fixed package 'ws' not working in the browser Merge pull request #78 from comunica/fix-automerge-renovate properly updated to comunica 2.10.1 disabled automerge Update Comunica monorepo packages to v2.10.1 Merge pull request #75 from comunica/next/major v1.2.0 - 2023-11-29 updated packages and lock file Merge pull request #65 from comunica/bindingstream-up-to-date-feature add up-to-date field to lowest iterators implemented context entries Merge pull request #64 from comunica/fix-docs Merge branch 'master' into fix-docs change typedoc configs Update jest monorepo to v29 Update dependency typescript to v5 Merge pull request #61 from comunica/update-comunica-packages fixed delta-query tests Merge branch 'master' into update-comunica-packages Update dependency nodemon to v3 updated comunica packages to 2.10 and fixed tests Update dependency typedoc to ^0.25.0 Update dependency @typescript-eslint/eslint-plugin to v5.62.0 Update Comunica monorepo packages fix fetch function Update dependency @types/node to v20 Merge pull request #53 from comunica/renovate/readable-stream-4.x Update dependency @types/readable-stream to v4 Merge pull request #51 from comunica/guard-watch-changes change addition store to array Merge pull request #50 from comunica/guard-watch-changes made sure deletions are propagated before additions added priority for the resource watchers Merge pull request #49 from comunica/node-version-update test for new versions Merge pull request #47 from comunica/solid-notification-client Merge branch 'master' into solid-notification-client updated the configs + updated the engine's package.json + updated yarn.lock + updated main package.json updated offline asset recordings changed bus guard and added naive guard actor removed the polling diff guard actor added the solid notification websockets resource watcher added the polling resource watcher added the bus for resource watchers fix polling readme Merge pull request #46 from comunica/webpack added webpack testing (local and in CI) Merge pull request #45 from comunica/next/major v1.1.0 - 2023-11-15 add hash-bindings to package.json Merge pull request #44 from comunica/master Merge pull request #43 from comunica/fix-set-semantics-streaming-store fixed set semantics bug in the streaming store Merge pull request #42 from comunica/cleanup fixed workflow changed the bindingToHash function to use the termToString function fixed memory bind join and changed some tests small change to memory bind and fix for delta query removed coefficients for now in joins, and changed tests change some scripts to use '-' instead of ':' Merge pull request #41 from comunica/bindings-to-string-reliable made hashbindings tests and fixed hash bindings based on keys with a value bug DualKeyHashMap does not check if the objects are the same if 2 identical keys are used add hash binding class and add it to join actors Merge pull request #37 from comunica/changed-npm-publish Merge branch 'master' into changed-npm-publish Merge pull request #36 from comunica/next/major made yarn publish safer Merge pull request #35 from comunica/next/major Merge pull request #34 from comunica/next/major v1.0.3 - 2023-09-05 fixed join config v1.0.2 - 2023-09-04 updated README files update join config v1.0.1 - 2023-08-30 lock versions in package.json in query-sparql-incremental v1.0.0 - 2023-08-29 Merge pull request #33 from comunica/setup-for-publishing-to-npm Merge branch 'master' into setup-for-publishing-to-npm Cleanup + changed from @comunica to @incremunica Merge pull request #32 from comunica/setup-for-publishing-to-npm Should be final updates before pushing to npm Merge pull request #31 from comunica/update-versions bumped config versions updated versions to push to npm Merge pull request #30 from comunica/fix-initial-version-lerna changed the initial version in lerna.json Merge pull request #29 from comunica/incremental-computational-multi-bind-join Added security that the match will end in the streaming store + bug in resolve quad pattern streaming source test + computational bind join tests Merge pull request #28 from comunica/temp-update-branch Merge branch 'incremental-computational-multi-bind-join' into temp-update-branch Merge pull request #27 from comunica/single-quad-interface-streamingstore added a few more tests some bug fixes and beginnings of tests for the computational bind join Merge pull request #26 from comunica/single-quad-interface-streamingstore added a single quad interface to the StreamingStore Merge pull request #25 from comunica/merges Merge branch 'incremental-computational-multi-bind-join' into merges update join actors in config All functionality should be there, only tests need to be written Merge pull request #24 from comunica/incremental-delta-query Implemented multi delta query + fixed rdf resolve quad pattern + added printBindingsStream to devtools Merge pull request #23 from comunica/master Merge pull request #22 from comunica/streaming-store-stop Added halting to streaming store + remove function Merge pull request #21 from comunica/remove-unnecessary-actors removed some of the core packages that don't work with the incremental approach Merge pull request #20 from comunica/incremental-inner-full-hash-join implemented incremental full hash join changed partial hash and nestedloop cofig in readme Merge pull request #19 from comunica/change-name-streaming-store Merge pull request #18 from comunica/incremental-inner-partial-hash-join changed streaming store package name added inner incremental partial hash join removed comments from nested loopjoin and removed some imports in test file Merge pull request #17 from comunica/incremental-inner-nested-loop-join tests added inner incremental loopjoin is implemented some tests are missing Merge pull request #16 from comunica/incremental-bind-join changed bindings-factory to incremental-bindings-factory implemented bind join and unit tests added the necessary components to propagate the diff from quads to bindings addition of computational incremental bind join, with diff bug Merge pull request #15 from comunica/query-tests added static tests and framework for dynamic (update) tests Merge pull request #14 from comunica/master Merge pull request #13 from comunica/remove-guard-if-no-listeners streaming store now emits an event when all match streams are closed Merge pull request #12 from comunica/changes-to-CI/CD only make docs when master changes 3 Merge pull request #11 from comunica/changes-to-CI/CD only make docs when master changes 2 Merge pull request #10 from comunica/changes-to-CI/CD only make docs when master changes Merge pull request #9 from comunica/master only perform pull request actions when pulling to master and only test on push 2 only perform pull request actions when pulling to master and only test on push Merge pull request #8 from comunica/remove-guard-if-no-listeners added required tests for streaming store automatic removal of guard when streaming store is not used anymore Merge pull request #7 from comunica/master Merge pull request #5 from comunica/extract-http-header-info-for-guard add config for metadata extract guard data Merge pull request #4 from comunica/changes-to-CI/CD added a script to the package.json to test the pre-commit changed the github workflow files Merge pull request #3 from comunica/udate-readme updated main and engine readme Merge pull request #2 from comunica/extract-http-header-info-for-guard first version of ActorRdfMetadataExtractGuardData implemented Merge pull request #1 from comunica/comunica-feature-incremental fix dependencies polling works with tests CI pipeline should be fixed 3 CI pipeline should be fixed 2 CI pipeline should be fixed added general query engine tests and the CI pipeline should be fixed CI fail solution 5 CI fail solution 4 CI fail solution 3 CI fail solution 2 CI fail solution added workflow, changed package.json, fixed linting initial commit with diff bindings and factory making sure the cache is done before querying + individual cache invalidation Update README.md a lot of changes, see description