Streaming and Batching Results of a Query

Hello,

I'm using the latest version of Neo4j container, I send queries to the database server using the Python connector. I have been googling and reading how to implement two use cases, but I didn't find any clear answer. I wonder if anyone can help or share some insight.

The use cases are the following:
1- Streaming: is it possible to stream the records while the query is being executed? i.e., instead of waiting until the query finishes execution to return all the records at once, return the records that you have so far while the query is still executing. Would using the Pyspark structured streaming connector help achieve this behaviour?

2- Batching: is it possible to retrieve the query result in batches? i.e., instead of retrieving the query results at once after the query execution finishes, return the results per user request (similar to how yield works in Python).

Thanks in advance,