For example, the following code is stored in a file
                            
<project_dir>/src/main/java/com/mycompany/app/App1.java:
package com.mycompany.app;
 
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import oracle.pg.rdbms.pgql.PgqlConnection;
import oracle.pg.rdbms.pgql.PgqlStatement;
import oracle.pg.rdbms.pgql.PgqlResultSet;
import oracle.pgx.api.*;
import oracle.pg.rdbms.GraphServer;
import oracle.pg.rdbms.pgql.jdbc.PgqlJdbcRdbmsDriver;
public class App1 {
 
  public static void main(String[] args) throws Exception {
    String dbConnectString = args[0];
    String username = args[1];
    String password = args[2];
 
    // Obtain a JDBC database connection
    DriverManager.registerDriver(new PgqlJdbcRdbmsDriver());
    String jdbcUrl = "jdbc:oracle:pgql:@" + dbConnectString;
    System.out.println("connecting to " + jdbcUrl);
    try (Connection conn = DriverManager.getConnection(jdbcUrl, username, password)) {
      conn.setAutoCommit(false);
      // Create PGQL connection
      PgqlConnection pgqlConn = PgqlConnection.getConnection(conn);
      // Create a PGQL statement to execute PGQL queries
      PgqlStatement pgqlStmt = pgqlConn.createStatement();
      // Create a property graph view using the CREATE PROPERTY GRAPH statement
      String pgViewName = "BANK_GRAPH_VIEW";
      String createPgViewQuery = 
          "CREATE PROPERTY GRAPH " + pgViewName + " " +
          "VERTEX TABLES ( BANK_ACCOUNTS AS ACCOUNTS " +
          "KEY (ID) " +
          "LABEL ACCOUNTS " +
          "PROPERTIES (ID, NAME)" +
          ") " +
          "EDGE TABLES ( BANK_TXNS AS TRANSFERS " +
          "KEY (FROM_ACCT_ID, TO_ACCT_ID, AMOUNT) " +
          "SOURCE KEY (FROM_ACCT_ID) REFERENCES ACCOUNTS (ID) " +
          "DESTINATION KEY (TO_ACCT_ID) REFERENCES ACCOUNTS (ID) " +
          "LABEL TRANSFERS " +
          "PROPERTIES (FROM_ACCT_ID, TO_ACCT_ID, AMOUNT, DESCRIPTION)" +
          ") OPTIONS(PG_VIEW)";
      pgqlStmt.execute(createPgViewQuery);
      // Execute a query to retrieve the first 10 elements of the graph
      String pgqlQuery = 
          "SELECT e.from_acct_id, e.to_acct_id, e.amount FROM " +
          "MATCH (n:ACCOUNTS) -[e:TRANSFERS]-> (m:ACCOUNTS) ON " +
          pgViewName + " LIMIT 10";
      PgqlResultSet rs = pgqlStmt.executeQuery(pgqlQuery);
      rs.print();
      // Drop the property graph view using the DROP PROPERTY GRAPH statement
      String dropPgViewQuery = "DROP PROPERTY GRAPH " + pgViewName;
      pgqlStmt.execute(dropPgViewQuery);
    }
    System.exit(0);
  }
}
You can then compile and run the preceding code by navigating
                        to your project directory and running the following
                        command:
mvn compile exec:java -Dexec.mainClass="com.mycompany.app.App1"-Dexec.arguments='<db-connect-string>,<username>,<password>'
On successful processing, the code may produce an output
                        similar to the following. Note, your output may be different depending on
                        your
                    <db-connect-string>.
                        
[INFO] --- exec-maven-plugin:3.1.0:java (default-cli) @ my-app ---
connecting to jdbc:oracle:pgql:@myhost:1521/oradb
name = Baz