3

Mind map data starts with a core theme and branches out into many branches similar to a tree. However nodes may have relationships with each other in different branches.

Here is an example without the inter relationships http://www.identitywoman.net/personal-data-list-in-mind-map-form

The final data set will be tens of thousands, should I uses SQL, XML, NO SQL, graph database or something else?

I will need the community to help me build the contents out and the relationships may shift and change

  • Define "huge": millions of nodes? size of nodes (e.g. attached docs or images)? – APC Mar 07 '12 at 17:51
  • 3
    I have only recently discovered this, so I'm hesitant to make this an answer, but you could use a graph database such as http://neo4j.org/ – Jody Mar 08 '12 at 01:13
  • @EricBrooke , that seems like a bad mindmap. Maybe you accidentally wrote "brain dump" when searching for "how to make mind map". – tereško Mar 08 '12 at 09:02

4 Answers4

1

As the dataset is large, and total interrelationships probably quite large, a key factor is what you will be doig with this data. Generating simple hierarchical sets and subsets? Drawing complex charts? Carefully sifting through subtle interlinkages looking for significant trends or tendancies (aka data mining)? The data could be stored in any of a number of likely formats, so how you intend to use it will be a big factor in determining how to store it.

Philip Kelley
  • 39,426
  • 11
  • 57
  • 92
  • It will be complex because of the relationships. The structure will start off one way but as the community gets involved we will probably learn new things, hence the relationships may change and to some degree the schema. –  Mar 08 '12 at 17:17
1

Graph databases are well suited to this problem as their storage design matches the problem domain.

If the maps are separate then scaling won't be a problem as separate trees can go on different machines. If the maps are all interlinked then horizontal scaling becomes more challenging.

Ben
  • 10,931
  • 9
  • 38
  • 47
0

One easy solution is to look at mindly's example :) Basically they showed that a mind map is just a glorified outline where each indentation is simply an unsorted list of child details that sometimes have child details as well.

codykochmann
  • 347
  • 1
  • 10
0

Data that is meant to be primarily relational should be housed within a relational database, using a relational database management system (RDBMS) like MySQL, Postgre, Oracle, etc. RDBMS are tuned to deal with many, many relations like you might find in a mind-map.

That said, a very large mind-map that is accessed often would likely benefit from some sort of caching system, but that subject feels off topic for the question.

incredimike
  • 486
  • 3
  • 11