A query expression allows you to search for specific zettel and perform actions on them. You may select zettel based on a list of identifiers, a query directive, a full-text search, specific metadata values, or any combination of these. A query expression consists of an optional zettel identifier list, zero or more query directives, an optional search expression, and an optional action list. The latter two are separated by a vertical bar character (|, U+007C). A query expression follows a formal syntax. List of zettel identifier Query directives Context directive Thread Directive Ident directive Items directive Unlinked directive Search expression Search term Search operator Search value Action list Here are some examples thar can be used to manage a Zettelstore: Query Expression Meaning role:configuration All zettel that contain configuration data for the Zettelstore ORDER REVERSE created LIMIT 40 40 recently created zettel ORDER REVERSE published LIMIT 40 40 recently updated zettel PICK 40 40 random zettel, ordered by zettel identifier dead? Zettel with invalid / dead links backward!? precursor!? Zettel that are not referenced by other zettel tags!? Zettel without tags expire? ORDER expire All zettel with an expiration date, ordered from the nearest to the latest 00001007700000 CONTEXT Zettel within the context of the given zettel 00001012051200 FOLGE Train of thought of the given zettel PICK 1 | REDIRECT Redirect to a random zettel