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);
説明
モデル・レベルの述語に、またはリポジトリ全体に機密性ラベルを設定します。
パラメータ
使用に関するノート
モデル名を指定する場合、この操作を実行するには、モデルへの読取りアクセス権および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; /
親トピック: SEM_RDFSAパッケージのサブプログラム