18.6 SEM_RDFSA.SET_PREDICATE_LABEL

形式

SEM_RDFSA.SET_PREDICATE_LABEL(
     model_name    IN VARCHAR2, 
     predicate     IN VARCHAR2, 
     label_string  IN VARCHAR2,
     network_owner IN VARCHAR2 DEFAULT NULL,
     network_name  IN VARCHAR2 DEFAULT NULL);

説明

モデル・レベルの述語に、またはリポジトリ全体に機密性ラベルを設定します。

パラメータ

model_name

述語が属するモデルの名前、または同じラベルがすべてのモデルの述語の使用に適用される必要がある場合は文字列RDF$GLOBAL

predicate

ラベルが割り当てられる必要がある述語。

label_string

文字列表現のOLS行ラベル。

network_owner

セマンティク・ネットワークの所有者。(表1-2を参照してください。)

network_name

セマンティク・ネットワークの名前。(表1-2を参照してください。)

使用に関するノート

モデル名を指定する場合、この操作を実行するには、モデルへの読取りアクセス権およびSEM_RDFSAパッケージに対する実行権限が必要です。RDF$GLOBALを指定する場合、RDFデータに適用されるOLSポリシーに関して完全なアクセス権限が必要です。

ラベルが述語にすでに存在する場合、既存のラベルを上書きするには指定されたラベルへのアクセス権およびOLSポリシー権限が必要です。SECURE_PREDICATEオプションは、RDFデータに対して有効にする必要があります。

既存の述語ラベルがこの操作で更新される場合、この述語を使用するトリプルのラベルは新しい述語ラベルよりもすべて優位である必要があります。唯一の例外は、OPT_RELAX_TRIPLE_LABELオプションがOLS対応RDFデータで選択されている場合です。

RDF$GLOBALを指定する場合、モデル全体にわたる一意の機密性ラベルを持つグローバル述語が作成されます。同じ述語がすでに1つ以上のモデルで定義されている場合、グローバル・ラベルはそのようなラベルすべてよりも優位であり、モデル固有のラベルは特定の述語用に置き換えられます。

述語のラベルが設定された後、この述語を持つ新しいトリプルは、トリプル・ラベル(ユーザーの最初の行のラベルから、またはラベル関数を使用して初期化される場合があります)が、述語の機密性ラベルよりも優位である場合にのみ追加できます。この優位関係はOPT_RELAX_TRIPLE_LABELオプションで緩和できますが、その場合には、ユーザーは述語を使用して新しいトリプルを定義できるように述語への読取りアクセス権を少なくとも持っている必要があります。

OLSのサポートの詳細は、RDFデータのファイングレイン・アクセス制御を参照してください。

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

次の例では、Contractsモデルに述語ラベル、およびデータベース・インスタンスのすべてのモデルに別の述語ラベルを設定します。

begin
  sem_rdfsa.set_predicate_label( 
         model_name   => 'contracts',
         predicate    => '<http://www.myorg.com/pred/hasContractValue>',
         label_string => 'TS:US_SPCL');
end;  
/
 
begin
  sem_rdfsa.set_predicate_label(
         model_name   => 'rdf$global',
         predicate    => '<http://www.myorg.com/pred/hasStatus>',
         label_string => 'SE:US_SPCL:US');
end;
/