Using TiddlyWiki for fact-based information modelling and database engineering ???

725 views
Skip to first unread message

Charlie Veniot

unread,
Nov 13, 2020, 9:00:31 PM11/13/20
to TiddlyWiki
Project (early beginnings): ORM-ish à la TiddlyWiki

What if TiddlyWiki could be used to document a "Universe of Discourse" with elementary facts expressed in natural language, which could then be used to generate:

  • database creation scripts
  • generate plain text language as input for diagramming tools

For the last twenty years, I've been interested Object-Role Modelling and Fully Communication Oriented Information Modelling, with more of an interest in natural language versus diagrams (I rarely find diagrams very useful for in-depth discussion of domain knowledge.) Being a huge fan of wikis in general (TiddlyWiki in particular), I have long wondered about the possibility of using a wiki to generate database creation scripts.

Time to scratch that itch ...

Well, might call it quits if and when it gets painful...

Screenshot of the "Building" entity:

Screenshot 2020-11-13 at 9.56.25 PM.png


TW Tones

unread,
Nov 14, 2020, 12:21:39 AM11/14/20
to TiddlyWiki
Charlie,

Very interesting project of yours. I have being thinking something similar in our description of images, we have a rich  natural languages,  yet it remains hard to describe an image or object, you have to use a design tool, rather than words. Using well known objects as starting objects then modifying them with words, eg "a table with legs a third of the length", may describe a coffee table, and be able to draw it for us.

I will watch you progress with interest.

Tones

Charlie Veniot

unread,
Nov 14, 2020, 11:58:31 PM11/14/20
to TiddlyWiki

I've done a fair number of updates re cosmetics, a bit more additions to handle basic attributes (à la UML classes) or "value types" (à la ORM), and modularisation via transclusion templates.

Dissect the TiddlyWiki for your own adventure.  For your interest and convenience, I've plastered below the "code" that generates a summary of database details for the "Building"  entity.

Cheers !

Screenshot 2020-11-15 at 12.29.05 AM.png

<$vars DBL="[[" DBR="]]">

<table>
  <caption style="caption-side:top;border:solid;background-color:LightYellow;"><b>{{!!title}}</b></caption>

  <!-- 🔴 Attributes  -->
  <tr><th colspan="6"><i> attributes </i></th></tr>

  <tr>
    <th></th><th>name</th> <th>data type</th> <th>max size</th> <th>Not null</th> <th>Unique</th>
  </tr>

  <$list filter ="[contains:coded<currentTiddler>]">
  <$vars vKey={{{ [all[current]tags[]]+[match[PK]] }}}>
      <$list filter ="[all[current]get[coded]]">
        <tr>
          <$vars vNotNull={{{[all[current]split[ ]nth[2]split[:]nth[2]] +[removesuffix<DBR>] ☑ +[replace[1]] [[ ]] +[replace[0-1]]  }}} vUnique={{{[all[current]split[ ]nth[2]split[:]nth[1]] +[removeprefix<DBL>] [[ ]] +[replace[M]] ☑ +[replace[1]] }}}>
          <$list filter ="[all[current]split[ ]nth[3]] +[removeprefix<DBL>] +[removesuffix<DBR>]">
            <td>
                <!-- 🟠 Key  -->
                <<vKey>>
            </td>
            <td>
                <!-- 🟠 Name  -->
                {{||tAsDc}}
            </td>
            <td>
                <!-- 🟠 Data Type  -->
                {{!!o_data_type}}
            </td>
            <td style="text-align:right;">
                <!-- 🟠 Max Size  -->
                {{!!max_size}}
            </td>
            <td style="text-align:center;">
                <!-- 🟠 Not Null  -->
                <<vNotNull>>
            </td>
            <td style="text-align:center;">
                <!-- 🟠 Not Null  -->
                <<vUnique>>
            </td>
          </$list>
          </$vars>
        </tr>
      </$list>
  </$vars>
  </$list>

</table>

</$vars>

Charlie Veniot

unread,
Nov 19, 2020, 2:31:22 PM11/19/20
to TiddlyWiki

Just an update about my project.

I've got things setup so that "coded" facts can be used to generate database documentation for an entity including:
  • attributes for the entity
  • primary key for the entity
  • foreign key values that are required (i.e. NOT NULL) for parent tables and "code/lookup" tables
    • have a little bit of work to do for foreign key values that are not required
I'll need to do some refactoring later, because my programming is pretty messy at the moment (I'm just in a "get it working" mode right now.)

I've also got some basic "Aggregation" tiddlers setup for reporting things.  For your convenience, see attached PDF's, (go to the TiddlyWiki project to get into the details, i.e. get right dirty.)

Cheers !


PrimaryKeys.pdf
Arities.pdf
Facts.pdf
Entities.pdf

Charlie Veniot

unread,
Nov 20, 2020, 9:24:05 PM11/20/20
to TiddlyWiki
Update, focused latest changes on "Reports":

Charlie Veniot

unread,
Nov 28, 2020, 10:49:11 PM11/28/20
to TiddlyWiki
I've just posted a blog entry about the project and how it really touches upon a very long list of my all-time favourite things: My new and ultimate intertwingularity project

There are many links in that blog to a whole bunch of interesting (well, wildly interesting to me...) articles in that blog entry.

Project status: I've been really busy experimenting with "forms" (widgets) for entering information, and am in the process of dividing the "coded fact" field into multiple fields.  It will take me a while to get that done and tested well enough before uploading to my website.


Bob Jansen

unread,
Nov 29, 2020, 10:31:12 PM11/29/20
to TiddlyWiki
Charlie,

very interesting project and something along the lines I have been thinking about for many years. I started by extending a data dictionary model to cater for knowledge objects (my PhD dissertation) which lead very quickly into how to describe the various complex objects involved and their relationships to each other, with the user and with the application(s). This led into how to explain what is going on in a knowledge based system and in turn this required the addition of much more content than required for the application itself, content of many formats to provide reliable explanations of the application processing, the 'thinking'.

Over the past decade, I have been focussing on oral history as a mechanism for capturing the type of background information and the use of Toulmin argument structures for representing the various relationships. We have been working of publishing interviews with eminent visual artists from Australia and South Korea using a simple topic map to provide the navigation structure intra and inter interviews (http://cultconv.com).

There is a great book, Mapping Hypertext, which details immediately the issue with writing a hypertext style book (the book is written as a hypertext). You very quickly become 'lost in hyperspace' and lose the narrative.

Throughout all of my research career, the issue that continually crops up is context. I think this is the crucial component to keep things understandable. Yet no agreed understanding of context exists yet we all use it, manipulate it, etc. 

You can find most of my publications on https://www.researchgate.net

bobj

Charlie Veniot

unread,
Nov 30, 2020, 11:24:12 AM11/30/20
to TiddlyWiki
G'day bobj,

I enjoyed reading your post very much.  Fun to learn about something new (Toulmin argument structures), and really nice to browse that Cultural Conversations site (and next surprise to find a couple of TiddlyWiki instances in there!)  Aside: is it just me, or is there an inordinate amount of good stuff coming out of Australia?

Since Ted Nelson popped right into my conscious mind while reading your post, I had to immediately revisit a couple of videos I very much like and I share here for anybody's interest:
Although I really enjoy all of that lecture in the second link, I really perk up at this part (around 8:25):

"The problem that bothered me from the beginning was how to write.  You have all these ideas you've been told of course that you write a paper by making all these file cards and then you spread them out and you say well this obviously goes first and this obviously goes first and that's the trouble: they all obviously come first and getting your thoughts in order for a term paper becomes extremely difficult, not because there's anything wrong with your mind.  It's because there is no intrinsic right or wrong first idea and that's why writing is complicated: finding all the interconnections of the thoughts and putting them in a linear order is like the way we cut a hog to fit it in a deep freeze.  You are hacking it to pieces and cutting those threads of interconnection in order to just make one set of interconnected connections on a single thread with a beginning and a middle and an end."
    Which makes me think: that's the beauty of wikis and transclusion.  Why would you not want to have all of the different beginnings and middles and ends that are useful for the different perspectives (narratives)?

    The thing that most caught my eye in your post:

    There is a great book, Mapping Hypertext, which details immediately the issue with writing a hypertext style book (the book is written as a hypertext). You very quickly become 'lost in hyperspace' and lose the narrative.

    I suppose that is what really reminded me of Ted Nelson and that specific quote from his lecture.  And really hits upon my greatest interest: getting fully immersed in the hyperspace of componentized information, and transcluding that information into aggregates (or contextual views, or contextual structures) so as to neither get lost nor lose any of the useful narratives (and maybe even discover/create new ones).  The various narratives are just various intertwingularities.

    That kind of stuff gets my juices flowing something silly.

    Along with posts that get me thinking intertwingled.  Thanks !!!

    Cheers and best regards !

    TiddlyTweeter

    unread,
    Nov 30, 2020, 11:50:57 AM11/30/20
    to TiddlyWiki
    Ciao bobj

    Very good case example (http://cultconv.com/  [footnote---on mobile its too minuscule!]).

    BTW, I really took to your last point ...

    Throughout all of my research career, the issue that continually crops up is context. I think this is the crucial component to keep things understandable. Yet no agreed understanding of context exists yet we all use it ...

    Right. In terms of information design issues there is no algorithm for accurately deriving either "scope of meaning" or "scope of inference (context implying)". Though it is pretty clear on net that within "fields of interest" context is ALWAYS playing an implicit role in successful sites.

    I thought the site you gave access to excellent. Very honed to purpose. It is an unusual (uplifting) thing seeing such a "schematization" work so well.
    I think that is the point. You have to "sniff/tease" out context and back generate (derive) schema from that first-felt understanding that isn't otherwise derivable.

    Best wishes
    TT
     

    TiddlyTweeter

    unread,
    Nov 30, 2020, 12:49:05 PM11/30/20
    to TiddlyWiki
    Ciao Charlie

    Very interesting thread you started!

    I don't have much useful to add other than that the issues you raise are not wholly to do with technical issues in net presentation of info. Here is a little thought. Got a bit long, though the thought remains pretty small. Might shorten it later ...

    The issues you raise bring up general issues of meaning-in-context and how to express them reasonably accurately. It is no mistake Ted Nelson refers to "how to write"  NOT "how to code"Briefly, the issue with tech is IS IT A FIT TOOL for the purpose? That is a self-recursive question. Meaning that for parlaying what a writer means, is it adequate? The back-and-forth between what TECH does and what that ALLOWS ME seems pretty central. Basically humans are sophisticated tool users who know (sooner or later) a tool works or doesn't or needs improvement etc.

    Nelson gave a name to something cognitive (ye olde "interwingle") that exists prior to any solution to tease it out. In Philosophy this is sometimes called "The Monad"--a kind of "undivided multiplicity". It is not a new idea. But it was good Nelson pointed out that IS a big issue in expression. BTW, both of those approaches are surrogate approximations of basic human cognition. We implicitly always every moment hold innumerable facets of experiencing (i.e. I could explain my experience of this thread through joy/horror/tears/blandness etc). But its the formation of a schemata of concepts that will decide what I can articulate in coherent WRITING. How do you form the schema?

    Okay. Back to Earth. TW architecture is very interesting in that its pretty agnostic in empty. Its a pretty good tool to use and develop TOOLS in.
    I think that RECURSIVE -- "use and CHANGE to better service winglement" indicates its an unusual tool. Whilst much software allows modest function change, TW is pretty radical in being able to bend  (with work) to better service the person expressing into a machine is a quite tangible way. And sometimes effective too. 

    Idle thoughts
    TT

    Charlie Veniot

    unread,
    Nov 30, 2020, 1:58:32 PM11/30/20
    to TiddlyWiki
    On Monday, November 30, 2020 at 1:49:05 PM UTC-4 TiddlyTweeter wrote:

    I don't have much useful to add  ...

    Are you kidding me?  You and bobj have added a buffet of things for some serious chewing.

    Aside: My mind tends to go all over the place...  I have been all-in with Tones' description of TiddlyWiki as a "platform" ever since I first read it.  Now, I can't help but think of TiddlyWiki as a platform for solving winglement problems.  

    TW Tones

    unread,
    Nov 30, 2020, 11:59:54 PM11/30/20
    to TiddlyWiki
    Bob et al.

    Bob, I am still to follow up on your references and material, and will shortly. But before they influence me too much, but before they do some thoughts on "contexts and complexity". 

    Personally I have spent most of my life not shying away from complex systems or problems, but jumping in their deep end.

    Capturing and manipulating data, knowledge and information often allows a continuing process of capture, abstraction - analysis and synthesis, but it can always start as complex as the systems we are looking at, the fact is some system are inherently complex and others look so, but have hidden simplicities, and some hidden complexities. Research demonstrates humans can juggle approximately 7 concepts in our short term working memory, in part one of the reasons we are so good at abstractions, because we can build representations of knowledge, Information and ideas including virtual or working ones into representations for use in our cognitive workspace. Once you can manipulate 7 appropriate abstract representations (of anything) at a time your capacity to address even more complex challenges grows, however is is still finite.

    The freedom of tiddlywiki lets us construct complex knowledge networks. But it also sometimes results in a cognitive load that is hard to digest. We need to use TiddlyWiki to help us capture and discover relationships and it can do this as well as the information structures we create in it. I think of tiddlywiki as plasticine for the mind, allowing us to model almost anything on it. The problem with contexts is there are possibly more potential contexts than there are nodes in any knowledge network. As a result we are often shifting contexts, views from different angles, as we explore our little universes we build. Once again we can quickly build universes in where we can face excessive cognitive load and find it hard again to draw hidden meanings from our universe. 

    Fortunately the tools we can build in TiddlyWiki to "knowledge manage, the knowledge" help us in creating and solidifying connections, abstracting, summarising etc... However I believe this is the brute force approach, and in many cases it is the only approach. In a way it is a iterative application, of what I call "Okam's Electric Shaver" as opposed to the razor, because it uses "e-tools" or software. I believe this brute force approach is the source of most of human discovery especially in science, but in all disciplines.

    So you may ask if I call this the brute force approach do I thing there are less brutish approaches? Yes I do.

    Human evolution could not fit many things into our conscious cognitive processes, and anyway they were needed for other important things. Thus the human has both intellectual and even physical systems that aid in negotiating a complex varying world, with almost infinite details and contexts. We are not so conscious of them. We often see the use of metaphor in language exposing these subsystems, references to flavour and colour, or just "watch the ball", or remembering a face are all tapping systems that, lay to the side of our brute force conative tools. They have being honed by evolution over many millennia to do extra ordinary things which we are barely aware of. In the case of icons and pointers, and touch interfaces you can see how we extend into these domains to aid increasing the bandwidth between our minds and our devices. This is still a very rich vein to mine.

    Do you know about track memory?, first seen in horses and discovered in Humans this is a somewhat subconscious system we use to learn how to get somewhere or remember from where we came. On it small scale it helps us look ahead but tells us where to step, without looking at our feet, Especially needed by horses because they rarely see their back feet. At the larger scales it Guided Australian Aboriginals around millions of square kilometres of country, or helps me tell you where a new place is, relative to the places you know. Surprisingly complex paths can be remembered in only one transition of that path and the return is immediately possible. I am into bush walking, and surprise myself when I take a path I took once decades ago and I remember points, landmarks and rocks, I only saw once, and had not thought of again (to my knowledge), sometimes even "down to a few particular steps". Much of this knowledge only returns in the context in which it was laid down, often the last few meters.

    I propose we need to find ways to represent knowledge and information such that we can tap into other skills we have, in addition to those of the brute force cognition. Track memory seems to have context as part of its makeup, and can deal with large amounts of information. Perhaps we need to extend our metaphor of "Navigation" into a tool that can help us navigate knowledge?

    After all much came to Einstein when he imagined navigating his way, by sitting on a light beam.

    Tones/Anthony Muscio

    Charlie Veniot

    unread,
    Dec 1, 2020, 10:01:59 AM12/1/20
    to TiddlyWiki
    Man, I enjoyed that.  Great way to get these rusty synapses kick-started for the day while appreciating my first cup o' joe.

    Tones, your write how I think, and moments like these I have the sense that, maybe, I'm not so alone.  Maybe I do have a cognitive brother from another mother ...

    Oh sure, there is that little irritation of enviousness:  i.e. my challenges trying to write what I think, a bit like somebody with two left feet who just cannot dance.  I get over it believing I have the two most beautiful left feet ever.  So I of course avoid the truth by never looking at these size 15 canoes of mine,  which then just has me thinking I should get a job on Sesame Street representing the letter "L".  Yup, always just a few degrees of separation away from SQUIRREL!

    On Tuesday, December 1, 2020 at 12:59:54 AM UTC-4 TW Tones wrote:
    ...

    Bob Jansen

    unread,
    Dec 1, 2020, 10:19:52 PM12/1/20
    to TiddlyWiki
    TiddlyTweeter wrote:
    "Very good case example (http://cultconv.com/  [footnote---on mobile its too minuscule!])."

    yes, I know of the sizing issue on mobile devices. Not sure how to handle that other than a redesign which I am loathe to do given usage stats (~8,000 per month over last calendar year). The basic design is for multiple synchronous channels of information, in this case four (video/audio, transcript, table of contents and images with captions). Altogether too much for a small screen. Plus on iPhone, the video takes over the whole screen anyway.

    bobj

    Bob Jansen

    unread,
    Dec 1, 2020, 10:30:48 PM12/1/20
    to TiddlyWiki
    Charlie, Tones, TiddlyTweeter

    first off, I hold you personally responsible for firing up my dormant synapses. Thanks for that, you have provided renewed impetus for me to continue pondering these issues, which I essentially ceased to do in any meaningful way since I left my research position at CSIRO (the Federal Government's research body in Australia). A dormant area of my brain has reawakened :-) This will also require me to unbox my library so suitable books can be re-queried (all my books are in storage as we have been living most of the time in South Korea for the past decade. Corona has left us 'stranded' in Sydney).

    I will respond to the recent postings but, like Tones, need to think things through a bit more rather than provide a rambling nonsense of ideas and thoughts.

    One thought though. Maybe it is time to take discussion outside of this group. Not that I want to disenfranchise anybody but the discussion has wider ramifications/application than Tiddlywiki. It also can be applied to Mediawiki and even Bill Atkinson's original Hypercard and its offshoots. Also, this discussion can then take advantage to TW's linking facility, etc. Just a thought.

    Ciao for now.

    bobj

    Charlie Veniot

    unread,
    Dec 1, 2020, 11:30:11 PM12/1/20
    to TiddlyWiki
    Like misery, hyperactive-firing-on-all-cylinders synapses love company ...

    Although right here in this group is fine by me, I'm interested wherever discussion happens.

    Bob Jansen

    unread,
    Dec 3, 2020, 12:00:47 AM12/3/20
    to TiddlyWiki
    Colleagues,

    all this thinking started by Charlie's initial posting, has led me to begin building a simple TW utilising the Toulmin Argument Model for representing links and associations between TW tiddlers. This is something I have been planning to do for some time, now that I am 'retired' I have the time.

    My reasoning is that a completed statement represents the context in which the link between Ground and Claim can be made. This then also supports many different reasons for creating an association between a set of Grounds and Claims each one providing a single instance of context in which the association is deemed valid.

    My thoughts so far:
    A statement can be considered like an IF...THEN statement but more complicated due to the additional elements, Warrant, Backing, Rebuttal and Qualifier. The IF part represents the Ground and the THEN part the Claim.

    The Qualifier could be a percentage value or some other statement of possibility/plausibility.

    Not all elements need to be utilised in any statement, only those that make sense for that particular statement.

    Elements can be re-used between statements

    Statements can be collected together into a domain of thought or applicability. Thus a single TW could cater for many domains.

    Each element is represented by its own tiddler and all tiddlers for a statement are linked together to form the completed statement. Links are stored as Field values in the statement tiddler and also in a Statement field of each element tiddler as the links are essentially many-to-many in ER terms.

    Quandries:

    How to handle content elements not text? Images, audio, video, etc...

    How to produce an 'active' instance of the domain, ie. an instance that functions follow some reasoning mechanism (ie. forward chaining...)

    Shared TW:


    Happy to have your input/thoughts/etc.

    bobj

    TW Tones

    unread,
    Dec 3, 2020, 1:35:50 AM12/3/20
    to TiddlyWiki
    Bob,

    Very interesting. I can see plenty of ways to implement and automate the data model but need to digest the the meaning of each element and how to support discovery. Are there any examples or databases using this method we could get an example of?

    I have a few ex-CSIRO's staff in my friend and acquaintance circles. Retirement of people with broad and deep knowledge is a creative and productive opportunity, so often neglected.

    I imagine there may be information found in various domains that could be used to pre-populate such a database.

    I have considered in depth expert systems learning, particularly in complex technical support areas, when the act of solving problems. builds a repository of knowledge and uses analytics and actual use to strengthen the expert system. I imagine this solution could be similar. The idea is to use the information so far and add when a gap is found, but with the gaps filled in a reusable way and when the answer/element exists promote the path taken to find an answer/mpodel according to its effectiveness. In effect providing conditional multi-dimensional decision trees, that respond to future interactions.

    Only once a larger dataset exists can we start to derive new methods and mechanisms with less effort.

    Regards
    Tones 

    Bob Jansen

    unread,
    Dec 3, 2020, 6:07:49 PM12/3/20
    to TiddlyWiki
    Tones,

    good to get your feedback.

    There is no database that I am aware of implementing Toulmin's model. However, I have been thinking about several applications for some time now. One is clinical guidelines for major diseases, like melanoma. These documents are thick and heavy but most of it is background info for emerging clinicians and interested public, in educational mode. Then there are the actual guidelines, written like 'rules' with pointers to the evidence. One thought I had was for a member of the public to enter relevant details about their condition and the application to advise what to do or not to do. The background info can also be used to explain the reasoning behind the advice. So, the 'rules' are the statements, and the background advice are the warrant, backing, etc.

    Also, thinking overnight, it seems now obvious that statements themselves may be classified according to type. So in the above case, the 'rules' equate to the Toulmin model statements but important sentences from the rest of the material could be considered 'assertions', as in this paper  Management of Wool Dark Fibre Risk Knowledge Using Hypertext. This project trialled those of 'assertions' as simple statements extracted from the research papers but forming a navigation structure into the content of those papers. Assertions can be considered analogous to outline statements, as per Word's outliner. BTW, this smallish application might be a useful starting point for further investigations of the use of Toulmin's model. I did start authoring my research papers from an outline model and proved, to me at least, that the assertions were a very useful structure for subsequent paper access.

    As for expert system maintenance, have a look at Ripple Down Rules (PDF and PDF). This is a mechanism Paul Compton and I (but mainly Paul) devised many years ago now to overcome the brittleness of KBS without major re-engineering. An additional rule was merely added into the rule base to cover the particular case wherein the KBS failed this time. Paul has extended the RDR approach much further and there any many papers describing its use and enhancements. Your description reminded me of this approach. This approach to maintenance also hinges on the availability of a cornerstone case database, a database of conditions that caused a rule to be created. This is useful for running against the KBS at any time to prove its accuracy.

    As for more info on Toulmin, the obvious place is his book, The Uses of Argument. I picked up a copy many ywars ago from a second hand book seller. Not sure if a copy can be bought online. Otherwise, do a google images search for toulmin model and see some of the examples that come through that.

    Charlie, just a query. How does this approach sit with your ideas?

    bobj

    Bob Jansen

    unread,
    Dec 3, 2020, 6:11:32 PM12/3/20
    to TiddlyWiki
    Just a follow up. There appears to be a freely available online edition of an updated version of Toulmin's book at 

    bobj

    TW Tones

    unread,
    Dec 3, 2020, 9:31:19 PM12/3/20
    to TiddlyWiki
      Gentlemen,

    I just want to add if there has not being a database model before, tiddlywiki is an ideal platform to model any relationship. Of late I have endeavoured in any application to never compromise the ability to add an additional layer of organisation, an alternate view or a different simultaneous representation. An old line "not taking hostages of the future"  my father quotes, is reinvented by me to "Not taking decisions that compromise the future" is an interesting approach on top of tiddlywiki especially when looking at alternate database or knowledge models. As one proceeds to "try different systems" on top of tiddlywiki we gain practical experience with a kind of meta database systems view. 

    One Idea of my own that may be of interest, not withstanding Charlies love hate relationship with hierarchy ,is the following model I am keen to experiment with.
    • Every object is a tiddler
    • Every object is in a hierarchy, even if it begins with only one
    • Every attribute is a relationship to an object in another hierarchy
    • Hierarchies act as I kind of "fuzzy value" where with more information the hierarchies go deeper as they grow
    • When assigning an attribute a value you do so via a relationship to a hierarchy if you find it you use it, if not you add it, 
    • If you do not have a detail ie it is coloured but no what color it is you point to an item in the color hierarchy such as color - or unknown colour.
    • Should you come across a database of colors you use it to populate the colour hierarchy, and where possible change items pointing into the hierarchy you move the relationship to a less fuzzy member of the hierarchy.  
    • People, a group, a process can take charge of a hierarchy and do as they wish as long as the honour or improve the relationships already codified.
    Just some thoughts
    Tones

    Charlie Veniot

    unread,
    Dec 3, 2020, 10:32:17 PM12/3/20
    to TiddlyWiki
    I heartily second the motion of TiddlyWiki as best of breed platform.  (Well, unless page/tiddler revision history is important information, and/or multi-editor solution is needed.  Not sure I'm in love trying to handle those things with TiddlyWiki unless somebody can show me an elegant solution that doesn't bog down TiddlyWiki something silly.)

    Also, I've got to give out a hearty "hey hey hey, wait a second."  (Or "sure, I'll take the bait?")  It isn't a love-hate relationship with hierarchies.  I just have a very niche  (yeah, I was just starving for an opportunity to use that word...) semantic/philosophical perspective about hierarchies.

    I see every tiddler (any and every object, whether in a "hierarchy" or not) as a first class citizen.  And every tiddler has information (tags, fields, whatever) that "aggregate" tiddlers can use for transclusion of whatever tiddlers in any number of contextual views, most likely turning out as hierarchies (because it is so easy to cognitively handle), but could be any kind of structure that makes sense for that contextual view (loads of great examples in Wikipedia's InfoMaps page).

    So I see each tiddler as independently useful information (other tiddlers be damned, but just for a moment), as equally important as any other tiddler.  And each tiddler is begging to appear in as many useful aggregate tiddlers (or contextual views) with whatever visual structure rocks the daylights out of the need/purpose.

    Often enough, my writing is very much helped by a hierarchical tiddler creation process because it is helping me churn tiddlers.  Much more my norm: my writing is not hierarchical at all (i.e. helter-skelter non-linear to the hilt), and I don't have hierarchy at all on the brain. Or I might have some untold number of hierarchies simultaneously/spontaneously on the brain.

    Whatever helps avoid "writer's block" at that particular moment.  Churn churn churn, don't get stuck in the mud, don't get sticks caught in the wheels.

    Regardless, whatever tiddler I'm looking at, I can't think of a time where I've ever thought of it as subsidiary to any other tiddler.  I find that when I lock myself into thinking of a tiddler as subsidiary to some other tiddler in a structure, that stifles the potential (my ability) of imagining alternative structural/informational possibilities.

    Well, that's how my mind works, and I don't fight it.   Fighting my sponge is like trying to teach a pig how to sing:  waste of time, and annoys the pig.  (Now I'm trying to conceptualise which part of my sponge represents the pig.  Hmmm, bacon...)

    TW Tones

    unread,
    Dec 4, 2020, 2:22:18 AM12/4/20
    to TiddlyWiki
    Charlie,

    I think we agree furiously, but I will need to create a tiddler tagged Charlie with the title - 
    "Charlie just has a very niche semantic/philosophical perspective about hierarchies." 
    to see If I can remember to use this when this issue arises again :)  ie: rather than "Charlies love hate relationship with hierarchy"

    Ha Ha!

    Oh, and about pigs, this kind of subject makes me "feel like a pig in mud", very happy.

    Tones

    Charlie Veniot

    unread,
    Dec 4, 2020, 10:06:34 AM12/4/20
    to TiddlyWiki
    Tones, I am doing the "I'm not worthy" thing right now.  That totally made my day, very likely my weekend, and a wee possibility of making my month.

    Aside 1: Your line matches my fondness for Ron James' oh-so-awesome "running of the words".  Just in case you enjoy his brand of comedy:  
    Aside 3:  To be a pig in the mud.  Oh happy the thought.  Then "squeal like a pig" thought ruined it all ...

    Cheers to one and all !


    Bob Jansen

    unread,
    Dec 5, 2020, 8:21:04 PM12/5/20
    to TiddlyWiki
    Tones,

    your description of your hierarchy brought back to mind the PhD thesis work I did on extending conventional data dictionaries to cater for knowledge objects. I created a proof of concept using Hypercard, a precursor of TW, using a data model similar to what you are describing. The data model is 
    Screen Shot 2020-12-06 at 12.15.20 pm.png

    The dual associations between Entity Type and Allowed Relationship and Entity and Relationship are to record the owner and member of a relationship. The top three entities provide a model of the domain at a conceptual level whilst instances are recorded in the bottom three entities. Entries in the bottom three entities must conform to those allowed, ie. those recorded in the top three entities. So, entities must be of an allowed type. Relationships must be of an allowed type between allowed entity types. Attributes must be of the allowed type for that entity type.

    You can read some articles about the Knowledge Dictionary on my ResearchGate account (researchgate.net)

    This discussion takes me back many years. Fascinating how things come round again.

    bobj

    Hans Wobbe

    unread,
    Dec 6, 2020, 6:58:16 AM12/6/20
    to TiddlyWiki
    Bob,

    That is a neat association/relationship sketch.  Thanks for sharing it and the link to your research site.

    Regards,
    Hans

    Bob Jansen

    unread,
    Dec 6, 2020, 7:43:43 PM12/6/20
    to TiddlyWiki
    Hans

    a pleasure. 

    bobj

    Bob Jansen

    unread,
    Dec 6, 2020, 7:45:40 PM12/6/20
    to TiddlyWiki
    Tones,

    you piqued my curiosity with your statement about implementation methods of the Toulmin data model I espoused before. But you didn't elaborate :-(

    So come on, how about some of your ideas :-)

    bobj

    TW Tones

    unread,
    Dec 6, 2020, 9:07:45 PM12/6/20
    to TiddlyWiki
    Bob,

    Is this in response to this reply ?

    I am confident of creating links and relationships of any type with tiddlywiki, with tags, alt-tags and relink etc... we can maintain referential integrity. So I believe most algorithm's can be implemented. Was there something more specific in what I said you want me to provide more details?

    I would of course need to be more familiar with the Toulmin data model to implement it well.

    Tones

    Bob Jansen

    unread,
    Dec 6, 2020, 9:53:33 PM12/6/20
    to TiddlyWiki
    Tones,

    Yes it was and the tenor of your reply implied to me you had some detailed insight into ways of implementing the Toulmin model I proposed apart from what I menetioned, using fields, etc.. That's what piqued my interest.

    Now you pique me more. Can you explain how to use alt-tags, relink etc in TW? Any examples?

    Always looking to learn....

    bobj

    Charlie Veniot

    unread,
    Dec 10, 2020, 9:59:27 AM12/10/20
    to TiddlyWiki
    G'day bobj,

    Just a quick note to say I've finally had a chance to have a first look at your shared TW.

    Seeing as I tend to be slow as molasses, and need to read something multiple times, as I'm dealing with a few too many distractions (loss of employment as of last Thursday and now trying to figure out what I want to be when I grow up).

    I am slightly deer in the headlights at the moment, so bear with me and know that I definitely do not have you or this on ignore !

    TW Tones

    unread,
    Dec 10, 2020, 5:38:15 PM12/10/20
    to TiddlyWiki
    Bob,

    Delayed reply I know. Implementing the Toulmin Model on tiddlywiki would be using the features that make tiddlywiki capable of representing any relationship model. 
    I would need to be a little more focused but a few quick leads for now.
    • Alt-tags or Gen tags plugin allows for additional tags fields, one could use one for each type of relationship if one wanted
      • This can be done with wikitext and macros but using this allows a quicker solution
      • Alt-tags is a quick way to utilise multi-value fields in a similar way to tags
    • The relink plugin and additional configurations can help ensure referential integrity by updating references to a tiddler name if it is renamed. As a result you can have list like fields with relationships that will update on tiddler name change. Look into its settings once installed to see ways to set the relink plugins scope.
    • A method to connect one tiddler to another can be designed to populate fields in both tiddlers so that each has the other in a field. This allows two way relationships, if you allow multiple entries it becomes one to many or many to many.
    • I do not see any difficulty implementing the top row of your diagram by creating parameter driven "create and relationship setting tools".
    Regards
    Tony

    TW Tones

    unread,
    Dec 10, 2020, 5:40:41 PM12/10/20
    to TiddlyWiki
    Charlie,

    Sad to hear a loss of employment may have being forced on you, but as you seem to know embrace it as the opportunity it is. One thing you can be sure of, this is one team you remain a member of.

    Tones

    CJ Veniot

    unread,
    Dec 10, 2020, 9:03:45 PM12/10/20
    to tiddl...@googlegroups.com
    Aw shucks, thanks Tones.  Well-wishes and notes of sympathy are always appreciated !

    I've always had a sense of loyalty and dedication, so however banged-up, I just could not give up on my employer.  Employer giving up on me is, strangely enough, a huge sense of relief ... freedom!

    All things unfold as they are meant to.  Cue The Story of the Chinese Farmer .

    Well, now I have "freedom" on the brain:  https://www.youtube.com/watch?v=NMS2VnDveP8

    --
    You received this message because you are subscribed to a topic in the Google Groups "TiddlyWiki" group.
    To unsubscribe from this topic, visit https://groups.google.com/d/topic/tiddlywiki/57_eiPadjCo/unsubscribe.
    To unsubscribe from this group and all its topics, send an email to tiddlywiki+...@googlegroups.com.
    To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/04e5df58-9b2e-4037-bf2e-896fd09a8b8bn%40googlegroups.com.

    Bob Jansen

    unread,
    Dec 14, 2020, 6:28:05 PM12/14/20
    to TiddlyWiki
    Tones,

    sorry for my tardy reply but have been busy organising an exhibition of my partner's work at Cowra Regional Gallery.

    Where can I find these plugins? The plugin library does not appear to have them.

    bobj

    TW Tones

    unread,
    Dec 15, 2020, 8:00:12 AM12/15/20
    to TiddlyWiki
    Bob,

    The plugins I mentioned
    The other suggestions I made, I intend to do a proof of Concept, but I am busy with many things so not immediately.

    My point is it will be easy to build sophisticated relationship modelling for any algorithm or data model we want.

    Tones

    Bob Jansen

    unread,
    Dec 15, 2020, 5:50:33 PM12/15/20
    to TiddlyWiki
    Thanks Tones. Will have a good look at these two.

    Due to competing priorities, my work on this has been downgraded so I will not be able to do much before the new year.

    Sorry about this but pragmatics take priority.

    bobj

    Reply all
    Reply to author
    Forward
    0 new messages