# single triple pattern, block optional PREFIX : SELECT * WHERE { { ?x :p 1 . OPTIONAL { ?x :pZZZ ?a . ?a :q1 ?v .} # Term not in data } UNION { ?x :p "abc" . } }