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.

Reply via email to