15.148 SEM_APIS.SPARQL_TO_SQL

形式

SEM_APIS.SPARQL_TO_SQL(
    sparql_query  IN CLOB,
    models        IN RDF_MODELS DEFAULT NULL, 
    rulebases     IN RDF_RULEBASES DEFAULT NULL,
    aliases       IN RDF_ALIASES DEFAULT NULL, 
    index_status  IN VARCHAR2 DEFAULT NULL, 
    options       IN VARCHAR2 DEFAULT NULL
    graphs        IN RDF_GRAPHS DEFAULT NULL,
    named_graphs  IN RDF_GRAPHS DEFAULT NULL,
    network_owner IN VARCHAR2 DEFAULT NULL,
    network_name  IN VARCHAR2 DEFAULT NULL) RETURN CLOB;

説明

SPARQL問合せを、アプリケーション・プログラムで実行可能なSQL問合せに変換します。

パラメータ

sparql_query

1つ以上のトリプル・パターンを含む文字列リテラル。通常は変数を含んでいます。

models

使用する1つまたは複数のモデル。

rulebases

そのルールが問合せに適用される1つ以上のルールベース。

aliases

修飾された名前を拡張するために問合せパターンで使用される1つ以上のネームスペース。

index_status

この問い合わせに対する適当な伴意のステータス。

options

問合せ結果に影響を与える可能性のあるオプションです。

graphs

問合せに対するデフォルトのグラフを構築する元となる名前付きグラフのセットです。

named_graphs

GRAPH句で照合可能な名前付きグラフのセットです。

network_owner

RDFネットワークの所有者。(表1-2を参照してください。)

network_name

RDFネットワークの名前。(表1-2を参照してください。)

使用に関するノート

このプロシージャを使用する前に、「SEM_APIS.SPARQL_TO_SQL関数を使用したRDFデータの問合せ」の資料を理解していることを確認してください。

RDFネットワークのタイプおよびオプションの詳細は、「RDFネットワーク」を参照してください。

次の例では、SPARQL問合せをSQL問合せ文字列に変換しています。

DECLARE
  sparql_stmt clob;
  sql_stmt    clob;
BEGIN
  sparql_stmt := '{?x :grandParentOf ?y . ?x rdf:type :Male}';
  sql_stmt := sem_apis.sparql_to_sql(
                sparql_stmt,
                sem_models('family'),
                SEM_Rulebases('RDFS','family_rb'),
                SEM_ALIASES(SEM_ALIAS('','http://www.example.org/family/')),
                null);
  execute immediate
    'create table gf_table as 
     select x grandfather, y grandchild from('|| sql_stmt || ')';
END;
/