Returns an optional result if the specified traversal yields a result; otherwise, returns the calling element.




The optional() step is a branch/flatMap step that will either return the result of the specified traversal if it yields a result, or the return of the calling element.


Returns the friends of John Doe, since he has friends:

g.V().has('person', 'name', 'John Doe').optional(out('knows'))

Returns Julia Child, since she has no linked friends:

g.V().has('person', 'name', 'Julia Child').optional(out('knows'))

Was this helpful?

Give Feedback

How can we improve the documentation?

© 2024 DataStax | Privacy policy | Terms of use

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries. Kubernetes is the registered trademark of the Linux Foundation.

General Inquiries: +1 (650) 389-6000, info@datastax.com