18.10 PGQL Queries with Partitioned IDs
You can retrieve partitioned IDs using the id() function in PGQL.
PGQL SELECT Queries
The following are a few examples to retrieve partitioned IDs using PGQL
                    SELECT queries:
                  
g.queryPgql("SELECT id(n) FROM MATCH(n)").print().close()This prints an output similar to:
+-------------+
| id(n)       |
+-------------+
| Accounts(2) |
| Accounts(4) |
| Accounts(6) |
+-------------+
g.queryPgql("SELECT n.name FROM MATCH(n) WHERE id(n) = 'Accounts(1)'").print().close()The output is printed as shown:
+-------+
| name  |
+-------+
| User1 |
+-------+g.queryPgql("SELECT LABEL(n), n.name from MATCH(n) WHERE n.id = 1").print().close()The output is printed as shown:
+------------------+
| label(n) | name  |
+------------------+
| Accounts | User1 |
+------------------+PGX automatically creates a unique index for keys so that queries with
                predicates such as WHERE id(n) = 'Accounts(1)' and WHERE
                    n.id = 1 can be efficiently processed by retrieving the vertex in
                constant time.
                  
Using Bind Variables
Partitioned IDs can also be passed as bind values into a
                    PgxPreparedStatement.
                  
For example:
PgxPreparedStatement statement = g.preparePgql("SELECT n.name FROM MATCH (n) WHERE id(n)= ?")
statement.setString(1, "Accounts(1)")
statement.executeQuery().print().close()This prints the output as shown:
+-------+
| name  |
+-------+
| User1 |
+-------+PGQL INSERT Queries
In INSERT queries, you must provide a value for the key
                property if a key property exists. The value is then used for the vertex or edge
                key.
                  
For example you can execute an INSERT as shown:
                  
g.executePgql("INSERT VERTEX v LABELS (Accounts) PROPERTIES (v.id = 1001, v.name = 'User1001')")The inserted values can be verified as shown:
g.queryPgql("SELECT id(n), n.name FROM MATCH(n) WHERE n.id = 1001").print().close()This prints the output:
+---------------------------+
| id(n)          | name     |
+---------------------------+
| Accounts(1001) | User1001 |
+---------------------------+Parent topic: Executing PGQL Queries Against the Graph Server (PGX)