3

I would like to extract graph projections from a graph so that I can build smaller graphs from large ones for specific use cases (in most of the cases I can think of these graph projections will have a smaller size than source graph). Consider the following simple example in my original graph (all nodes have different types aka labels):

A -> B -> C -> D

Since the path from A to D exists, in my new graph I would create the nodes A and D and the edge between them. These paths could be easily discovered with a traversal (or even with the subgraph step I think):

g.V().as('a').out('aTob').out('bToC').out('cToD').as('d').select('a', 'd');

The thing is that these kind of traversals where one does not start from a specific set of nodes (where an index would be used) are not very efficient since they require a full graph scan.

16:46:27 WARN  com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx  - Query requires iterating over all vertices. For better performance, use indexes

What kind of actions can be done here so that graph projections can be accomplished in an efficient way?

jarandaf
  • 4,297
  • 6
  • 38
  • 67

0 Answers0