-
Notifications
You must be signed in to change notification settings - Fork 100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add indexing properties on relationships, a.k.a. edge indexes #662
Comments
Hi @jhb! Definitely a helpful feature :) I/we would consider adding it in the short run, but since we are doing a significant rearchitecting of the Memgraph (project-pineapples branch), features like this are not a priority at the moment. Once we are done with the groundwork, we'll get back 😄 That being said, one alternative that doesn't require remodeling the whole graph is to store some form of node identifier on the edge (on the application side). If nodes are indexed based on the identifier, once you have an edge, it's possible to query the edge fast because you can access it via node. In other words, having the index on the app side. I know it might not be the perfect solution. Is that feasible in your case? |
Hi Marko, thanks a lot for your feedback, and of course for your work on memgraph in the first place. I am looking at different use cases at the moment. For my personal usecase, a generic graph editor (for knowlege management etc.) workarounds in the form of extra nodes that are indexed on behalf of edges might be doable. Those nodes become a bit of a hassle though because they need filtering in the app in all kinds of places - I guess indexing edges outside memgraph would be easier in that case (using a repository layer in front of the graph). For other use cases (graph analysis etc.) I would imagine the workarounds to become quite cumbersome, because there is not app to carry the extra logic most of the time, and those extra nodes might spoil the experience of interacting directly with the graph. Having said all this - there is no urgency, and I am looking forward to seeing what changes the pineapples will bring. Cheers J |
Added task to the backlog, although it's not a high priority, we can see what can we do about it at this point. |
+1 request for this feature |
+1 from the community |
+1 request for this feature |
1 similar comment
+1 request for this feature |
+1 here |
According to https://memgraph.com/docs/memgraph/reference-guide/indexing it is possible to create indexes on node properties, but no such functionality exists for edges.
IMHO there are a lot of use cases where import properties are put on edges - sometimes the edge properties are even more relevant than the node properties. E.g. I would like to find all edges that carry a certain date, or are within a range (if modeled with a start and end property). Or edges that carry a certain source of origin, and so on.
While surely the graph could be remodeled with edges as "connection nodes", making this a necessity is not really desirable for graph modeling, and somewhat defeats the purpose of graph databases. Also, competitors have this feature, and migrating data towards memgraph would then require remodeling the whole graph.
IMPORTANT:
PRs:
The text was updated successfully, but these errors were encountered: