Kungsgeten / org-brain

Org-mode wiki + concept-mapping
MIT License
1.72k stars 102 forks source link

Difference between C-u edge and plain edge? #398

Open borgauf opened 5 months ago

borgauf commented 5 months ago

I've created edges with both C-u e and just e. But there seems to be no difference. Is there supposed to be some sort of indication of direction if I do C-u e? For example, I have this visualization of B-Building as parent of two children Quad-Ba and Quad-Bb

B-Building

Quad-Ba Quad-Bb

With B-Building visualized, I put the cursor on the Quad-Ba, then C-u e and type in "is-in", which then adds the string

+BRAIN_EDGE_Quad-Ba: is-in

to B-Building.org. I intend this to be an edge pointing from child to parent, as child is in parent. But then I did the same for Quad-Bb except regular e no C-u then typed in "is-in" which again added

+BRAIN_EDGE_Quad-Ba: is-in

to the top of B-Building.org. Now B-Building.org contains

+BRAIN_EDGE_Quad-Bb: is-in

+BRAIN_EDGE_Quad-Ba: is-in

+BRAIN_CHILDREN: Quad-Ba Quad-Bb

+BRAIN_PARENTS: Facilities

i.e., no difference even though they were added differently. I understand this to say "Quad-Ba is in B-Building" so this could be interpreted as one-way from child to parent, but, again, there is no distinction given. On the other hand, if I wanted the edge to "point" from parent to child as, e.g., "B-Building has-a Quad-Ba" I don't seem to be able to do this.... Or am I getting this wrong somehow?

Kungsgeten commented 5 months ago

I haven't used the edge annotations much (and I'm not using org-brain that much these days, unfortunately). But if you're visualizing A and have the point at B, pressing e would make a two-way annotation like A <--> B, while C-u e would make a one-way annotation A --> B. If you're later visualizing B you would see the two-way annotation, but not if it was a one way annotation.

If you're at A I don´t think there's a command to annotate A <-- B. You'd have to visualize B, put the point over A and use C-u e.

borgauf commented 5 months ago

Okay, I did your last suggestion (viz B and point A then C-u e) and yes, it created in B file #+BRAIN_EDGE_A: is-in ... which can be interpreted as B is-in A. But then viz A and point B doesn't distinguish between e and C-u e, both produce the condition I mentioned originally. This is acceptable because one-way or both ways A ->/<-> B as long as there is A <- B is workable.

As I might have said before, I really appreciate org-brain because it offers org-mode the way it should have been done, i.e., graph and not just hierarchical outline. You've given org-mode a brain! The others are nice, however, e.g., org-roam, isn't really brainy enough.