Hi all, I am going through the way to do traversals in Neo4j, and just come up with a question in relationship store. They are: 33 bytes:1in-use-byte,4 bytes: fistNode,4secondNode, 4 bytes: relationshipType, 4 bytes: start node previous relationship(SP) , 4 bytes: start node next relationship(SN), 4 bytes: end node previous relationship(EP), 4 bytes: end node next relationship(EN). My problem is, why are two fields for previous relationship(SP and EP) useful at all?
The way node store file is organized such that only the index of first property and first relationship is stored. When I do paper simulations for traversal, I could see some pattern happen, eg. Node -> First Relaitonship.SN(start next) -> Second Relationship.SN(start next) -> Third Relationship.EN(end next) ... and so forth. The point I'm trying to make here is that, our traversal target can either be organized as the start or end node of the relationship, thus when going through the traversal, it make sense to see either SN or EN pointer in relationship being fetched. However, it seems to me that existence of previous pointers (SP and EP) does not seem to be useful in traversal? There doesn't seem to be a situation where you need to go back in the traversal? Even if we want to insert a new relationship between the start and the end node, we can just append another relationship to the end of chain. Would you mind providing me with one case that SP and EP indexes are useful? Yours Sincerely, Jer -- You received this message because you are subscribed to the Google Groups "Neo4j" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
