How to display found nodes info when using shortest query with numpaths > 1


#1

I want to display all found nodes name with following query, but only the nodes name in the first path was displayed. Could I display all the nodes name found?

Query:
{
   s as shortest(from: 0x2f5055, to: 0x325d61, numpaths:3) {
    _MainProduct
    ~_MainProduct
  }
 path(func: uid(s)) {
  Name
 }
}

Results:
{
   “data”:  {
       “path”:  [
           {
               “Name”:  “Bank0”,
               “uid”:  “0x2f5055”
           },
           {
               “Name”:  “CreditCard”,
               “uid”:  “0x2eb1db”
           },
           {
               “Name”:  “Bank1”,
               “uid”:  “0x325d61”
           }
       ],
       “path”:  [
           {
               “_MainProduct”:  [
                   {
                       “~_MainProduct”:  [
                           {
                               “uid”:  “0x325d61”
                           }
                       ],
                       “uid”:  “0x2eb1db”
                   }
               ],
               “uid”:  “0x2f5055”
           },
           {
               “_MainProduct”:  [
                   {
                       “~_MainProduct”:  [
                           {
                               “uid”:  “0x325d61”
                           }
                       ],
                       “uid”:  “0x2fc2a1”
                   }
               ],
               “uid”:  “0x2f5055”
           },
           {
               “_MainProduct”:  [
                   {
                       “~_MainProduct”:  [
                           {
                               “uid”:  “0x325d61”
                           }
                       ],
                       “uid”:  “0x3ae630”
                   }
               ],
               “uid”:  “0x2f5055”
           }
       ]
   },
   “extensions”:  {
       “server_latency”:  {
           “parsing_ns”:  36348,
           “processing_ns”:  70471570,
           “encoding_ns”:  594299
       },
       “txn”:  {
           “start_ts”:  18375
       }
   }
}

Thanks


(Michel Conrado (Support Engineer)) #2

This is not possible in the “_PATH_” field of K-Shortest Path. The idea behind k-SP is to know the path of the edges and not the content of the Nodes. If you need this try Recurse Query .

However, in the first field however, you have access to the content of the target nodes. Just expand as below.

 path(func: uid(path)) {
   uid
  expand(_all_)
 }

#3

Yes, only the nodes in the first path, not the ones in other paths.