Create

Metanode or Component - What's the Difference?

August 3, 2020 — by Rosaria Silipo

Let's help clarify the difference between metanodes and components.

What's a metanode? What's a component? And when do you use what?

The common goal: make order in a messy workflow

Both metanodes and components are useful to clean up messy workflows. You can identify isolated blocks of logical operations in your workflows and include them inside either a metanode or a component. Your workflow will appear neat and tidy with less nodes than the original workflow.

And that is where the metanode goal in life ends.

Metanode or Component - What is the Difference?

Figure 1. Two visual configurations of the same example workflow. The usage of metanode and components (right) makes the view neat and clear.

What can a component do that a metanode cannot?

Let’s see now what a component can do additionally in comparison with a metanode.

A component can encapsulate flow variables

"What happens in the component stays in the component." This sentence describes the vacuum character of a component. Flow variables created within the component will not leave the component unless this is expressly set in the “Component Output” node. Note that flow variables created in the workflow but outside of the component will not enter the component, unless expressly set to do so in the “Component Input” node.

Metanode or Component - What is the Difference?

Figure 2. Sub-workflow view inside a component (Ctrl+double click the component to open this view).

In a metanode, all flow variables come in from the parent workflow and all flow variables created within the component go out into the workflow. No barriers, no limits. The risk is to otherwise generate an overpopulation of flow variables. 

A component can have a configuration window

Components can have a configuration window, metanodes cannot. 

Inserting one or more nodes from the folder “Workflow Abstraction/Configuration” provides one or more items for the configuration window of the component. The settings in the configuration window for these nodes are passed into the configuration window of the component. You can give a component a more or less complex configuration window, by inserting more or less of the configuration-type nodes.

Note. This is a way to create a new node without coding! All of the node templates in “EXAMPLES/00_Components” in the KNIME Explorer panel (or here on the KNIME Hub) are actually components that have a configuration window.

Metanode or Component - What is the Difference?

Figure 3. Configuration nodes inside a component (left). The configuration window of the component will let the user select the desired options (right).

A component can be given a view

Components can get a view, metanodes cannot. 

Inserting one or more nodes from the folder “Workflow Abstraction/Widgets” means that you have one or more items for your component views. The interactive view of these nodes is passed into the interactive view of the component. Views with many items from many corresponding widget nodes are called composite views.

Metanode or Component - What is the Difference?

Figure 4. Widget nodes inside a component (left). Each widget node is shown in the interactive view of the component (right).

In addition, Widget node views inside the same component subscribe to the selection and visualization of the same data. This means that what is selected in the view of a plot, for example, is also selected (and can be visualized exclusively) in the view of another plot within the same view of the same component.

Metanode or Component - What is the Difference?

Figure 5. Component interactive view. Each visualization subscribes to the selection of the other plots, changing appearance accordingly.

You can give a component a more or less complex composite view, by inserting more or less complex, interactive, connected Widget-type nodes.

How to make the choice

At this point the choice is easy. Try asking yourself these questions:

  • Do you need a new node with configuration settings? -> a component
  • Do you need a node producing a composite view? -> a component
  • Do you have a huge workflow and you would like to remove some of the flow variables going around in the workflow? -> a component
  • Do you just need to make space in an overcrowded workflow? -> a metanode

Refer to this table summary showing what a metanode can do and what a component can do.

Metanode or Component - What is the Difference?

Resources

 

 

You may also like
Create

Time Series Analysis with Components

Time Series Forecasting Is Often Neglected says Professor Daniele Tonini "Considering the plethora of articles, applications, web tutorials and challenges on...

March 9, 2020 – by Corey Weisinger &  Daniele Tonini &  Maarit Widmann
News

KNIME Analytics Platform: Components are for Sharing

With this release we are continuing our progress toward a community oriented data science platform, adding lots of functionality that enables easier sharing with the KNIME Community. Most noticeably, of course, the KNIME Hub itself but there are also a number of changes in KNIME Analytics Platform making sharing and collaborating with the community easier...
June 27, 2019 – by Michael Berthold