Finding notes without tags?


(Marc Miller) #1

I understand that tags are just a set, so if I query:

$Tags.count >= 1

it will find all notes with any tags.

However, if I query:

$Tags.count == 0

or

$Tags.count < 1

it causes a spinning wheel hang.

How do I find notes without tags?

Thanks in advance.


(Paul Walters) #2

The spinning wheel is not normal.

This should work

$Tags=="";

(eastgate) #3

I don’t have any problem with an agent that looks for

$Tags.count==0

in a simple test file using 7.5.6


(Marc Miller) #4

Weird.

It works (both approaches in this thread) in a fresh file. I should have tried that first.

Something must have crept into the file I am working with that makes it hang. I haven’t got too far into it. I’ll start again and check as I go.

Thanks for the help!


(Marc Miller) #5

OK, here’s an update:

I put in about 20 notes – no text, just names, and prototyped with a set-type key attribute. I haven’t input anything into any of the sets.

If I make an agent and just enter:

$NameOfTheSet.count==0

I get the spinning wheel and eventually a crash or I have to force quit.

However, If I put in the path to the container the notes are in using “inside”, it seems to work fine. This does limit the agent to that container, however. I’ll do some more testing to see if I can get it searching wider.

7.5.6 running on a pretty wimpy 2014 MacBook Air (4GB ram).


(Mark Anderson) #6

Busy so can’t test but I wonder if:

($NameOfTheSet.count)==0

works any better? The logic is the extra parentheses force the Set’s list to be resolved before the count is taken.


(Marc Miller) #7

No – I still get the spinning wheel/hang with the parentheses.

I’m having another fiddle around – at the moment I set up the structure so the notes are nested two levels below root, so maybe that’s the problem?


(Marc Miller) #8

OK-- simplest approach that works for me (so far) is specifying the prototype in the query. That doesn’t limit me to one container/


(eastgate) #9

Send an example of the problem to tech support, ideally after next Tuesday.


(Marc Miller) #10

Will do. I’ll do some more messing around.


(James Fallows) #11

What about this?

  • Set up a root-level container called DATA (or something), which will be the parent container for all your substantive notes. That is, the real info in the file, as opposed to the structural or “system” notes – prototypes, templates, plumbing of various sorts.
  • Move all your containers that include substantive notes into that \DATA container
  • Then, set all your queries like ($NameOfTheSet.count==0) to look within the \DATA container.

That would give you the functional advantage you’ve uncovered (that a search-within-a-container works better), without limiting the search in any way, since you know that the notes and data you want to search will be inside that container.


(Mark Anderson) #12

Do you still have that test file? Could you post a link to it so others can try the file? So far, I can’t replicate the issue using a variety of Set-type attributes.


(Marc Miller) #13

Could you post a link to it so others can try the file?

Will do. I’m away from the machine for a while, and I want to do a bit of tinkering in line with @JFallows’s suggestions above.


(Marc Miller) #14

OK:

It’s almost definitely a memory and/or CPU thing. When I shut down the ridiculous amount of Chrome tabs and other cruft I had running, the agent worked in its simplest form of just $Nameofset.count==0.

I am looking at upgrading my machine at some point soon(ish).

Thanks all for your help.