Search code examples
nebula-graph

NebulaGraph Database: how to filter out the path corresponding to a certain rank value


The details are as follows:

  • NebulaGraph version is 2.5.0.
  • Deployment method is stand-alone.

I don't know how to write the grammar because I didn’t find relevant cases in the manual. I only want to return the path whose rank value of follow is 1

enter image description here


Solution

  • You can replace the edge [e:follow*1] with [e:follow]. At present, nebula internally regards the * after the edge as variable length even if it is written as 1. For the variable length edge, the type of the variable e becomes a list, so rank(e) == 1 here always returns false;

    Try again with the following query:

    MATCH p=(v)-[e:follow]-(v2)
    WHERE id(v) == "player10" and rank(e) == 1
    RETURN p
    LIMIT 100