Hi:
In the JanusGraph documentation, https://docs.janusgraph.org/basics/index-performance/, the section on "Vertex-Centric Indexes", there is the following paragraph:
"Multiple vertex-centric indexes can be built for the same edge label in order to support different constraint traversals. JanusGraph’s query optimizer attempts to pick the most efficient index for any given traversal."
Then I went to review the JanusGraph Data Model in the JanusGraph documentation, https://docs.janusgraph.org/advanced-topics/data-model/, there is a section of “Individual Edge Layout” along with a diagram to show the key/column/value layout. One edge that is associated with a vertex can only be stored as a unique “edge” cell in a row that belongs to the vertex. And in this cell, the column key is encoded as: label id + direction + sort key + adjacent vertex id + edge id, and the column value is encoded as: signature key + other (cell) properties.
My understanding is that for a unique edge, with only one column key, there can only be one single label id and the associated sort key to be supported. Therefore, one edge can only be encoded with one edge label, and one vertex-centric index (represented by the sort key) belonging to this edge label.
My question is: how can multiple vertex-centric indexes to be supported, given the current JanusGraph Data Model?
If I remember correctly, this multiple vertex-centric indexes support statement did not appear in the older version of JanusGraph documentation (say, before January 2019). And the JanusGraph data model has stayed the same without changes since the beginning of JanusGraph.
Jun
--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/e3ded08f-b5a0-4a53-bc78-dd66c696d39d%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/b08953f3-adf2-4ce2-bb81-9576dd098b2a%40googlegroups.com.
management.buildEdgeIndex(routes, "idx_vertex_centric_distance", Direction.BOTH, distance);
management.buildEdgeIndex(routes, "idx_vertex_centric_age", Direction.BOTH, age);
management.buildEdgeIndex(routes, "idx_vertex_centric_distance_age", Direction.BOTH, distance, age);
Hi, JunThe methods buildEdgeIndex and buildRelationTypeIndex are here:You can also see how the RelationTypeIndex (vertex centric index) edges are added/updated in the JanusGraph transaction and index repair tool code.Thanks,Jerry
On Mon, Sep 23, 2019 at 6:33 PM Jun Li <jltz9...@gmail.com> wrote:
Hi Jerry,--Thanks for the explanation. I wonder when such "artificial edge label" gets introduced into the JanusGraph release? Could you point me to the source code files in the recent release on handling vertex-centric index with such an artificial label?Regards,Jun
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgra...@googlegroups.com.