⚡️ Ideas
Bruce F. Donnelly Bruce F. Donnelly Feb 14, 2024

Problem: query, supertag, and indented childrens' semantics are all different.

Explain the problem as you see it

It's useful to have a semantic function in fields, but it seems like it solves a problem that arises because the has-a of fields and the is-a of supertags aren't semantic--at least not the same way that searches are.

Why is this a problem for you?

I need to learn two or three ways of understanding the Tana system, rather than just one.

Suggest a solution

Search nodes and ordinary nodes should have the same organization and syntax. It would start with a blank node and go from there.

Let's start with an ordinary node:
Nineteen Eighty-Four#book
Author | George Orwell#author

(Apologies for making do with this form's formatting tools)

A search node for all books written by George Orwell would look like this:
[_]#book
Author | George Orwell#author

In other words, a search node would be exactly the same--except that it would have a placeholder instead of, in this case, a book title.

You would need to port over some syntax from search fields, but that could be a good thing. You could build more complex searches:

[_]#book
Author | George Orwell#author OR Aldous Huxley#author

[_]#book
Author | NOT George Orwell#author

. . . etc.

The flip side of this could be really powerful. You can use "GRANDPARENT" in a search node. So what if you could use it in a mini-live search in an ordinary node? Or "ANCESTOR"?

You could have an ordinary node that quotes its ancestor. You would use an "ANCESTOR" placeholder:

Nineteen Eighty-Four#book
Author | George Orwell#author
Quotes
“She’s a meter across the hips, easily,” said Julia.#quote
Author | FROM [ANCESTOR]

This would appear like this:
Nineteen Eighty-Four#book
Author | George Orwell#author
Quotes
“She’s a meter across the hips, easily,” said Julia.#quote
Author | George Orwell#author

The text "FROM [ANCESTOR]" would simply be replaced with text from its ancestor until or unless that's updated. It should probably have a different background to make it clear.

You could also include semantic functions in children:

George Orwell#author
Affiliations | Democratic Socialist
......................| NOT Communist

(Again, sorry for the wonky formatting.)
This means that you could search for all authors who are not Communists and find Orwell.

Obviously, big all-caps look ugly, so semantic functions should probably be distinguished more subtly for readability. Perhaps, again, a different background.

In summary, each step you take to combine the semantics and syntax of ordinary nodes' children and search nodes would help make searches easier to understand and make ordinary nodes more searchable.