You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We ran the same supplychain example on the same 0.8 server image and root-caused several server-side bugs in this area, so sharing findings that may explain your empty result.
In our environment the first hop did work out of the box (ingesting the ProductChainEvent created 47 CompanyEvent vertices with leadTo edges), so a completely empty result suggests the rule didn't fire at all. Things worth checking, in order:
Were the concept rules registered? knext schema reg_concept_rule --file ./schema/concept.rule must run after knext schema commit.
Stale builder checkpoints: the KAG builder keeps *ckpt* directories next to builder/, and on re-runs it silently skips records it has already seen — so re-indexing after a DB reset produces nothing. Delete them before re-running indexer.py.
Concept-level event propagation always stops after one hop #623 — generated records aren't standardized (e.g. subject property → edge) until after the propagation pass, so recursive propagation (cost rise → profit drop) never matches and every chain stops after one hop.
With #621/#622 applied plus the change proposed in #623, a single ProductChainEvent ingestion materializes the full chain (47 cost-rise + 47 profit-drop events) in our tests, and the DSL query in your report returns the expected rows.
Activity
JJUN99 commentedon Aug 11, 2026
We ran the same supplychain example on the same 0.8 server image and root-caused several server-side bugs in this area, so sharing findings that may explain your empty result.
In our environment the first hop did work out of the box (ingesting the
ProductChainEventcreated 47CompanyEventvertices withleadToedges), so a completely empty result suggests the rule didn't fire at all. Things worth checking, in order:knext schema reg_concept_rule --file ./schema/concept.rulemust run afterknext schema commit.*ckpt*directories next tobuilder/, and on re-runs it silently skips records it has already seen — so re-indexing after a DB reset produces nothing. Delete them before re-runningindexer.py.docker logs. Look at/logs/openspgapp/common-error.loginside the server container — that's where we found the NPE described in fix(reasoner): store business id as property on DDL-created vertices #622.Even once the first hop works, we found the chain still breaks server-side:
idproperty, so follow-up rule runs on them die with a silently-swallowed NPE and the generated events lose theirbelongToclassification.subjectproperty → edge) until after the propagation pass, so recursive propagation (cost rise → profit drop) never matches and every chain stops after one hop.With #621/#622 applied plus the change proposed in #623, a single
ProductChainEventingestion materializes the full chain (47 cost-rise + 47 profit-drop events) in our tests, and the DSL query in your report returns the expected rows.