18.8 SEM_RDFSA.SET_RESOURCE_LABEL

形式

SEM_RDFSA.SET_RESOURCE_LABEL(
     model_name   IN VARCHAR2, 
     resource_uri IN VARCHAR2, 
     label_string IN VARCHAR2, 
     resource_pos IN VARCHAR2 DEFAULT 'S',
     network_owner IN VARCHAR2 DEFAULT NULL,
     network_name  IN VARCHAR2 DEFAULT NULL);

説明

トリプルの主語や目的語の位置で使用される場合があるリソースに機密性ラベルを設定します。

パラメータ

model_name

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

resource_uri

1つ以上のトリプルの主語または目的語として使用される場合があるリソースのURI。

label_string

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

resource_pos

トリプル内のリソースの位置。SOまたはS,O。同じリソースに対して、最大2つの別々のラベル(リソースがトリプルの主語の位置で使用される場合に考慮するラベルおよび目的語の位置に表示される場合に考慮するラベル)を指定できます。値'S'、'O'、または'S,O' は、それぞれ、主語、目的語、または主語および目的語の両方の位置のリソースにラベルを設定します。

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ネットワーク」を参照してください。

次の例では、複数のリソースにその位置に基づいて機密性ラベルを設定します。

begin
  sem_rdfsa.set_resource_label(
         model_name   => 'contracts',
         resource_uri => '<http://www.myorg.com/contract/projectHLS>',
         label_string => 'SE:US_SPCL:US',
         resource_pos => 'S,O');
end;
/
 
begin
  sem_rdfsa.set_resource_label(
       model_name   => 'rdf$global',
       resource_uri => '<http://www.myorg.com/contract/status/Complete>',
       label_string => 'SE:US_SPCL:US',
       resource_pos => 'O');
end;
/