15.41 SEM_APIS.CREATE_RDFVIEW_GRAPH
形式
SEM_APIS.CREATE_RDFVIEW_GRAPH( rdf_graph_name IN VARCHAR2, tables IN SYS.ODCIVarchar2List, prefix IN VARCHAR2 DEFAULT NULL, r2rml_table_owner IN VARCHAR2 DEFAULT NULL, r2rml_table_name IN VARCHAR2 DEFAULT NULL, schema_table_owner IN VARCHAR2 DEFAULT NULL, schema_table_name IN VARCHAR2 DEFAULT NULL, options IN VARCHAR2 DEFAULT NULL, r2rml_string IN CLOB DEFAULT NULL, r2rml_string_fmt IN VARCHAR2 DEFAULT NULL, network_owner IN VARCHAR2 DEFAULT NULL, network_name IN VARCHAR2 DEFAULT NULL);
説明
指定された表またはビューのリストの直接マッピングを使用して、または、R2RMLマッピングを使用してRDFビューを作成します。
パラメータ
- rdf_graph_name
-
作成するRDFビューの名前。
- tables
-
直接マッピングを使用して作成されるRDFビューのリレーショナル・データのソースである表またはビューのリスト。R2RMLマッピングを使用する場合、このパラメータはNULLである必要があります。
- prefix
-
RDFビューでURIの先頭に追加される、ベースとなる接頭辞。
- r2rml_table_owner
-
R2MLマッピングの場合、このパラメータは必須であり、RDFビューの作成に使用されるR2RMLマッピング(N-triple形式)を保持するステージング表を所有するスキーマの名前を指定します。
直接マッピングの場合、このパラメータはオプションで、直接マッピングから生成されるR2RMLマッピング(N-triple形式)が格納されるステージング表を所有するスキーマの名前を指定します。
- r2rml_table_name
-
R2MLマッピングの場合、このパラメータは必須であり、RDFビューの作成に使用されるR2RMLマッピング(N-triple形式)を保持するステージング表の名前を指定します。
直接マッピングの場合、このパラメータはオプションで、直接マッピングから生成されるR2RMLマッピング(N-triple形式)が格納されるステージング表の名前を指定します。
- schema_table_owner
-
RDFビューのために生成されたRDFスキーマが格納されるステージング表を所有するスキーマの名前。
- schema_table_name
-
RDFビューのために生成されたRDFスキーマが格納されるステージング表の名前。
- options
-
直接マッピングでは、次の任意の組合せ(何も含めない場合を含む)をオプションで指定できます。
-
CONFORMANCE=T
は、RDFの述語名を構築するためのデータベース制約名およびスキーマ修飾された表名またはビュー名など、デフォルトでは含まれない一部の情報を抑止します。 -
GENERATE_ONLY=T
は、指定された表のためにR2RMLマッピングを生成して、指定されたr2rml_table_name
に格納するのみで、基礎となるRDFビュー・グラフは作成されません。このオプションを指定する場合、r2rml_table_name
パラメータはNULL以外である必要があります。 -
KEY_BASED_REF_PROPERTY=T
は、外部キー列名を使用してRDFの述語名を構築します。このオプションが指定されない場合は、データベース制約名がRDFの述語名を構築するために使用されます。直接マッピングの場合、RDFの述語名は対応するデータベース名から導出されるため、外部キー制約のために名前を保持することはデフォルトの動作です。
KEY_BASED_REF_PROPERTY=T
の使用例については、「直接マッピングによるRDFビューの作成」の例10-1を参照してください。 -
SCALAR_COLUMNS_ONLY=T
は、指定された表またはビューのスカラー列にのみR2RMLマッピングを生成します。表またはビューの他の非スカラー列は、無視されます。このオプションを指定しない場合、ユーザー定義型またはLOBの列がある表に直接マッピングを作成しようとすると、エラーが発生します。
-
- r2rml_string
-
RDFビューを作成するために使用できるTurtleまたはN-Triple形式のR2RMLマッピング文字列。
- r2rml_string_fmt
-
r2rml_string
で指定されるR2RMLマッピング文字列の形式。指定できる値は、TURTLE
およびN-TRIPLE
です。 - network_owner
-
RDFネットワークの所有者。(表1-2を参照してください。)
- network_name
-
RDFネットワークの名前。(表1-2を参照してください。)
使用に関するノート
ネットワーク所有者に、r2rml_table_name
およびschema_table_name
に対するSELECT
およびINSERT
権限を付与する必要があります。
RDFビューの詳細は、RDFビュー: RDFとしてのリレーショナル・データを参照してください。
RDFネットワークのタイプおよびオプションの詳細は、「RDFネットワーク」を参照してください。
例
次の例では、表EMPおよびDEPTに直接マッピングを使用してRDFビューを作成します。URIに使用した接頭辞はhttp://empdb/
です。
BEGIN sem_apis.create_rdfview_graph( rdf_graph_name => 'empdb_model_direct', tables => sem_models('EMP', 'DEPT'), prefix => 'http://empdb/', network_owner=>'RDFUSER', network_name=>'NET1' ); END; /
次の例では、ステージング表SCOTT.R2RTABのRDFトリプルによって指定されるように、R2RMLマッピングを使用してRDFビューを作成します。
BEGIN sem_apis.create_rdfview_graph( rdf_graph_name => 'empdb_model_R2RML', tables => NULL, r2rml_table_owner => 'SCOTT', r2rml_table_name => 'R2RTAB', network_owner=>'RDFUSER', network_name=>'NET1' ); END; /
次の例では、文字列として直接指定されるR2RMLマッピングを使用してRDFビューを作成します。
DECLARE r2rmlStr CLOB; BEGIN r2rmlStr := '@prefix rr: <http://www.w3.org/ns/r2rml#>. '|| '@prefix xsd: <http://www.w3.org/2001/XMLSchema#>. '|| '@prefix ex: <http://example.com/ns#>. '||' ex:TriplesMap_Emp rr:logicalTable [ rr:tableName "EMP" ]; rr:subjectMap [ rr:template "http://data.example.com/employee/{EMPNO}"; rr:class ex:Employee; ]; rr:predicateObjectMap [ rr:predicate ex:empNum; rr:objectMap [ rr:column "EMPNO" ; rr:datatype xsd:integer ]; ]; rr:predicateObjectMap [ rr:predicate ex:empName; rr:objectMap [ rr:column "ENAME" ]; ]; rr:predicateObjectMap [ rr:predicate ex:jobType; rr:objectMap [ rr:column "JOB" ]; ]; rr:predicateObjectMap [ rr:predicate ex:worksForDeptNum; rr:objectMap [ rr:column "DEPTNO" ; rr:dataType xsd:integer ]; ].'; sem_apis.create_rdfview_graph( rdf_graph_name => 'empdb_model_R2RML', tables => NULL, r2rml_string => r2rmlStr, r2rml_string_fmt => 'TURTLE', network_owner=>'RDFUSER', network_name=>'NET1' ); END; /
次の例では、RDFUSERが所有するスキーマプライベート・ネットワーク内のEMP表およびDEPT表のRDFトリプルで指定されているダイレクト・マッピングを使用してRDFビューを作成します。ボストンの場所で働いている従業員に関する情報も選択します。
BEGIN
sem_apis.create_rdfview_graph(
rdf_graph_name => 'empdb_model',
tables => SYS.ODCIVarchar2List('EMP', 'DEPT'),
prefix => 'http://empdb/',
options => 'KEY_BASED_REF_PROPERTY=T',
network_owner=>'RDFUSER',
network_name=>'NET1'
);
END;
/
SELECT e.empno FROM emp e, dept d WHERE e.deptno = d.deptno AND d.loc = 'Boston';
SELECT emp
FROM TABLE(SEM_MATCH('{?emp emp:ref-DEPTNO ?dept . ?dept dept:LOC "Boston"}',SEM_Models('empdb_model'),NULL,SEM_ALIASES(
SEM_ALIAS('dept','http://empdb/RDFUSER.DEPT#'),SEM_ALIAS('emp','http://empdb/RDFUSER.EMP#')),null,null,null,null,null,'RDF_USER','NET1'));
親トピック: SEM_APISパッケージのサブプログラム