31.2.2.1 日時データのロード

日時データを操作するには、まずグラフをロードする必要があります。グラフのロードの詳細は、データベースからグラフ・サーバー(PGX)へのグラフの読込みを参照してください。

次の例では、個人を表す3個の頂点とゼロ個のエッジを持つグラフをロードする方法を示します。

  1. 次に示すように、emp表に格納されている日時データを使用して、SQLプロパティ・グラフを作成します:
    CREATE TABLE emp (
      id          NUMBER (10) NOT NULL
      name        VARCHAR2(10),
    j joined_on   TIMESTAMP,
      CONSTRAINT  emp_pk PRIMARY KEY (id)
    );
    
    INSERT into emp values (100, "John", to_timestamp('1990-02-02 09:30:00', 'YYYY-MM-DD HH:MI:SS');
    INSERT into emp values (200, "Mary", to_timestamp('2000-07-01 10:15:20', 'YYYY-MM-DD HH:MI:SS');
    INSERT into emp values (300, "Alice", to_timestamp('2014-10-10 11:00:00', 'YYYY-MM-DD HH:MI:SS');
    
    CREATE PROPERTY GRAPH emp_graph
      VERTEX TABLES (
       emp
         KEY ( id )
         LABEL emp
         PROPERTIES ( id, name, joined_on )
    );
  2. グラフをグラフ・サーバー(PGX)にロードし、必要に応じてグラフを問い合せます。

opg4j> var g = session.readGraphByName ("EMP_GRAPH",GraphSource.PG_SQL)
opg4j> g.queryPgql("SELECT n.* FROM MATCH (n)").print()
+-----------------------------------+
| ID  | NAME  | JOINED_ON           |
+-----------------------------------+
| 200 | Mary  | 2000-07-01T10:15:20 |
| 100 | John  | 1990-02-02T09:30    |
| 300 | Alice | 2014-10-10T11:00    |
+-----------------------------------+
$3 ==> PgqlResultSetImpl[graph=EMP_GRAPH,numResults=3]
PgxGraph g = session.readGraphByName("EMP_GRAPH", GraphSource.PG_SQL);
PgqlResultSet resultSet = g.queryPgql("SELECT n.* FROM MATCH (n)");
resultSet.print();
>>> g = session.read_graph_by_name("EMP_GRAPH", "pg_sql")
>>> g = session.read_graph_by_name("EMP_GRAPH", "pg_sql")
+-----------------------------------+
| ID  | NAME  | JOINED_ON           |
+-----------------------------------+
| 200 | Mary  | 2000-07-01T10:15:20 |
| 100 | John  | 1990-02-02T09:30    |
| 300 | Alice | 2014-10-10T11:00    |
+-----------------------------------+