Issue w/ multiple WHERE conditions

I am trying to screen out a particular author name from my YAML block. I am trying the following code which leaves many instances of the author name in the ouput.

TABLE author, title, subject
WHERE author != null AND author != "Jeff Smith" AND author != "Smith, Jeff"

This removes the null cases, but leaves the Smith authors I’m trying to screen out. What is the proper way to do this?

Looks like this works, but I want to know why the first attempt fails. Any help?

TABLE WITHOUT ID author, title, subject
WHERE none(contains(author, list("Jeff Smith", "Smith, Jeff"))) AND author != null

Is your author property a list type if so you’ll always need some variant of contains(), and you can’t use the equal sign.