I forgot to add another recurrent issue that can be solved with indexed
relationships: guaranteed unicity constraints.
> From: pd_aficion...@hotmail.com
> To: user@lists.neo4j.org
> Date: Mon, 4 Jul 2011 01:55:08 +0200
> Subject: [Neo4j] Indexed relationships
>
>
> In the thread [Neo4j] traversing densely populated nodes we discussed the
> problems arising when large numbers of relationships are added to the same
> node.
> Over the weekend, I have worked on a solution for the
> dense-relationship-nodes using SortedTree in the neo-graph-collections
> component. After some minor tweaks to the implementation of SortedTree, I
> have managed to get a workable solution, where two nodes are not directly
> linked by a relationship, but by means of a BTree (entirely stored in the
> graph).
> Before continuing this work, I'd like to have a discussion about features,
> since what we have now is not just a solution for the dense populated node
> issue, but is actually a full fledges indexed relationship, which makes it
> suitable for other purposes too.
> An indexed relationship can for example be used to maintain a sorted set of
> relationships in the graph, that is not necessarily huge, but large enough to
> make sorting on internal memory too expensive an operation, or situations
> where only one out of a large number of relationships is actually traversed
> in most cases.
> There are probably more use cases for in-graph indexed relationships, so I'd
> like to know what features are desirable and what API would Neo4J users
> appreciate.
> P.S. I still think it would be good to consider, if technically possible,
> partitioning the relationship store per relationship type and per direction.
> The indexed relationship solution works, but is of course slower than a
> direct relationship, both with respect to insert time and traversal time. If
> dense relationships are never traversed going out of the dense node, the
> extra structure maintained by the BTree is only extra burden.
> P.P.S. If there are people with experience to make an implementation thread
> safe, please volunteer to help make the implementation production proof.
> Niels
> _______________________________________________
> Neo4j mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user
_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user