@ontola/memoized-hash-factory

RDF Factory optimized for memory usage.

Usage no npm install needed!

<script type="module">
  import ontolaMemoizedHashFactory from 'https://cdn.skypack.dev/@ontola/memoized-hash-factory';
</script>

README

@ontola/memoized-hash-factory

RDFJS compatible data factory which implements memoization based on the term's hash. Once a term is created the same instance will be returned for future requests.

This saves memory and allows comparison by reference (===) which is great for browsers on mobile devices, but can cause out of memory exceptions for long running processes since the current implementation will always hold a strong reference to the created objects (I.e. they can't be garbage collected).

See @ontologies/core for more info on usage.

Usage

Put the following in a file;

/* useMemoizedHashFactory.js */
import singletonInstance from "@ontola/memoized-hash-factory";
import { setup } from "@ontologies/core";

setup(singletonInstance)

It is important to import the code which calls setup before importing any of the @ontologies/package helpers, since their exports use the factory which you pass to setup;

// This must be done first
import "./useMemoizedHashFactory"

// This import will use the factory you passed to `setup`.
import schema from "@ontologies/schema"