Extracting return values from a query without actually running it

Is there a clever way to extract the final resulting variables returned by a neo4j query in a performant manner?

Just as an example:

MATCH p=(n)-[r]->(m) RETURN n,r,m

I want to extract n,r,m

A more complicated query would be something like:

MATCH p=(n)-[r]->(m) RETURN n,r,m AS computers LIMIT 5

In this case, I would want n,r,computers

My initial attempt at this involved using the EXPLAIN keyword and trying to pull the variables out of there, but explain doesn't give you the final resulting parameters, only the steps along the way. String processing would be extremely difficult with the many different forms of Cypher queries possible. The database knows what rows are being returned at the end of execution, so is there a way to ask the database for this information WITHOUT actually executing the query?