> > if I defined a bidirectional relation between object A and object B > > and create a relation from A to B or from B to A the result is the same >
To me at the moment it looks like this: if you define a relation from A to B it is only possible to create relations from A to B and not the other way around.(and if by misake you reverse the source and destination node some code in the mmbase core swaps them back) So basicaly all relations in mmbase are unidirectional. unidirectional meaning that a relation may only exist from nodes of type A to nodes of type B.(if type a and type b are the same. the system works in a complete new manner) Most queries like the getRelatedNodes etc still return "reversed" relations (if I query B for related nodes I it possible to get nodes back of type A but still the relation is from node of type A to node of type B) multiple "hacks" exist to remove this sometimes unwanted behaviour. the BIDIRECTIONAL/UNIDIRECTIONAL: prevents that relation nodes where snumber != source node are returned and thus has nothing to do with directionality(actualy it is very confusing) At this point i think it's not really possible but I can think of 2 solutions -defined 2 unidireational relations (one from A to B and one from B to A). I haven't tested this and it's far from optimal because:you might get double nodes if you are not searching for source or destination. did somebody test this? -add a field to the relations that ls tell wat direction the relation was created and remove the "field swap" hack any comments? > > I should add, I'm still confused about directionality in mmbase. > > $2c, > *pike
