15.24 SEM_APIS.BUILD_SPM_TAB

形式

SEM_APIS.BUILD_SPM_TAB (
    spm_type           IN NUMBER,
    spm_name           IN DBMS_ID,
    model_name         IN VARCHAR2,
    key_string         IN VARCHAR2,
    prefixes           IN VARCHAR2 DEFAULT NULL,
    tablespace_name    IN DBMS_ID DEFAULT NULL,
    degree             IN NUMBER DEFAULT NULL,
    options            IN VARCHAR2 DEFAULT NULL,
    network_owner      IN DBMS_ID DEFAULT NULL,
    network_name       IN VARCHAR2 DEFAULT NULL);

ノート:

このサブプログラムは、今後のリリースで非推奨になります。かわりにSEM_APIS.BUILD_RESULT_TABサブプログラムを使用することをお薦めします。

説明

指定されたRDFモデルの、指定されたタイプのSPM表を作成します。

これらのパラメータの詳細は、次のパラメータの項を参照してください。

パラメータ

spm_type

SPM表のタイプ。

次のいずれかの値を使用できます。
  • SEM_APIS.SPM_TYPE_SVP
  • SEM_APIS.SPM_TYPE_MVP
  • SEM_APIS.SPM_TYPE_PCN
spm_name

SPM表の名前の一部として使用する文字列。

key_stringパラメータで指定された(単一)プロパティについては名前がId(<property>)として自動生成されるため、MVP表の場合はNULLである必要があります。

model_name

RDFモデルの名前。

key_string

含めるプロパティのリストを指定します。各プロパティは、RDFモデル内のデータに基づいた単一値である必要があります。プロパティの前に'+'が付いている場合、その表には字句値の列が含まれます。逆プロパティを含めるには、このプロパティの前に^を使用します。たとえば、+^:fatherOfを使用すると、逆プロパティの字句値情報が含まれます(字句値情報を含む:hasFatherプロパティと直観的に同等)。

prefixes

key_stringパラメータで使用されているプロパティに関連する接頭辞を指定します。構文は、SPARQL問合せで使用されるPREFIX構文と同じです。

tablespace_name

SPM表のターゲット表領域の名前。

degree

操作中に使用する並列度。

options

操作時に使用する任意のオプションを指定する文字列。

サポートされるオプションは次のとおりです。

  • INMEMORY=T: すべての述語を含むインメモリーSVP表またはインメモリーMVP表を構築します。
  • S_INDEX=F: MVP表およびPCN表のSTART_NODE_ID列に対する一意でない索引の作成をスキップします。
  • P_INDEXES=F: PCN表の個々のプロパティ列に対する一意でない索引の作成をスキップします。
network_owner

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

network_name

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

使用に関するノート

  • この操作にはDDLセマンティクスがあります。
  • 起動側は、RDFモデルまたはRDFネットワーク、あるいはその両方の所有者である必要があります。

次の例では、SVP表を作成します:

BEGIN
  SEM_APIS.BUILD_SPM_TAB(
     spm_type      => SEM_APIS.SPM_TYPE_SVP
   , spm_name      => 'FLHF'
   , model_name    => 'M1'
   , key_string    => ' :fname :lname :height ^:fatherOf '
   , prefixes      => ' PREFIX : <http://www.example.com#> ' 
   , network_owner => 'RDFUSER'
   , network_name  => 'NET1'
  );
END;
/

次の例では、PCN表を作成します。

BEGIN
  SEM_APIS.BUILD_SPM_TAB(
     spm_name      => ‘GRANDPA’
   , spm_type      => SEM_APIS.SPM_TYPE_PCN
   , model_name    => 'M1'
   , key_string    => ' S :fatherOf :fatherOf '
   , prefixes      => ' PREFIX : <http://www.example.com#> ' 
   , network_owner => 'RDFUSER'
   , network_name  => 'NET1'
  );
END;
/

次の例では、MVP表を作成します:

BEGIN
  SEM_APIS.BUILD_SPM_TAB(
     spm_type      => SEM_APIS.SPM_TYPE_MVP
   , spm_name      => null /* must be NULL (the name is auto-generated based on id(property) */
   , model_name    => 'M1'
   , key_string    => ' :motherOf ' /* must have exactly one property */
   , prefixes      => ' PREFIX : <http://www.example.com#> ' 
   , network_owner => 'RDFUSER'
   , network_name  => 'NET1'
  );
END;
/