機械翻訳について

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

この項では、データベース内のPGQLおよびSQLのpropertyグラフで直接実行できるPGQL問合せのサポート対象およびサポート対象外のPGQL機能と、グラフをメモリーにロードした後に実行されるPGQL機能の完全なリストを示します。
機能 RDBMSでのPGQL RDBMSでのPGQL グラフ・サーバー上のPGQL (PGX)
(PGQLプロパティ・グラフ) (SQLプロパティ・グラフ脚注1)
CREATE PROPERTY GRAPH サポートされている サポートされている サポートされている
制限事項:
  • 頂点のコンポジット・キーはありません
  • プロパティは列参照である必要があります。任意のプロパティ式は、グラフが最初にデータベースに作成され、次にグラフ・サーバー(PGX)にロードされないかぎりサポートされません。
DROP PROPERTY GRAPH サポートされている サポートされている サポート対象外
固定長パターン一致 サポートされている サポートされている サポートされている
可変長パターン一致の目標 サポート対象:
  • 到達可能性
  • パス検索プレフィクス:
    • ANY
    • ANY SHORTEST
    • SHORTEST k
    • ALL
  • パス・モード:
    • WALK
    • TRAIL
    • SIMPLE
    • ACYCLIC

制限事項:

  • パス検索プレフィクス:
    • ALL SHORTEST
    • ANY CHEAPEST
    • CHEAPEST k
サポート対象外 サポート対象:
  • 到達可能性
  • パス検索プレフィクス:
    • ANY
    • ANY SHORTEST
    • SHORTEST k
    • ALL SHORTEST
    • ANY CHEAPEST
    • CHEAPEST k
    • ALL
  • パス・モード:
    • WALK
    • TRAIL
    • SIMPLE
    • ACYCLIC
可変長パターン一致の数量詞 サポート対象:
  • *
  • +
  • ?
  • { n }
  • { n, }
  • { n, m }
  • { , m }
サポート対象外 サポート対象:
  • *
  • +
  • ?
  • { n }
  • { n, }
  • { n, m }
  • { , m }

制限事項:

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

    制限: 数量詞*はサポートされていません

サポート対象外:

  • ONE ROW PER VERTEX
サポート対象外 サポート対象:
  • ONE ROW PER VERTEX
  • ONE ROW PER STEP

制限事項:

  • *量指定子はサポートされていません
OPTIONAL MATCH 未サポート 未サポート サポートされている
GROUP BY サポートされている サポートされている サポートされている
HAVING サポートされている サポートされている サポートされている
集計 サポート対象:
  • COUNT
  • MINMAXAVGSUM
  • LISTAGG
  • JSON_ARRAYAGG

制限事項:

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

サポートされない例:

  • JSON_ARRAYAGG
DISTINCT
  • SELECT DISTINCT
  • DISTINCTを使用した集計(COUNT(DISTINCT e.prop)など)
サポートされている サポートされている サポートされている
SELECT v.* サポートされている サポート対象外 サポートされている
ORDER BY (+ASC/DESC), LIMIT, OFFSET サポートされている サポートされている サポートされている
データ型 使用可能なすべてのOracle RDBMSデータ型がサポートされています 使用可能なすべてのOracle RDBMSデータ型がサポートされています サポート対象:
  • INTEGER (32-bit)
  • LONG (64-bit)
  • FLOAT (32-bit)
  • DOUBLE (64-bit)
  • STRING (最大長なし)
  • BOOLEAN
  • DATE
  • TIME
  • TIME WITH TIME ZONE
  • TIMESTAMP
  • TIMESTAMP WITH TIME ZONE
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)
    • 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値は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

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

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

  • IS NULLIS NOT NULL
  • LOWERUPPER
  • SUBSTRING
  • ABSCEIL/CEILINGFLOORROUND
  • EXTRACT
  • CAST
  • CASE
  • INNOT IN

サポートされていないPGQL関数/述語はすべて頂点/エッジ関数です

サポート対象:
  • IS NULLIS NOT NULL
  • JAVA_REGEXP_LIKE (CONTAINSに基づいています)
  • LOWERUPPER
  • SUBSTRING
  • ABSCEIL/CEILINGFLOORROUND
  • EXTRACT
  • ID, VERTEX_ID, EDGE_ID
  • LABEL, LABELS, IS [NOT] LABELED
  • ALL_DIFFERENT
  • IN_DEGREEOUT_DEGREE
  • CAST
  • CASE
  • INNOT IN
  • MATCHNUM
  • ELEMENT_NUMBER
  • IS [NOT] SOURCE [OF], IS [NOT] DESTINATION [OF]
  • VERTEX_EQUAL, EDGE_EQUAL
ユーザー定義関数 サポート対象:
  • PL/SQLファンクション
  • Oracle Database Multilingual Engine (MLE)を介して作成された関数
サポート対象:
  • PL/SQLファンクション
  • Oracle Database Multilingual Engine (MLE)を介して作成された関数
サポート対象:
  • Java UDF
  • JavaScript UDF
副問合せ:
  • スカラー副問合せ
  • EXISTSおよびNOT EXISTS副問合せ
  • LATERAL 副問合せ
サポート対象:
  • EXISTSおよびNOT EXISTS副問合せ
  • スカラー副問合せ
  • LATERAL 副問合せ
サポート対象副問合せ:
  • EXISTS
  • NOT EXISTS
サポート対象外:
  • スカラー副問合せ
  • LATERAL 副問合せ
サポートされている
GRAPH_TABLE演算子 サポートされている

拡張機能:

  • CREATE PROPERTY GRAPHBASE GRAPHS句(他のグラフのメタデータに基づいてグラフを作成する場合)
未サポート サポートされている
INSERT/UPDATE/DELETE サポートされている 未サポート サポートされている
INTERVAL リテラルおよび操作 未サポート 未サポート

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

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

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

  • 日時(+)へのINTERVALの追加
  • 日時からINTERVALを減算(-)

「脚注1」 SQLプロパティ・グラフは、Oracle Database 23aiでのみサポートされています。