Here is an example of the information I have in my head, that I need to capture:

 - Cows can be used in Milk Production
 - Goats can be used in Milk Production
 - Cows can be used in Meat Production
 - Goats can be used in Hair Production
 - Farmer A is involved in Milk Production, using Cows.
 - Farmer A is involved in Hair Production, using Goats

The problem is that if you make:

 - a Cow thought that links to Milk Production, and to Meat Production
 - a Goat thought that links Milk Production, and to Hair Production
 - a Farmer A thought that links to
     - Milk Production
     - Hair Production
     - Cows
     - Goats

then it looks like Farmer A is connected to Milk production via Goats. 

Farmer A ended up appearing connected to Milk Production via Goats just because Goats can be used for that.

But Farmer A is only connected to Milk Production via Cows.

How do you represent this correctly?    How do you enable this Brain to answer the question "how many farmers with Goats are involved in Milk Production with those Goats?"

(note: my actual challenge relates to representing SW development companies, products, technologies, languages used etc to produce them, but the farm analogy is simpler!  However, if it helps, how do you represent that a company that builds back end Web Servers and front end Web Apps, and uses Javascript for front end Web Apps, is not a user of Javascript for back end?   Or to put it even more pertinently, how do you count all companies that make Javascript back end web servers, and not end up counting this company?)

Would this Work?

macOS 10.13
TheBrain 9.0.250
I'm not clear how you got the second and third pictures from the same Brain.

In the second picture, Goats have Hair, Meat, and Milk under them.   That's good.

In the third picture, suddenly it appears that Goats have "Goats, Milk" under them.    

I guess it's clear that it would not be workable to have "Milk" and "Goats, Milk" both under Goats.   

But it's not clear how you achieved having "Milk" appear sometimes under "Goats" and "Goats, Milk" appear other times?

In v9 Preferences > Look & Feel, make sure Context Sensitive thought names is checked. 

When you create a thought you can type ", [name]" and it will insert the parent name prior to the comma. You can also append the comma and it will append the thought name. Then when that thought is active, it will show the entire thought name, but when the parent is active it will only show the unique portion of the name.

Note that you can also do it when not creating the thought, but you will have to type in the entire [Parent], [Unique] name.
macOS 10.13
TheBrain 9.0.250

Thank you for always being willing (and quick) to help.


I'd like to add that when using the comma trick [Parent], [Unique] names that this can be used multiple generations deep. When it is used more than 2 in a row it tends to be too long to see the actual name of the Thought. The comma trick can be applied after the name as well: [Unique], [Parent], [Grandparent]. And in any order you wish: [Grandparent], [Unique], [Parent], [Great-Grandparent]. As long as each preceding generation uses the comma trick, this can be used indefinitely.

Cheers, Sean
Thanks to both of you for opening the door to comma tricks.

I'm experimenting with this now.
I'm definitely not "getting it" - I guess I'm missing something simple.

Here is my "setup":

Screenshot 2017-11-02 13.21.31.png 
We can see that we have

  • Cows and Goats under Animals
  • Cows and Goats under Milk Production
  • Cows and Goats under Meat Production
  • Goats under Hair Production
What do I do to get Farmer A connected up to Hair Production, Goats ?
I don't know if this would work for your purposes, but you could use named links (instead of thoughts) for all the "Farming Activities".
  • If farmers engage in only one type of farming activity, this would mean using the named link "Hair" to connect Farmer A to Goats.
  • If farmers engage in multiple types of farming activities, you could adjust the link types accordingly: "Hair & Milk", "Hair & Meat & Milk", etc.

Since links can include notes, additional details about the farming activities specific to Farmer A and his goats could be included in the notes for the connecting link between Farmer A and his Goats.

In addition, you will be able to create a variety of different reports using link types, so this will provide additional flexibility in reviewing your farming activity data.
For the example I used I created the parent thoughts:
  • Goats
  • Cows
Under the Goat Parent thought I created the following:
  • Goats, Milk
  • Goats, Hair
  • Goats, Meat

I then did the same thing under Cows, except I used  Cows, Milk... etc. 
macOS 10.13
TheBrain 9.0.250
metta wrote:
I don't know if this would work for your purposes, but you could use named links (instead of thoughts) for all the "Farming Activities".
  • If farmers engage in only one type of farming activity, this would mean using the named link "Hair" to connect Farmer A to Goats.
  • If farmers engage in multiple types of farming activities, you could adjust the link types accordingly: "Hair & Milk", "Hair & Meat & Milk", etc.

Something like this could be done for the specific "example problem" that I gave, but it doesn't scale.

As soon as you have more than a few things, you can see that you would have exponentially more links.

But more fundamentally, the problem is that Hair and Milk are thoughts.   They have relationships to other thoughts.

What I need to be able to say is that FarmerA is linked to Milk _because of_ Cows.   Milk and Cows are both thoughts in their own right.

Maybe it would help to get real.

FWIW, In real life, the problem I am currently tackling is mapping Software Development companies, and the technologies they use.

So there are languages like Python and Javascript, C, C++.

And there are technologies like Backend Servers and FrontEnd Web Apps, Mobile Apps, Desktop Apps.

So a Company might do Desktop Apps and Embedded Apps.   They use C++ _because of_ their work in Embdded.     They use Python _because of_ their work in Desktop.

They don't use C++ in their Desktop Apps.  

But I can't find a way to connect these thoughts in such a way that there is a difference between the link from the Company to C++ and from the Company to Python.

TheBrain doesn't seem to be able to "naturally and scalably" capture these two different relationships.

I can't do as zenrain suggested either, because that doesn't scale.  It would mean putting every technology _under_ every language: IE a node for every combination.

Before I try to think through the details and implications of your "real world" example, I have one question about your farming example.

Question: Is it absolutely necessary for the farming activities (Hair, Milk, Meat) to exist as separate thoughts?

The reason I ask is this:
  • In my named link example above, I had assumed there would be NO thought types for ANY of the farming activities, only LINK types.
  • With this assumption, the total number of links would actually be reduced because the only thoughts that would need to be connected are (1) farmers and (2) animals.

To clarify the name link example further, I was suggesting the "because of" relationship would look like this:
  • Farmer A (thought) + Goats (thought) are linked "because of" milk production.
  • Hence "Milk" becomes the named (connecting) link between Farmer A & Goats:
                             Farmer A (thought) <----Milk (link)----> Goats (thought)

I hasten to add: if farming activities must exist as separate thoughts, then this approach would not work.

However, if there is flexibility in how the farming activities are represented (i.e., displaying them as links instead of thoughts), then I'd be interested to see how this named link strategy might be applied to your real world example.

Thanks very much for persisting with this analysis - I really appreciate it.

I think the idea of using a "Link Type" for the previous example is very neat.  

I can see that in some cases it will make sense, and it is a useful "mental model" to have available.

Unfortunately, in reality I think that the entities involved do need to be thoughts.

What I've come to realise is that the analogy is not holding up largely because Goats Milk and Cows Milk are actually different things.     So this mismatch in the analogy gets in the way.

But I think an analogy is possibly still the best way to go.

So how about this closer analogy.   We are analysing the construction industry, because we are in the construction tool hire business.

Here are the thoughts we want to represent:

There are different "kinds of things" that construction companies can build:  Roads, Bridges, Buildings.  
There are different tools/equipment that companies may use.   Cranes, Ladders, Diggers. 

Some of these can be used for some things you build, but not others.

Ladders are use for everything.

Cranes are used in Buildings and Bridges.

Diggers are used for Roads and Buildings.

Company A builds Buildings and Bridges.

Company B builds Roads

So far so good:

Screenshot 2017-11-04 15.11.00.png 
But now:

Company A uses Ladders for Buildings.

Company A uses Cranes for Bridges.   As it happens, they don't build the kind of Buildings that need Cranes.

Company B uses Diggers for Roads.   But they never chose to use Ladders.

How do I say "Company A is related to Ladders _for_ or _through_ Buildings"?

To represent "Company A is related to Ladders _for_ Buildings": Create a thought "Ladders, Company A". Make this a child of Ladders and of Company A. Make it a parent of Buildings.

To represent "Company A is related to Ladders _through_ Buildings" Create a thought "Buildings, Company A." Make this a child of Buildings and Company A. Make it a parent of Ladders.

Thanks - I suspect that this is what zenrain tried to tell me, but I didnt properly appreciate the role of the "join" thought.

Why does the "join" thought behave "asymetrically".

IE when I follow your instructions, and click on "Company A", then the join thought shows up as "Ladders".

But when I click on "Ladders", it shows up as "Ladders, Company A".   I don't have a handle on what this different behaviour represents.    What is the "semantic difference" between "Company A" and "Ladders" in this thought process, such that one has a special relationship to the join thought and the other does not?

^^^  Wrong.

I think I made a mistake somewhere - now that I have double checked, I get "symmetrical" behaviour.

^^ Update: I had my mouse over the join node, which causes it to display the full title [smile]

So this is looking promising: I just need to get my head around how it scales [smile]

Thanks again.

Quick update: this method completely solved the Companies and Building Tools problem I set above.

I'm going back to my original real-life problem to try it there, fingers crossed [smile]

Add a Website Forum to your website.

Newsletter Signup  Newsletter        Visit TheBrain Blog   Blog       Follow us on Twitter   Twitter       Like Us on Facebook   Facebook         Circle Us on Google+  Google         Watch Us on Youtube  YouTube       

TheBrain Mind Map & Mindmapping Software     Download TheBrain Mind Mapping Software