I think this question connects a workaround with geospatial index searches. They are separate both at the API level and at the implementation level. The index is not shown in the data model snapshots.
Let me make it a little more specific. Let's say I run Titan with ES and Cassandra using Murmur3Partitioner or RandomPartitioner. I am announcing the ES geospatial index around the edges, called "place", as described on the Getting Started page . Looking out for geospatial queries such as "WITHIN" in Getting Started documents , he first turns to ES. ES returns identifiers that Titan can use to quickly search for related vertex / edge data in Cassandra, without making any analogues to relational joins.
The cost of these edge searches on geospatial data should be approximately equivalent to the cost of implementing ES WITHIN (which, it seems to me, is delegated by Spatial4j), plus the queries that Titan makes on Cassandra after obtaining identifiers that should be roughly linear in the number of edges found by ES. This is just an estimate of the envelope, so please take it with plenty of salt.
After I get the edges according to the geocommand, if then I want to start arbitrary traversals in the vicinity of each edge in the set, then I would look at rooting MultiQuery at the tops of the head / tail and activating caching at the database level. If the request misses the cache or the cache is cold / disabled, Titan will still try to extract all edges that bypass in the same Cassandra fragment to the top, whenever possible. If you are concerned about the efficiency of traversing the edge of Titan, you can find Boutique Graph Data with Titan .
NTN
source share