Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Eliminate wrong assumptions about "terminal" nodes #583

Open
soxofaan opened this issue Jul 1, 2024 · 2 comments
Open

Eliminate wrong assumptions about "terminal" nodes #583

soxofaan opened this issue Jul 1, 2024 · 2 comments

Comments

@soxofaan
Copy link
Member

soxofaan commented Jul 1, 2024

The process graph building logic in Python client quite heavily works from assumption about the equivalence

"end node" = "result node" = "save_result"

which works for most use cases, but that's not fully in line with full openEO API.

also see Open-EO/openeo-geopyspark-driver#424 (comment):

Some more insights from Open-EO/openeo-processes#279 and Open-EO/openeo-api#427 about different kinds of terminal nodes in the openEO API

  • a process graph can have multiple "end nodes": leaf nodes that are not input to another node
  • a process graph must have one "result node": node with "result": True.
    • The result node is actually just important in the the context of a "callback" (in a "parent" process like apply, reduce_dimension, ...) to determine the value that has to be used by the parent process
    • The "result" property has little meaning for "top-level" graphs
  • the result node does not have to be an "end node". Result nodes can be input to subsequent nodes
  • a "save_result" node neither has to be "end node" or "result node" to be executed
soxofaan added a commit that referenced this issue Sep 24, 2024
- Check whole process graph for pre-existing `save_result` nodes, not just final node
- Disallow ambiguity of combining explicit `save_result` and download/create_job with format
soxofaan added a commit that referenced this issue Sep 25, 2024
…583, #391)

Make it more consistent with `download`
soxofaan added a commit that referenced this issue Sep 25, 2024
- Check whole process graph for pre-existing `save_result` nodes, not just final node
- Disallow ambiguity of combining explicit `save_result` and download/create_job with format
soxofaan added a commit that referenced this issue Sep 25, 2024
…583, #391)

Make it more consistent with `download`
@m-mohr
Copy link
Member

m-mohr commented Nov 7, 2024

Just a short note regarding "The "result" property has little meaning for "top-level" graphs": This is only true when submitted for execution. If stored as a UDP, it actually has a meaning as it's the return value of the UDP.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants