Skip to content

Commit 6a62ff8

Browse files
m-mohrsoxofaan
andauthored
Clarifies the terms "end"/"result" nodes and "root"/"child" process graphs (#572)
* Clarified the relation between "result nodes" and "end nodes", the usage of the `result` flag, and the relation between the outermost ("root") and "child" process graphs #547 * Update openapi.yaml Co-authored-by: Stefaan Lippens <[email protected]> --------- Co-authored-by: Stefaan Lippens <[email protected]>
1 parent a2a80cb commit 6a62ff8

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4141
- Clarified the behaviour of `federation:backends` for `POST /validation`
4242
- Clarified the meaning of `expires` in batch job results
4343
- Clarified that `last_successful_check` (from Federation Extension) can be null.
44+
- Clarified the relation between result and end nodes, the usage of the result flag, and the relation between the outermost ("root") and child process graphs [#547](https://github.com/Open-EO/openeo-api/issues/547)
4445
- Fixed various OpenAPI issues reported by redocly lint
4546

4647
## [1.2.0] - 2021-05-25

openapi.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -323,10 +323,14 @@ info:
323323
```
324324
A process node MUST always contain key-value-pairs named `process_id` and `arguments`. It MAY contain a `description`.
325325
326-
One of the nodes in a map of processes (the final one) MUST have the `result` flag set to `true`, all the other nodes can omit it as the default value is `false`. Having such a node is important as multiple end nodes are possible, but in most use cases it is important to exactly specify the return value to be used by other processes. Each child process graph must also specify a result node similar to the "main" process graph.
327-
328326
`process_id` MUST be a valid process ID in the `namespace` given. Clients SHOULD warn the user if a user-defined process is added with the same identifier as one of the predefined process.
329327
328+
In the following, "end node" (also known as "leaf node") defines a node that is not referenced by any other node in the same process graph. The "root process graph" is the outermost process graph, which is not part of any other process graph.
329+
330+
A "result node" is a node (often an end node, but that's not required) that defines the return value of the process graph and has the `result` flag set to `true`. Exactly one of the nodes in a map of processes MUST have the `result` flag set to `true`, all the other nodes can omit it as the default value is `false`. Each child process graph MUST specify its own result node. The root process graph MUST also specify a result node although not strictly needed in all use cases.
331+
332+
Having a result node is important as multiple end nodes are possible and in many use cases it is important to identify a specific return value for the process graph that is passed to other processes. The result node is not necessarily an end node.
333+
330334
### Arguments
331335
332336
A process can have an arbitrary number of arguments. Their name and value are specified
@@ -437,7 +441,7 @@ info:
437441
438442
### Full example for an EVI computation
439443
440-
Deriving minimum EVI (Enhanced Vegetation Index) measurements over pixel time series of Sentinel-2 imagery. The main process graph in blue, child process graphs in yellow:
444+
Deriving minimum EVI (Enhanced Vegetation Index) measurements over pixel time series of Sentinel-2 imagery. The root process graph in blue, child process graphs in yellow:
441445
442446
![Graph with processing instructions](assets/pg-evi-example.png)
443447

0 commit comments

Comments
 (0)