# Tags should take arguments Rather than being simple strings, tags on content should be able to take arguments. Arguments could be positional (for example, `trip(Boston, Kingsport)` or `smiles(Alice)` on a photo, `history(Valletta)` or `criticism(CSS)` on a blog post), key-value pairs (`trip(from: Boston, to: Kingsport)`), or an unordered set of nested tags (`road{Kingsport, Boston} == road{Boston, Kingsport}`). This would allow queries like `smiles(Alice) smiles(Bob)` to find all pictures where both Alice and Bob are smiling, `trip(?, ?)` to find all pictures from trips, and `trip(?, Kingsport)` to find all pictures from trips to Kingsport. Like normal tags, these tags do not need a predefined schema; they can, and probably should, be ad hoc by default. ## See also - [Datalog](!W) - [Labeled-property graph databases](!W "Graph database#Labeled-property graph") - [RDF](!W "Resource Description Framework") ## Page metadata URL: Published 2020-10-16, updated 2025-10-20. Tags: - data - essay - idea - information retrieval - my work - UI/UX