v2.14.1
Patch Changes
-
#158
eec6f34Thanks @flyon! - Fix: a DSLupdate()that replaces, unsets, or set-removes acontains(owned) object property now deletes the previously-owned node's own triples instead of leaving it as an orphan in the graph. Previously only the one-hop edge was unlinked (and dependent-typed descendants cascaded), so e.g. replacing acontains-ownedImageObjectviaWorkspace.update({image: {contentUrl}})accumulated staleImageObjectnodes.The cleanup is driven by the property's
containsflag (exclusive ownership) and does not require the owned child shape to be markeddependent. It is safe when there is no prior value (the owning edge is bound in-query, so a missing old value is a no-op).New internal export
buildOwnedSelfDeleteinsrc/sparql/irToAlgebra.ts(mirrorsbuildOwnedCascade) for lowering/testing.