Live data from Hacker News

Show HN: EdgeDB 1.0

edgedb.com

51–60 of 332 posts

Re: Show HN: EdgeDB 1.0

#52

Won't the functional variant read better than the SQL dialect movie_reviews .filter(_.actor.name.lowercase() == "Zendaya") .groupBy(_.title, _.credit_order, avg(_.ratings)) .sortBy(_.credit_order) .take(5) vs. select Movie { title, rating := math::mean(.ratings.score) actors: { name } order by @credits_order limit 5, } filter "Zendaya" in .actors.name

It's a matter of taste. We decided to do a "looks like SQL + GraphQL" style because that's what most people are familiar when they think about a query language.

That said, the functional variant is a likely way to represent EdgeQL in programming languages.

Re: Show HN: EdgeDB 1.0

#53
post #48

On https://www.edgedb.com/tutorial/basic-queries/objects , if I change "SELECT User.name;" to "SELECT User.Name;" the page crashes with, "Application error: a client-side exception has occurred." It crashes on Chrome and Edge.

We'll take a look, should be a quick fix.

Re: Show HN: EdgeDB 1.0

#54

Won't the functional variant read better than the SQL dialect movie_reviews .filter(_.actor.name.lowercase() == "Zendaya") .groupBy(_.title, _.credit_order, avg(_.ratings)) .sortBy(_.credit_order) .take(5) vs. select Movie { title, rating := math::mean(.ratings.score) actors: { name } order by @credits_order limit 5, } filter "Zendaya" in .actors.name

Keep in mind that EdgeQL is a query language that can be used from any programming language (either over the official libraries, or over HTTP). Functional JS-inspired dialects aren't appealing to everybody.

Re: Show HN: EdgeDB 1.0

#55

Could someone explain what a graph-relational database is? I'm not able to extract a technical definition from the paragraph below: "What is a graph-relational database? EdgeDB is built on an extension of the relational data model that we call the graph-relational model. This model completely eliminates the object-relational impedance mismatch while retaining the solid basis of and performance of the classic relation…

(EdgeDB CTO here) In a classic relational model everything is a tuple containing scalar values. Graph-relational extends the relational data model in three ways: - every relation always has a global immutable key independent of data (explicit autoincrement keys aren't needed) - this enables us to add a "reference type", which is essentially a pointer to some other record (i.e. a foreign key) - attributes can be set-v…

put this straight onto your marketing page please!

Re: Show HN: EdgeDB 1.0

#59

The query language reminds me a lot of JPA, which makes sense because this is essentially an ORM layer on top of Postgres.

Oh, EdgeDB is so much more than "basically an ORM layer". I suggest to scroll to the bottom of our home page edgedb.com and read the dedicated FAQ entry. I just don't want to restate the entire explanation here.

Re: Show HN: EdgeDB 1.0

#60

Won't the functional variant read better than the SQL dialect movie_reviews .filter(_.actor.name.lowercase() == "Zendaya") .groupBy(_.title, _.credit_order, avg(_.ratings)) .sortBy(_.credit_order) .take(5) vs. select Movie { title, rating := math::mean(.ratings.score) actors: { name } order by @credits_order limit 5, } filter "Zendaya" in .actors.name

I like the flow of yours, but it doesn't capture the GraphQL piece. Where do you specify the nested limit and desired fields for the inner "actors"?
Post reply on HN