One thing I would love to have is to use your "tool" as a widget. Specifying the source data and so on. I will use it as a mind mapping tool so I need the hability to work with it inside a tiddler in full screen for example. The searching function is cool but I want to go much further.
Regards
To me, a graph displays relations between tiddlers and the overhead of having to use dedicated tags to relate tiddlers to a given view seems redundant, to some extend bloating a tiddlers metadata.
So, my train of thought is... Why not keep those "graph views" as a self-contained entities that are independent from the tiddlers they represent, in terms of constraint requirements?
While being able to filter a view based on tags sure is a great feature, I would say that to actually model a view should not (necessarily) depend on a given tag-filter constraint. Why? Because, at some point you eventually may want a whole range of constraints, e.g. field constraints with tiddlers having field x of value y or some value <= z, etc... or a modified date < dadada.
Makes sense?
Perhaps it's a question of how the workflow of modeling a graph is envisioned.
For me it's this:
- define view (name ...may at some point even require an additional category(tag) )
- add / create nodes (easily select existing tids)
- add / define edges
So, these questions may be interesting to perhaps (re)consider...
- What defines the set of nodes that are represented in a graph?
- Are edges part of a dedicated view?
- In other words, do I want all edges in a view, just because some (tag)filter expression says the corresponding tiddlers match?
- Or: How could I make differentent kinds of edges appear in different views with the same tiddlers?
Right now, I guess, it is all set up such that the nodes and actions are global, i.e. all views share the same underlying node-tree.
Hi Felix,
This is really cool! How could I get it?
For example, let's say I have the tids...I may want one graph for general relationships showing...
- Mum
- Dad
- Kiddo
Mum => parent of => Kiddo
Dad => parent of => Kiddo
Mum => married to => Dad (btw. can an edge be bidirectional?)
...and another more task oriented graph that shows...
Dad => brings to school => Kiddo
Mum => brings to bed => Kiddo
Dad => brings flowers for => Mum
Hi Felix,
This is really cool! How could I get it?
To me, a graph displays relations between tiddlers and the overhead of having to use dedicated tags to relate tiddlers to a given view seems redundant, to some extend bloating a tiddlers metadata.
Make your core thing work. Extensions can be made later.
Thanks for taking the time to explain your concept in detail, much appreciated!
It all sounds very reasonable, especially that...
- it's entirely possible to (later) add individual tiddlers to a filter expression in order to define a view
- one will be able to classify / select edge-types and thus model different representations on the same set of tiddlers, thus different graphs
graph, kraph, graf, or kraf (k=küppers, f=felix ;-)
One more thing, it's probably a small thing for you but a big step for humanity, being able to create a tiddler for a view in which one can put some info about what we're seeing in the graph, which perhaps also provides a button to open the graph-viewer with the corresponding view.
By the way I created a remember choice button (screenshot) so when you are working on a view/graph with only isolated edges you do not have to select your view all the time.