Always bet on PostgreSQL!<p>I hope AGE matures a bit in the future. There are lots of use cases for Graph Databases. One I'm interested in is bitemporality. It's easy to use ltree or CTE for tree-like structures. But what if you want to move nodes in the graph at certain times? Like a device being scheduled to be in different rooms across time. And also the history of those schedules. In a graph database you can label edges with temporal attributes and then query for a view of the graph at a certain point in time and in a certain history state by filtering the edges.
What subset of the openCypher dialect specification will Apache Age support?<p>Every implementation is all over the place and completely non-portable. And neo4j performance leaves much to be desired.<p>My personal go-to is RedisGraph paired with RedisInsight for the instant visualizations. It just feels "right" and, while not perfect, is overall intuitive.
Anyone tried this? How does the performance compare to neo4j and RedisGraph?<p>I’m about to give RedisGraph a try and I guess I will try this one a go as well.
This is written in C. I wonder how common it is to write PG extensions in safer langugaes and what would be the most suitable.<p>I'm somewhat wary of using nontrivial C extensions, having seen so many of them sometimes seg fault the backend (eg PostGIS). There seem to be PG backend crashes described in this projects issues as well.
I'm considering using a graph database for a SaaS product. If I used Apache AGE, I would probably have a "graph" for each customer to partition the data. Are there any downsides or limitations to having thousands of separate graphs?<p>From the documentation it seems that each graph will use a separate "namespace" in Postgres. Are there any performance costs of switching namespaces for each query?<p>Or do you recommend that we use a single graph with a label per customer? This option seems like it could open up some security issues if some queries forget to add this label. By using a separate graph per customer, the query will need to have a valid graph name for a customer to return any data. If it is filtered by a label, you can easily forget to add it and think everything is OK because it actually returns results.
I might try running this with Docker just to try it out, but probably this is the type of project to watch and wait for maturity.<p>I am a big fan of graph databases. Professionally I have used RDF data stores with SPARQL queries and Google’s Knowledge Graph with a pattern matching query mode. I play around with Neo4J, but no one has paid me to use it yet.<p>I think it very likely that in a year or two AGE will get better Cypher query language support and other changes, and should be a wonderful platform for combining relational and graph data stores.
Apache AGE Discord<p><a href="https://discord.com/invite/NMsBs9X8Ss" rel="nofollow">https://discord.com/invite/NMsBs9X8Ss</a>
Could it be efficient to use Apache AGE for e.g. retrieving all comments on an article?<p>Currently I’m using materialized paths to efficiency return all commments but would be keen to know if AGE can help query comments for an article more powerfully.
This is a great project, but last time I checked it was lacking a lot of CYPHER features and wasn’t moving very fast forward. But I’m hoping it will catch up to the point it will become useful.
has anyone here worked on graph neural networks ? basically creating embeddings for node based on their edge connectivity (or reachability) and using that for neural networks ?<p>how do you do this at scale ?its generally a NP hard problem, but wondering whether something like AGE helps.<p>not sure how Google, etc or even someone on fraud detection does this at scale
I create a DAG using recursive sql. I assume that saving data in a graph and querying the graph with a native graph language would be faster. Has anyone benchmarked performance differences between the two?