Similar to node query, user can do edge query in a graph freely. By giving some filtering rules, user can acquire and assemble node data or aggregate the results.
Syntax:
- Command:
find()
- Parameter: (see the table below)
- Statement Alias: Custom alias supported (by default it is edges), structure type is EDGE
Parameter | Type | Specification | Description | Structure Type of Custom Alias |
---|---|---|---|---|
edges() |
Filter | Mandatory | Filtering rules of edge | Not supported |
Similar to node query, the default custom alias edges is automatically defined by system when there is no manually defined alias at the end of the edge query statement; in this case user can not use edges to define custom alias for other data in subsequent UQL statement, error of duplicated name will be triggered otherwise. If there is manually defined alias at the end of the edge query statement, it shall prevail.
Unconditional
Example: Find 10 edges, return all edge properties
find().edges() as e
limit 10
return e{*}
UUID
Example: Find edges 1, 2, 3, return all edge properties
find().edges([1,2,3]) as e
return e{*}
FROM
Example: Find 10 edges from a node whose UUID is 1, return all edge properties
find().edges({_from_uuid == 1}) as e
limit 10
return e{*}
Example: Find 10 @transaction from Card CA001, return all edge properties
find().edges({_from == "CA001"}) as e
limit 10
return e{*}
TO
Example: Find 10 edges to a node whose UUID is 1, return all edge properties
find().edges({_to_uuid == 1}) as e
limit 10
return e{*}
Example: Find 10 @transaction to Card CA001, return transaction number
find().edges({_to == "CA001"}) as e
limit 10
return e{*}
Schema
Example: Find 10 @transfer, return all edge properties
find().edges({@transfer}) as e
limit 10
return e{*}
Property
Example: Find 10 edges with their time greater than 2022-04-02 0:0:0, return all edge properties
find().edges({time > "2022-04-02 0:0:0"}) as e
limit 10
return e{*}
Schema & Property
Example: Find 10 edges with their @transfer time greater than 2022-04-02 0:0:0, return all edge properties
find().edges({@transfer.time > "2022-04-02 0:0:0"}) as e
limit 10
return e{*}
Default Statement Alias
Example: Find 10 edges, return all edge properties
find().edges() as e
limit 10
return e{*}