Concept: tag intersection

Triggered by your post, I wondered what would happen if the “virtual” tiddler titles were directly treated as filter syntax.

This is probably a really bad idea, but I toyed around with it and on the surface, at least, it works. I was actually very surprised since these virtual tiddler titles contain square brace characters. That goes counter to the warning you see when creating a new tiddler with a title containing | [ ] { } characters.

Put the following in a tiddlers on tiddlywiki.com and add the tag: $:/tags/ViewTemplate

<$let titleAsFilter=<<currentTiddler>>>
<$list filter="[subfilter<titleAsFilter>count[]compare:integer:gt[1]]" variable=ignore>
<$transclude $variable=timeline limit=30 subfilter="subfilter<titleAsFilter>"/>
</$list>
</$let>

Then put this in another tiddler:

* <$link to="[tag[Macros]]"/>
* <$link to="[tag[Macros]] [tag[Filter Operators]]"/>

When you click on those links, virtual tiddlers will be displayed in the story river with a timeline view of the tiddlers which match the filter.

There are probably dragons lurking here. Don’t use it in any wiki you care about.

1 Like

Very interesting @btheado,

With such little code you enable the display of “titles that are filters”.

  • It once again throws up in the air “what is a title”?
  • It also shows how much more can be done with “missing tiddlers”
  • The resulting recent list could be just one of multiple selectable views, although I find “recent” is one of the most common lists I make use of.

This is certainly another source of “creative inspiration” that leads one’s minds to explore other possibilities.

  • What if such tiddlers (missing filter titles) could not be made into real tiddlers.
  • One thought is to make a system namespace beginning with [

I won’t detail it here, but this has inspired me to new ideas about “real virtual tiddlers” :nerd_face: . I must find an existing topic or start a new one to discuss this.

I now the concept of virtual tiddlers has become popular recently, but I am, still tempted to call these missing tiddlers, because if you create them, they “kinda lose their virtual status”. However in your example they retain their recent list.

  • I think one of the main reasons is if you do use such characters in titles it gets tricky referring to such tiddlers elsewhere, especially with [ ] and { } which are part of links and transclusion, that is, where does the title name begin or end?
  • However with careful use of TiddlyWiki script they can still be used, in some cases.

Very interesting idea. I have a similar and more complex user case which might be interesting.

Data structure

  • Tag bibtex-entry for all literature managed by refnotes plugins
  • Tag Domain for a specific research domain with a network like structure with multiple Ancestors and Descendants.

For example,

Domain Growth Stage

Domain Canola

image

  • Tag Doc for a document tagged with multiple Domains (e.g. Growth Stage and Canola).

Filtering

In each Domain, I list all literature which are tagged with this Domain or their Descendants (i.e. Growth Stage with either tag, (Growth Stage or BBCH Scale or Zadoks Growth Scale)).

In each Doc, I list all literature which are listed in all Domains (i.e. literature with tag [(Canola or Triazine Tolerant Canola) and (Growth Stage or BBCH Scale or Zadoks Growth Scale).

I had this idea too, but I thought I wouldn’t need it that often. When I keep going back to the results of a given filter, I usually put <<list-links>> macro with this filter in a tiddler with a human-readable and writable title.
But of course this is a very intriguing idea, as all other ways of conveying some information in the title itself.

Fascinating. I feel as though I’ve gone looking for this functionality before, although I can’t quite recall where. I don’t know if it’s a “really bad idea”, but it’s certainly intriguing.

Well, as long as you don’t create these tiddlers, the funky title strings are not a problem.

My quick variant is:

<$list filter="[<currentTiddler>is[missing]]"> 

<!-- OUTER LIST GETS THIS OUT OF THE WAY FOR REAL TIDDLERS, which should not have filter-like names anyway! -->

 <$let titleAsFilter=<<currentTiddler>>>

 <$list filter="[subfilter<titleAsFilter>!sort[modified]limit[10]]"/>

</$let>

</$list>

I may well add an “open all these” button — So this ends up functioning much like the filter-pill tool developed by @TW_Tones

1 Like

Note how @btheado’s solution tests if it is in fact acting as a subfilter.

But yes I thought this may get your attention :nerd_face: from this perspective