Connect Nodes
Connecting nodes creates the data flow in your graph. This guide shows you how to connect nodes together, creating the pathways that data follows through your pipeline.Prerequisites
Before you begin, make sure you have:Nodes Created
At least two nodes created in your graph with ports configured.
Ports Added
Nodes have input and output ports. See Add Ports if needed.
Compatible Types
Output port type matches input port type. Ports must use the same schema.
Graph Editor Open
Cerulion Graph Editor running with your graph open on the canvas.
Connecting nodes automatically creates topics. You don’t need to create topics manually—the framework handles this for you.
What You’ll Do
You’ll connect nodes by drawing links from output ports to input ports. Each connection creates a topic that carries data between the nodes.Step-by-Step Guide
1
Enter connection mode
Click the Connect tool in the toolbar (or press
C key).The cursor should change to a crosshair or connection icon, indicating connection mode is active.
2
Click output port
Click and hold on a green output port (on the right side of a node).
You should see a line starting from the output port, following your cursor as you move the mouse.
The line shows a preview of the connection you’re about to create.
3
Drag to input port
Drag the line to a blue input port (on the left side of another node).
The input port should highlight when you’re hovering over it, indicating it’s a valid connection target.
4
Release to connect
Release the mouse button to create the connection.
You should see:
- A line connecting the two ports
- A topic automatically created (visible in topics panel)
- The connection is active and ready to carry data
The topic is automatically named based on the port names. You can rename it later in the properties panel.
5
Verify the connection
Click on the connection line to verify:
- Topic name appears in the properties panel
- Topic type matches the port types
- Connection is valid (no error indicators)
The properties panel should show the topic details, confirming the connection is set up correctly.
6
Connect more nodes (optional)
Repeat steps 2-5 to connect more nodes:
- Linear chain: Node A → Node B → Node C
- Fan-out: One output to multiple inputs
- Fan-in: Multiple outputs to one input
Understanding Connections
After connecting nodes:- Topics are created automatically with default names
- Data can flow from output to input
- Type safety is enforced - only compatible types can connect
- Visual representation shows data flow at a glance
Connection Patterns
Linear Pipeline
Simple sequential connections:Fan-Out (Broadcast)
One output to multiple inputs:Fan-In (Merge)
Multiple outputs to one input:Manual Topic Creation (Advanced)
Topics are automatically created when you connect nodes. You only need to create them manually for advanced scenarios like pre-configuring topics or setting up complex topologies.
1
Open topic dialog
Click Topic in the toolbar (or press
T key), or right-click on the canvas and select “New Topic”.The topic creation dialog should open.
2
Enter topic name
Enter a descriptive name for the topic:
- Use lowercase with underscores (e.g.,
temperature_readings,sensor_data) - Be descriptive and specific
- Avoid generic names like
dataortopic1
3
Select schema type
From the type dropdown, select the schema that defines this topic’s data structure. All nodes connecting to this topic must use the same type.
4
Configure transport (optional)
Configure how data is transported:
- Auto (recommended) - Framework selects local or network automatically
- Local - Force local shared memory transport
- Network - Force network transport via Zenoh
5
Save the topic
Click Create to create the topic. The topic will appear in the topics panel and can be connected to nodes.
Editing Connections
Renaming Topics
To rename a topic created by a connection:1
Select the connection
Click on the connection line to select it.
2
Open properties
The properties panel should show the topic properties:
- Name - Edit the topic name
- Type - The schema type (read-only)
- Transport - Local or network (can be changed)
- QoS Settings - Quality of service configuration (optional)
3
Edit topic name
Change the topic name in the properties panel.
The topic name updates immediately. The new name appears in the topics panel.
Deleting Connections
To delete a connection:1
Select the connection
Click on the connection line to select it.
2
Delete
Press
Delete key (or right-click → Delete).The connection line should disappear, and the topic should be removed.
Connection Validation
The editor validates connections before creating them:Valid Connections
- Type match - Output type exactly matches input type
- Same schema - Both ports use the same schema
- Compatible types - Types are structurally compatible
Invalid Connections
- Type mismatch - Output and input types don’t match
- Self-connection - Trying to connect a node to itself (usually invalid)
- Duplicate connection - Ports already connected
Best Practices
Clear Layout
Arrange nodes so connections don’t cross unnecessarily. A clean layout is easier to understand.
Descriptive Names
Rename topics to have meaningful names. “temperature_readings” is better than “topic1”.
Type Safety
Always ensure port types match before connecting. The editor helps, but understanding types prevents errors.
Avoid Loops
Be careful with circular connections. They can cause infinite loops if not handled properly.
Troubleshooting
Can't connect ports
Can't connect ports
Problem: Editor won’t let you create a connection.Solutions:
- Check that port types match (output type must match input type)
- Verify both nodes are in the same graph
- Ensure ports aren’t already connected (delete existing connection first)
- Check for schema errors that might prevent type validation
- Verify the connection mode is active (C key or Connect tool)
Connection disappears
Connection disappears
Problem: Connection is gone after moving nodes or saving.Solutions:
- Check that both nodes still exist
- Verify the graph file was saved correctly
- Look for errors in the console
- Try recreating the connection
- Check for validation errors
Type mismatch error
Type mismatch error
Problem: Editor shows type mismatch when trying to connect.Solutions:
- Verify both ports use the same schema
- Check that schemas are correctly defined
- Ensure schema files are saved and loaded
- Look for schema validation errors
- Try refreshing the project