Я не думаю, что вы можете написать это гораздо более оптимальным способом.Этот обход будет происходить так же быстро, как и способность лежащих в основе графиков оптимизировать отсутствие свойства, которое обычно не так быстро.Обычно он рассматривается как глобальная операция, которая должна повторять каждую вершину в графе (или до тех пор, пока не найдет 100 совпадений), и я не думаю, что какой-либо граф допускает индексы, которые могут помочь в подобном случае.
Если этот обход предназначен для обхода в реальном времени (OLTP), то вам, вероятно, следует рассмотреть возможность использования по умолчанию этого значения "SOME_PROPERTY", чтобы его можно было каким-то образом проиндексировать для обнаружения отрицательных значений или если оно большеадминистративный обход (например, обнаружение неверных данных для очистки) (OLAP), тогда вам, вероятно, следует выполнить этот обход с Gremlin Spark.