The goal of compositional generalization benchmarks is to evaluate how well models generalize to new complex linguistic expressions. Existing benchmarks often focus on lexical generalization, the interpretation of novel lexical items in syntactic structures familiar from training. Structural generalization tasks, where a model needs to interpret syntactic structures that are themselves unfamiliar from training, are often underrepresented, resulting in overly optimistic perceptions of how well models can generalize. We introduce SLOG, a semantic parsing dataset that extends COGS (Kim and Linzen, 2020) with 17 structural generalization cases. In our experiments, the generalization accuracy of Transformer models, including pretrained ones, only reaches 40.6%, while a structure-aware parser only achieves 70.8%. These results are far from the near-perfect accuracy existing models achieve on COGS, demonstrating the role of SLOG in foregrounding the large discrepancy between models' lexical and structural generalization capacities. * * This work was conducted during Bingzhi Li's visit to NYU. The middle authors are listed in alphabetical order. Training Generalization COGS Emma saw the dog. ; * dog(x3); see.agent(x1,Emma) ∧ see.theme(x1, x3) The cat ran. ; * cat(x1); run.agent(x2, x1) The dog ran. ; * dog(x1); run.agent(x2, x1) SLOG Emma saw the dog that Max held. ; * dog(x3); see.agent(x1,Emma) ∧ see.theme(x1, x3) ∧ dog.nmod(x3, x6) ∧ hold.agent(x6,Max) ∧ hold.theme(x6, x3) The cat ran. ; * cat(x1); run.agent(x2, x1) The dog that Max saw ran. ; * dog(x1); dog.nmod(x1, x4) ∧ see.agent(x4,Max) ∧ see.theme(x4, x1) ∧ run.agent(x5, x1)