Search x then y
When "crawling the brain" you cannot set the search path finely enough. For example scenario #2 in this post cannot be done:
Here what I would like to be able to do:
Start searching the children of a given active node. And then I would like that search path to crawl the children's jump and parent nodes (excluding the active node). Current the system is limited to crawling only one set of directions. Unfortunately if I want to crawl and find other alternate parents of the child nodes of an active node it cannot be done. This is also true of jump nodes.
So for example if I have the following:
- an active node with 10,000 children.
- of those 10,000 children 300 of them have parents other than the active node
- of those 10,000 children 500 of them have jump nodes
I cannot search the 300 parents or the 500 jump nodes.
I am requesting that the "crawl" function be expanded to work in this way. There are so many situations in which I have an active node and I know I need to search an area of the brain that is a child area in relation to that active node. But I certainly don't want to limit my results by only the children of the children. I merely want to limit the start of my search by the children of the active node. In other words I want to point the search in the right direction, have it take the right "freeway exit", go down the right irrigation channel, take the right hiking trail at a divergence in the woods, etc. (hopefully you get the idea). Beyond that first hop I would like to search everything, or optionally search one or more link types. I think this logic is fairly straight forward, just give the brain a starting direction.
Consider this scenario:
- an active node with 10,000 children
- of those 10,000 children 300 of them have parents other than the active node
- the alternate parents of those 300 children have an additional 100 children
I want to include those 100 children in my search. They are only 3 hops away, in the correct area of the brain that I want. If I could point the brain in the right direction (children of the active node) and then let it search both children and parents I would find those 100 children. Naturally you would have to build in the logic to track the path and exclude nodes from previous hops from the search path in order to prevent circular searching. But that is merely an implementation detail, easy for computers to handle. I think the idea here is fairly clear and logical. Let me know if it is not.
In the end what I am trying to accomplish is to search an "area" of the brain. Currently area searches either exclude or include too much data making them useful only with limited data structures (namely simple hierarchy). Data structures that are more complex (yet still divided into general "areas") are difficult to search because the results are not accurate, usually there are nodes in the area that don't get searched at all. This makes the current "crawl" feature useless in many cases.
So here is the deal, you have built a tool that is designed to allow infinite cross linking of nodes. You have set the system up to handle non-hierarchical and hierarchical systems intermeshed in complex ways. In other words, your software handles the messy relationships that other software companies don't want to touch. So why is your search function like the other guys? Why are you cutting off access to the very thing that makes you guys better than everyone else? Leverage what you already have, relationships. Upgrade the search and let me search my digital brain the way I search my real biological one.
Cheers.