Node-ID exposed as part of the JSON key

Dear all,

Context:

When invoking a knime workflow using REST, the outputValues field contains the JSON results of the "JSON Output" nodes. Knime automatically appends, as a suffix, the node-ID of the "JSON Output" node.

Issue:

Embedding the node ID hinders software evolution, as all client implementations have to be updated whenever the node ID changes.

Example:

...
"outputValues": {
 "ClinicalInfo-188": {
    ...
  }
}
...

Above, 188 is the node-id automatically added as a suffix by knime server. We could not find a way to disable the automatic addition of this node-ID suffix.

Node-ID is an internal detail of the implementation of a workflow. When "internal details" are changing, it should not impact the various clients that integrate with the Knime workflow.

Unsatisfactory workaround:

As a quick workaround, the clients could regex the JSON key (something like "ClinicalInfo*") instead of the looking-up the exact JSON key, but this is obviously not satisfactory.

Questions:

Is there a way to disable this automatic node-ID suffix that we might have missed ?

If not, could this be considered for a future knime release ?

Thanks,
Sebastien.

The node ID is required to make the output values unique. Especially if you are using (wrapped) metanodes it can happen that two output nodes have the same name which will break the JSON output. Your workaround is the way to go: the client should strip the node ID part. If it finds duplicates after stripping then it can raise an error.

The same happens on the server side for input values: you can pass them without the ID and if they are unique they will be applied. If the name is not unique then an error is raised.

Ok. Thanks for your reply.