SEM_APISパッケージには、Oracle DatabaseのResource Description Framework(RDF)およびWeb Ontology Language(OWL)とともに使用できるサブプログラム(ファンクションとプロシージャ)が含まれます。この章のサブプログラムを使用するには、第1章「Oracleセマンティク・テクノロジの概要」と第2章「OWLの概要」に記載されている概念および使用情報について理解しておく必要があります。
この章では、サブプログラムに関するリファレンス情報を示します(サブプログラムのリストはアルファベット順です)。
書式
SEM_APIS.ADD_SEM_INDEX(
index_code IN VARCHAR2);
説明
セマンティク・ネットワーク索引を作成します。これにより、セマンティク・ネットワークの既存のモデルおよびルール索引それぞれに対して、一意でないBツリー索引がUNUSABLEステータスで作成されます。
パラメータ
索引コード文字列。
使用方法
このプロシージャをコールするには、DBA権限が必要です。
セマンティク・ネットワーク索引の詳細は、1.8項を参照してください。
例
次の例では、索引コード文字列pcsm
を使用して、セマンティク・ネットワークのモデルおよびルール索引に対するセマンティク・ネットワーク索引を作成します。
EXECUTE SEM_APIS.ADD_SEM_INDEX('pscm');
書式
SEM_APIS.ALTER_SEM_INDEX_ON_MODEL(
model_name IN VARCHAR2,
index_code IN VARCHAR2,
command IN VARCHAR2);
説明
モデルのセマンティク・ネットワーク索引を変更します。
パラメータ
モデルの名前。
索引コード文字列。
Oracle SQL ALTER INDEX文に有効なコマンド(たとえば、REBUILDやUNUSABLEなど)。ALTER INDEX文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。
使用方法
セマンティク・ネットワーク索引の詳細は、1.8項を参照してください。
例
次の例では、モデルfamily
のセマンティク・ネットワーク索引を再構築します(また、使用不能になっている場合は使用可能にします)。
EXECUTE SEM_APIS.ALTER_SEM_INDEX_ON_MODEL('family', 'pscm', 'rebuild');
書式
SEM_APIS.ALTER_SEM_INDEX_ON_RULES_INDEX(
rules_index_name IN VARCHAR2,
index_code IN VARCHAR2,
command IN VARCHAR2);
説明
ルール索引のセマンティク・ネットワーク索引を変更します。
パラメータ
ルール索引の名前。
索引コード文字列。
Oracle SQL ALTER INDEX文に有効なコマンド(たとえば、REBUILDやUNUSABLEなど)。ALTER INDEX文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。
使用方法
セマンティク・ネットワーク索引の詳細は、1.8項を参照してください。
例
次の例では、ルール索引rdfs_rix_family
のセマンティク・ネットワーク索引を再構築します(また、使用不能になっている場合は使用可能にします)。
EXECUTE SEM_APIS.ALTER_SEM_INDEX_ON_RULES_INDEX('rdfs_rix_family', 'pscm', 'rebuild');
書式
SEM_APIS.ANALYZE_MODEL(
model_name IN VARCHAR2,
estimate_percent IN NUMBER DEFAULT to_estimate_percent_type (get_param('ESTIMATE_PERCENT')),
method_opt IN VARCHAR2 DEFAULT get_param('METHOD_OPT'),
degree IN NUMBER DEFAULT to_degree_type(get_param('DEGREE')),
cascade IN BOOLEAN DEFAULT to_cascade_type(get_param('CASCADE')),
no_invalidate IN BOOLEAN DEFAULT to_no_invalidate_type (get_param('NO_INVALIDATE')),
force IN BOOLEAN DEFAULT FALSE);
説明
指定されたモデルの統計を収集します。
パラメータ
モデルの名前。
モデルの情報を含む内部表パーティション内の、評価される行の割合(NULL
は計算を意味します)。有効なレンジは、[0.000001,100]です。定数DBMS_STATS
.AUTO_SAMPLE_SIZE
を使用すると、有効な統計を生成するための適切なサンプル・サイズがOracleにより決定されます。これが通常のデフォルトです。
モデルの情報を含む内部表パーティションに対して、次のいずれかのオプション(または両方の組合せ)を受け入れます。
FOR ALL [INDEXED │ HIDDEN] COLUMNS
[size_clause]
FOR COLUMNS
[size clause] column│attribute [size_clause] [,column│attribute [size_clause]...]
size_clause
は、size_clause := SIZE {integer │ REPEAT │ AUTO │ SKEWONLY}
として定義されます。
column
は、column := column_name │ (extension)
として定義されます。
- integer
: ヒストグラム・バケットの数。レンジ[1,254]内の数にする必要があります。- REPEAT
: すでにヒストグラムが存在する列のみについてヒストグラムを収集します。- AUTO
: Oracleにより、列のデータ配分とワークロードに基づいて、ヒストグラムを収集する列が決定されます。- SKEWONLY
: Oracleにより、列のデータ配分に基づいて、ヒストグラムを収集する列が決定されます。column_name
: 列の名前。extension:
(column_name
, column_name
[, ...])という書式の列グループ、または式。
通常のデフォルトは、FOR ALL COLUMNS SIZE AUTO
です。
モデルの情報を含む内部表パーティションの並列度。degree
の通常のデフォルトは、NULL
です。つまり、CREATE TABLE
またはALTER TABLE
文のDEGREE
句により指定された表デフォルト値が使用されます。初期化パラメータに基づくデフォルト値を指定するには、定数DBMS_STATS.DEFAULT_DEGREE
を使用します。AUTO_DEGREE
値を指定すると、並列度が自動的に決定されます。オブジェクトのサイズに応じて、1(シリアル実行)またはDEFAULT_DEGREE
(CPUおよび初期化パラメータの数に基づくシステム・デフォルト値)のいずれかになります。
モデルの情報を含む内部表パーティションの索引に関する統計を収集します。定数DBMS_STATS.AUTO_CASCADE
を使用すると、索引統計を収集するかどうかがOracleにより決定されます。これが通常のデフォルトです。
TRUE
に設定した場合、依存カーソルは無効化されません。FALSE
に設定した場合、依存カーソルは即時に無効化されます。DBMS_STATS
.AUTO_INVALIDATE
.を使用すると、従属カーソルを無効化するかどうかがOracleにより決定されます。これが通常のデフォルトです。
TRUE
に設定すると、モデルがロックされている場合でも統計が収集されます。FALSE
(デフォルト)に設定すると、モデルがロックされている場合は統計が収集されません。
使用方法
クラスタ、ドメインおよび結合索引を除いて、索引統計コレクションはパラレル化できます。
このプロシージャは、モデルの情報を含む内部表パーティションの統計を収集するDBMS_STATS.GATHER_TABLE_STATSプロシージャを内部的にコールします。DBMS_STATS.GATHER_TABLE_STATSプロシージャについては、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。
例
次の例では、セマンティク・モデルfamily
の統計を収集します。
EXECUTE SEM_APIS.ANALYZE_MODEL('family');
書式
SEM_APIS.ANALYZE_RULES_INDEX(
index_name IN VARCHAR2,
estimate_percent IN NUMBER DEFAULT to_estimate_percent_type (get_param('ESTIMATE_PERCENT')),
method_opt IN VARCHAR2 DEFAULT get_param('METHOD_OPT'),
degree IN NUMBER DEFAULT to_degree_type(get_param('DEGREE')),
cascade IN BOOLEAN DEFAULT to_cascade_type(get_param('CASCADE')),
no_invalidate IN BOOLEAN DEFAULT to_no_invalidate_type (get_param('NO_INVALIDATE')),
force IN BOOLEAN DEFAULT FALSE);
説明
指定されたルール索引(伴意)の統計を収集します。
パラメータ
ルール索引の名前。
ルール索引の情報を含む内部表パーティション内の、評価される行の割合(NULL
は計算を意味します)。有効なレンジは、[0.000001,100]です。定数DBMS_STATS
.AUTO_SAMPLE_SIZE
を使用すると、有効な統計を生成するための適切なサンプル・サイズがOracleにより決定されます。これが通常のデフォルトです。
ルール索引の情報を含む内部表パーティションに対して、次のいずれかのオプション(または両方の組合せ)を受け入れます。
FOR ALL [INDEXED │ HIDDEN] COLUMNS
[size_clause]
FOR COLUMNS
[size clause] column│attribute [size_clause] [,column│attribute [size_clause]...]
size_clause
は、size_clause := SIZE {integer │ REPEAT │ AUTO │ SKEWONLY}
として定義されます。
column
は、column := column_name │ (extension)
として定義されます。
- integer
: ヒストグラム・バケットの数。レンジ[1,254]内の数にする必要があります。- REPEAT
: すでにヒストグラムが存在する列のみについてヒストグラムを収集します。- AUTO
: Oracleにより、列のデータ配分とワークロードに基づいて、ヒストグラムを収集する列が決定されます。- SKEWONLY
: Oracleにより、列のデータ配分に基づいて、ヒストグラムを収集する列が決定されます。column_name
: 列の名前。extension:
(column_name
, column_name
[, ...])という書式の列グループ、または式。
通常のデフォルトは、FOR ALL COLUMNS SIZE AUTO
です。
ルール索引の情報を含む内部表パーティションの並列度。degree
の通常のデフォルトは、NULL
です。つまり、CREATE TABLE
またはALTER TABLE
文のDEGREE
句により指定された表デフォルト値が使用されます。初期化パラメータに基づくデフォルト値を指定するには、定数DBMS_STATS.DEFAULT_DEGREE
を使用します。AUTO_DEGREE
値を指定すると、並列度が自動的に決定されます。オブジェクトのサイズに応じて、1(シリアル実行)またはDEFAULT_DEGREE
(CPUおよび初期化パラメータの数に基づくシステム・デフォルト値)のいずれかになります。
ルール索引の情報を含む内部表パーティションの索引に関する統計を収集します。定数DBMS_STATS.AUTO_CASCADE
を使用すると、索引統計を収集するかどうかがOracleにより決定されます。これが通常のデフォルトです。
TRUE
に設定した場合、依存カーソルは無効化されません。FALSE
に設定した場合、依存カーソルは即時に無効化されます。DBMS_STATS
.AUTO_INVALIDATE
.を使用すると、従属カーソルを無効化するかどうかがOracleにより決定されます。これが通常のデフォルトです。
TRUE
に設定すると、ルール索引がロックされている場合でも統計が収集されます。FALSE
(デフォルト)に設定すると、ルール索引がロックされている場合は統計が収集されません。
使用方法
クラスタ、ドメインおよび結合索引を除いて、索引統計コレクションはパラレル化できます。
このプロシージャは、ルール索引の情報を含む内部表パーティションの統計を収集するDBMS_STATS.GATHER_TABLE_STATSプロシージャを内部的にコールします。DBMS_STATS.GATHER_TABLE_STATSプロシージャについては、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。
ルール索引の詳細は、1.3.7項を参照してください。
例
次の例では、ルール索引rdfs_rix_family
の統計を収集します。
EXECUTE SEM_APIS.ANALYZE_RULES_INDEX('rdfs_rix_family');
書式
SEM_APIS.BULK_LOAD_FROM_STAGING_TABLE(
model_name IN VARCHAR2,
table_owner IN VARCHAR2,
table_name IN VARCHAR2,
flags IN VARCHAR2 DEFAULT NULL,
debug IN BINARY_INTEGER DEFAULT NULL);
説明
ステージング表からセマンティク・データをロードします。
パラメータ
モデルの名前。
ロードされるセマンティク・データを保持するステージング表を所有するスキーマの名前。
ロードされるセマンティク・データを保持するステージング表の名前。
次のキーワード指定が1つ以上含まれる、引用符で囲んだオプションの文字列。
PARALLEL_CREATE_INDEX
を指定すると、内部索引をパラレルに作成できるため、バルク・ロード処理のパフォーマンスが向上する可能性があります。
PARALLEL=<
integer
>
を指定すると、バルク・ロード中に使用される処理のほとんどを、指定した並列度を使用してパラレルに実行できます。
<task>
_JOIN_HINT=
<join_type>
。<task>は、バルク・ロード中に実行される内部タスクで、IZC
(ゼロ衝突)、MBV
(バッチ値をマージ)またはMBT
(バッチ・トリプルをマージ。トリプルを空でないモデルに追加するときに使用される。)のいずれかです。<join_type>は、USE_NL
またはUSE_HASH
です。
(将来使用するために予約済)
使用方法
このプロシージャをコールする前に、ステージング表にセマンティク・データをロードする必要があります。詳細は、1.7.1項を参照してください。
例
次の例では、スキーマSCOTTのステージング表STAGE_TABLEに格納されたセマンティク・データをセマンティク・モデルfamily
にロードします。この例には、結合ヒントがいくつか含まれています。
EXECUTE SEM_APIS.BULK_LOAD_FROM_STAGING_TABLE('family', 'scott', 'stage_table', flags => 'IZC_JOIN_HINT=USE_HASH MBV_JOIN_HINT=USE_HASH');
書式
SEM_APIS.CLEANUP_FAILED(
rdf_object_type IN VARCHAR2,
rdf_object_name IN VARCHAR2);
説明
指定したルールベースまたはルール索引が失敗の状態にある場合、それらを削除します。
パラメータ
RDFオブジェクトのタイプ。RULEBASE
(ルールベースの場合)またはRULES_INDEX
(ルール索引の場合)。
rdf_object_type
タイプのRDFオブジェクトの名前。
使用方法
このプロシージャは、指定したRDFオブジェクトが失敗の状態にあるかどうかをチェックします。オブジェクトが失敗の状態にある場合、プロシージャはそのオブジェクトを削除します。
ルールベースまたはルール索引が失敗の状態になるのは、そのオブジェクトの作成中にシステム障害が発生した場合です。ルールベースまたはルール索引が失敗の状態にあるかどうかをチェックするには、それぞれSDO_RULEBASE_INFOビュー(1.3.6項を参照)またはSDO_RULES_INDEX_INFOビュー(1.3.7項を参照)のSTATUS列の値がFAILED
であるかどうかを確認します。
ルールベースまたはルール索引が失敗の状態にない場合、このプロシージャは何のアクションも実行せず、成功のステータスを戻します。
RDFオブジェクトが現在使用されている場合、例外が生成されます。
例
次の例では、ルールベースfamily_rb
が失敗の状態にある場合にのみ、そのルールベースを削除します。
EXECUTE SEM_APIS.CLEANUP_FAILED('RULEBASE', 'family_rb');
書式
SEM_APIS.CREATE_ENTAILMENT(
index_name_in IN VARCHAR2,
models_in IN SEM_MODELS,
rulebases_in IN SEM_RULEBASES,
passes IN NUMBER DEFAULT SEM_APIS.REACH_CLOSURE,
inf_components_in IN VARCHAR2 DEFAULT NULL,
options IN VARCHAR2 DEFAULT NULL);
説明
OWLまたはRDFS推論を実行する(およびオプションでユーザー定義ルールを使用する)際に使用できるルール索引(伴意)を作成します。
パラメータ
作成するルール索引(伴意)の名前。
1つ以上のモデル名。そのデータ型は、TABLE OF VARCHAR2(25)
という定義を持つSEM_MODELSです。
1つ以上のルールベース名。そのデータ型は、TABLE OF VARCHAR2(25)
という定義を持つSEM_RULEBASESです。ルールおよびルールベースの詳細は、1.3.6項を参照してください。
推論エンジンを実行する回数。デフォルト値はSEM_APIS.REACH_CLOSURE
であり、推論エンジンは閉包に到達するまで実行されます。指定した実行回数が、閉包に到達するのに必要な実際の実行回数より少ない場合、ルール索引のステータスはINCOMPLETE
に設定されます。
選択的またはコンポーネント・ベースの推論を実行する場合の推論コンポーネントを示すキーワードのカンマ区切りの文字列。このパラメータがNULLの場合、推論コンポーネントのデフォルト・セットが使用されます。推論コンポーネントの詳細は、「使用方法」を参照してください。
デフォルトの推論動作を上書きして推論プロセスを制御するためのオプションのカンマ区切りの文字列。オプションを有効化するには、option-name
=T
を指定します。オプションを無効化するには、option-name
=F
を指定します(デフォルト)。使用可能なoption-nameの値は、PROOF
、DISTANCE
、ENTAIL_ANYWAY
およびUSER_RULES
です。各値の詳細は、「使用方法」を参照してください。
使用方法
inf_components_in
パラメータには、キーワードSCOH
、COMPH
、DISJH
、SYMMH
、INVH
、SPIH
、SPOH
、DOMH
、RANH
、EQCH
、EQPH
、FPH
、IFPH
、SAMH
、DOM
、RAN
、SCO
、DISJ
、INV
、SPO
、FP
、IFP
、SYMM
、TRANS
、DIF
、SAM
、RDFS2
、RDFS3
、RDFS4a
、RDFS4b
、RDFS5
、RDFS6
、RDFS7
、RDFS8
、RDFS9
、RDFS10
、RDFS11
、RDFS12
、RDFS13
、RDFP1
、RDFP2
、RDFP3
、RDFP4
、RDFP6
、RDFP7
、RDFP8AX
、RDFP8BX
、RDFP9
、RDFP10
、RDFP11
、RDFP12A
、RDFP12B
、RDFP12C
、RDFP13A
、RDFP13B
、RDFP13C
、RDFP14A
、RDFP14BX
、RDFP15
、RDFP16
の任意の組合せを指定できます。これらのキーワードの意味の説明は、キーワードのアルファベット順のリストである表3-1を参照してください。
OWLPRIMEボキャブラリの推論コンポーネントのデフォルト・セットには、SCOH
、COMPH
、DISJH
、SYMMH
、INVH
、SPIH
、SPOH
、DOMH
、RANH
、EQCH
、EQPH
、FPH
、IFPH
、SAMH
、DOM
、RAN
、SCO
、DISJ
、COMP
、INV
、SPO
、FP
、IFP
、SYMM
、TRANS
、DIF
、RDFP14A
、RDFP14BX
、RDFP15
、RDFP16
が含まれます。コンポーネントSAM
は、一部のオントロジで多数の新規トリプルを生成することが多いため、このデフォルト・リストには含まれません。
表3-1 inf_components_inパラメータの推論キーワード
キーワード | 説明 |
---|---|
COMPH |
owl:complementOf表明、およびowl:complementOfと他の言語構成要素との相互作用に基づいて推論を実行します。 |
DIF |
owl:differentFromの対称性に基づいてowl:differentFrom表明を生成します。 |
DISJ |
owl:disjointWith表明を使用してインスタンス・レベルでowl:differentFrom関係を推論します。 |
DISJH |
owl:disjointWith表明、および他の言語構成要素との相互作用に基づいて推論を実行します。 |
DOM |
RDFS2に基づいて推論を実行します。 |
DOMH |
rdfs:domain表明、および他の言語構成要素との相互作用に基づいて推論を実行します。 |
EQCH |
owl:equivalentClassに関連する推論を実行します。 |
EQPH |
owl:equivalentPropertyに関連する推論を実行します。 |
FP |
owl:FunctionalPropertyのインスタンスを使用してインスタンス・レベルの推論を実行します。 |
FPH |
owl:FunctionalPropertyのインスタンスを使用して推論を実行します。 |
IFP |
owl:InverseFunctionalPropertyのインスタンスを使用してインスタンス・レベルの推論を実行します。 |
IFPH |
owl:InverseFunctionalPropertyのインスタンスを使用して推論を実行します。 |
INV |
owl:inverseOf表明を使用してインスタンス・レベルの推論を実行します。 |
INVH |
owl:inverseOf表明、および他の言語構成要素との相互作用に基づいて推論を実行します。 |
RANH |
rdfs:range表明、および他の言語構成要素との相互作用に基づいて推論を実行します。 |
RDFP* |
(接頭辞RDFP付きのコンポーネントに対応するルールの詳細は、『Completeness, decidability and complexity of entailment for RDF Schema and a semantic extension involving the OWL vocabulary』(H.J. Horst)を参照してください。) |
RDFS2, ... RDFS13 |
RDFS2、RDFS3、RDFS4a、RDFS4b、RDFS5、RDFS6、RDFS7、RDFS8、RDFS9、RDFS10、RDFS11、RDFS12およびRDFS13の詳細は、 |
SAM |
各個体およびowl:sameAsの既存の表明に基づいてそれらの個体に関する推論を実行します。 |
SAMH |
owl:sameAsの推移性および対称性を使用してowl:sameAs表明を推論します。 |
SCO |
RDFS9に基づいて推論を実行します。 |
SCOH |
既存のrdfs:subClassOf表明に基づいてsubClassOf階層を生成します。基本的には、推移性に基づいてC1 rdfs:subClassOf C2およびC2 rdfs:subClassOf C3からC1 rdfs:subClassOf C3が推論されます。SCOHは、RDFS11の別名でもあります。 |
SPIH |
rdfs:subPropertyOf表明とowl:inverseOf表明間の相互作用に基づいて推論を実行します。 |
SPO |
RDFS7に基づいて推論を実行します。 |
SPOH |
rdfs:subPropertyOfの推移性に基づいてrdfs:subPropertyOf階層を生成します。これは、RDFS5の別名です。 |
SYMM |
owl:SymmetricPropertyのインスタンスを使用してインスタンス・レベルの推論を実行します。 |
SYMH |
owl:SymmetricPropertyタイプのプロパティに関する推論を実行します。 |
TRANS |
owl:TransitivePropertyのインスタンスの推移閉包を計算します。 |
コンポーネントを選択解除するには、コンポーネント名の次にマイナス記号(-)を付けます。たとえば、SCOH-
と指定すると、subClassOf
階層の推論が選択解除されます。
options
パラメータでは、次のオプションを有効化してデフォルトの推論動作を上書きできます。
PROOF=T
: 推論されたトリプルの証明を生成します。必要のない場合はこのオプションを指定しないでください。生成されるデータが多くなり、推論パフォーマンスが低下するためです。
DISTANCE=T
: セマンティク演算子に有効な補助的距離情報を生成します。
ENTAIL_ANYWAY=T
: ルール索引のステータスが有効の場合、OWL推論を強制的に続行し、既存の推論データ(ルール索引)を再利用します。デフォルトでは、モデルとルールベースの組合せに対して有効なルール索引がすでに存在する場合、SEM_APIS.CREATE_ENTAILMENTは即座に終了します。
USER_RULES=T
: 任意のユーザー定義ルールを適用します。このオプションを指定する場合、PROOF=T
またはDISTANCE=T
は指定できません。また、passes
パラメータのデフォルト値を使用する必要があります。
例
次の例では、OWLPRIMEルールベースを使用してルール索引OWLTST_IDX
を作成し、推論されたトリプルに対して証明を生成します。
EXECUTE sem_apis.create_entailment('owltst_idx', sem_models('owltst'), sem_rulebases('OWLPRIME'), SEM_APIS.REACH_CLOSURE, null, 'PROOF=T');
書式
SEM_APIS.CREATE_RULEBASE(
rulebase_name IN VARCHAR2);
説明
ルールベースを作成します。
パラメータ
ルールベースの名前。
使用方法
このプロシージャは、ユーザー定義のルールベースを作成します。ルールベースの作成後、そのルールベースにルールを追加できます。RDFデータの問合せでルールベースのルールを適用するには、SEM_MATCHテーブル・ファンクションのコールでルールベースを指定します。
ルールおよびルールベースの詳細は、1.3.6項を参照してください。SEM_MATCHテーブル・ファンクションの詳細は、1.6項を参照してください。
例
次の例では、ルールベースfamily_rbを作成します。(この例は、1.10.2項の例1-14からの抜粋です。)
EXECUTE SEM_APIS.CREATE_RULEBASE('family_rb');
書式
SEM_APIS.CREATE_RULES_INDEX(
index_name_in IN VARCHAR2,
models_in IN SEM_MODELS,
rulebases_in IN SEM_RULEBASES);
説明
1つ以上のモデルおよび1つ以上のルールベースのデータに基づいてルール索引を作成します。
パラメータ
ルール索引の名前。
1つ以上のモデル名。そのデータ型は、TABLE OF VARCHAR2(25)
という定義を持つSEM_MODELSです。
1つ以上のルールベース名。そのデータ型は、TABLE OF VARCHAR2(25)
という定義を持つSEM_RULEBASESです。ルールおよびルールベースの詳細は、1.3.6項を参照してください。
使用方法
このプロシージャは、ルール索引を作成します。ルール索引の詳細は、1.3.7項を参照してください。
例
次の例では、family
モデルとRDFS
およびfamily_rb
ルールベースを使用してルール索引family_rb_rix_family
を作成します。(この例は、1.10.2項の例1-14からの抜粋です。)
BEGIN SEM_APIS.CREATE_RULES_INDEX( 'rdfs_rix_family', SEM_Models('family'), SEM_Rulebases('RDFS','family_rb')); END; /
書式
SEM_APIS.CREATE_SEM_MODEL(
model_name IN VARCHAR2,
table_name IN VARCHAR2,
column_name IN VARCHAR2);
model_tablespace IN VARCHAR2 DEFAULT NULL);
説明
セマンティク・テクノロジ・モデルを作成します。
パラメータ
モデルの名前。
このモデルのセマンティク・テクノロジ・データへの参照を保持する表の名前。
table_name
のSDO_RDF_TRIPLE_S型の列の名前。
このモデルをサポートするためにOracleで使用される表および他のデータベース・オブジェクト用の表領域の名前。デフォルト値は、SEM_APIS.CREATE_SEM_NETWORKプロシージャのコールで指定された表領域です。
使用方法
このプロシージャをコールしてセマンティク・テクノロジ・モデルを作成する前に、セマンティク・テクノロジ・データへの参照を保持する表を作成する必要があります。詳細は、1.9項を参照してください。
このプロシージャは、モデルをMDSYS.SEM_MODEL$ビュー(1.3.1項を参照)に追加します。
このプロシージャは、モデルを作成する際にサポートされる唯一の方法です。MDSYS.SEM_MODEL$ビューにSQLのINSERT文を使用しないでください。
モデルを削除するには、SEM_APIS.DROP_SEM_MODELプロシージャを使用します。
例
次の例では、セマンティク・テクノロジ・モデルarticles
を作成します。モデルのトリプル・データへの参照は、ARTICLES_RDF_DATA表のTRIPLE列に格納されます。(この例は、1.10.1項の例1-13からの抜粋です。)
EXECUTE SEM_APIS.CREATE_SEM_MODEL('articles', 'articles_rdf_data', 'triple');
ARTICLES_RDF_DATA表の定義は、次のとおりです。
CREATE TABLE articles_rdf_data (id NUMBER, triple SDO_RDF_TRIPLE_S);
書式
SEM_APIS.CREATE_SEM_NETWORK(
tablespace_name IN VARCHAR2
説明
データベースにセマンティク・テクノロジ・サポートを追加します。
パラメータ
このプロシージャにより作成される表で使用する表領域の名前。この表領域は、作成されるすべてのモデルのデフォルトになりますが、モデルの作成時にSEM_APIS.CREATE_SEM_MODELプロシージャのコールでmodel_tablespace
パラメータを指定することで、このデフォルトを上書きできます。
使用方法
このプロシージャは、セマンティク・テクノロジ・サポートで使用されるシステム表および他のデータベース・オブジェクトを作成します。
このプロシージャのコールでセマンティク・テクノロジのシステム表の表領域を作成し、表領域名を指定する必要があります。(SYSTEM
表領域は指定しないでください。)作成する表領域に必要なサイズは、格納するセマンティク・テクノロジ・データの量に応じて変化します。
このプロシージャをコールするには、DBA権限を持つユーザーとしてデータベースに接続する必要があります。プロシージャは、データベースに対して1回のみコールします。
データベースからセマンティク・テクノロジ・サポートを削除するには、DBA権限を持つユーザーとして接続し、SEM_APIS.DROP_SEM_NETWORKプロシージャをコールします。
例
次の例では、セマンティク・テクノロジのシステム表の表領域を作成し、データベースにセマンティク・テクノロジ・サポートを追加します。
CREATE TABLESPACE rdf_tblspace DATAFILE '/oradata/orcl/rdf_tblspace.dat' SIZE 1024M REUSE AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED SEGMENT SPACE MANAGEMENT AUTO; . . . EXECUTE SEM_APIS.CREATE_SEM_NETWORK('rdf_tblspace');
書式
SEM_APIS.CREATE_VIRTUAL_MODEL(
vm_name IN VARCHAR2,
models IN SEM_MODELS,
rulebases IN SEM_RULEBASES DEFAULT NULL,
options IN VARCHAR2 DEFAULT NULL);
説明
指定されたセマンティク・モデルおよびルールベースを含む仮想モデルを作成します。
パラメータ
作成する仮想モデルの名前。
1つ以上のセマンティク・モデル名。そのデータ型は、TABLE OF VARCHAR2(25)
という定義を持つSEM_MODELSです。少なくとも1つのセマンティク・モデルを指定する必要があります。
1つ以上のルールベース名。そのデータ型は、TABLE OF VARCHAR2(25)
という定義を持つSEM_RULEBASESです。このパラメータがNULLの場合、仮想モデル定義にルールベースは含まれません。ルールおよびルールベースの詳細は、1.3.6項を参照してください。
(将来使用するために予約済)
使用方法
(使用方法の情報を含む)仮想モデルの説明は、1.3.8項を参照してください。
指定されたセマンティク・モデルとルールベースの組合せごとに、ルール索引が存在する必要があります。
仮想モデルを作成するには、(A)指定された各モデルおよび対応するルール索引の所有者、または(B)DBA権限を持つユーザーである必要があります。
このプロシージャは、次の書式の名前を持つビューを作成します。
SEMV_vm_name。これは、各モデルおよびルール索引内のトリプルのUNION ALLに対応します。このビューには重複が含まれることがあります。
SEMU_vm_name。これは、各モデルおよびルール索引内のトリプルのUNIONに対応します。このビューには重複は含まれません(このため、SEMUのUはunique(一意)を表します)。
ただし、仮想モデルに1つのみのセマンティク・モデルが含まれ、ルール索引は含まれない場合、SEMU_vm_nameビューは作成されません。
このプロシージャを起動するユーザーは、仮想モデルの所有者となり、SEMU_vm_nameおよびSEMV_vm_nameビューに対するSELECT WITH GRANT権限を持ちます。対応する仮想モデルを問い合せるには、ユーザーはこれらのビューに対するselect権限を持っている必要があります。
例
次の例では、仮想モデルVM1
を作成します。
EXECUTE sem_apis.create_virtual_model('vm1', sem_models('model_1', 'model_2'), sem_rulebases('OWLPRIME'));
書式
SEM_APIS.DROP_ENTAILMENT(
index_name_in IN VARCHAR2);
説明
ルール索引(伴意)を削除します。
パラメータ
削除するルール索引(伴意)の名前。
使用方法
SEM_APIS.CREATE_ENTAILMENTプロシージャを使用して作成した伴意をこのプロシージャで削除できます。
例
次の例では、ルール索引OWLTST_IDX
を削除します。
EXECUTE sem_apis.drop_entailment('owltst_idx');
書式
SEM_APIS.DROP_RULEBASE(
rulebase_name IN VARCHAR2);
説明
ルールベースを削除します。
パラメータ
ルールベースの名前。
使用方法
このプロシージャは、指定されたルールベースを削除します。削除されたルールベースは、SEM_MATCHテーブル・ファンクションのコールで使用できなくなります。ルールベースの詳細は、1.3.6項を参照してください。
ルールベースを削除できるのは、そのルールベースの作成者のみです。
例
次の例では、ルールベースfamily_rb
を削除します。
EXECUTE SEM_APIS.DROP_RULEBASE('family_rb');
書式
SEM_APIS.DROP_RULES_INDEX(
index_name IN VARCHAR2);
説明
ルール索引を削除します。
パラメータ
ルール索引の名前。
使用方法
このプロシージャは、指定されたルール索引を削除します。削除されたルール索引は、RDFデータに対する問合せで使用できなくなります。ルール索引の詳細は、1.3.7項を参照してください。
このプロシージャをコールしてルール索引を削除できるのは、ルールベースの所有者のみです。ただし、ルール索引の基盤であるモデルまたはルールベースが権限のあるユーザーによって削除されると、そのルール索引は暗黙的に削除されます。この場合、ルール索引は自動的に削除されます。
例
次の例では、ルール索引rdfs_rix_family
を削除します。
EXECUTE SEM_APIS.DROP_RULES_INDEX ('rdfs_rix_family');
書式
SEM_APIS.DROP_SEM_INDEX(
index_code IN VARCHAR2);
説明
セマンティク・ネットワークのモデルおよびルール索引のセマンティク・ネットワーク索引を削除します。
パラメータ
索引コード文字列。前のSEM_APIS.ADD_SEM_INDEXプロシージャのコールで指定されたindex_code
値と一致している必要があります。
使用方法
セマンティク・ネットワーク索引の詳細は、1.8項を参照してください。
例
次の例では、索引コード文字列pcsm
を使用して、セマンティク・ネットワークのモデルおよびルール索引に対するセマンティク・ネットワーク索引を削除します。
EXECUTE SEM_APIS.DROP_SEM_INDEX('pscm');
書式
SEM_APIS.DROP_SEM_MODEL(
model_name IN VARCHAR2);
説明
セマンティク・テクノロジ・モデルを削除します。
パラメータ
モデルの名前。
使用方法
このプロシージャは、モデルをMDSYS.SEM_MODEL$ビュー(1.3.1項を参照)から削除します。
このプロシージャは、モデルを削除する際にサポートされる唯一の方法です。MDSYS.SEM_MODEL$ビューにSQLのDELETE文を使用しないでください。
モデルを削除できるのは、そのモデルの作成者のみです。
例
次の例では、セマンティク・テクノロジ・モデルarticles
を削除します。
EXECUTE SEM_APIS.DROP_SEM_MODEL('articles');
書式
SEM_APIS.DROP_SEM_NETWORK();
説明
データベースからセマンティク・テクノロジ・サポートを削除します。
パラメータ
なし。
使用方法
データベースからセマンティク・テクノロジ・サポートを削除するには、DBA権限を持つユーザーとして接続し、このプロシージャをコールします。
このプロシージャをコールする前に、すべてのセマンティク・テクノロジ・モデルおよびルールベースを削除してください。
例
次の例では、データベースからセマンティク・テクノロジ・サポートを削除します。
EXECUTE SEM_APIS.DROP_SEM_NETWORK;
書式
SEM_APIS.DROP_USER_INFERENCE_OBJS(
uname IN VARCHAR2);
説明
指定されたデータベース・ユーザーに所有されているすべてのルールベースおよびルール索引を削除します。
パラメータ
データベース・ユーザーの名前。(この値には、大/小文字の区別があります。たとえば、HERMAN
とherman
は異なるユーザーとみなされます。)
使用方法
指定したユーザーのルールおよびルールベースを削除するのに十分な権限を持っている必要があります。
このプロシージャは、データベース・ユーザーは削除しません。そのユーザーに所有されているRDFのルールベースとルール索引のみを削除します。
例
次の例では、ユーザーSCOTT
に所有されているすべてのルールベースとルール索引を削除します。
EXECUTE SEM_APIS.DROP_USER_INFERENCE_OBJS('SCOTT'); PL/SQL procedure successfully completed.
書式
SEM_APIS.DROP_VIRTUAL_MODEL(
vm_name IN VARCHAR2);
説明
仮想モデルを削除します。
パラメータ
削除する仮想モデルの名前。
使用方法
このプロシージャを使用すると、SEM_APIS.CREATE_VIRTUAL_MODELプロシージャを使用して作成した仮想モデルを削除できます。仮想モデルのコンポーネント・モデル、ルールベースまたはルール索引が削除されると、その仮想モデルは自動的に削除されます。
このプロシージャを使用するには、指定した仮想モデルの所有者である必要があります。
(使用方法の情報を含む)仮想モデルの説明は、1.3.8項を参照してください。
例
次の例では、仮想モデルVM1
を削除します。
EXECUTE sem_apis.drop_virtual_model('vm1');
書式
SEM_APIS.GET_MODEL_ID(
model_name IN VARCHAR2
) RETURN NUMBER;
説明
セマンティク・テクノロジ・モデルのモデルID番号を戻します。
パラメータ
セマンティク・テクノロジ・モデルの名前。
使用方法
model_name
の値は、MDSYS.SEM_MODEL$ビュー(1.3.1項を参照)のMODEL_NAME列の値と一致している必要があります。
例
次の例では、モデルarticles
のモデルID番号を戻します。(この例は、1.10.1項の例1-13からの抜粋です。)
SELECT SEM_APIS.GET_MODEL_ID('articles') AS model_id FROM DUAL; MODEL_ID ---------- 1
書式
SEM_APIS.GET_MODEL_NAME(
model_id IN NUMBER
) RETURN VARCHAR2;
説明
セマンティク・テクノロジ・モデルのモデル名を戻します。
パラメータ
セマンティク・テクノロジ・モデルのID番号。
使用方法
model_id
の値は、MDSYS.SEM_MODEL$ビュー(1.3.1項を参照)のMODEL_ID列の値と一致している必要があります。
例
次の例では、IDの値が1のモデルのモデル名を戻します。
SQL> SELECT SEM_APIS.GET_MODEL_NAME(1) AS model_name FROM DUAL; MODEL_NAME -------------------------------------------------------------------------------- ARTICLES
書式
SEM_APIS.GET_TRIPLE_ID(
model_id IN NUMBER,
subject IN VARCHAR2,
property IN VARCHAR2,
object IN VARCHAR2
) RETURN VARCHAR2;
または
SEM_APIS.GET_TRIPLE_ID(
model_name IN VARCHAR2,
subject IN VARCHAR2,
property IN VARCHAR2,
object IN VARCHAR2
) RETURN VARCHAR2;
説明
指定されたセマンティク・テクノロジ・モデルのトリプルのIDを戻します(トリプルが存在しない場合、NULL値を戻します)。
パラメータ
セマンティク・テクノロジ・モデルのID番号。MDSYS.SEM_MODEL$ビュー(1.3.1項を参照)のMODEL_ID列の値と一致している必要があります。
セマンティク・テクノロジ・モデルの名前。MDSYS.SEM_MODEL$ビュー(1.3.1項を参照)のMODEL_NAME列の値と一致している必要があります。
主語。MDSYS.RDF_VALUE$表(1.3.2項を参照)のVALUE_NAME列の値と一致している必要があります。
プロパティ。MDSYS.RDF_VALUE$表(1.3.2項を参照)のVALUE_NAME列の値と一致している必要があります。
目的語。MDSYS.RDF_VALUE$表(1.3.2項を参照)のVALUE_NAME列の値と一致している必要があります。
使用方法
このファンクションには、2つの書式があり、モデル番号またはモデル名でセマンティク・テクノロジ・モデルを指定できます。
例
次の例では、トリプルのID番号を戻します。(この例は、1.10.1項の例1-13からの抜粋です。)
SELECT SEM_APIS.GET_TRIPLE_ID( 'articles', 'http://nature.example.com/Article2', 'http://purl.org/dc/terms/references', 'http://nature.example.com/Article3') AS RDF_triple_id FROM DUAL; RDF_TRIPLE_ID -------------------------------------------------------------------------------- 2_9F2BFF05DA0672E_90D25A8B08C653A_46854582F25E8AC5
書式
SEM_APIS.IS_TRIPLE(
model_id IN NUMBER,
subject IN VARCHAR2,
property IN VARCHAR2,
object IN VARCHAR2) RETURN VARCHAR2;
または
SEM_APIS.IS_TRIPLE(
model_name IN VARCHAR2,
subject IN VARCHAR2,
property IN VARCHAR2,
object IN VARCHAR2) RETURN VARCHAR2;
説明
文がデータベースの指定されたモデルの既存のトリプルであるかどうかをチェックします。
パラメータ
セマンティク・テクノロジ・モデルのID番号。MDSYS.SEM_MODEL$ビュー(1.3.1項を参照)のMODEL_ID列の値と一致している必要があります。
セマンティク・テクノロジ・モデルの名前。MDSYS.SEM_MODEL$ビュー(1.3.1項を参照)のMODEL_NAME列の値と一致している必要があります。
主語。MDSYS.RDF_VALUE$表(1.3.2項を参照)のVALUE_NAME列の値と一致している必要があります。
プロパティ。MDSYS.RDF_VALUE$表(1.3.2項を参照)のVALUE_NAME列の値と一致している必要があります。
目的語。MDSYS.RDF_VALUE$表(1.3.2項を参照)のVALUE_NAME列の値と一致している必要があります。
使用方法
このファンクションは、文字列値FALSE
、TRUE
またはTRUE (EXACT)
を戻します。
FALSE
: 文はデータベースの指定したモデルのトリプルではありません。
TRUE
: 文はデータベースの指定したモデルのトリプル値に一致しているか、トリプル値の正規形表現と同じです。
TRUE (EXACT)
: 指定したsubject
、property
およびobject
の値は、データベースの指定したモデルのトリプルと完全に一致しています。
例
次の例では、文がデータベースのトリプルであるかどうかをチェックします。この場合、完全一致するトリプルが存在します。(この例は、1.10.1項の例1-13からの抜粋です。)
SELECT SEM_APIS.IS_TRIPLE( 'articles', 'http://nature.example.com/Article2', 'http://purl.org/dc/terms/references', 'http://nature.example.com/Article3') AS is_triple FROM DUAL; IS_TRIPLE -------------------------------------------------------------------------------- TRUE (EXACT)
書式
SEM_APIS.LOOKUP_RULES_INDEX (
models IN SEM_MODELS,
rulebases IN SEM_RULEBASES
) RETURN VARCHAR2;
説明
指定されたモデルおよびルールベースに基づいてルール索引の名前を戻します。
パラメータ
1つ以上のモデル名。そのデータ型は、TABLE OF VARCHAR2(25)
という定義を持つSEM_MODELSです。
1つ以上のルールベース名。そのデータ型は、TABLE OF VARCHAR2(25)
という定義を持つSEM_RULEBASESです。ルールおよびルールベースの詳細は、1.3.6項を参照してください。
使用方法
ルールベース索引が戻されるには、その索引が指定したすべてのモデルおよびルールベースに基づいている必要があります。
例
次の例では、family
モデルとRDFS
およびfamily_rb
ルールベースに基づくルール索引を検出します。(この例は、1.10.2項の例1-14からの抜粋です。)
SELECT SEM_APIS.LOOKUP_RULES_INDEX(SEM_MODELS('family'), SEM_RULEBASES('RDFS','family_rb')) AS lookup_rules_index FROM DUAL; LOOKUP_RULES_INDEX -------------------------------------------------------------------------------- RDFS_RIX_FAMILY
書式
SEM_APIS.VALIDATE_ENTAILMENT(
models_in IN SEM_MODELS,
rulebases_in IN SEM_RULEBASES,
criteria_in IN VARCHAR2 DEFAULT NULL,
max_conflict IN NUMBER DEFAULT 100,
options IN VARCHAR2 DEFAULT NULL
) RETURN RDF_LONGVARCHARARRAY;
説明
1つ以上のモデルでOWLまたはRDFS推論を実行する際に使用できるルール索引(伴意)を検証します。
パラメータ
1つ以上のモデル名。そのデータ型は、TABLE OF VARCHAR2(25)
という定義を持つSEM_MODELSです。
1つ以上のルールベース名。そのデータ型は、TABLE OF VARCHAR2(25)
という定義を持つSEM_RULEBASESです。ルールおよびルールベースの詳細は、1.3.6項を参照してください。
実行する検証チェックのカンマ区切りの文字列。このパラメータを指定しない場合、デフォルトで次のすべてのチェックが実行されます。
UNSAT
: 充足不可能なクラスを検出します。
EMPTY
: 充足不可能なクラスに属するインスタンスを検出します。
SYNTAX_S
: URIでも空白ノードでもない主語を含むトリプルを検出します。
SYNTAX_P
: URIではない述語を含むトリプルを検出します。
SELF_DIF
: 自己自身と異なる個体を検出します。
INST
: 同時に2つの排他クラスに属する個体を検出します。
SAM_DIF
: 同じであり(owl:sameAs)かつ異なる(owl:differentFrom)個体のペアを検出します。
デフォルトより少ない数のチェックを指定するには、実行するチェックの文字列のみを指定します。たとえば、criteria_in => 'UNSAT'
と指定すると、検証プロセスでは充足不可能なクラスのみが検索されます。
検証プロセスを停止する前に検出する競合の最大数。デフォルト値は100です。
(現在は未使用。Oracleで使用するために予約済。)
使用方法
このプロシージャは、元の伴意の非一貫性を検出するために使用できます。詳細は、2.2.5項を参照してください。
このプロシージャは、エラーが検出されなかった場合はNULL値を戻し、エラーが検出された場合はVARRAY(32767) OF VARCHAR2(4000)
という定義を持つRDF_LONGVARCHARARRAY型のオブジェクトを戻します。
伴意を作成するには、SEM_APIS.CREATE_ENTAILMENTプロシージャを使用します。
例
書式
SEM_APIS.VALIDATE_MODEL(
models_in IN SEM_MODELS,
criteria_in IN VARCHAR2 DEFAULT NULL,
max_conflict IN NUMBER DEFAULT 100,
options IN VARCHAR2 DEFAULT NULL
) RETURN RDF_LONGVARCHARARRAY;
説明
1つ以上のモデルを検証します。
パラメータ
1つ以上のモデル名。そのデータ型は、TABLE OF VARCHAR2(25)
という定義を持つSEM_MODELSです。
実行する検証チェックのカンマ区切りの文字列。このパラメータを指定しない場合、デフォルトで次のすべてのチェックが実行されます。
UNSAT
: 充足不可能なクラスを検出します。
EMPTY
: 充足不可能なクラスに属するインスタンスを検出します。
SYNTAX_S
: URIでも空白ノードでもない主語を含むトリプルを検出します。
SYNTAX_P
: URIではない述語を含むトリプルを検出します。
SELF_DIF
: 自己自身と異なる個体を検出します。
INST
: 同時に2つの排他クラスに属する個体を検出します。
SAM_DIF
: 同じであり(owl:sameAs)かつ異なる(owl:differentFrom)個体のペアを検出します。
デフォルトより少ない数のチェックを指定するには、実行するチェックの文字列のみを指定します。たとえば、criteria_in => 'UNSAT'
と指定すると、検証プロセスでは充足不可能なクラスのみが検索されます。
検証プロセスを停止する前に検出する競合の最大数。デフォルト値は100です。
(現在は未使用。Oracleで使用するために予約済。)
使用方法
このプロシージャは、元のデータ・モデルの非一貫性を検出するために使用できます。詳細は、2.2.5項を参照してください。
このプロシージャは、エラーが検出されなかった場合はNULL値を戻し、エラーが検出された場合はVARRAY(32767) OF VARCHAR2(4000)
という定義を持つRDF_LONGVARCHARARRAY型のオブジェクトを戻します。
例
次の例では、モデルfamily
を検証します。
SELECT SEM_APIS.VALIDATE_MODEL(SEM_MODELS('family')) FROM DUAL;
書式
SEM_APIS.VALUE_NAME_PREFIX (
value_name IN VARCHAR2,
value_type IN VARCHAR2
) RETURN VARCHAR2;
説明
指定された値名と値タイプのペアに対応するMDSYS.RDF_VALUE$表のVNAME_PREFIX列の値を戻します。
パラメータ
値名。MDSYS.RDF_VALUE$表(1.3.2項を参照)のVALUE_NAME列の値と一致している必要があります。
値タイプ。MDSYS.RDF_VALUE$表(1.3.2項を参照)のVALUE_TYPE列の値と一致している必要があります。
使用方法
このファンクションでは、通常、MDSYS.RDF_VALUE$表の索引が値の検索処理に使用されるため、高速な問合せを実行できます。
例
次の問合せでは、VALUE_NAME_PREFIXファンクションで戻されたものと同じ接頭辞の値の付いたMDSYS.RDF_VALUE$表のすべての字句の値について、値名の部分を戻します。この問合せでは、MDSYS.RDF_VALUE$表の索引が使用されるため、効率的な検索が実行されます。
SELECT value_name FROM MDSYS.RDF_VALUE$ WHERE vname_prefix = SEM_APIS.VALUE_NAME_PREFIX( 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type','UR'); VALUE_NAME -------------------------------------------------------------------------------- http://www.w3.org/1999/02/22-rdf-syntax-ns#Alt http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag http://www.w3.org/1999/02/22-rdf-syntax-ns#List http://www.w3.org/1999/02/22-rdf-syntax-ns#Property http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral http://www.w3.org/1999/02/22-rdf-syntax-ns#first http://www.w3.org/1999/02/22-rdf-syntax-ns#nil http://www.w3.org/1999/02/22-rdf-syntax-ns#object http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate http://www.w3.org/1999/02/22-rdf-syntax-ns#rest http://www.w3.org/1999/02/22-rdf-syntax-ns#subject http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.w3.org/1999/02/22-rdf-syntax-ns#value 15 rows selected.
書式
SEM_APIS.VALUE_NAME_SUFFIX (
value_name IN VARCHAR2,
value_type IN VARCHAR2
) RETURN VARCHAR2;
説明
指定された値名と値タイプのペアに対応するMDSYS.RDF_VALUE$表のVNAME_SUFFIX列の値を戻します。
パラメータ
値名。MDSYS.RDF_VALUE$表(1.3.2項を参照)のVALUE_NAME列の値と一致している必要があります。
値タイプ。MDSYS.RDF_VALUE$表(1.3.2項を参照)のVALUE_TYPE列の値と一致している必要があります。
使用方法
このファンクションでは、通常、MDSYS.RDF_VALUE$表の索引が値の検索処理に使用されるため、高速な問合せを実行できます。
例
次の問合せでは、VALUE_NAME_SUFFIXファンクションで戻されたものと同じ接尾辞の値の付いたMDSYS.RDF_VALUE$表のすべての字句の値について、値名の部分を戻します。この問合せでは、MDSYS.RDF_VALUE$表の索引が使用されるため、効率的な検索が実行されます。
SELECT value_name FROM MDSYS.RDF_VALUE$ WHERE vname_suffix = SEM_APIS.VALUE_NAME_SUFFIX( 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type','UR'); VALUE_NAME -------------------------------------------------------------------------------- http://www.w3.org/1999/02/22-rdf-syntax-ns#type