Keywords: Knowledge Graph Construction, Semantic Integration, Rule-Based Reasoning, Embedded Reasoning, Low-Code Programming, Event-Driven Programming, Node-RED, Resource-Aware Systems, Design-Time Support
TL;DR: Knowledge graph construction and rule-based reasoning can be embedded directly inside Node-RED in a lightweight and resource-aware manner.
Abstract: Node-RED is a widely adopted low-code platform for flow-based event-driven applications. Although its community continuously produces reusable components and troubleshooting knowledge (e.g., GitHub issues, forums, flow libraries), this knowledge is not readily available to developers during application design. The same can be said for organisational policies or experiential knowledge. This work presents a lightweight approach to representing both Node-RED user applications and heterogeneous external knowledge as knowledge graphs, enabling different categories of rule-based reasoning to provide actionable insights to developers during development. Example use cases include flagging nodes associated with known issues, detecting reusable community flows, identifying code smells, and checking compliance with organisational policies. To support practical adoption and energy efficiency at scale, a lightweight RDF store and reasoning engine were embedded directly into the Node-RED runtime via a plugin. Reasoning runs on deploy, and its results are stored, and then surfaced within the Node-RED Web editor through a custom sidebar plugin. This required (i) designing a lightweight ontology to model Node-RED user applications, (ii) defining efficient JSON-to-JSON-LD mappings for both application and external data, and (iii) minimising memory and computational overhead through wise tools selection, and resource-aware system engineering. The experimental results confirmed that RDF representations and rule-based reasoning can be integrated into the Node-RED development environment and distributed as a Docker image while keeping image size and runtime resource consumption close to a vanilla Node-RED setup. These results suggest that knowledge graph construction and reasoning can be embedded into development environments with limited overhead, enabling resource-efficient developer-centred semantic assistance during application design.
Submission Number: 6
Loading