Allison-E / pg-age

Apache License 2.0
10 stars 4 forks source link

ExecuteQueryAsync without the surrounding SELECT AS #6

Open matt-gribben opened 3 months ago

matt-gribben commented 3 months ago

First off, well done making this project. It's a great starting point for migrating to AGE.

What would be ideal though is the ability to execute a cypher query without having to also include the surrounding SELECT * FROM ... AS ( x agetype).

That would make it significantly easier to lift and shift from our existing Neo4j package (https://github.com/DotNet4Neo4j/Neo4jClient). In that package for example, we use ExecuteGetCypherResultsAsync. It would be amazing to just swap out to a similar function in your package.

Allison-E commented 3 months ago

Hi, @matt-gribben. Thank you for this suggestion. I agree with you that the surrounding SELECT * FROM cypher(...) AS ... should be removed, which I hope to do soonest.

I'm just learning about the Neo4jClient. It'll be great to have it easy to migrate from that package to this one. I'm considering that AGE runs on PostgreSQL and allows hybrid queries (Cypher in SQL and SQL in Cypher). Hopefully, it won't be a hindrance to implementing this.

matt-gribben commented 3 months ago

@Allison-E with regards to the hybrid queries, these are the primary reason I'm looking at moving from neo4j.

You could have a hybrid query specific execution function that let's you specify the SQL half of the function, and possibly utilise the fluent query builder approach that the neo4j package uses (we use that extensively)

Allison-E commented 3 months ago

That should work, @matt-gribben. Thanks!