Change Password

Input error
Input error
Input error
Submit

Change Nickname

Current Nickname:
Submit
Search
v4.0
    v4.0

    Autonet

    Autonet function can quickly form a network of multiple specified nodes according to the information of nodes and edges in the graph. Autonet is a more efficient path query function which allows to pass IDs of multiple start/end nodes of paths based on A-B query; that means Autonet is a batch processing of A-B query. Therefore, the parameter limit is limiting the maximum returns of each A-B query results other than the total results of autonet.

    The setting of parameter dest() determines the working mode of Autonet:

    Inter-group Networking

    • N nodes from one group pairing with M nodes from another group (if sets dest())
      • N * M pairs of nodes and N * M times of A-B path query
      • When the parameter limit(n) is carried and the value of n is not -1, maximum n * N * M paths will be found

    Intra-group Networking

    • N nodes from one group pairing with each other (if omits dest()):
      • N(N-1)/2 pairs of nodes and N(N-1)/2 times of A-B path query
      • When the parameter limit(n) is carried and the value of n is not -1, maximum n * N(N-1)/2 paths will be found
    Inter-group Networking (Left image) and Intra-group Networking (Right image)
    (Each Line represents an A-B query for a time)

    Syntax:

    • Command: autonet()
    • Parameter: (see the table below)
    • Statement Alias: supports Custom alias, its structure type is PATH
    Parameter Type Specification Description Structure Type of Custom Alias
    src() Filter Mandatory The filtering rules of the start node NODE
    dest() Filter The filtering rules of the end node NODE
    depth() Range Mandatory To set the depth of the path
    depth(N): N edges
    depth(:N): 1~N edges
    depth(M:N): M~N edges
    depth(N).shortest(): the shortest path within N edges
    Not supported
    shortest() / / To return the shortest paths Not supported
    node_filter() Filter The filtering rules that nodes other than src and dest need to satisfy Not supported
    edge_filter() Filter The filtering rules that all edges need to satisfy Not supported
    direction() String left, right To specify the direction of the edge Not supported
    no_circle() / / To dismiss the paths with circles; see chapter Basic Concept for the definition of circle under Terminologies Not supported
    limit() Int -1 or >=0 Number of results of each A-B query to return, -1 means to return all results Not supported

    Inter-group Networking

    N steps

    Example: Autonet Card CA001, CA002, and CA003, to Customer CU001 and CU002, return two 5-step paths for each node pair

    autonet()
      .src({_id in ["CA001","CA002","CA003"]}).dest({_id in ["CU001","CU002"]}).depth(5)
      .limit(2) as p
    return p{*}
    

    1~N steps

    Example: Autonet Card CA001, CA002, and CA003, to Customer CU001 and CU002, return 2 paths for each node pair within 5 steps

    autonet()
      .src({_id in ["CA001","CA002","CA003"]}).dest({_id in ["CU001","CU002"]}).depth(:5)
      .limit(2) as p
    return p{*}
    

    M~N steps

    Example: Autonet Card CA001, CA002, and CA003, to Customer CU001 and CU002, return 2 paths for each node pair within 3~5 steps

    autonet()
      .src({_id in ["CA001","CA002","CA003"]}).dest({_id in ["CU001","CU002"]}).depth(3:5)
      .limit(2) as p
    return p{*}
    

    Non-weighted Shortest Path

    Example: Autonet Card CA001, CA002, and CA003, to Customer CU001 and CU002, return 2 shortest paths for each node pair within 5 edges

    autonet()
      .src({_id in ["CA001","CA002","CA003"]}).dest({_id in ["CU001","CU002"]}).depth(5)
      .shortest().limit(2) as p
    return p{*}
    

    node_filter()

    Example: Autonet Card CA001, CA002, and CA003, to Customer CU001 and CU002, return 2 paths that do not contain @card nodes for each node pair within 5 steps

    autonet()
      .src({_id in ["CA001","CA002","CA003"]}).dest({_id in ["CU001","CU002"]}).depth(:5)
      .node_filter({!@card}).limit(2) as p
    return p{*}
    

    edge_filter()

    Example: Autonet Card CA001, CA002, and CA003, to Customer CU001 and CU002, return 2 paths that do not contain @transfer edges for each node pair within 5 steps

    autonet()
      .src({_id in ["CA001","CA002","CA003"]}).dest({_id in ["CU001","CU002"]}).depth(:5)
      .edge_filter({!@transfer}).limit(2) as p
    return p{*}
    

    direction(right)

    Example: Autonet Card CA001, CA002, and CA003, to Card CA022 and CA029, return 2 paths in the right direction (outbound) for each node pair within 5 steps

    autonet()
      .src({_id in ["CA001","CA002","CA003"]}).dest({_id in ["CA022","CA029"]}).depth(:5)
      .direction(right).limit(2) as p
    return p
    

    direction(left)

    Example: Autonet Card CA001, CA002, and CA003, to Card CA022 and CA029, return 2 paths in the left direction (inbound) for each node pair within 5 steps

    autonet()
      .src({_id in ["CA001","CA002","CA003"]}).dest({_id in ["CA022","CA029"]}).depth(:5)
      .direction(left).limit(2) as p
    return p
    

    no_circle()

    Example: Autonet Card CA001, CA002, and CA003, to Card CA022 and CA029, return 2 non-circular paths for each node pair within 5 steps

    autonet()
      .src({_id in ["CA001","CA002","CA003"]}).dest({_id in ["CA022","CA029"]}).depth(:5)
      .no_circle().limit(2) as p
    return p
    

    limit

    Example: Autonet Card CA001, CA002, and CA003, to Customer CU001 and CU002, return 10 paths within 5 steps

    autonet()
      .src({_id in ["CA001","CA002","CA003"]}).dest({_id in ["CU001","CU002"]}).depth(5) as p
    limit 10 
    return p{*}
    

    Intra-group Networking

    N steps

    Example: Autonet Card CA001, CA002, and CA003 to each other, return two 5-step paths for each node pair

    autonet()
      .src({_id in ["CA001","CA002","CA003"]}).depth(5)
      .limit(2) as p
    return p{*}
    

    1~N steps

    Example: Autonet Card CA001, CA002, and CA003 to each other, return 2 paths for each node pair within 1~5 steps

    autonet()
      .src({_id in ["CA001","CA002","CA003"]}).depth(:5)
      .limit(2) as p
    return p{*}
    

    M~N steps

    Example: Autonet Card CA001, CA002, and CA003 to each other, return 2 paths for each node pair within 3~5 steps

    autonet()
      .src({_id in ["CA001","CA002","CA003"]}).depth(3:5)
      .limit(2) as p
    return p{*}
    

    Non-weighted Shortest Path

    Example: Autonet Card CA001, CA002, and CA003 to each other, return 2 shortest paths for each node pair within 5 steps

    autonet()
      .src({_id in ["CA001","CA002","CA003"]}).depth(5)
      .shortest().limit(2) as p
    return p{*}
    

    node_filter()

    Example: Autonet Card CA001, CA002, and CA003 to each other, return 2 paths that do not contain @card nodes for each node pair within 5 steps

    autonet()
      .src({_id in ["CA001","CA002","CA003"]}).depth(:5)
      .node_filter({!@card}).limit(2) as p
    return p{*}
    

    edge_filter()

    Example: Autonet Card CA001, CA002, and CA003 to each other, return 2 paths that do not contain @transfer edges for each node pair within 5 steps

    autonet()
      .src({_id in ["CA001","CA002","CA003"]}).depth(:5)
      .edge_filter({!@transfer}).limit(2) as p
    return p{*}
    

    direction(right)

    Example: Autonet Card CA001, CA002, and CA003 to each other, return 2 paths in the right direction (outbound) for each node pair within 5 steps

    autonet()
      .src({_id in ["CA001","CA002","CA003"]}).depth(:5)
      .direction(right).limit(2) as p
    return p
    

    direction(left)

    Example: Autonet Card CA001, CA002, and CA003 to each other, return 2 paths in the left direction (inbound) for each node pair within 5 steps

    autonet()
      .src({_id in ["CA001","CA002","CA003"]}).depth(:5)
      .direction(left).limit(2) as p
    return p
    

    no_circle()

    Example: Autonet Card CA001, CA002, and CA003 to each other, return 2 non-circular paths for each node pair within 5 steps

    autonet()
      .src({_id in ["CA001","CA002","CA003"]}).depth(:5)
      .no_circle().limit(2) as p
    return p
    

    limit

    Example: Autonet Card CA001, CA002, and CA003 to each other, return 10 paths within 5 steps

    autonet()
      .src({_id in ["CA001","CA002","CA003"]}).depth(5) as p
    limit 10 
    return p{*}
    
    Please complete the following information to download this book
    *
    公司名称不能为空
    *
    公司邮箱必须填写
    *
    你的名字必须填写
    *
    你的电话必须填写
    *
    你的电话必须填写