6.7 サポートされているPGQL機能と制限事項

次の表では、次のものについて、サポート対象およびサポート対象外のPGQL機能をすべて示します。
  • RDBMS上のPGQL (PG_VIEW)
  • RDBMS上のPGQL (PG_SCHEMA)
  • グラフ・サーバー上のPGQL (PGX)

表6-2 サポートされているPGQL機能と制限事項

機能 RDBMS上のPGQL (PG_VIEW) RDBMS上のPGQL (PG_SCHEMA) グラフ・サーバー上のPGQL (PGX)
CREATE PROPERTY GRAPH サポート対象 サポート対象 サポート対象
制限事項:
  • 頂点のコンポジット・キーはありません
DROP PROPERTY GRAPH サポート対象 サポート対象 サポート対象外
固定長パターン一致 サポート対象 サポート対象 サポート対象
可変長パターン一致の目標 サポート対象:
  • 到達可能性
  • ANY
  • ANY SHORTEST
  • TOP k SHORTEST
  • ALL

制限事項:

  • ALL SHORTEST
  • ANY CHEAPEST
  • TOP k CHEAPEST
サポート対象:
  • 到達可能性

制限事項:

  • ANY
  • ANY SHORTEST
  • TOP k SHORTEST
  • ALL SHORTEST
  • ANY CHEAPEST
  • TOP k CHEAPEST
  • ALL
サポート対象:
  • 到達可能性
  • ANY
  • ANY SHORTEST
  • TOP k SHORTEST
  • ALL SHORTEST
  • ANY CHEAPEST
  • TOP k CHEAPEST
  • ALL
可変長パターン一致の数量詞 サポート対象:
  • *
  • +
  • ?
  • { n }
  • { n, }
  • { n, m }
  • { , m }
サポート対象:
  • *
  • +
  • ?
  • { n }
  • { n, }
  • { n, m }
  • { , m }
サポート対象:
  • *
  • +
  • ?
  • { n }
  • { n, }
  • { n, m }
  • { , m }

制限事項:

  • ?は到達可能性についてのみサポートされています
  • ANY CHEAPESTおよびTOP k CHEAPESTの場合は、*のみがサポートされています
可変長パスのネスト解除 サポート対象外 サポート対象外 サポート対象:
  • ONE ROW PER VERTEX
  • ONE ROW PER STEP

制限事項:

  • *数量詞はサポートされていません
GROUP BY サポート対象 サポート対象 サポート対象
HAVING サポート対象 サポート対象 サポート対象
集計 サポート対象:
  • COUNT
  • MINMAXAVGSUMLISTAGG

制限事項:

  • ARRAY_AGG
サポート対象:
  • COUNT
  • MINMAXAVGSUM

制限事項:

  • LISTAGG
  • ARRAY_AGG
サポート対象:
  • COUNT
  • MINMAXAVGSUM
  • LISTAGG
  • ARRAY_AGG

制限事項:

  • ARRAY_AGGは、水平集計(可変長パスとの組合せ)としてのみサポートされており、垂直集計との組合せはサポートされていません
DISTINCT
  • SELECT DISTINCT
  • DISTINCTを使用した集計(COUNT(DISTINCT e.prop)など)
サポート対象 サポート対象 サポート対象
SELECT v.* サポート対象 サポート対象外 サポート対象
ORDER BY (+ASC/DESC)、LIMIT、OFFSET サポート対象 サポート対象 サポート対象
データ型 使用可能なすべてのOracle RDBMSデータ型がサポートされています サポート対象:
  • NVARCHAR2(15000)
  • NUMBER
  • BOOLEAN (NVARCHARのように格納されます)
  • TIMESTAMP(6)WITH TIME ZONE
サポート対象:
  • INTEGER (32ビット)
  • LONG (64ビット)
  • FLOAT (32ビット)
  • DOUBLE (64ビット)
  • STRING (最大長なし)
  • BOOLEAN
  • DATE
  • TIME
  • TIMEWITHTIMEZONE
  • TIMESTAMP
  • TIMESTAMPWITHTIMEZONE
JSON サポート対象:
  • JSON記憶域:
    • JSON文字列(VARCHAR2)
    • JSONオブジェクト
  • JSON関数:

    構文json_function_name(arg1, arg2,...)に従うJSON関数コール。たとえば:

    json_value(department_data, '$.department')

制限事項:
  • シンプルなドット表記法
  • JSON関数コールのオプション句(RETURNINGERRORなど)はサポートされません。たとえば:

    json_value(department_data, '$.employees[1].hireDate' RETURNING DATE)

組込みのJSONサポートはありません。ただし、JSON文字列(VARCHAR2)をNVARCHAR2(15000)データ型にマップできます。 組込みのJSONサポートはありません。ただし、JSON値はSTRINGとして格納でき、JavaまたはJavaScriptで記述されたユーザー定義関数(UDF)を使用して操作または問合せできます。
演算子 サポート対象:
  • 関係: +-*/%- (単項マイナス)
  • 算術: =<><><=>=
  • 論理: ANDORNOT
  • 文字列: || (concat)
サポート対象:
  • 関係: +-*/%- (単項マイナス)
  • 算術: =<><><=>=
  • 論理: ANDORNOT

制限事項:

  • 文字列: || (concat)
サポート対象:
  • 関係: +-*/%- (単項マイナス)
  • 算術: =<><><=>=
  • 論理: ANDORNOT
  • 文字列: || (concat)
関数および述語

サポート対象は、オプションのスキーマおよびパッケージ修飾子が指定されたfunction_name(arg1, arg2, ...)という形式をとる、Oracle RDBMSで使用可能なすべての関数です。

サポートされているPGQL関数/述語:

  • IS NULLIS NOT NULL
  • JAVA_REGEXP_LIKE (CONTAINSに基づいています)
  • LOWERUPPER
  • SUBSTRING
  • ABSCEIL/CEILINGFLOORROUND
  • EXTRACT
  • ID
  • LABELHAS_LABEL
  • ALL_DIFFERENT
  • CAST
  • CASE
  • INNOT IN

制限事項:

  • LABELS
  • IN_DEGREEOUT_DEGREE
サポート対象:
  • IS NULLIS NOT NULL
  • JAVA_REGEXP_LIKE (CONTAINSに基づいています)
  • ABSCEIL/CEILINGFLOORROUND
  • EXTRACT
  • ID
  • LABELHAS_LABEL
  • ALL_DIFFERENT
  • IN_DEGREEOUT_DEGREE
  • CAST
  • CASE
  • INNOT IN

制限事項:

  • LOWERUPPER
  • SUBSTRING
  • LABELS
サポート対象:
  • IS NULLIS NOT NULL
  • JAVA_REGEXP_LIKE (CONTAINSに基づいています)
  • LOWERUPPER
  • SUBSTRING
  • ABSCEIL/CEILINGFLOORROUND
  • EXTRACT
  • ID
  • LABELLABELSHAS_LABEL
  • ALL_DIFFERENT
  • IN_DEGREEOUT_DEGREE
  • CAST
  • CASE
  • INNOT IN
  • MATCH_NUMBER
  • ELEMENT_NUMBER
ユーザー定義関数 サポート対象:
  • PL/SQLファンクション
  • Oracle Database Multilingual Engine (MLE)を介して作成された関数
サポート対象外 サポート対象:
  • Java UDF
  • JavaScript UDF
副問合せ:
  • スカラー副問合せ
  • EXISTSおよびNOT EXISTS副問合せ
サポート対象 サポート対象 サポート対象
INSERT/UPDATE/DELETE Oracle Database 19c以降でサポート Oracle Database 19c以降でサポート サポート対象
INTERVALリテラルおよび操作 サポート対象外 サポート対象外

サポートされているリテラル:

  • SECOND
  • MINUTE
  • HOUR
  • DAY
  • MONTH
  • YEAR

サポートされている操作:

  • INTERVALを日時に追加します(+)
  • INTERVALを日時から減算します(-)