- プロパティ・グラフのグラフ開発者ガイド
- Oracle Graph Server (PGX) and Clientのインストール
- Oracle Graph Server and Clientのインストール
- Oracle Graph Clientのインストール
- グラフ・クライアント
- Oracle Graph Javaクライアント
- Maven CentralでのOracle Graph Java Clientの使用
Maven CentralでのOracle Graph Java Clientの使用
Maven Centralからプロパティ・グラフJavaクライアントを取得できます。
グラフJavaクライアント用のMavenアーティファクトは、次のとおりです。
- グループ名: com.oracle.database.graph
- アーティファクト名: opg-client
- バージョン: 23.1.0
次のステップを実行して、Maven CentralからグラフJavaクライアントを使用できます。
- Apache Mavenをシステムにダウンロードしてインストールします。詳細は、Apache Maven Projectを参照してください。
mvn
コマンドを使用してbinフォルダをPATH
変数に追加します。- Mavenプロジェクトをビルドし、プロジェクト・ディレクトリにナビゲートします。
- 次のように、
pom.xml
ファイルを編集します。- 次のように、グラフJavaクライアントの依存関係を追加します。
<dependencies> <dependency> <groupId>com.oracle.database.graph</groupId> <artifactId>opg-client</artifactId> <version>23.1.0</version> </dependency> </dependencies>
ノート:
Gradleをビルド・ツールとして使用している場合、Javaクライアントの同等の依存関係宣言は次のとおりです。
implementation group: 'com.oracle.database.graph', name: 'opg-client', version: '23.1.0'
- JavaクライアントがSpoofax Language Workbenchライブラリに依存してPGQL問合せをコンパイルするため、次のリポジトリを追加します。
<repositories> <repository> <id>spoofax</id> <url>https://artifacts.metaborg.org/content/repositories/releases</url> </repository> </repositories>
- 次のように、グラフJavaクライアントの依存関係を追加します。
- 必要に応じて、ステップ4をスキップし、
<project_dir>/POM.xml
ファイルに次の最小POM構成をコピーできます。<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>my-app</name> <repositories> <repository> <id>spoofax</id> <url>https://artifacts.metaborg.org/content/repositories/releases</url> </repository> </repositories> <dependencies> <dependency> <groupId>com.oracle.database.graph</groupId> <artifactId>opg-client</artifactId> <version>23.1.0</version> </dependency> </dependencies> </project>
<project_dir>/src/main/java/com/mycompany/app
でJavaコードを作成し、Mavenを使用してコンパイルします。たとえば、次のコードは<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); } }
その後、プロジェクト・ディレクトリにナビゲートして次のコマンドを実行することで、前述のコードをコンパイルして実行できます。
mvn compile exec:java -Dexec.mainClass="com.mycompany.app.App1"-Dexec.arguments='<db-connect-string>,<username>,<password>'
正常に処理されると、コードによって次のような出力が生成されます。実際の出力は、<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
親トピック: Oracle Graph Javaクライアント