OPTIONAL patterns in SPARQL allow for expressing optional conditions in queries over graph data. OPTIONAL patterns extend the results of preceding patterns and can provide bindings for variables even if they are not bound earlier. Nested OPTIONALS are evaluated left-to-right. Disconnected OPTIONALS result in a cross product. OPTIONAL can test for absence of triples using FILTER and NOT EXISTS.