18 Catalog Services for the Web(CSW)のサポート
Oracle Spatial and Graphは、OpenGISコンソーシアム仕様のカタログ・サービスを実装しています。
この仕様によると、カタログ・サービスは、データ、サービスおよび関連する情報オブジェクトについての記述情報(メタデータ)の集合をパブリッシュおよび検索する機能をサポートしています。カタログ内のメタデータは、ユーザーとソフトウェアの両方によって評価したり、詳細な処理を行う目的で、問合せや配置が可能なリソース特性を示します。カタログ・サービスは、情報コミュニティ内に登録された情報リソースの検索およびバインドをサポートする必要があります。
ここでは、Oracle Spatial and Graph実装をCatalog Services for the Web (CSW)と呼びます。
ノート:
リリース18.1より、CSWのOracle Spatial and Graphの実装では、次のレコード・タイプ(メタデータ・プロファイル)のいずれかを使用するCSWデータをサポートします。
CSWデータのレコード・タイプは、SDO_CSW.INITIALIZE_CSWプロシージャへのコールでcsw_xsd_id
パラメータ値(DCMIの場合は1
、ISOの場合は2
)に指定します。
各レコード・タイプの使用の詳細は、「CSWの主要な操作(DCMIプロファイル)」および「CSWの主要な操作(ISOプロファイル)」を参照してください。
CSWを使用する前に、「空間Webサービスの概要」で説明されている概念を理解し、その章での説明に従って必要な構成作業を実行しておく必要があります。
- CSWエンジンおよびアーキテクチャ
このトピックでは、CSWについて、クライアントとの関係およびデータベース・サーバーとの関係も含めて説明します。 - CSWのデータベース・スキーマとオブジェクト
CSWスキーマは、CSWレコードの格納に使用する任意のユーザー・スキーマです。このドキュメントの一部の例で使用される、SCOTTまたはMDMETTという名前のデータベース・ユーザーはCSWスキーマです。 - CSWエンジンの構成とデプロイ
このトピックでは、Catalog Services for the Web(特にCSW 2.0.2)の構成およびデプロイにフォーカスします。 - 機能のドキュメント(CSW)
クライアントは、サーバーの機能に関する情報を取得できます。 - CSWの主要な操作(DCMIプロファイル)
このトピックでは、CSWデータのロードおよび問合せについて説明し、各種操作のリクエストおよびレスポンスの例を示します。これは、DCMIレコード・タイプを使用するCSWデータの使用に当てはまります。 - CSWの主要な操作(ISOプロファイル)
このトピックでは、CSWデータのロードおよび問合せについて説明し、各種操作のリクエストおよびレスポンスの例を示します。これは、ISOレコード・タイプを使用するCSWデータの使用に当てはまります。 - CSW管理コンソール
Oracle Spatial Webサービス管理コンソールには、CSWの管理画面が含まれます。 - CSWの問題の診断
CSWログ・ファイルには診断情報が含まれています。
親トピック: 空間Webサービス
18.1 CSWエンジンおよびアーキテクチャ
このトピックでは、CSWについて、クライアントとの関係およびデータベース・サーバーとの関係も含めて説明します。
CSWはJava Webアプリケーションとして実装され、WebLogic 12.1.3以上にデプロイできます。必要なJavaバージョンはJDK 1.8以降です。
CSWにはメタデータ層があります。この層では、カタログ・リクエストへの応答で必要とされるメタデータがデータベースに格納されます。メタデータには空間列が含まれており、Oracle Spatial and Graphインタフェースを使用して空間列の問合せおよび処理が可能です。メタデータには、レコードの非空間属性と空間属性の関連付け、およびカタログ・サービスからクライアントに提供されるサービスも格納されます。
図18-1に、CSWのアーキテクチャを示します。
次に、図18-1について説明します。
-
CSWは、中間層のコンテナの一部です。
-
CSWでは、SOAP/XML/KVP形式のCSWリクエストおよびレスポンスを使用して、Webサービス・クライアントと通信できます。
-
CSWでは、データベースに対するJDBCコールを介して空間データおよびメタデータへのアクセスが実行されます。
-
データベースには、CSWのメタデータおよびデータとともにOracle Spatial and Graphが含まれます。
18.2 CSWのデータベース・スキーマとオブジェクト
CSWスキーマは、CSWレコードの格納に使用する任意のユーザー・スキーマです。このドキュメントの一部の例で使用される、SCOTTまたはMDMETTという名前のデータベース・ユーザーはCSWスキーマです。
CSWデータベース・インスタンスは、CSWスキーマにCSWカタログ・レコードを格納します。CSW Webサービス・インスタンスには、アプリケーション・コンテナ内でJDBCデータ・ソースとして構成されたCSWスキーマが1つ以上必要であり、各CSWスキーマはWebLogic Serverの1つのデータ・ソースに対応します。通常、特定のデータベースに対して構成されるCSWスキーマは1つのみですが、多数のCSW Webサービスを構成し、同一のデータベースで異なるCSWスキーマと組み合せて使用できます。
Oracle Spatial and Graphには、サポートされるCSW recordType
のCSWメタデータを含むビューUSER_SDO_CSW_SERVICE_INFOが用意されています。USER_SDO_CSW_SERVICE_INFOビューには次の列があります。
CSW_VERSION VARCHAR2(20), CSW_XSD_ID NUMBER, CSW_TABLE_NAME VARCHAR2(80)
このビューのCSW_XSD_ID列値を調べて、CSWスキーマで使用されるCSW recordType
を確認できます(DCMIの場合は1
、ISOの場合は2
)。(各レコード・タイプの使用の詳細は、「CSWの主要な操作(DCMIプロファイル)」および「CSWの主要な操作(ISOプロファイル)」を参照してください。)
SDO_CSW PL/SQLパッケージでは、CSWインスタンスの作成やその他の操作を実行できます。これにはCSWが含まれ、SpatialおよびXQFT索引を作成および維持できます。サブプログラムのリファレンス情報については、「SDO_CSWパッケージ(Catalog Services for the Web)」を参照してください。
18.3 CSWエンジンの構成とデプロイ
このトピックでは、Catalog Services for the Web(特にCSW 2.0.2)の構成およびデプロイにフォーカスします。
「空間Webサービスのデプロイと構成」に記載の必要な操作を行っていることを確認してください。
CSWのAPIを使用すると、次のような操作を実行できます。
-
レコード・タイプ・ドメインおよびレコード・ビューの変換に関する情報の指定
-
DCMI (Dublin Core Metadata Initiative)レコードまたはISOレコード用のUSER_SDO_CSW_SERVICE_INFO表への移入
-
USER_SDO_CSW_SERVICE_INFO表からの削除によるレコード・タイプのパブリッシュの解除
-
CSWレコード・タイプおよびXML Query Full Textコンテキスト索引に対する権限のユーザーへの付与および取消し
CSWエンジンの構成には次の処理が伴います。
CSWの初期化
CSWを初期化する前に、次の権限をCSWスキーマに付与する必要があります。ここでは、MDMETTという名前のデータベース・ユーザーのスキーマがCSWスキーマです。
GRANT CONNECT, RESOURCE, UNLIMITED TABLESPACE, CTXAPP TO MDMETT;
GRANT EXECUTE ON CTXSYS.CTX_DDL TO MDMETT;
GRANT SELECT ON MDSYS.SDO_XSD_TABLE TO MDMETT;
GRANT SELECT,ALTER ON MDSYS.md_identifier_sq$ TO MDMETT;
Oracle Spatial and GraphでCatalog Services for the Webを使用するには、SDO_CSW.INITIALIZE_CSWプロシージャをコールしてCSW 2.0.2サービスを初期化する必要があります。このプロシージャでは、ユーザー表がまだない場合は作成され、索引が準備されます。次に例を示します。
DECLARE
BEGIN
sdo_csw.initialize_csw(
'MDMETT',
'2.0.2', -- must be 2.0.2
1, -- for DCMI
'MY_CSW_CATALOG_TABLE',
4326,
1
);
END;
/
CSWデータベース・インスタンスがインスタンス化されていない場合、SDO_CSW.INITIALIZE_CSWプロシージャをコールします。このプロシージャでCSWスキーマが初期化され、CSWカタログ表と適切な索引が存在しなければそれらが作成されます。たとえば、前述の例では、MDMETTスキーマをCSWスキーマとして有効にし、CSWカタログ表としてMY_CSW_CATALOG_TABLE表を作成して、この表に(空間およびXML Query Full Text)索引を作成します。
SDO_CSW.INITIALIZE_CSWプロシージャは、CSWカタログ表と必要な索引がすでに存在する場合は、CSWスキーマとカタログ表の単なる登録のみにも使用できます。詳細と例については、「SDO_CSW.INITIALIZE_CSW」リファレンス・トピックを参照してください。
CSWデータ・ソースの設定
CSWスキーマを作成したら、次のようにしてWebLogic ServerでCSWエンジンのデータ・ソースを設定します。
-
WebLogic Serverコンソールにログインします。
-
左側のペインの「ドメイン構造」で「データ・ソース」を選択します。
-
「新規」、「汎用データ・ソース」の順にクリックします。
-
「新規JDBCデータ・ソースの作成」ページで、次のように指定します。
-
名前:
CSW_ADMIN_CONN
(または任意の名前) -
JNDI名:
jdbc/csw_admin_ds
-
データベースのタイプ:
Oracle
-
-
データベース・ドライバに
「Oracle Driver (Thin) for Instance Connections
; Versions:Any」
を選択します。 -
「グローバル・トランザクションのサポート」を省略します
-
「接続プロパティ」ページで、次の指定を行います。
-
データベース名
-
ホスト名
-
ポート
-
データベース・ユーザー名(つまり、CSWスキーマ名)
-
パスワード
-
-
次のページで、この接続をテストします。
-
接続が正常の場合、このデプロイメントに対して適切なサーバー名(
AdminServer
または管理対象サーバー名)を選択します。 -
作成したデータ・ソースが認識されるようWLSを再起動するか、少なくとも
sdows
アプリケーションを再起動します。
ノート:
各データベースではCSWスキーマを複数保持でき、各スキーマはWebLogic Serverの1つのデータ・ソースに対応します。また、WebLogic Serverでは、CSW用に構成されたデータ・ソースを複数保持できます。各データ・ソースには異なるURLを介してアクセスでき、URLの最後の部分はWebLogic Serverの構成されたデータ・ソース名に対応します。cswdata1
という名前のCSWデータ・ソースを使用したサンプル・リンクを次に示します。
http://localhost:80/oraclespatial/csw/cswdata1?service=CSW& version=2.0.2&request=GetCapabilities
CSWConfig.xmlファイルの編集
CSW管理コンソールを使用して、次の設定の一部またはすべてを変更する必要がある場合あります。
-
log_level
。OFF
、SEVERE
、WARNING
、INFO
(デフォルト)、CONFIG
、FINE
、FINER
、FINEST
、ALL
を指定できます(ログ・ファイルに格納される情報量はこの順に多くなります)。 -
size_limit
。ログ・ファイルに書き込むおおよその最大量(メガバイト)を指定する整数。この値を超えると、新しいファイルが作成され、ログ・ローテーションが行われます。size_limit
が0(ゼロ)の場合、無制限です。デフォルト値は10です。 -
file_count
。循環する出力ファイル数を指定します。ログ・ファイルが占めるディスク領域を制限するために古いログ・ファイルが削除されます。デフォルト値は10です。 -
ServiceIdentification
およびServiceProvider
。CSW GetCapabilitiesレスポンスで配信する適切な内容を提供します。この2つの値を、Oracle Spatial and Graph CSWサービスが提供するデフォルト値以外の値にする必要がある場合、CSW GetCapabilitiesレスポンスで正しい情報が戻されるためには、コメントを解除して必要な編集を行う必要があります。このセクションがコメント設定のままの場合、デフォルトの内容がクライアント側に配信されます。
CSWのデータのロード
Oracle Spatial and Graphに含まれるクライアント側Javaローダーは、次の.jarファイル内にあります(Spatial and Graphのデフォルト・インストール・ディレクトリ$ORACLE_HOME/md
を使用するものとします)。
$ORACLE_HOME/md/jlib/sdocswloader.jar
CSWスキーマを初期化したら、sdocswloader.jar
Javaパッケージを使用してCSW 2.0.2データをロードできます。このパッケージは、CSW XMLレコードを含む大規模なファイルを取り込み、ユーザーCSW表にロードします。このパッケージの使用方法の詳細は、「CSW 2.0.2データのロード(DCMI)」 (DCMIプロファイルの場合)および「CSW 2.0.2データのロード(ISO)」 (ISOプロファイルの場合)を参照してください。
CSWのデプロイのテスト
CSWエンジンをデプロイし、データ・ソースを作成したら、CSWエンジンのテスト問合せのセットでデプロイメントをテストできます。次の例は、CSW 2.0.2のGetCapabilities問合せです。
http://machine-name:port/oraclespatial/csw/<data source name>?request=GetCapabilities&service=CSW&version=2.0.2
SpatialおよびXQFT索引の作成およびメンテナンス
空間索引およびXML Query Full Text (XQFT)索引を手動で作成または維持する必要がある場合があります。これらの索引は、SDO_CSW.INITIALIZE_CSWプロシージャの最初の構文によって自動的に作成され(存在しない場合)、手動で作成する必要はありません。ただし、次のシナリオのように索引を削除して再作成したり、索引を同期化する必要がある場合があります。
-
シナリオ1: SDO_CSW.INITIALIZE_CSWプロシージャを使用した際、空間索引の作成が正常に完了しませんでした。
-
シナリオ2: SDO_CSW.CREATE_SPATIAL_IDXプロシージャをコールした際、空間索引の作成が正常に完了しませんでした。
-
シナリオ3: 「索引を含むパーティションの交換」に記載のようななんらかの理由で空間索引が無効になります
-
シナリオ4: CSWユーザー・データ表に対する大幅な挿入、更新または削除操作がありました。
シナリオ1、2または3の理由で空間索引を再作成または再構築する必要がある場合、まず(SQL文DROP INDEX <index_name> [FORCE]
を使用して)空間索引を削除し、SDO_CSW.CREATE_SPATIAL_IDXプロシージャを使用して空間索引を再作成する必要があります。
シナリオ4の場合、XQFT索引に対してSDO_CSW.SYNC_INDEXをコールする方が速いです。この場合、既存のXQFT索引が自動的に更新されます。ただし、XQFT索引を再作成する必要がある場合、SDO_CSW.CREATE_XQFT_IDXプロシージャをコールして既存のXQFT索引を削除し、新しい索引を作成できます。
18.4 機能のドキュメント(CSW)
クライアントは、サーバーの機能に関する情報を取得できます。
機能のドキュメントは、GetCapabilitiesリクエストに対するレスポンスとしてCSWサーバーにより生成されます。機能のドキュメントには、レコード・タイプやサポートされる操作のタイプなど、Oracleデータベースに格納されたCSWメタデータから抽出された情報が含まれます。
クライアントは、HTTP GET、POSTおよびSOAPプロトコルを使用してこの機能のドキュメントにアクセスできます。次の例ではHTTPプロトコルを使用します。
http:///<machine-name:port>/oraclespatial/csw?request=GetCapabilities&service=CSW&acceptversion=2.0.0&outputFormat=text/xml
次に、前述の書式について説明します。
-
machine-nameは、アプリケーション・サーバーが実行されているシステムの名前です。
-
portは、アプリケーション・サーバーが実行されているポートの番号です。
-
oraclespatialは、Oracle Spatial and GraphのWebサービス・アプリケーションがマウントされるデフォルト・ルートです。
18.5 CSWの主要な操作(DCMIプロファイル)
このトピックでは、CSWデータのロードおよび問合せについて説明し、各種操作のリクエストおよびレスポンスの例を示します。これは、DCMIレコード・タイプを使用するCSWデータの使用に当てはまります。
CSWデータでDCMI (Dublin Core Metadata Initiative)プロファイルが使用されている場合は、各レコードのrecordType
属性の値は1
となります。
SDO_CSW.INITIALIZE_CSWプロシージャをコールする際、CSWデータのレコード・タイプをcsw_xsd_id
パラメータ値(DCMIの場合は1
、ISOの場合は2
)に指定します。
ビューUSER_SDO_CSW_SERVICE_INFOには、サポートされているCSW recordType
のCSWメタデータが格納されます(「CSWのデータベース・スキーマとオブジェクト」を参照)。
- CSW 2.0.2データのロード(DCMI)
CSWスキーマの初期化時にCSW表を作成したら、この表へのCSW 2.0.2データ(DCMIレコード)のロードを開始できます。 - CSW 2.0.2データの問合せ(DCMI)
CSWデータの問合せに対して、このトピックで説明する問合せ可能要素を使用したGetCapabilities、DescribeRercordおよびGetRecords CSWリクエストがサポートされています。 - CSWの操作: XMLを使用したリクエストとレスポンスの例(DCMI)
このトピックでは、次の操作について、CSWエンジンへのリクエストの一部と、リクエストに対するレスポンスを示します。
18.5.1 CSW 2.0.2データのロード(DCMI)
CSWスキーマの初期化時にCSW表を作成したら、この表へのCSW 2.0.2データ(DCMIレコード)のロードを開始できます。
Oracle Spatial and Graphには、この目的で$ORACLE_HOME/md/jlib/sdocswloader.jar
というクライアント側ローダーが用意されています(Spatial and Graphのデフォルト・インストール・ディレクトリ$ORACLE_HOME/md
を使用するものとします)。
sdocswloader.jar
パッケージを使用すると、CSW XMLレコードを含む大規模なファイルを取り込み、CSW表にロードできます。たとえば、多数のDCMIレコードを含むcsw_records1.txt、csw_records2.txtおよびcsw_records3.txtの3つのXMLファイルがあるとします。次のステップに従ってCSW表にロードします。
-
sdo_csw_demo.xml
という名前(または任意の名前)の次の例のようなXML構成ファイルを作成します。<?xml version='1.0' encoding='windows-1252'?> <Connection> <Driver>Thin</Driver> <Hostname>localhost</Hostname> <Port>52504</Port> <ServiceName>SERVICENAME </ServiceName> <ServerMode>DEDICATED</ServerMode> <Schema>MDMETT</Schema> <Password>MDMETT</Password> <!-- Requires access to V$MYSTAT and V$SESS_TIME_MODEL --> <logServerStats>true</logServerStats> <clientSideEncoding>true</clientSideEncoding> <!-- SAX : for Splitting Large XML Files into smaller Files --> <!-- FOLDER : for walking a client side directory tree loading Files --> <mode>SAX</mode> <Pool>false</Pool> <Namespaces xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/> <!-- List of Files to be processed --> <FileList> <!-- replace the following with full file path names for the records --> <File>csw_records1.txt</File> <File>csw_records2.txt</File> <File>csw_records3.txt</File> </FileList> <Tables> <Table name=”CSW CATALOG TABLE_NAME” path="/root/csw:Record"> <Column name="XML_COLUMN" path="/root/csw:Record” type="xml"/> <Column name="METADATA_ID" path="/root/csw:Record/dc:identifier" type="string"/> </Table> </Tables> <!-- Each Writer process will commit its workload after this number of inserts --> <CommitCharge>100</CommitCharge> <!-- Number of Concurrent Writer Threads --> <ThreadCount>10</ThreadCount> <!—replace the following with full file path name for the logger --> <LogFileName>csw_records.log</LogFileName> <ErrorTable>CSW_ERROR_TABLE_NAME</ErrorTable> <schemaInstancePrefix>xsi</schemaInstancePrefix> <schemaLocation/> <noNamespaceSchemaLocation/> </Connection>
この構成ファイルでローダーはDCMI名前空間でDCMIレコードを処理できます。
このファイルの
username
パラメータは、CSWスキーマ名を参照します。Table
名は移入先のCSW表です。1つ目のColumn
名はOracle XMLTypeオブジェクトとしてレコードを格納するCSW表内の列で、2つ目のColumn
名はレコードID値を格納するCSW表内の列です。ノート:
表およびログ・ディレクトリが存在しない場合、(次のステップで)XMLLoaderを実行する前に次のようにします。
-
エラーのログを含めるCSW_ERROR_TABLE_NAMEをCSWスキーマに作成します。たとえば、
CREATE TABLE CSW_ERROR_TABLE of XMLTYPE;
です -
log
という名前のディレクトリを作成します。ここにcsw_records.log
ファイルが作成されます。
-
-
次の例に示すような
runXMLLoader.sh
ファイル(Linuxの場合)またはrunXMLLoader.bat
ファイル(Windowsの場合)を作成します。-
Linux:
runXMLLoader.sh
PATH=$ORACLE_HOME/jdk/bin:$PATH java -Xmx2048M -classpath "$ORACLE_HOME/md/jlib/sdocswloader.jar:$ORACLE_HOME/lib/xmlparserv2.jar:$ORACLE_HOME/jdbc/lib/ojdbc8.jar:$ORACLE_HOME/rdbms/jlib/xdb8.jar" -Doracle.spatial.xmlloader.ConnectionParameters= /mydir/sdo_csw_demo.xml oracle.spatial.xmlloader.saxLoader.XMLLoader
-
Windows:
runXMLLoader.bat
set ORACLE_HOME=e:\app\oracle\product\12.2.0\dbhome_1 set PATH=%ORACLE_HOME%\jdk\bin;%PATH% java -cp %CD%\XMLLoader.jar;%ORACLE_HOME%\lib\xmlparserv2.jar;%ORACLE_HOME%\jdbc\lib\ojdbc8.jar;%ORACLE_HOME%\jdbc\lib\ojdbc8dms.jar;%ORACLE_HOME%\rdbms\jlib\xdb8.jar -Doracle.spatial.xmlloader.ConnectionParameters=%1 oracle.spatial.xmlloader.saxLoader.XMLLoader
これらのファイルでは
sdo_csw_demo.xml
ファイルを使用し、JDKは1.8であるものとします。Java環境が異なる場合、ファイルを修正する必要があります。システム環境に合せて構成ファイルおよび関連スクリプト・ファイルに他の変更を加える必要がある場合があります。 -
この例のシナリオでは、runXMLLoader.sh
またはrunXMLLoader.bat
を実行すると、CSW表に3つのCSW 2.0.2データ・ファイルのレコードが移入されます。
親トピック: CSWの主要な操作(DCMIプロファイル)
18.5.2 CSW 2.0.2データの問合せ(DCMI)
CSWデータの問合せに対して、このトピックで説明する問合せ可能要素を使用したGetCapabilities、DescribeRercordおよびGetRecords CSWリクエストがサポートされています。
次の表に、DCMI形式のCSWデータを問い合せるための問合せ可能要素を示します。問合せの要素ごとに、要素のDCMI名を簡単な説明とともに示します。
表18-1 DCMI用の問合せ可能要素
DCMI名 | 説明 |
---|---|
csw:AnyText |
カタログでの文字データ型の全文検索のターゲット |
dc:contributor |
リソースのコンテンツを提供するエンティティ。 |
dc:coverage |
リソースの空間または時間のトピック、リソースの空間適用性、リソースが関連する管轄区域。 |
dc:creator |
リソースのコンテンツの作成を主に担うエンティティ。 |
dc:date |
メタデータ・リソースの作成または更新イベントの日付。 |
dc:description |
リソースのアカウント。 |
dc:format |
リソースの物理実体化またはデジタル実体化。 |
dc:identifier |
特定のコンテキスト内でのリソースへの一義的な参照。 |
dc:language |
リソースの知的コンテンツの言語。 |
dc:publisher |
リソースを使用可能にするエンティティ。これは、ISOおよびFGDCメタデータにおけるディストリビュータに相当します。 |
dc:relation |
関連リソースへの参照。 |
dc:rights |
リソース内で保持される権限とリソース全体で保持される権限に関する情報 |
dc:source |
現在のリソースの導出元となるリソースへの参照。 |
dc:subject |
リソースのコンテンツのトピック。これは、トピック・カテゴリまたはその他のタクソノミを適用できる場所です。 |
dc:title |
リソースに付けられた名前。"名前"とも呼ばれます。 |
dc:type |
リソースのコンテンツの性質またはジャンル。 |
dct:abstract |
リソースのコンテンツの説明。これは、OGC、FGDCおよびISOメタデータのその他の側面では"要約"とも呼ばれます。 |
dct:modified |
リソースが最後に変更された日付 |
dct:spatial |
リソースのコンテンツの空間エクステントまたはスコープ。 |
ows:BoundingBox |
境界ボックス |
csw:Constraint要素でcws:ElementName要素またはcsw:ElementSetName要素とともに使用できる問合せ可能要素は、次のモードに分類できます。
-
Brief (OGC CSW 2.0.2仕様で指定されている簡易モード)
-
Summary (OGC CSW 2.0.2仕様で指定されている要約モード)
-
Full(常に完全な元のDCMIレコードを戻します)
csw:ElementySetName要素は、モード(brief
、summary
またはfull
)を指定します。csw:ElementName要素は、モードを指定しませんが、問合せ可能要素の名前を指定します。
Briefモードの問合せ可能要素は次のとおりです。
dc:identifier dc:title dc:type ows:BoundingBox
Summaryモードの問合せ可能要素は次のとおりです。
dc:format dc:identifier dc:relation dc:subject dc:title dc:type dct:abstract dct:modified ows:BoundingBox
Fullモードの問合せ可能要素はすべて、OGC仕様とBriefおよびSummaryモードでサポートされています。Fullモードと他のモードの相違点は、Fullモードでは問合せは常に完全な元のDCMIレコードを戻すのに対し、他のモードではcsw:Constraint要素で指定された要素のみを戻します。
Fullモードの問合せ可能要素は次のとおりです。
csw:AnyText dc:contributor dc:coverage dc:creator dc:date dc:description dc:format dc:identifier dc:language dc:publisher dc:relation dc:rights dc:source dc:subject dc:title dc:type dct:abstract dct:modified dct:spatial ows:BoundingBox
ISO問合せ可能要素および一部の特殊なケースに関する使用上のノートは、次のとおりです。
-
gmd:date問合せ可能要素は、gmd:modified問合せ可能要素と同じです。CSWリクエストでは、いずれか一方を使用します。
-
gmd:formatおよびgmd:formatVersion: ElementNameモードでは、distributionFormatノード付きのパスとみなします。Summary、ComprehensiveおよびFullのElementSetNameモードでも、distributorFormatノードとみなします。Briefモードには、このような問合せ可能要素がありません。
-
gmd:hasSecurityConstraints問合せ可能要素には、次の値のみを使用できます(これらの値以外のデータはないことになっているため、これらの値を使用してください): unclassified、restricted、confidential、secret、topSecret。
-
gmd:keywordType問合せ可能要素には、次の値のみを使用できます(これらの値以外のデータはないことになっているため、これらの値を使用してください): discipline、place、stratum、temporal、theme。
-
gmd:referenceSystem: これは、referenceSystem、code、codeSpaceおよびversion問合せ可能要素による和集合問合せ可能要素です。referenceSystem (code問合せ可能要素の別名)、code、codeSpace、version問合せ可能要素のいずれかをCSWリクエストのcsw:ElementName要素で使用すると、これらすべてがISOレコードの結果セットに存在する場合、レスポンス(要するに"related to"説明)に表示されます。csw:Constraint要素では、これらの問合せ可能要素をいずれも使用できます。
-
gmd:spatialResolution: これも、spatialResolution、denominator、distanceおよびdistanceUOM問合せ可能要素による和集合問合せ可能要素です。spatialResolution (denominator問合せ可能要素の別名)、denominator、distance、distanceUOMのいずれかをCSWリクエストのcsw:ElementName要素で使用すると、これらすべてがISOレコードの結果に存在する場合、レスポンス(要するに"related to"説明)に表示されます。csw:Constraint要素では、これらの問合せ可能要素をいずれも使用できます。
-
gmd:topicCategory問合せ可能要素には、次の値のみを使用できます(これらの値以外のデータはないことになっているため、これらの値を使用してください): farming、biota、boundaries、climatologyMeteorologyAtmosphere、economy、elevation、environment、geoscientificInformation、health、imageryBaseMapsEarthCover、intelligenceMilitary、inlandWaters、location、oceans、planningCadastre、society、structure、transportationおよびutilitiesCommunication。
-
ogc:Notロジックは、csw:Constraint、ogc:Filter、ogc:Not、ogc:PropertyIsLikeに対してのみサポートされます。
-
PropertyIsNullは、revisionDate、publicationDate、creationDate、contributor、creatorまたはpublisher問合せ可能要素に対してサポートされません。
-
srv:operatesOnData: これも、operatesOn、operatesOnIdentifier、operatesOnName問合せ可能要素による和集合問合せ可能要素です。これは、前述の和集合とは少し異なります。operatesOnの処理が、operatesOnIdentifierおよびoperatesOnName問合せ可能要素とは異なって、独立して行われます。operatesOnIndetifierがCSWリクエストのcsw:ElementSet要素に指定されていると、operatesOnNameがISOレコードの結果に存在する場合、レスポンスに表示されます。operatesOnIdentifier問合せ可能要素の引数も同様ですが、operatesOn問合せ可能要素は異なります。要するに、表1には"related to"説明が表示されます。csw:Constraintでは、これらの問合せ可能要素をいずれも使用できます。
-
srv:serviceOperation: これも、serviceOperation、operation、DCPおよびlinkage問合せ可能要素による和集合問合せ可能要素です。serviceOperation (operation問合せ可能要素の別名)、operation、DCP、linkageのいずれかをCSWリクエストのcsw:ElementName要素で使用すると、これらすべてがISOレコードの結果セットに存在する場合、レスポンス(要するに"related to"説明)に表示されます。csw:Constraint要素では、これらの問合せ可能要素をいずれも使用できます。
親トピック: CSWの主要な操作(DCMIプロファイル)
18.5.3 CSWの操作: XMLを使用したリクエストとレスポンスの例(DCMI)
このトピックでは、次の操作について、CSWエンジンへのリクエストの一部と、リクエストに対するレスポンスを示します。
- GetCapabilities操作(CSW、DCMI)
- DescribeRecord操作(CSW、DCMI)
- GetRecords操作(CSW、DCMI)
- GetRecordById操作(CSW、DCMI)
親トピック: CSWの主要な操作(DCMIプロファイル)
18.5.3.1 GetCapabilities操作(CSW、DCMI)
GetCapabilities操作では、CSWクライアントがCSWエンジン(サーバー)からカタログ・サービス・メタデータを取得できます。GetCapabilitiesリクエストのレスポンスは、サーバーに関するカタログ・サービス・メタデータ・ドキュメントを含むXMLドキュメントです。この操作では、機能が記述され、CSWインスタンスが戻すXMLドキュメントを指定します。
CSWサーバーはservice、Sections、AcceptVersionsおよびAcceptFormatsリクエスト・パラメータを受け入れ、updateSequenceパラメータを実装できます。すべてのCSWサーバーはGetCapabilities操作用にHTTP GET(つまり、GET KVP)プロトコルを実装する必要があります。このサービスでは、POST XMLおよびSOAPプロトコルもサポートされます。
サービス・メタデータ・ドキュメント(CSW GetCapabilitiesレスポンス)には、次のセクションが含まれます。
-
Service Identification: 指定したCSW実装に関するメタデータ。
-
Service Provider: CSWサービスを提供する組織に関するメタデータ。
-
Operations Metadata: 操作リクエストのURLなど、特定のCSW実装によって提供されるCSW操作に関するメタデータ。このセクションには、サポートされる各操作に使用されるレコード・タイプもリストされます。
-
Filter_Capabilities: サーバーが[OGC 04-095]で定義されている、フィルタ述語エンコーディングを実装する場合のサーバーのフィルタ機能に関するメタデータ。
GetCapabilities操作リクエストのSectionsパラメータの値によって、これらのセクションの任意の組合せをリクエストし、レスポンス・サイズを小さくすることができます。Sectionsパラメータを指定しない場合、すべてのセクションが戻されます
例18-1 GetCapabilitiesリクエスト
指定した名前空間URLで、CSWという名前のCSWサーバーの機能を取得するリクエストを次に示します。このリクエストでは、機能のドキュメント(「機能のドキュメント(CSW)」を参照)が戻されます。
<csw:GetCapabilities service="CSW" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:ows="http://www.opengis.net/ows/2.0"> <ows:AcceptVersions> <ows:Version>2.0.2</ows:Version> <ows:Version>0.7.2</ows:Version> </ows:AcceptVersions> <ows:AcceptFormats> <ows:OutputFormat>text/xml</ows:OutputFormat> </ows:AcceptFormats> </csw:GetCapabilities>
18.5.3.2 DescribeRecord操作(CSW、DCMI)
DescribeRecord操作では、クライアントがカタログ・サービスによってサポートされる情報モデルの要素を検出できます。この操作では、情報モデルの一部またはすべてが記述されます。Oracle Spatial and Graphカタログ・サービスでは、HTTP GET、POST XMLおよびSOAPプロトコルがサポートされます。
XMLエンコードのDescribeRecordリクエストの場合、名前空間の宣言は、『Namespaces in XML』[https://www.w3.org/TR/1999/REC-xml-names-19990114/]に記載された標準のXML規則(xmlns
属性)を使用して指定します。
KVPエンコーディングの場合、名前空間の宣言はNAMESPACE
パラメータを使用して指定します。これは、xmlns([prefix=]namespace-url)という形式の名前空間の宣言のカンマ区切りのリストです。
TypeName
パラメータは、カタログ・サービスによって記述されるタイプ名のリストを指定します。タイプ名は、カタログの情報モデルから問合せ可能なエンティティの名前です。Oracle Spatial and Graphカタログ・サービスでは、TypeName
パラメータに使用できるのはcsw:Record
のみです。
outputFormat
パラメータは、レスポンス・ドキュメントのMIMEタイプを指定します。デフォルトの出力形式属性は、MIMEタイプapplication/xmlです。サポートされるすべての出力形式が機能のドキュメントで宣言されます。Oracle Spatial and Graphカタログ・サービスでは、デフォルトでapplication/xml
がサポートされます。
schemaLanguage
パラメータを使用して、指定したタイプの記述に使用するスキーマ言語を指定します。デフォルト値はXMLSCHEMA
で、XML-Schemaスキーマ記述言語を使用することを示します。Oracle Spatial and Graphカタログ・サービスでは、リクエストにこのパラメータに対するXMLSCHEMA
があれば、それがサポートされます。
HTTP GETリクエストの例を次に示します。
http://<host:port>/oraclespatial/csw/<data source name>?service=CSW&request=DescribeRecord&version=2.0.2&outputFormat=application/xml&schemaLanguage=XMLSCHEMA&typeName=csw:Record&namespace=xmlns(csw=http://www.opengis.org/cat/csw)
DescribeRecord操作のレスポンスは、DescribeRecordResponse
要素を含むXMLドキュメントで、ゼロ個以上のSchemaComponent
サブ要素が含まれ、リクエストしたスキーマ言語での1つ以上のタイプ名の記述がそれぞれに含まれます。Oracle Spatial and Graphカタログ・サービスでは、TypeName
の値はcsw:Record
であるため、DCMIプロファイルのDescribeRecordレスポンスに含まれるSchemaComponent
は1つのみです。
例18-2 DescribeRecordリクエスト
指定した名前空間に対して、Record
というタイプ名のレコードを記述するリクエストを次に示します。
<csw:DescribeRecord xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsd:schemaLanguage="http://www.w3.org/XML/Schema" service="CSW" version="2.0.2"> <csw:TypeName>csw:Record</csw:TypeName> </csw:DescribeRecord>
例18-3 DescribeRecordのレスポンス
前述のリクエストに対するレスポンスは、次のとおりです。レスポンスはXMLスキーマ定義(XSD)です。各要素の説明は、レスポンス内の<xsd:documentation>
要素に含まれるコメントを参照してください。
<csw:DescribeRecordResponse xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd"> <csw:SchemaComponent schemaLanguage="http://www.w3.org/XML/Schema" targetNamespace="http://www.opengis.net/cat/csw/2.0.2"> <xsd:schema id="csw-record" targetNamespace="http://www.opengis.net/cat/csw/2.0.2" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:ows="http://www.opengis.net/ows" elementFormDefault="qualified" version="2.0.2.2"> <xsd:annotation> <xsd:appinfo> <dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">http://schemas.opengis.net/csw/2.0.2/record.xsd</dc:identifier> </xsd:appinfo> <xsd:documentation xml:lang="en"> This schema defines the basic record types that must be supported by all CSW implementations. These correspond to full, summary, and brief views based on DCMI metadata terms. CSW is an OGC Standard. Copyright (c) 2004,2010 Open Geospatial Consortium. To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . </xsd:documentation> </xsd:annotation> <xsd:include schemaLocation="csw.xsd"/> <xsd:import namespace="http://purl.org/dc/terms/" schemaLocation="http://schemas.opengis.net/csw/2.0.2/rec-dcterms.xsd"/> <xsd:import namespace="http://purl.org/dc/elements/1.1/" schemaLocation="http://schemas.opengis.net/csw/2.0.2/rec-dcmes.xsd"/> <xsd:import namespace="http://www.opengis.net/ows" schemaLocation="http://schemas.opengis.net/ows/1.0.0/owsAll.xsd"/> <xsd:element name="AbstractRecord" id="AbstractRecord" type="csw:AbstractRecordType" abstract="true" /> <xsd:complexType name="AbstractRecordType" id="AbstractRecordType" abstract="true"/> <xsd:element name="DCMIRecord" type="csw:DCMIRecordType" substitutionGroup="csw:AbstractRecord"/> <xsd:complexType name="DCMIRecordType"> <xsd:annotation> <xsd:documentation xml:lang="en"> This type encapsulates all of the standard DCMI metadata terms, including the Dublin Core refinements; these terms may be mapped to the profile-specific information model. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="csw:AbstractRecordType"> <xsd:sequence> <xsd:group ref="dct:DCMI-terms"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="BriefRecord" type="csw:BriefRecordType" substitutionGroup="csw:AbstractRecord"/> <xsd:complexType name="BriefRecordType" final="#all"> <xsd:annotation> <xsd:documentation xml:lang="en"> This type defines a brief representation of the common record format. It extends AbstractRecordType to include only the dc:identifier and dc:type properties. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="csw:AbstractRecordType"> <xsd:sequence> <xsd:element ref="dc:identifier" minOccurs="1" maxOccurs="unbounded"/> <xsd:element ref="dc:title" minOccurs="1" maxOccurs="unbounded"/> <xsd:element ref="dc:type" minOccurs="0"/> <xsd:element ref="ows:BoundingBox" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="SummaryRecord" type="csw:SummaryRecordType" substitutionGroup="csw:AbstractRecord"/> <xsd:complexType name="SummaryRecordType" final="#all"> <xsd:annotation> <xsd:documentation xml:lang="en"> This type defines a summary representation of the common record format. It extends AbstractRecordType to include the core properties. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="csw:AbstractRecordType"> <xsd:sequence> <xsd:element ref="dc:identifier" minOccurs="1" maxOccurs="unbounded"/> <xsd:element ref="dc:title" minOccurs="1" maxOccurs="unbounded"/> <xsd:element ref="dc:type" minOccurs="0"/> <xsd:element ref="dc:subject" minOccurs="0" maxOccurs="unbounded"/> <xsd:element ref="dc:format" minOccurs="0" maxOccurs="unbounded"/> <xsd:element ref="dc:relation" minOccurs="0" maxOccurs="unbounded"/> <xsd:element ref="dct:modified" minOccurs="0" maxOccurs="unbounded"/> <xsd:element ref="dct:abstract" minOccurs="0" maxOccurs="unbounded"/> <xsd:element ref="dct:spatial" minOccurs="0" maxOccurs="unbounded"/> <xsd:element ref="ows:BoundingBox" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="Record" type="csw:RecordType" substitutionGroup="csw:AbstractRecord"/> <xsd:complexType name="RecordType" final="#all"> <xsd:annotation> <xsd:documentation xml:lang="en"> This type extends DCMIRecordType to add ows:BoundingBox; it may be used to specify a spatial envelope for the catalogued resource. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="csw:DCMIRecordType"> <xsd:sequence> <xsd:element name="AnyText" type="csw:EmptyType" minOccurs="0" maxOccurs="unbounded"/> <xsd:element ref="ows:BoundingBox" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="EmptyType" /> </xsd:schema> </csw:SchemaComponent> </csw:DescribeRecordResponse>
18.5.3.3 GetRecords操作(CSW、DCMI)
CSWでのリソース検出の主なツールは、検索と提示の2つの操作です。HTTPプロトコル・バインディングでは、これらはGetRecords操作という形で組み合され、検索と提示を実行します。
GetRecords操作の"検索"部分はQuery
要素を使用してエンコードされます。この要素には、typeName
パラメータおよびConstraint
パラメータが含まれます。
-
typeName
パラメータを使用して、カタログ・サービスのどのエンティティ(レコード・タイプ)に問合せを行うかを指定します。 -
Constraintパラメータを使用して、どの問合せ制約を適用してリクエスト・セットを識別するかを指定します。
GetRecords操作の"提示"部分は、outputSchema
パラメータおよびElementName
/ElementSetName
パラメータを使用してエンコードされます。
-
outputSchema
パラメータは、GetRecords操作へのレスポンスの生成に使用されるXSDスキーマ(つまり、http://www.opengis.net/cat/csw/2.0.2
)を示します。 -
ElementName
またはElementSetName
パラメータを使用して、GetRecordsレスポンスの各レコードに含めるoutputSchema
のプロパティを指定します。
(次の記述では、namespace
、outputFormat
などのDescribeRecordにも使用された一部のパラメータを繰り返していません。)
resultType
パラメータは、hits
、results
またはvalidate
という値をとることができます。この値によって、カタログ・サービスが結果セットのサマリーのみを戻すか(hits
)、結果セットの1つ以上のレコードを含めるか(results
)、リクエスト・メッセージを検証するか(validate
)が決まります。
startPosition
パラメータを使用して、カタログが出力の生成を開始するレコードの位置を示します。デフォルト値は1で、結果セットの最初のレコードです。
maxRecords
パラメータを使用して、問合せの結果セットから戻されるレコードの最大数を定義します。指定されない場合、10レコードが戻されます。値がゼロに設定された場合、resultType
をhits
に設定した場合と同じ動作になります。
typeNames
パラメータは、問合せの述語で制約される可能性のあるカタログの情報モデル内の1つ以上の問合せ可能なエンティティの名前のリストです。(csw:Record
はDCMIプロファイルを指定します。)
ElementName
パラメータを使用して、問合せがGetRecords操作のレスポンスで提示する、outputSchema
パラメータを使用して指定する出力スキーマの1つ以上のメタデータ・レコード要素を指定します。
ElementSetName
パラメータはbrief、summaryまたはfullで、サービスがクライアントに提示する名前付きセットを示します。
ElementName
およびElementSetName
は、相互に排他的なパラメータです。1つの問合せには1つのElementSetName
パラメータまたは1つ以上のElementSetName
パラメータを指定します。
Oracle Spatial and Graph CSWサービスの場合、ConstraintLanguage
パラメータはFilter
である必要があります。CQL
はサポートされていません。
constraint
パラメータは、特定のレコードの取得に使用するフィルタ機能を指定します。次のフィルタ機能がOracle Spatial and Graph CSWサービスでサポートされます。
-
論理演算子: And、Or、Not
-
比較演算子: PropertyIsEqualTo、PropertyIsNotEqualTo、PropertyIsLessThan、PropertyIsGreaterThan、PropertyIsLessThanOrEqualTo、PropertyIsGreaterThanOrEqualTo、PropertyIsLike、PropertyIsNull、csw:AnyText
-
空間演算子: BBOX
-
単純算術: add、sub、div、mul、function
GetRecordsResponse
要素は、GetRecordsリクエストに対するレスポンスのコンテナです。
SearchStatus
要素は、レスポンスのステータスを示します。検索ステータスは、結果セットが作成された日時を示すタイムスタンプ属性で構成されます。
SearchResults
要素には、SearchResults
要素が含まれます。この要素はGetRecords操作で戻されるレコードのセットです。SearchResults
要素には、ElementSet(brief/summary/full)
、numberOfRecordaMatched
、numberOfRecordsReturned
、nextRecord
といった属性が使用されます。
Oracle Spatial and Graphカタログ・サービスでは、GetRecords操作にはHTTP GET、POST XMLおよびSOAPプロトコルがサポートされます。
例18-4 PropertyIsEqualToおよびPropertyIsLikeを使用したGetRecordsリクエスト
PropertyIsEqualTo
およびPropertyIsLike
を指定したGetRecordsリクエストを次に示します。タイプがURL http://purl.org/dc/dcmitype/Image
と等しいか、形式が"application/"と"xml"トークンの間に任意の文字を含む(これらのトークンも含む)文字列値であるレコードが結果セットとして検出されます。(escapeChar
、singleChar
およびwildcard
の文字は自由に指定できます。)
<csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" resultType="results" service="CSW" version="2.0.2"> <csw:Query typeNames="csw:Record"> <csw:ElementSetName>summary</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:Or> <ogc:PropertyIsLike escapeChar="\" singleChar="?" wildCard="*"> <ogc:PropertyName>dc:format</ogc:PropertyName> <ogc:Literal>application/*xml</ogc:Literal> </ogc:PropertyIsLike> <ogc:PropertyIsEqualTo> <ogc:PropertyName>dc:type</ogc:PropertyName> <ogc:Literal>http://purl.org/dc/dcmitype/Image</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Or> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
GetRecordsリクエストの場合、ElementSetName
はsummary
、full
またはbrief
のいずれかです。
CSW 2.0.2仕様では、ElementSetName
(1つのみ)またはElementName
(1つ以上)をGetRecordsリクエストに指定できます。
Spatial and Graphカタログ・サービスでは、GetRecordsリクエストの同期処理のみサポートされます。
例18-5 PropertyIsEqualToおよびPropertyIsLikeを使用したGetRecordsのレスポンス
前述のリクエストに対するレスポンスは、次のとおりです。
<csw:GetRecordsResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns9="http://www.opengis.net/ows" xmlns:ns8="http://purl.org/dc/terms/" xmlns:ns7="http://purl.org/dc/elements/1.1/" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:ows="http://www.opengis.net/ows/2.0" xmlns:ogc="http://www.opengis.net/ogc" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:swe="http://www.opengis.net/swe/2.0" version="2.0.2" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 ../../cswAll.xsd"> <csw:SearchStatus timestamp="2016-06-09T02:16:36Z"></csw:SearchStatus> <csw:SearchResults elementSet="summary" recordSchema="http://www.opengis.net/cat/csw/2.0.2" numberOfRecordsMatched="4" numberOfRecordsReturned="4" nextRecord="0"> <csw:SummaryRecord> <ns7:identifier>urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f</ns7:identifier> <ns7:title>Lorem ipsum</ns7:title> <ns7:type>http://purl.org/dc/dcmitype/Image</ns7:type> <ns7:subject>Tourism--Greece</ns7:subject> <ns7:format>image/svg+xml</ns7:format> <ns8:abstract>Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu.</ns8:abstract> <ns9:BoundingBox></ns9:BoundingBox> </csw:SummaryRecord> <csw:SummaryRecord> <ns7:identifier>urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493</ns7:identifier> <ns7:title>Maecenas enim</ns7:title> <ns7:type>http://purl.org/dc/dcmitype/Text</ns7:type> <ns7:subject>Marine sediments</ns7:subject> <ns7:format>application/xhtml+xml</ns7:format> <ns8:abstract>Pellentesque tempus magna non sapien fringilla blandit.</ns8:abstract> <ns9:BoundingBox></ns9:BoundingBox> </csw:SummaryRecord> <csw:SummaryRecord> <ns7:identifier>urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e</ns7:identifier> <ns7:title>Vestibulum massa purus</ns7:title> <ns7:type>http://purl.org/dc/dcmitype/Image</ns7:type> <ns7:format>image/jp2</ns7:format> <ns7:relation>urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc</ns7:relation> <ns9:BoundingBox></ns9:BoundingBox> </csw:SummaryRecord> <csw:SummaryRecord> <ns7:identifier>urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2</ns7:identifier> <ns7:title>Lorem ipsum dolor sit amet</ns7:title> <ns7:type>http://purl.org/dc/dcmitype/Image</ns7:type> <ns7:format>image/jpeg</ns7:format> <ns9:BoundingBox></ns9:BoundingBox> </csw:SummaryRecord> </csw:SearchResults> </csw:GetRecordsResponse>
例18-6 PropertyIsLikeを使用したGetRecordsリクエスト
PropertyIsLike
を使用したGetRecordsのリクエストを次に示します。ここでは、クライアントは、プロパティ・タイトルが"Lorem ipsum*"のようなレコードをフェッチします。(escapeChar
、singleChar
およびwildcard
の文字は自由に指定できます。)
<csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" maxRecords="20" resultType="results" service="CSW" version="2.0.2"> <csw:Query typeNames="csw:Record"> <csw:ElementSetName>summary</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:PropertyIsLike escapeChar="\" singleChar="?" wildCard="*"> <ogc:PropertyName>dc:title</ogc:PropertyName> <ogc:Literal>Lorem ipsum*</ogc:Literal> </ogc:PropertyIsLike> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
例18-7 PropertyIsLikeを使用したGetRecordsのレスポンス
前述のリクエストに対するレスポンスは、次のとおりです。
<csw:GetRecordsResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns9="http://www.opengis.net/ows" xmlns:ns8="http://purl.org/dc/terms/" xmlns:ns7="http://purl.org/dc/elements/1.1/" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:ows="http://www.opengis.net/ows/2.0" xmlns:ogc="http://www.opengis.net/ogc" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:swe="http://www.opengis.net/swe/2.0" version="2.0.2" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 ../../cswAll.xsd"> <csw:SearchStatus timestamp="2016-06-10T01:38:22Z"></csw:SearchStatus> <csw:SearchResults elementSet="summary" recordSchema="http://www.opengis.net/cat/csw/2.0.2" numberOfRecordsMatched="2" numberOfRecordsReturned="2" nextRecord="0"> <csw:SummaryRecord> <ns7:identifier>urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f</ns7:identifier> <ns7:title>Lorem ipsum</ns7:title> <ns7:type>http://purl.org/dc/dcmitype/Image</ns7:type> <ns7:subject>Tourism--Greece</ns7:subject> <ns7:format>image/svg+xml</ns7:format> <ns8:abstract>Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu.</ns8:abstract> <ns9:BoundingBox></ns9:BoundingBox> </csw:SummaryRecord> <csw:SummaryRecord> <ns7:identifier>urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2</ns7:identifier> <ns7:title>Lorem ipsum dolor sit amet</ns7:title> <ns7:type>http://purl.org/dc/dcmitype/Image</ns7:type> <ns7:format>image/jpeg</ns7:format> <ns9:BoundingBox></ns9:BoundingBox> </csw:SummaryRecord> </csw:SearchResults> </csw:GetRecordsResponse>
例18-8 PropertyIsGreaterThanを使用したGetRecordsリクエスト
PropertyIsGreaterThanを使用したGetRecordsのリクエストを次に示します。ここでは、クライアントは、日付が2004-01-01より後のレコードをフェッチします。
<csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" resultType="results" service="CSW" version="2.0.2"> <csw:Query typeNames="csw:Record"> <csw:ElementName>dc:identifier</csw:ElementName> <csw:ElementName>dc:type</csw:ElementName> <csw:ElementName>dc:date</csw:ElementName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:PropertyIsGreaterThan> <ogc:PropertyName>dc:date</ogc:PropertyName> <ogc:Literal>2004-01-01Z</ogc:Literal> </ogc:PropertyIsGreaterThan> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
例18-9 PropertyIsGreaterThanを使用したGetRecordsのレスポンス
前述のリクエストに対するレスポンスは、次のとおりです。
<csw:GetRecordsResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns9="http://www.opengis.net/ows" xmlns:ns8="http://purl.org/dc/terms/" xmlns:ns7="http://purl.org/dc/elements/1.1/" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:ows="http://www.opengis.net/ows/2.0" xmlns:ogc="http://www.opengis.net/ogc" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:swe="http://www.opengis.net/swe/2.0" version="2.0.2" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 ../../cswAll.xsd"> <csw:SearchStatus timestamp="2015-06-29T05:50:16Z"></csw:SearchStatus> <csw:SearchResults elementSet="" recordSchema="http://www.opengis.net/cat/csw/2.0.2" numberOfRecordsMatched="3" numberOfRecordsReturned="3" nextRecord="0"> <csw:Record> <ns7:identifier>urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec</ns7:identifier> <ns7:type>http://purl.org/dc/dcmitype/Text</ns7:type> <ns7:date>2006-05-12Z</ns7:date> </csw:Record> <csw:Record> <ns7:identifier>urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63</ns7:identifier> <ns7:type>http://purl.org/dc/dcmitype/Dataset</ns7:type> <ns7:date>2006-03-26Z</ns7:date> </csw:Record> <csw:Record> <ns7:identifier>urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc</ns7:identifier> <ns7:type>http://purl.org/dc/dcmitype/Dataset</ns7:type> <ns7:date>2005-10-24Z</ns7:date> </csw:Record> </csw:SearchResults> </csw:GetRecordsResponse>
例18-10 BoundingBox (BBOX)を使用したGetRecordsリクエスト
BoundingBox
(BBOX)を使用したGetRecordsのリクエストを次に示します。ここでは、クライアントは、ジオメトリが(40,-9;50, -5)という境界ボックスに該当せず、タイプが大/小文字を区別しない文字列URL値HTTP://purl.org/dc/dcmitype/dataset
に等しいレコードをフェッチします。つまり、タイプはhttp://purl.org/dc/dcmitype/dataset
であるか、これで始まるということです。このリクエストには、空間索引およびXQFT索引の両方が活用されます。
<csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" resultType="results" service="CSW" version="2.0.2"> <csw:Query typeNames="csw:Record"> <csw:ElementName>dc:identifier</csw:ElementName> <csw:ElementName>dc:type</csw:ElementName> <csw:ElementName>ows:BoundingBox</csw:ElementName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:And> <ogc:Not> <ogc:BBOX> <ogc:PropertyName>ows:BoundingBox</ogc:PropertyName> <gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:6.11:4326"> <gml:lowerCorner>40.0 -9.0</gml:lowerCorner> <gml:upperCorner>50.0 -5.0</gml:upperCorner> </gml:Envelope> </ogc:BBOX> </ogc:Not> <ogc:PropertyIsEqualTo matchCase="false"> <ogc:PropertyName>dc:type</ogc:PropertyName> <ogc:Literal>HTTP://purl.org/dc/dcmitype/dataset</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:And> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
例18-11 BoundingBox (BBOX)を使用したGetRecordsのレスポンス
前述のリクエストに対するレスポンスは、次のとおりです。
<csw:GetRecordsResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns9="http://www.opengis.net/ows" xmlns:ns8="http://purl.org/dc/terms/" xmlns:ns7="http://purl.org/dc/elements/1.1/" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:ows="http://www.opengis.net/ows/2.0" xmlns:ogc="http://www.opengis.net/ogc" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:swe="http://www.opengis.net/swe/2.0" version="2.0.2" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 ../../cswAll.xsd"> <csw:SearchStatus timestamp="2015-06-29T05:50:16Z"></csw:SearchStatus> <csw:SearchResults elementSet="" recordSchema="http://www.opengis.net/cat/csw/2.0.2" numberOfRecordsMatched="2" numberOfRecordsReturned="2" nextRecord="0"> <csw:Record> <ns7:identifier>urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357</ns7:identifier> <ns7:type>http://purl.org/dc/dcmitype/Dataset</ns7:type> <ns9:BoundingBox></ns9:BoundingBox> </csw:Record> <csw:Record> <ns7:identifier>urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63</ns7:identifier> <ns7:type>http://purl.org/dc/dcmitype/Dataset</ns7:type> <ns9:BoundingBox crs="urn:x-ogc:def:crs:EPSG:6.11:4326" dimensions="2"> <ns9:LowerCorner>47.595 -4.097</ns9:LowerCorner> <ns9:UpperCorner>51.217 0.889</ns9:UpperCorner> </ns9:BoundingBox> </csw:Record> </csw:SearchResults> </csw:GetRecordsResponse>
18.5.3.4 GetRecordById操作(CSW、DCMI)
GetRecordById操作はGetRecords操作のサブセットで、CSWサービスでレコードを取得およびリンクするための簡単で便利な形式として含まれています。GetRecordByIdリクエストは、識別子を使用してカタログ・レコードを取得します。
GetRecordById操作は、「GetRecords操作(CSW、DCMI)」で説明する"提示"操作の実装です。パラメータは、ElementSetName
、outputFormat
、outputSchema
およびId
です。
GetRecordByIdのレスポンスは、リクエストのId
値と一致したレコードのリストです。
Oracle Spatial and Graph CSWでは、このリクエストにはHTTP GET、POST XMLおよびSOAPプロトコルがサポートされます。
例18-12 GetRecordByIdリクエスト
レコードID値がurn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2
、urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f
、urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a
のレコードを取得するリクエストを次に示します。
<csw:GetRecordById xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" outputFormat="application/xml" service="CSW" version="2.0.2"> <csw:Id>urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2</csw:Id> <csw:Id>urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f</csw:Id> <csw:Id>urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a</csw:Id> <csw:ElementSetName>brief</csw:ElementSetName> </csw:GetRecordById>
例18-13 GetRecordByIdのレスポンス
前述のリクエストに対するレスポンスは、次のとおりです。
<csw:GetRecordByIdResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns9="http://www.opengis.net/ows" xmlns:ns8="http://purl.org/dc/terms/" xmlns:ns7="http://purl.org/dc/elements/1.1/" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:ows="http://www.opengis.net/ows/2.0" xmlns:ogc="http://www.opengis.net/ogc" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:swe="http://www.opengis.net/swe/2.0" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 ../../cswAll.xsd"> <BriefRecord> <ns7:identifier>urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f</ns7:identifier> <ns7:type>http://purl.org/dc/dcmitype/Image</ns7:type> <ns7:title>Lorem ipsum</ns7:title> <ns9:BoundingBox></ns9:BoundingBox> </BriefRecord> <BriefRecord> <ns7:identifier>urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2</ns7:identifier> <ns7:type>http://purl.org/dc/dcmitype/Image</ns7:type> <ns7:title>Lorem ipsum dolor sit amet</ns7:title> <ns9:BoundingBox></ns9:BoundingBox> </BriefRecord> <BriefRecord> <ns7:identifier>urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a</ns7:identifier> <ns7:type>http://purl.org/dc/dcmitype/Service</ns7:type> <ns9:BoundingBox></ns9:BoundingBox> </BriefRecord> </csw:GetRecordByIdResponse>
18.6 CSWの主要な操作(ISOプロファイル)
このトピックでは、CSWデータのロードおよび問合せについて説明し、各種操作のリクエストおよびレスポンスの例を示します。これは、ISOレコード・タイプを使用するCSWデータの使用に当てはまります。
CSWデータでISOプロファイルが使用されている場合は、各レコードのrecordType
属性の値は2
となります。
SDO_CSW.INITIALIZE_CSWプロシージャをコールする際、CSWデータのレコード・タイプをcsw_xsd_id
パラメータ値(DCMIの場合は1
、ISOの場合は2
)に指定します。
ビューUSER_SDO_CSW_SERVICE_INFOには、サポートされているCSW recordType
のCSWメタデータが格納されます(「CSWのデータベース・スキーマとオブジェクト」を参照)。
- CSW 2.0.2データのロード(ISO)
CSW ISOプロファイル・スキーマの初期化時にCSW ISOプロファイル表を作成したら、この表へのCSW 2.0.2データ(ISO 19139レコード)のロードを開始できます。 - CSW 2.0.2データの問合せ(ISO)
CSW ISOプロファイル・データの問合せに対して、このトピックで説明する問合せ可能要素を使用したGetCapabilities、DescribeRercordおよびGetRecords CSWリクエストがサポートされています。 - CSWの操作: XMLを使用したリクエストとレスポンスの例(ISO)
このトピックでは、次の操作について、CSWエンジンへのリクエストの一部と、リクエストに対するレスポンスを示します。
18.6.1 CSW 2.0.2データのロード(ISO)
CSW ISOプロファイル・スキーマの初期化時にCSW ISOプロファイル表を作成したら、この表へのCSW 2.0.2データ(ISO 19139レコード)のロードを開始できます。
Oracle Spatial and Graphには、この目的で$ORACLE_HOME/md/jlib/sdocswloader.jar
というクライアント側ローダーが用意されています(Spatial and Graphのデフォルト・インストール・ディレクトリ$ORACLE_HOME/md
を使用するものとします)。
sdocswloader.jar
パッケージを使用すると、CSW ISOプロファイルXMLレコードを含む大規模なファイルを取り込み、CSW ISOプロファイル表にロードできます。たとえば、多数のISOレコードを含むcsw_records1.txt
、csw_records2.txt
およびcsw_records3.txt
の3つのXMLファイルがあるとします。次のステップに従ってCSW ISOプロファイル表にロードします。
-
sdo_csw_demo.xml
という名前(または任意の名前)の次の例のようなXML構成ファイルを作成します。<?xml version='1.0' encoding='windows-1252'?> <Connection> <Driver>Thin</Driver> <Hostname>localhost</Hostname> <Port>52504</Port> <ServiceName>SERVICENAME </ServiceName> <ServerMode>DEDICATED</ServerMode> <Schema>MDMETT</Schema> <Password>MDMETT</Password> <!-- Requires access to V$MYSTAT and V$SESS_TIME_MODEL --> <logServerStats>true</logServerStats> <clientSideEncoding>true</clientSideEncoding> <!-- SAX : for Splitting Large XML Files into smaller Files --> <!-- FOLDER : for walking a client side directory tree loading Files --> <mode>SAX</mode> <Pool>false</Pool> <Namespaces xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd=“http://www.w3.org/2001/XMLSchema" xmlns:gmi="http://www.isotc211.org/2005/gmi" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmx="http://www.isotc211.org/2005/gmx" xmlns:apiso="http://www.opengis.net/cat/csw/apiso/1.0" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:srv="http://www.isotc211.org/2005/srv" /> <!-- List of Files to be processed --> <FileList> <!-- replace the following with full file path names for the records --> <File>csw_records1.txt</File> <File>csw_records2.txt</File> <File>csw_records3.txt</File> </FileList> <Tables> <Table name="SDO_CSW_DEMO_TABLE" path="/root/gmd:MD_Metadata"> <Column name="XML_COLUMN" path="/root/gmd:MD_Metadata" type="xml"/> <Column name="METADATA_ID" path="/root/gmd:MD_Metadata/gmd:fileIdentifier/gco:CharacterString" type="string"/> </Table> </Tables> <!-- Each Writer process will commit its workload after this number of inserts --> <CommitCharge>100</CommitCharge> <!-- Number of Concurrent Writer Threads --> <ThreadCount>10</ThreadCount> <!—replace the following with full file path name for the logger --> <LogFileName>csw_records.log</LogFileName> <ErrorTable>CSW_ERROR_TABLE_NAME</ErrorTable> <schemaInstancePrefix>xsi</schemaInstancePrefix> <schemaLocation/> <noNamespaceSchemaLocation/> </Connection>
この構成ファイルでローダーはISO19139名前空間でISO19139レコードを処理できます。
このファイルの
username
パラメータは、CSW ISOプロファイル・スキーマ名を参照します。Table
名は移入先のCSW ISOプロファイル表です。1つ目のColumn
名はOracle XMLTypeオブジェクトとしてレコードを格納するCSW ISOプロファイル表内の列で、2つ目のColumn
名はレコードID値を格納するCSW ISOプロファイル表内の列です。ノート:
表およびログ・ディレクトリが存在しない場合、(次のステップで)XMLLoaderを実行する前に次のようにします。
-
エラーのログを含めるCSW_ERROR_TABLE_NAME表をCSW ISOプロファイル・スキーマに作成します。たとえば、
CREATE TABLE CSW_ERROR_TABLE of XMLTYPE;
です -
log
という名前のディレクトリを作成します。ここにcsw_records.log
ファイルが作成されます。
-
-
次の例に示すような
runXMLLoader.sh
ファイル(Linuxの場合)またはrunXMLLoader.bat
ファイル(Windowsの場合)を作成します。-
Linux:
runXMLLoader.sh
PATH=$ORACLE_HOME/jdk/bin:$PATH java -Xmx2048M -classpath "$ORACLE_HOME/md/jlib/sdocswloader.jar:$ORACLE_HOME/lib/xmlparserv2.jar:$ORACLE_HOME/jdbc/lib/ojdbc8.jar:$ORACLE_HOME/rdbms/jlib/xdb8.jar" -Doracle.spatial.xmlloader.ConnectionParameters= /mydir/sdo_csw_demo.xml oracle.spatial.xmlloader.saxLoader.XMLLoader
-
Windows:
runXMLLoader.bat
set ORACLE_HOME=e:\app\oracle\product\12.2.0\dbhome_1 set PATH=%ORACLE_HOME%\jdk\bin;%PATH% java -cp %CD%\XMLLoader.jar;%ORACLE_HOME%\lib\xmlparserv2.jar;%ORACLE_HOME%\jdbc\lib\ojdbc8.jar;%ORACLE_HOME%\jdbc\lib\ojdbc8dms.jar;%ORACLE_HOME%\rdbms\jlib\xdb8.jar -Doracle.spatial.xmlloader.ConnectionParameters=%1 oracle.spatial.xmlloader.saxLoader.XMLLoader
これらのファイルでは
sdo_csw_demo.xml
ファイルを使用し、JDKは1.8であるものとします。Java環境が異なる場合、ファイルを修正する必要があります。システム環境に合せて構成ファイルおよび関連スクリプト・ファイルに他の変更を加える必要がある場合があります。 -
この例のシナリオでは、runXMLLoader.sh
またはrunXMLLoader.bat
を実行すると、CSW表に3つのCSW 2.0.2 ISOプロファイル・データ・ファイルのレコードが移入されます。
親トピック: CSWの主要な操作(ISOプロファイル)
18.6.2 CSW 2.0.2データの問合せ(ISO)
CSW ISOプロファイル・データの問合せに対して、このトピックで説明する問合せ可能要素を使用したGetCapabilities、DescribeRercordおよびGetRecords CSWリクエストがサポートされています。
次のサンプル問合せはPOSTリクエストであり、1つ目はcsw:ElementName要素を使用し、2つ目はcsw:ElementSetName要素を使用しています。それぞれのケースで、ogc:PropertyName要素は、csw:Constraint要素内のogc:Filter要素内に問合せ対象のプロパティを指定するのに使用されます。
サンプル・リクエスト1: 問合せでのElementName要素の指定
<csw:GetRecords xmlns:apiso="http://www.opengis.net/cat/csw/apiso/1.0" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" resultType="results" service="CSW" version="2.0.2"> <csw:Query typeNames="gmd:MD_Metadata"> <csw:ElementName>gmd:identifier</csw:ElementName> <csw:ElementName>gmd:type</csw:ElementName> <csw:ElementName>gmd:date</csw:ElementName> <csw:ElementName>gmd:abstract</csw:ElementName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:PropertyIsLike escapeChar="\" singleChar="?" wildCard="*"> <ogc:PropertyName>gmd:abstract</ogc:PropertyName> <ogc:Literal>*Oracle CSW*</ogc:Literal> </ogc:PropertyIsLike> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
サンプル・リクエスト2: 問合せでのElementSetName要素の指定
<csw:GetRecords xmlns:apiso="http://www.opengis.net/cat/csw/apiso/1.0" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" resultType="results" outputFormat="application/xml" outputSchema="http://www.isotc211.org/2005/gmd" service="CSW" version="2.0.2"> <csw:Query typeNames="gmd:MD_Metadata"> <csw:ElementSetName>brief</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:PropertyIsEqualTo> <ogc:PropertyName>gmd:title</ogc:PropertyName> <ogc:Literal>Oracle CSW 2.0.2 Service Record</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
前述のサンプル・リクエストでは、問合せ可能要素を使用した単純な問合せを示しています。csw:Constraint要素は、ogc:Andコネクタなどと使用してより複雑な構造にすることができます。詳細は、OGC CSW 2.0.2仕様のOGC 07-045を参照してください。
csw:Constraint要素でcws:ElementName要素またはcsw:ElementSetName要素とともに使用できる問合せ可能要素は、次のモードに分類できます。
-
Brief (OGC CSW 2.0.2仕様で指定されている簡易モード)
-
Summary (OGC CSW 2.0.2仕様で指定されている要約モード)
-
Comprehensive (Summaryと他の要素が含まれるOracle固有のモード。ComprehensiveモードはISOプロファイルにのみ適用され、DCMIプロファイルには適用されません。)
-
Full(常に完全な元のISOレコードを戻します)
csw:ElementySetName要素は、モード(brief
、summary
、comprehensive
またはfull
)を指定します。csw:ElementName要素は、モードを指定しませんが、問合せ可能要素の名前を指定します。サンプル・リクエスト2では、ElementSetName要素はbriefモード(<csw:ElementSetName>brief</csw:ElementSetName>
)を指定します。
Briefモードの問合せ可能要素は次のとおりです。
gmd:title gmd:graphicOverview gmd:identifier gmd:type ows:BoundingBox srv:serviceType srv:serviceTypeVersion
Summaryモードの問合せ可能要素は次のとおりです。
gmd:abstract gmd:characterSet gmd:creator gmd:contributor srv:couplingType ows:BoundingBox gmd:format gmd:formatVersion gmd:graphicOverview gmd:hierarchyLevelName gmd:fileIdentifier (or identifier) gmd:language gmd:lineage gmd:metadataCharacterSet gmd:metadataStandardName gmd:metadataStandardVersion gmd:modified gmd:onlineResource gmd:parentIdentifier gmd:publisher gmd:resourceIdentifier gmd:resourceLanguage gmd:referenceSystem) gmd:revisionDate gmd:rights gmd:spatialResolution gmd:spatialRepresentationType gmd:title gmd:topicCategory (Certain values allowed) gmd:type (same as hierarchyLevel) srv:serviceOperation srv:serviceType srv:serviceTypeVersion
Oracle固有のComprehensiveモードの問合せ可能要素には、Summaryモードのすべての要素と次の要素が含まれます。
gmd:alternateTitle gmd:code (related to gmd:referenceSystem) gmd:codeSpace (related to gmd:referenceSystem) gmd:creationDate (related to gmd:revisionDate) gmd:crs (related to gmd:referenceSystem) gmd:date (or gmd:modified) gmd:denominator (related to gmd:spatialResolution) gmd:distance (related to gmd:spatialResolution) gmd:distanceUOM (related to gmd:spatialResolution) gmd:hasSecurityConstraints gmd:keyword gmd:keywordType gmd:organisationName gmd:publicationDate (related to gmd:revisionDate) gmd:relation gmd:version (related to gmd:referenceSystem) srv:DCP (related to srv:serviceOperation) srv:linkage (related to srv:serviceOperation) srv:operatesOn (related to Union set srv:OperatesOnData but processed independently than related others) srv:operatesOnIdentifier (related to srv:OperatesOnData) srv:operatesOnName (related to srv:OperatesOnData) srv:operation (related to srv:serviceOperation)
Fullモードの問合せ可能要素はすべて、OGC仕様とBrief、SummaryおよびComprehensiveモードでサポートされています(CSW ISOプロファイル・リクエストのcsw:ElementSetName要素で指定)。Fullモードと他のモードの相違点は、Fullモードでは問合せは常に完全な元のISOレコードを戻すのに対し、他のモードではcsw:ElementSeName要素、特にCSW ISOプロファイル・リクエストのcsw:ElementName要素で指定された要素のみを戻します。
ISO問合せ可能要素および一部の特殊なケースに関する使用上のノートは、次のとおりです。
-
gmd:date問合せ可能要素は、gmd:modified問合せ可能要素と同じです。CSW ISOプロファイル・リクエストでは、いずれか一方を使用します。
-
gmd:formatおよびgmd:formatVersion: ElementNameモードでは、distributionFormatノード付きのパスとみなします。Summary、ComprehensiveおよびFullのElementSetNameモードでも、distributorFormatノードとみなします。Briefモードには、このような問合せ可能要素がありません。
-
gmd:hasSecurityConstraints問合せ可能要素には、次の値のみを使用できます(これらの値以外のデータはないことになっているため、これらの値を使用してください): unclassified、restricted、confidential、secret、topSecret。
-
gmd:keywordType問合せ可能要素には、次の値のみを使用できます(これらの値以外のデータはないことになっているため、これらの値を使用してください): discipline、place、stratum、temporal、theme。
-
gmd:referenceSystem: これは、referenceSystem、crs、code、codeSpaceおよびversion問合せ可能要素による和集合問合せ可能要素です。referenceSystem (crsおよびcode問合せ可能要素の別名)、crs、code、codeSpace、version問合せ可能要素のいずれかをCSW ISOプロファイル・リクエストのcsw:ElementName要素で使用すると、これらすべてがISOレコードの結果セットに存在する場合、レスポンス(要するに"related to"説明)に表示されます。CSW ISOプロファイル・リクエストのcsw:Constraint要素では、これらの問合せ可能要素をいずれも使用できます。
-
gmd:spatialResolution: これも、spatialResolution、denominator、distanceおよびdistanceUOM問合せ可能要素による和集合問合せ可能要素です。spatialResolution (denominator問合せ可能要素の別名)、denominator、distance、distanceUOMのいずれかをCSWリクエストのcsw:ElementName要素で使用すると、これらすべてがISOレコードの結果に存在する場合、レスポンス(要するに"related to"説明)に表示されます。csw:Constraint要素では、これらの問合せ可能要素をいずれも使用できます。
-
gmd:topicCategory問合せ可能要素には、次の値のみを使用できます(これらの値以外のデータはないことになっているため、これらの値を使用してください): farming、biota、boundaries、climatologyMeteorologyAtmosphere、economy、elevation、environment、geoscientificInformation、health、imageryBaseMapsEarthCover、intelligenceMilitary、inlandWaters、location、oceans、planningCadastre、society、structure、transportationおよびutilitiesCommunication。
-
ogc:Notロジックは、csw:Constraint、ogc:Filter、ogc:Not、ogc:PropertyIsLikeに対してのみサポートされます。
-
PropertyIsNullは、revisionDate、publicationDate、creationDate、contributor、creatorまたはpublisher問合せ可能要素に対してサポートされません。
-
srv:operatesOnData: これも、operatesOn、operatesOnIdentifier、operatesOnName問合せ可能要素による和集合問合せ可能要素です。これは、前述の和集合とは少し異なります。operatesOnの処理が、operatesOnIdentifierおよびoperatesOnName問合せ可能要素とは異なって、独立して行われます。operatesOnIndetifierがCSWリクエストのcsw:ElementSet要素に指定されていると、operatesOnNameがISOレコードの結果に存在する場合、レスポンスに表示されます。operatesOnIdentifier問合せ可能要素の引数も同様ですが、operatesOn問合せ可能要素は異なります。要するに、表1には"related to"説明が表示されます。csw:Constraintでは、これらの問合せ可能要素をいずれも使用できます。
-
srv:serviceOperation: これも、serviceOperation、operation、DCPおよびlinkage問合せ可能要素による和集合問合せ可能要素です。serviceOperation (operation問合せ可能要素の別名)、operation、DCP、linkageのいずれかをCSWリクエストのcsw:ElementName要素で使用すると、これらすべてがISOレコードの結果セットに存在する場合、レスポンス(要するに"related to"説明)に表示されます。csw:Constraint要素では、これらの問合せ可能要素をいずれも使用できます。
次の表に、CSW ISOプロファイル・リクエストのcsw:Constraint要素に対する(gmd:MD_Metadata/
で始まる)テキスト検索パスを示します。つまり、この表の1列目の問合せ可能要素がcsw:Constraintに指定されている場合、2列目に、フィルタ処理のためにISOレコード・データで検索されるCSWサービスを示します。
表18-2 問合せ可能要素とテキスト検索パス(ISO)
問合せ可能要素 | gmd:MD_Metadata/付きのテキスト検索パス |
---|---|
gmd:abstract |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:abstract/gco:CharacterString |
gmd:alternateTitle |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:alternateTitle/gco:CharacterString |
gmd:characterSet |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:characterSet/gmd:MD_CharacterSetCode[@codeListValue |
gmd:code (gmd:referenceSystemに関連) |
gmd:MD_Metadata/gmd:referenceSystemInfo/gmd:MD_ReferenceSystem/gmd:referenceSystemIdentifier/gmd:RS_Identifier/gmd:code/gco:CharacterString |
gmd:codeSpace (gmd:referenceSystemに関連) |
gmd:referenceSystemInfo/gmd:MD_ReferenceSystem/gmd:referenceSystemIdentifier/gmd:RS_Identifier/gmd:codeSpace/gco:CharacterString |
gmd:contributor |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:pointOfContact/gmd:CI_ResponsibleParty[gmd:organisationName (where.[gmd:role/gmd:CI_RoleCode/@codeListValue="author"]) |
gmd:creationDate (gmd:revisionDateに関連) |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:date/gmd:CI_Date[gmd:date/xs:date(gco:Date) (where [gmd:dateType/gmd:CI_DateTypeCode/@codeListValue="creation"]) |
gmd:creator |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:pointOfContact/gmd:CI_ResponsibleParty[gmd:organisationName (where [gmd:role/gmd:CI_RoleCode/@codeListValue="originator"]) |
gmd:date (またはgmd:modified) |
gmd:dateStamp/xs:date(gco:Date) |
gmd:denominator (gmd:spatialResolutionに関連) |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:spatialResolution/gmd:MD_Resolution/gmd:equivalentScale/gmd:MD_RepresentativeFraction/gmd:denominator |
gmd:distance (gmd:spatialResolutionに関連) |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:spatialResolution/gmd:MD_Resolution/gmd:distance/gco:Distance |
gmd:distanceUOM (gmd:spatialResolutionに関連) |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:spatialResolution/gmd:MD_Resolution/gmd:distance/gco:Distance[@uom |
gmd:fileIdentifier (またはidentifier) |
gmd:fileIdentifier/gco:CharacterString |
gmd:format |
gmd:distributionInfo/gmd:MD_Distribution/gmd:distributionFormat/gmd:MD_Format/gmd:version/gco:CharacterString |
gmd:formatVersion |
gmd:distributionInfo/gmd:MD_Distribution/gmd:distributionFormat/gmd:MD_Format/gmd:version/gco:CharacterString |
gmd:graphicOverview |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:graphicOverview/gmd:MD_BrowseGraphic/gmd:fileName/gco:CharacterString |
gmd:hasSecurityConstraints |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:resourceConstraints/gmd:MD_SecurityConstraints/gmd:classification/gmd:MD_ClassificationCode[@codeListValue |
gmd:hierarchyLevelName |
gmd:hierarchyLevelName/gco:CharacterString |
gmd:keyword |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword/gco:CharacterString |
gmd:keywordType |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:type/gmd:MD_KeywordTypeCode[@codeListValu |
gmd:language |
gmd:language/gco:CharacterString |
gmd:lineage |
gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:lineage/gmd:LI_Lineage/gmd:statement/gco:CharacterString |
gmd:metadataCharacterSet |
gmd:characterSet/gmd:MD_CharacterSetCode[@codeListValue |
gmd:metadataStandardName |
gmd:metadataStandardName/gco:CharacterString |
gmd:metadataStandardVersion |
gmd:metadataStandardVersion/gco:CharacterString |
gmd:modified |
gmd:dateStamp/xs:date(gco:Date) |
gmd:onlineResource |
gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:linkage/gmd:URL |
gmd:organisationName |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:pointOfContact/gmd:CI_ResponsibleParty/gmd:organisationName/gco:CharacterString |
gmd:parentIdentifier |
gmd:parentIdentifier/gco:CharacterString |
gmd:publicationDate (gmd:revisionDateに関連) |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:date/gmd:CI_Date[gmd:date/xs:date(gco:Date) (where [gmd:dateType/gmd:CI_DateTypeCode/@codeListValue="publication"]) |
gmd:publisher |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:pointOfContact/gmd:CI_ResponsibleParty[gmd:organisationName (where [gmd:role/gmd:CI_RoleCode/@codeListValue="publisher"]) |
gmd:referenceSystem |
gmd:referenceSystemInfo/gmd:MD_ReferenceSystem/gmd:referenceSystemIdentifier/gmd:RS_Identifier/gmd:code/gco:CharacterString |
gmd:relation |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:aggregationInfo/gmd:MD_AggregateInformation/gmd:associationType/gmd:DS_AssociationTypeCode[@codeListValue |
gmd:resourceIdentifier |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:identifier/gmd:MD_Identifier/gmd:code/gco:CharacterString |
gmd:resourceLanguage |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:language/gco:CharacterString |
gmd:revisionDate |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:date/gmd:CI_Date[gmd:date/xs:date(gco:Date) (where [gmd:dateType/gmd:CI_DateTypeCode/@codeListValue="revision"]) |
gmd:rights |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:resourceConstraints/gmd:MD_LegalConstraints/gmd:accessConstraints/gmd:MD_RestrictionCode[@codeListValue |
gmd:spatialRepresentationType |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:spatialRepresentationType/gmd:MD_SpatialRepresentationTypeCode[@codeListValue |
gmd:spatialResolution |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:spatialResolution/gmd:MD_Resolution/gmd:equivalentScale/gmd:MD_RepresentativeFraction/gmd:denominator |
gmd:title |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:title/gco:CharacterStrin |
gmd:topicCategory |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:topicCategory/gmd:MD_TopicCategoryCode |
gmd:type (hierarchyLevelと同じ) |
gmd:hierarchyLevel/gmd:MD_ScopeCode[@codeListValue |
gmd:version (gmd:referenceSystemに関連) |
gmd:MD_Metadata/gmd:referenceSystemInfo/gmd:MD_ReferenceSystem/gmd:referenceSystemIdentifier/gmd:RS_Identifier/gmd:version/gco:CharacterString |
ows:BoundingBox |
gmd:identificationInfo/gmd:MD_DataIdentification/gmd:extent/gmd:EX_Extent/gmd:geographicElement |
srv:couplingType |
gmd:identificationInfo/srv:SV_ServiceIdentification/srv:couplingType/srv:SV_CouplingType[@codeListValue |
srv:DCP (srv:serviceOperationに関連) |
gmd:identificationInfo/srv:SV_ServiceIdentification/srv:containsOperations/srv:SV_OperationMetadata/srv:DCP/srv:DCPList[@codeListValue |
srv:linkage (srv:serviceOperationに関連) |
gmd:identificationInfo/srv:SV_ServiceIdentification/srv:containsOperations/srv:SV_OperationMetadata/srv:connectPoint/gmd:CI_OnlineResource/gmd:linkage/gmd:URL |
srv:operatesOn (和集合srv:OperatesOnDataに関連、ただし関連する他のものとは独立して処理される) |
gmd:identificationInfo/srv:SV_ServiceIdentification/srv:operatesOn[@uuidref |
srv:operatesOnIdentifier (srv:OperatesOnDataに関連) |
gmd:identificationInfo/srv:SV_ServiceIdentification/srv:coupledResource/srv:SV_CoupledResource/srv:identifier/gco:CharacterString |
srv:operatesOnName (srv:OperatesOnDataに関連) |
gmd:identificationInfo/srv:SV_ServiceIdentification/srv:coupledResource/srv:SV_CoupledResource/srv:operationName/gco:CharacterString |
srv:operation (srv:serviceOperationに関連) |
gmd:identificationInfo/srv:SV_ServiceIdentification/srv:containsOperations/srv:SV_OperationMetadata/srv:operationName/gco:CharacterString |
srv:serviceOperation |
gmd:identificationInfo/srv:SV_ServiceIdentification/srv:containsOperations/srv:SV_OperationMetadata/srv:operationName/gco:CharacterString |
srv:serviceType |
gmd:identificationInfo/srv:SV_ServiceIdentification/srv:serviceType/gco:LocalName |
srv:serviceTypeVersion |
gmd:identificationInfo/srv:SV_ServiceIdentification/srv:serviceTypeVersion/gco:CharacterString |
親トピック: CSWの主要な操作(ISOプロファイル)
18.6.3 CSWの操作: XMLを使用したリクエストとレスポンスの例(ISO)
このトピックでは、次の操作について、CSWエンジンへのリクエストの一部と、リクエストに対するレスポンスを示します。
親トピック: CSWの主要な操作(ISOプロファイル)
18.6.3.1 GetCapabilities操作(CSW、ISO)
GetCapabilities操作では、CSWクライアントがCSWエンジン(サーバー)からカタログ・サービス・メタデータを取得できます。GetCapabilitiesリクエストのレスポンスは、サーバーに関するカタログ・サービス・メタデータ・ドキュメントを含むXMLドキュメントです。この操作では、機能が記述され、CSWインスタンスが戻すXMLドキュメントを指定します。
CSWサーバーはservice、Sections、AcceptVersionsおよびAcceptFormatsリクエスト・パラメータを受け入れ、updateSequenceパラメータを実装できます。すべてのCSWサーバーはGetCapabilities操作用にHTTP GET(つまり、GET KVP)プロトコルを実装する必要があります。このサービスでは、POST XMLおよびSOAPプロトコルもサポートされます。
サービス・メタデータ・ドキュメント(CSW GetCapabilitiesレスポンス)には、次のセクションが含まれます。
-
Service Identification: 指定したCSW実装に関するメタデータ。
-
Service Provider: CSWサービスを提供する組織に関するメタデータ。
-
Operations Metadata: 操作リクエストのURLなど、特定のCSW実装によって提供されるCSW操作に関するメタデータ。このセクションには、サポートされる各操作に使用されるレコード・タイプもリストされます。
-
Filter_Capabilities: サーバーが[OGC 04-095]で定義されている、フィルタ述語エンコーディングを実装する場合のサーバーのフィルタ機能に関するメタデータ。
GetCapabilities操作リクエストのSectionsパラメータの値によって、これらのセクションの任意の組合せをリクエストし、レスポンス・サイズを小さくすることができます。Sectionsパラメータを指定しない場合、すべてのセクションが戻されます
例18-14 GetCapabilitiesリクエスト
指定した名前空間URLで、CSWという名前のCSWサーバーの機能を取得するリクエストを次に示します。このリクエストでは、機能のドキュメント(「機能のドキュメント(CSW)」を参照)が戻されます。
<csw:GetCapabilities service="CSW" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:ows="http://www.opengis.net/ows/2.0"> <ows:AcceptVersions> <ows:Version>2.0.2</ows:Version> <ows:Version>0.7.2</ows:Version> </ows:AcceptVersions> <ows:AcceptFormats> <ows:OutputFormat>text/xml</ows:OutputFormat> </ows:AcceptFormats> </csw:GetCapabilities>
18.6.3.2 DescribeRecord操作(CSW、ISO)
DescribeRecord操作では、クライアントがカタログ・サービスによってサポートされる情報モデルの要素を検出できます。この操作では、情報モデルの一部またはすべてが記述されます。Oracle Spatial and Graphカタログ・サービスでは、HTTP GET、POST XMLおよびSOAPプロトコルがサポートされます。
DCMIとISOプロファイルのDescribeRecord操作の唯一の相違点はTypeNameパラメータ値にあり、ISOの場合、値は<csw:TypeName>gmd:MD_Metadata</csw:TypeName>
であるのに対し、DCMIの場合は<csw:TypeName>csw:Record</csw:TypeName>
です。次に例を示します。
http://<host:port>/oraclespatial/csw/<data source name>?service=CSW&request=DescribeRecord&version=2.0.2&outputFormat=application/xml&schemaLanguage=XMLSCHEMA&typeName=gmd:MD_Metadata&namespace=xmlns(csw=http://www.opengis.org/cat/csw)
XMLエンコードのDescribeRecordリクエストの場合、名前空間の宣言は、『Namespaces in XML』[https://www.w3.org/TR/1999/REC-xml-names-19990114/]に記載された標準のXML規則(xmlns
属性)を使用して指定します。
KVPエンコーディングの場合、名前空間の宣言はNAMESPACE
パラメータを使用して指定します。これは、xmlns([prefix=]namespace-url)という形式の名前空間の宣言のカンマ区切りのリストです。
TypeName
パラメータは、カタログ・サービスによって記述されるタイプ名のリストを指定します。タイプ名は、カタログの情報モデルから問合せ可能なエンティティの名前です。Oracle Spatial and Graphカタログ・サービスでは、TypeName
パラメータに使用できるのはgmd:Metadata
のみです。
outputFormat
パラメータは、レスポンス・ドキュメントのMIMEタイプを指定します。デフォルトの出力形式属性は、MIMEタイプapplication/xmlです。サポートされるすべての出力形式が機能のドキュメントで宣言されます。Oracle Spatial and Graphカタログ・サービスでは、デフォルトでapplication/xml
がサポートされます。
schemaLanguage
パラメータを使用して、指定したタイプの記述に使用するスキーマ言語を指定します。デフォルト値はXMLSCHEMA
で、XML-Schemaスキーマ記述言語を使用することを示します。Oracle Spatial and Graphカタログ・サービスでは、リクエストにこのパラメータに対するXMLSCHEMA
があれば、それがサポートされます。
HTTP GETリクエストの例を次に示します。
http://<host:port>/oraclespatial/csw/<data source name>?service=CSW&request=DescribeRecord&version=2.0.2&outputFormat=application/xml&schemaLanguage=XMLSCHEMA&typeName=csw:Record&namespace=xmlns(csw=http://www.opengis.org/cat/csw)
DescribeRecord操作のレスポンスは、DescribeRecordResponse
要素を含むXMLドキュメントで、ゼロ個以上のSchemaComponent
サブ要素が含まれ、リクエストしたスキーマ言語での1つ以上のタイプ名の記述がそれぞれに含まれます。
例18-15 DescribeRecordリクエスト
指定した名前空間に対して、MD_Metadata
というタイプ名のレコードを記述するリクエストを次に示します。
<csw:DescribeRecord xmlns:csw=“http://www.opengis.net/cat/csw/2.0.2" xmlns:apiso="http://www.opengis.net/cat/csw/apiso/1.0" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:ows="http://www.opengis.net/ows" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" service="CSW" version="2.0.2"> <csw:TypeName>gmd:MD_Metadata</csw:TypeName> </csw:DescribeRecord>
例18-16 DescribeRecordのレスポンス
前述のリクエストに対するレスポンスは、次のとおりです。レスポンスはXMLスキーマ定義(XSD)です。各要素の説明は、レスポンス内の<xsd:documentation>
要素に含まれるコメントを参照してください。
<?xml version='1.0' encoding='UTF-8'?> <csw:DescribeRecordResponse xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd"> <csw:SchemaComponent schemaLanguage="http://www.w3.org/XML/Schema" targetNamespace="http://www.isotc211.org/2005/gmd"> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" version="2012-07-13"> <!-- ================================= Annotation ================================ --> <xs:annotation> <xs:documentation>Geographic MetaData (GMD) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMD includes all the definitions of http://www.isotc211.org/2005/gmd namespace. The root document of this namespace is the file gmd.xsd. This metadataEntity.xsd schema implements the UML conceptual schema defined in A.2.1 of ISO 19115:2003. It contains the implementation of the class MD_Metadata.</xs:documentation> </xs:annotation> <!-- ================================== Imports ================================== --> <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gco/gco.xsd"/> <xs:include schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd"/> <xs:include schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gmd/spatialrepresentation.xsd"/> <xs:include schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gmd/metadataextension.xsd"/> <xs:include schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gmd/content.xsd"/> <xs:include schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gmd/metadataapplication.xsd"/> <xs:include schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gmd/applicationschema.xsd"/> <xs:include schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gmd/portrayalcatalogue.xsd"/> <xs:include schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gmd/dataquality.xsd"/> <xs:include schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gmd/freetext.xsd"/> <!-- ########################################################################### --> <!-- ########################################################################### --> <!-- ================================== Classes ================================= --> <xs:complexType name="MD_Metadata_Type"> <xs:annotation> <xs:documentation>Information about the metadata</xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base="gco:AbstractObject_Type"> <xs:sequence> <xs:element name="fileIdentifier" type="gco:CharacterString_PropertyType" minOccurs="0"/> <xs:element name="language" type="gco:CharacterString_PropertyType" minOccurs="0"/> <xs:element name="characterSet" type="gmd:MD_CharacterSetCode_PropertyType" minOccurs="0"/> <xs:element name="parentIdentifier" type="gco:CharacterString_PropertyType" minOccurs="0"/> <xs:element name="hierarchyLevel" type="gmd:MD_ScopeCode_PropertyType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="hierarchyLevelName" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="contact" type="gmd:CI_ResponsibleParty_PropertyType" maxOccurs="unbounded"/> <xs:element name="dateStamp" type="gco:Date_PropertyType"/> <xs:element name="metadataStandardName" type="gco:CharacterString_PropertyType" minOccurs="0"/> <xs:element name="metadataStandardVersion" type="gco:CharacterString_PropertyType" minOccurs="0"/> <xs:element name="dataSetURI" type="gco:CharacterString_PropertyType" minOccurs="0"/> <xs:element name="locale" type="gmd:PT_Locale_PropertyType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="spatialRepresentationInfo" type="gmd:MD_SpatialRepresentation_PropertyType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="referenceSystemInfo" type="gmd:MD_ReferenceSystem_PropertyType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="metadataExtensionInfo" type="gmd:MD_MetadataExtensionInformation_PropertyType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="identificationInfo" type="gmd:MD_Identification_PropertyType" maxOccurs="unbounded"/> <xs:element name="contentInfo" type="gmd:MD_ContentInformation_PropertyType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="distributionInfo" type="gmd:MD_Distribution_PropertyType" minOccurs="0"/> <xs:element name="dataQualityInfo" type="gmd:DQ_DataQuality_PropertyType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="portrayalCatalogueInfo" type="gmd:MD_PortrayalCatalogueReference_PropertyType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="metadataConstraints" type="gmd:MD_Constraints_PropertyType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="applicationSchemaInfo" type="gmd:MD_ApplicationSchemaInformation_PropertyType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="metadataMaintenance" type="gmd:MD_MaintenanceInformation_PropertyType" minOccurs="0"/> <xs:element name="series" type="gmd:DS_Aggregate_PropertyType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="describes" type="gmd:DS_DataSet_PropertyType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="propertyType" type="gco:ObjectReference_PropertyType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="featureType" type="gco:ObjectReference_PropertyType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="featureAttribute" type="gco:ObjectReference_PropertyType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <!-- ........................................................................ --> <xs:element name="MD_Metadata" type="gmd:MD_Metadata_Type"/> <!-- ........................................................................ --> <xs:complexType name="MD_Metadata_PropertyType"> <xs:sequence minOccurs="0"> <xs:element ref="gmd:MD_Metadata"/> </xs:sequence> <xs:attributeGroup ref="gco:ObjectReference"/> <xs:attribute ref="gco:nilReason"/> </xs:complexType> <!-- =========================================================================== --> </xs:schema> </csw:SchemaComponent> </csw:DescribeRecordResponse>
18.6.3.3 GetRecords操作(CSW、ISO)
CSWでのリソース検出の主なツールは、検索と提示の2つの操作です。HTTPプロトコル・バインディングでは、これらはGetRecords操作という形で組み合され、検索と提示を実行します。
GetRecords操作の"検索"部分はQuery
要素を使用してエンコードされます。この要素には、typeName
パラメータおよびConstraint
パラメータが含まれます。
-
typeName
パラメータを使用して、カタログ・サービスのどのエンティティ(レコード・タイプ)に問合せを行うかを指定します。 -
Constraintパラメータを使用して、どの問合せ制約を適用してリクエスト・セットを識別するかを指定します。
GetRecords操作の"提示"部分は、outputSchema
パラメータおよびElementName
/ElementSetName
パラメータを使用してエンコードされます。
-
outputSchema
パラメータは、GetRecords操作へのレスポンスの生成に使用されるXSDスキーマ(つまり、http://www.opengis.net/cat/csw/2.0.2
)を示します。 -
ElementName
またはElementSetName
パラメータを使用して、GetRecordsレスポンスの各レコードに含めるoutputSchema
のプロパティを指定します。
(次の記述では、namespace
、outputFormat
などのDescribeRecordにも使用された一部のパラメータを繰り返していません。)
resultType
パラメータは、hits
、results
またはvalidate
という値をとることができます。この値によって、カタログ・サービスが結果セットのサマリーのみを戻すか(hits
)、結果セットの1つ以上のレコードを含めるか(results
)、リクエスト・メッセージを検証するか(validate
)が決まります。
startPosition
パラメータを使用して、カタログが出力の生成を開始するレコードの位置を示します。デフォルト値は1で、結果セットの最初のレコードです。
maxRecords
パラメータを使用して、問合せの結果セットから戻されるレコードの最大数を定義します。指定されない場合、10レコードが戻されます。値がゼロに設定された場合、resultType
をhits
に設定した場合と同じ動作になります。
typeNames
パラメータは、問合せの述語で制約される可能性のあるカタログの情報モデル内の1つ以上の問合せ可能なエンティティの名前のリストです。(god:MD_Metadata
はISOプロファイルを指定します。)
ElementName
パラメータを使用して、問合せがGetRecords操作のレスポンスで提示する、outputSchema
パラメータを使用して指定する出力スキーマの1つ以上のメタデータ・レコード要素を指定します。
ElementSetName
パラメータはbrief、summary、comprehensiveまたはfullで、サービスがクライアントに提示する名前付きセットを示します。
ElementName
およびElementSetName
は、相互に排他的なパラメータです。1つの問合せには1つのElementSetName
パラメータまたは1つ以上のElementSetName
パラメータを指定します。
Oracle Spatial and Graph CSWサービスの場合、ConstraintLanguage
パラメータはFilter
である必要があります。(CQL
はISOプロファイルではサポートされていません。)
constraint
パラメータは、特定のレコードの取得に使用するフィルタ機能を指定します。次のフィルタ機能がOracle Spatial and Graph CSWサービスでサポートされます。
-
論理演算子: And、Or、Not
-
比較演算子: PropertyIsEqualTo、PropertyIsNotEqualTo、PropertyIsLessThan、PropertyIsGreaterThan、PropertyIsLessThanOrEqualTo、PropertyIsGreaterThanOrEqualTo、PropertyIsLike、PropertyIsNull、csw:AnyText
-
空間演算子: BBOX
-
単純算術: add、sub、div、mul、function
GetRecordsResponse
要素は、GetRecordsリクエストに対するレスポンスのコンテナです。
SearchStatus
要素は、レスポンスのステータスを示します。検索ステータスは、結果セットが作成された日時を示すタイムスタンプ属性で構成されます。
SearchResults
要素には、SearchResults
要素が含まれます。この要素はGetRecords操作で戻されるレコードのセットです。SearchResults
要素には、ElementSet(brief/summary/full)
、numberOfRecordaMatched
、numberOfRecordsReturned
、nextRecord
といった属性が使用されます。
Oracle Spatial and Graphカタログ・サービスでは、GetRecords操作にはHTTP GET、POST XMLおよびSOAPプロトコルがサポートされます。
例18-17 PropertyIsEqualToおよびPropertyIsLikeを使用したGetRecordsリクエスト
PropertyIsEqualTo
およびPropertyIsLike
を指定したGetRecordsリクエストを次に示します。タイプが文字列データ・セットと等しいか、形式が"WAR"トークンを含む文字列値であるレコードの結果セットが検出されます。(escapeChar
、singleChar
およびwildcard
の文字は自由に指定できます。)
<csw:GetRecords xmlns:apiso="http://www.opengis.net/cat/csw/apiso/1.0" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" resultType="results" service="CSW" version="2.0.2"> <csw:Query typeNames="gmd:MD_Metadata"> <csw:ElementSetName>summary</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:Or> <ogc:PropertyIsLike escapeChar="\" singleChar="?" wildCard="*"> <ogc:PropertyName>apiso:format</ogc:PropertyName> <ogc:Literal>WAR</ogc:Literal> </ogc:PropertyIsLike> <ogc:PropertyIsEqualTo> <ogc:PropertyName>apiso:type</ogc:PropertyName> <ogc:Literal>dataset</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Or> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
GetRecordsリクエストの場合、ElementSetName
はsummary
、full
、brief
またはcomprehensive
のいずれかです。
CSW 2.0.2仕様では、ElementSetName
(1つのみ)またはElementName
(1つ以上)をGetRecordsリクエストに指定できます。
Spatial and Graphカタログ・サービスでは、GetRecordsリクエストの同期処理のみサポートされます。
例18-18 PropertyIsEqualToおよびPropertyIsLikeを使用したGetRecordsのレスポンス
前述のリクエストに対するレスポンスは、次のとおりです。
<csw:GetRecordsResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:dct="http://purl.org/dc/terms/" xmlns:ns7="http://www.opengis.net/ows/2.0" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:swe="http://www.opengis.net/swe/2.0" xmlns:gco="http://www.isotc211.org/2005/gco" version="2.0.2" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 ../../cswAll.xsd"> <csw:SearchStatus timestamp="2017-09-28T02:26:48Z"></csw:SearchStatus> <csw:SearchResults elementSet="summary" recordSchema="http://www.isotc211.org/2005/gmd" numberOfRecordsMatched="2" numberOfRecordsReturned="2" nextRecord="0"> <csw:SummaryRecordISO> <gmd:abstract>This feature class is Test Data for Oracle CSW 2.0.2 Service.</gmd:abstract> <gmd:creator>Jane Doe</gmd:creator> <gmd:EX_GeographicBoundingBox dimensions="2"> <gmd:WestBoundLongitude>-109.047013285</gmd:WestBoundLongitude> <gmd:SouthBoundLatitude>34.2585812994</gmd:SouthBoundLatitude> <gmd:EastBoundLongitude>-106.876969333</gmd:EastBoundLongitude> <gmd:NorthBoundLatitude>37.0002329277</gmd:NorthBoundLatitude> </gmd:EX_GeographicBoundingBox> <gmd:format>WAR</gmd:format> <gmd:format>ZIP</gmd:format> <gmd:formatVersion>12.2.0.2</gmd:formatVersion> <gmd:formatVersion>Unknown Format Version</gmd:formatVersion> <gmd:graphicOverview> <gmd:MD_BrowseGraphic> <gmd:fileName>webservice_catalog_services.png</gmd:fileName> <gmd:fileDescription>large_thumbnail</gmd:fileDescription> <gmd:fileType>png</gmd:fileType> </gmd:MD_BrowseGraphic> </gmd:graphicOverview> <gmd:hierarchyLevelName>UTI</gmd:hierarchyLevelName> <gmd:fileIdentifier>210553_L400_S0005K_00000000_00002b2b-26c0-4aa1-a444-c7e1eee8cccc</gmd:fileIdentifier> <gmd:language>eng</gmd:language> <gmd:lineage> <gmd:LI_Lineage> <gmd:statement>DATA FROM TNRIS</gmd:statement> <gmd:processStep> <gmd:LI_ProcessStep> <gmd:description>The data was downloaded from TNRIS</gmd:description> <gmd:rationale>No rationale</gmd:rationale> <gmd:dateTime> <gco:DateTime>1998-01-01T00:00:00.000Z</gco:DateTime> </gmd:dateTime> <gmd:processor> <gmd:CI_ResponsibleParty> <gmd:individualName>No individualName</gmd:individualName> <gmd:organisationName>Oracle Spatial and Graph Labs</gmd:organisationName> <gmd:positionName>Technical Member</gmd:positionName> <gmd:contactInfo> <gmd:CI_Contact> <gmd:phone> <gmd:CI_Telephone> <csw:voice>603-897-8888</csw:voice> <csw:facsimile>603-897-4444</csw:facsimile> </gmd:CI_Telephone> </gmd:phone> <gmd:address> <gmd:CI_Address> <gmd:deliveryPoint>ABC03 3330</gmd:deliveryPoint> <gmd:deliveryPoint>3 Oracle Drive</gmd:deliveryPoint> <gmd:city>Nashua</gmd:city> <gmd:administrativeArea>NH</gmd:administrativeArea> <gmd:postalCode>03062-0003</gmd:postalCode> <gmd:country>USA</gmd:country> <gmd:electronicMailAddress>baris.kazar@oracle.com</gmd:electronicMailAddress> </gmd:CI_Address> </gmd:address> <gmd:onlineResource> <gmd:CI_OnlineResource> <gmd:linkage>http://www.myoracle.com/</gmd:linkage> <gmd:protocol>HTTP</gmd:protocol> <gmd:applicationProfile>The web browser</gmd:applicationProfile> <gmd:name>The Data Dictionary</gmd:name> <gmd:description>This http link contains the data dictionary for the resource.</gmd:description> <gmd:function> <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_OnLineFunctionCode" codeListValue="information" codeSpace="002">information</gmd:CI_OnLineFunctionCode> </gmd:function> </gmd:CI_OnlineResource> </gmd:onlineResource> <gmd:hoursOfService>8AM - 7PM Eastern Time</gmd:hoursOfService> <gmd:contactInstructions>No contactInstructions</gmd:contactInstructions> </gmd:CI_Contact> </gmd:contactInfo> <gmd:role> <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode" codeListValue="processor" codeSpace="No value"></gmd:CI_RoleCode> </gmd:role> </gmd:CI_ResponsibleParty> </gmd:processor> </gmd:LI_ProcessStep> </gmd:processStep> </gmd:LI_Lineage> </gmd:lineage> <gmd:metadataCharacterSet>utf8</gmd:metadataCharacterSet> <gmd:metadataStandardName>ISO19115</gmd:metadataStandardName> <gmd:metadataStandardVersion>2003/Cor.1:2008</gmd:metadataStandardVersion> <gmd:modified>2015-10-22</gmd:modified> <gmd:onlineResource>http://www.oracle.com/oraclespatial/mycsw1/</gmd:onlineResource> <gmd:parentIdentifier>CSW-WEB-SERVICES</gmd:parentIdentifier> <gmd:publisher>Ali Ali</gmd:publisher> <gmd:resourceIdentifier>Downloadable Data</gmd:resourceIdentifier> <gmd:resourceIdentifier>GHRSST > Group for High Resolution Sea Surface Temperature</gmd:resourceIdentifier> <gmd:resourceLanguage>eng; USA</gmd:resourceLanguage> <gmd:referenceSystem> <gmd:code> urn:ogc:def:crs:EPSG:4957</gmd:code> <gmd:codeSpace>http://someurl</gmd:codeSpace> <gmd:version>6.18.3</gmd:version> </gmd:referenceSystem> <gmd:revisionDate>2017-03-21</gmd:revisionDate> <gmd:rights>otherRestrictions</gmd:rights> <gmd:spatialResolution> <gmd:denominator>25000</gmd:denominator> </gmd:spatialResolution> <gmd:spatialResolution> <gmd:denominator>50000</gmd:denominator> </gmd:spatialResolution> <gmd:spatialResolution uom="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/uom/gmxUom.xml#m"> <gmd:distance>3.0</gmd:distance> </gmd:spatialResolution> <gmd:spatialResolution uom="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/uom/gmxUom.xml#m"> <gmd:distance>2.0</gmd:distance> </gmd:spatialResolution> <gmd:spatialRepresentationType>vector</gmd:spatialRepresentationType> <gmd:title>European Petroleum Survey Group (EPSG) Geodetic Parameter Registry</gmd:title> <gmd:title>Oracle CSW 2.0.2 Service Record</gmd:title> <gmd:topicCategory>planningCadastre</gmd:topicCategory> <gmd:type>dataset</gmd:type> </csw:SummaryRecordISO> <csw:SummaryRecordISO> <gmd:abstract>This feature class is Test Data for Oracle CSW 2.0.2 Service.</gmd:abstract> <gmd:characterSet>utf16</gmd:characterSet> <gmd:contributor>John Doe</gmd:contributor> <gmd:EX_GeographicBoundingBox dimensions="2"> <gmd:WestBoundLongitude>-119.047013285</gmd:WestBoundLongitude> <gmd:SouthBoundLatitude>24.2585812994</gmd:SouthBoundLatitude> <gmd:EastBoundLongitude>-116.876969333</gmd:EastBoundLongitude> <gmd:NorthBoundLatitude>27.0002329277</gmd:NorthBoundLatitude> </gmd:EX_GeographicBoundingBox> <gmd:format>ZIP</gmd:format> <gmd:formatVersion>Unknown Format Version</gmd:formatVersion> <gmd:graphicOverview> <gmd:MD_BrowseGraphic> <gmd:fileName>webservice_catalog_services2.jpeg</gmd:fileName> <gmd:fileDescription>medium_thumbnail</gmd:fileDescription> <gmd:fileType>jpeg</gmd:fileType> </gmd:MD_BrowseGraphic> </gmd:graphicOverview> <gmd:hierarchyLevelName>UTI</gmd:hierarchyLevelName> <gmd:fileIdentifier>210553_L400_S0005K_00000000_00002b2b-26c0-4aa1-a444-c7e1eee8dddd</gmd:fileIdentifier> <gmd:language>eng</gmd:language> <gmd:lineage> <gmd:LI_Lineage> <gmd:statement>No statement</gmd:statement> <gmd:processStep> <gmd:LI_ProcessStep> <gmd:description>The data was downloaded from TNRIS</gmd:description> <gmd:rationale>No rationale</gmd:rationale> <gmd:dateTime> <gco:DateTime>1999-01-01T00:00:00.000Z</gco:DateTime> </gmd:dateTime> <gmd:processor> <gmd:CI_ResponsibleParty> <gmd:individualName>No individualName</gmd:individualName> <gmd:organisationName>Oracle Spatial and Graph Labs</gmd:organisationName> <gmd:positionName>Manager</gmd:positionName> <gmd:contactInfo> <gmd:CI_Contact> <gmd:phone> <gmd:CI_Telephone> <csw:voice>603-897-7777</csw:voice> <csw:facsimile>603-897-5555</csw:facsimile> </gmd:CI_Telephone> </gmd:phone> <gmd:address> <gmd:CI_Address> <gmd:deliveryPoint>ABC03 3330</gmd:deliveryPoint> <gmd:deliveryPoint>3 Oracle Drive</gmd:deliveryPoint> <gmd:city>Nashua</gmd:city> <gmd:administrativeArea>NH</gmd:administrativeArea> <gmd:postalCode>03062-0003</gmd:postalCode> <gmd:country>USA</gmd:country> <gmd:electronicMailAddress>qingyun.xie@oracle.com</gmd:electronicMailAddress> </gmd:CI_Address> </gmd:address> <gmd:hoursOfService>8AM - 7PM Eastern Time</gmd:hoursOfService> <gmd:contactInstructions>No contactInstructions</gmd:contactInstructions> </gmd:CI_Contact> </gmd:contactInfo> <gmd:role> <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode" codeListValue="processor" codeSpace="No value">processor</gmd:CI_RoleCode> </gmd:role> </gmd:CI_ResponsibleParty> </gmd:processor> </gmd:LI_ProcessStep> </gmd:processStep> </gmd:LI_Lineage> </gmd:lineage> <gmd:metadataCharacterSet>utf8</gmd:metadataCharacterSet> <gmd:metadataStandardName>ISO19139</gmd:metadataStandardName> <gmd:metadataStandardVersion>2003/Cor.1:2006</gmd:metadataStandardVersion> <gmd:modified>2015-10-21</gmd:modified> <gmd:onlineResource>http://www.oracle.com/oraclespatial/mycsw2/</gmd:onlineResource> <gmd:parentIdentifier>CSW-WEB-SERVICES</gmd:parentIdentifier> <gmd:resourceIdentifier>Downloadable Data</gmd:resourceIdentifier> <gmd:resourceIdentifier>urn:de.pangaea:project:IODP</gmd:resourceIdentifier> <gmd:resourceIdentifier>urn:org.iodp:exp:302</gmd:resourceIdentifier> <gmd:resourceIdentifier>urn:org.iodp:exp:302:site:M0001</gmd:resourceIdentifier> <gmd:resourceIdentifier>urn:org.iodp:exp:302:site:M0001:hole:A</gmd:resourceIdentifier> <gmd:resourceLanguage>eng; USA</gmd:resourceLanguage> <gmd:referenceSystem> <gmd:code> urn:ogc:def:crs:EPSG:4957</gmd:code> <gmd:codeSpace>No codeSpace value for ReferenceSystem</gmd:codeSpace> <gmd:version>6.18.3</gmd:version> </gmd:referenceSystem> <gmd:revisionDate>2015-11-23T14:44:00</gmd:revisionDate> <gmd:rights>license</gmd:rights> <gmd:spatialResolution> <gmd:denominator>60000</gmd:denominator> </gmd:spatialResolution> <gmd:spatialResolution uom="http://standards.iso.org/ittf2/PubliclyAvailableStandards/ISO_19139_Schemas/resources/uom/gmxUom.xml#m"> <gmd:distance>2.8</gmd:distance> </gmd:spatialResolution> <gmd:spatialRepresentationType>vector</gmd:spatialRepresentationType> <gmd:title>European Petroleum Survey Group (EPSG) Geodetic Parameter Registry</gmd:title> <gmd:title>Oracle CSW 2.0.2 Service Record</gmd:title> <gmd:topicCategory>planningCadastre</gmd:topicCategory> <gmd:type>dataset</gmd:type> </csw:SummaryRecordISO> </csw:SearchResults> </csw:GetRecordsResponse>
例18-19 PropertyIsLikeを使用したGetRecordsリクエスト
PropertyIsLike
を使用したGetRecordsのリクエストを次に示します。ここでは、クライアントは、プロパティ・タイトルが"Oracle CSW*Service"のようなレコードをフェッチします。(escapeChar
、singleChar
およびwildcard
の文字は自由に指定できます。)
<csw:GetRecords xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:apiso="http://www.opengis.net/cat/csw/apiso/1.0" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" resultType="results" service="CSW" version="2.0.2"> <csw:Query typeNames="gmd:MD_Metadata"> <csw:ElementSetName>summary</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:PropertyIsLike escapeChar="\" singleChar="?" wildCard="*"> <ogc:PropertyName>apiso:title</ogc:PropertyName> <ogc:Literal>Oracle CSW*Service*</ogc:Literal> </ogc:PropertyIsLike> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
例18-20 PropertyIsLikeを使用したGetRecordsのレスポンス
前述のリクエストに対するレスポンスは、次のとおりです。
<csw:GetRecordsResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:dct="http://purl.org/dc/terms/" xmlns:ns7="http://www.opengis.net/ows/2.0" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:swe="http://www.opengis.net/swe/2.0" xmlns:gco="http://www.isotc211.org/2005/gco" version="2.0.2" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 ../../cswAll.xsd"> <csw:SearchStatus timestamp="2017-09-14T01:32:01Z"></csw:SearchStatus> <csw:SearchResults elementSet="summary" recordSchema="http://www.isotc211.org/2005/gmd" numberOfRecordsMatched="2" numberOfRecordsReturned="2" nextRecord="0"> <csw:SummaryRecordISO> <gmd:abstract>This feature class is Test Data for Oracle CSW 2.0.2 Service.</gmd:abstract> <gmd:creator>Jane Doe</gmd:creator> <gmd:EX_GeographicBoundingBox dimensions="2"> <gmd:WestBoundLongitude>-109.047013285</gmd:WestBoundLongitude> <gmd:SouthBoundLatitude>34.2585812994</gmd:SouthBoundLatitude> <gmd:EastBoundLongitude>-106.876969333</gmd:EastBoundLongitude> <gmd:NorthBoundLatitude>37.0002329277</gmd:NorthBoundLatitude> </gmd:EX_GeographicBoundingBox> <gmd:format>WAR</gmd:format> <gmd:format>ZIP</gmd:format> <gmd:formatVersion>12.2.0.2</gmd:formatVersion> <gmd:formatVersion>Unknown Format Version</gmd:formatVersion> <gmd:graphicOverview> <gmd:MD_BrowseGraphic> <gmd:fileName>webservice_catalog_services.png</gmd:fileName> <gmd:fileDescription>large_thumbnail</gmd:fileDescription> <gmd:fileType>png</gmd:fileType> </gmd:MD_BrowseGraphic> </gmd:graphicOverview> <gmd:hierarchyLevelName>UTI</gmd:hierarchyLevelName> <gmd:fileIdentifier>210553_L400_S0005K_00000000_00002b2b-26c0-4aa1-a444-c7e1eee8cccc</gmd:fileIdentifier> <gmd:language>eng</gmd:language> <gmd:lineage> <gmd:LI_Lineage> <gmd:statement>DATA FROM TNRIS</gmd:statement> <gmd:processStep> <gmd:LI_ProcessStep> <gmd:description>The data was downloaded from TNRIS</gmd:description> <gmd:rationale>No rationale</gmd:rationale> <gmd:dateTime> <gco:DateTime>1998-01-01T00:00:00.000-08:00</gco:DateTime> </gmd:dateTime> <gmd:processor> <gmd:CI_ResponsibleParty> <gmd:individualName>No individualName</gmd:individualName> <gmd:organisationName>Oracle Spatial and Graph Labs</gmd:organisationName> <gmd:positionName>Technical Member</gmd:positionName> <gmd:contactInfo> <gmd:CI_Contact> <gmd:phone> <gmd:CI_Telephone> <csw:voice>603-897-8888</csw:voice> <csw:facsimile>603-897-4444</csw:facsimile> </gmd:CI_Telephone> </gmd:phone> <gmd:address> <gmd:CI_Address> <gmd:deliveryPoint>ABC03 3330</gmd:deliveryPoint> <gmd:deliveryPoint>3 Oracle Drive</gmd:deliveryPoint> <gmd:city>Nashua</gmd:city> <gmd:administrativeArea>NH</gmd:administrativeArea> <gmd:postalCode>03062-0003</gmd:postalCode> <gmd:country>USA</gmd:country> <gmd:electronicMailAddress>baris.kazar@oracle.com</gmd:electronicMailAddress> </gmd:CI_Address> </gmd:address> <gmd:onlineResource> <gmd:CI_OnlineResource> <gmd:linkage>http://www.myoracle.com/</gmd:linkage> <gmd:protocol>HTTP</gmd:protocol> <gmd:applicationProfile>The web browser</gmd:applicationProfile> <gmd:name>The Data Dictionary</gmd:name> <gmd:description>This http link contains the data dictionary for the resource.</gmd:description> <gmd:function> <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_OnLineFunctionCode" codeListValue="information" codeSpace="002">information</gmd:CI_OnLineFunctionCode> </gmd:function> </gmd:CI_OnlineResource> </gmd:onlineResource> <gmd:hoursOfService>8AM - 7PM Eastern Time</gmd:hoursOfService> <gmd:contactInstructions>No contactInstructions</gmd:contactInstructions> </gmd:CI_Contact> </gmd:contactInfo> <gmd:role> <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode" codeListValue="processor" codeSpace="No value"></gmd:CI_RoleCode> </gmd:role> </gmd:CI_ResponsibleParty> </gmd:processor> </gmd:LI_ProcessStep> </gmd:processStep> </gmd:LI_Lineage> </gmd:lineage> <gmd:metadataCharacterSet>utf8</gmd:metadataCharacterSet> <gmd:metadataStandardName>ISO19115</gmd:metadataStandardName> <gmd:metadataStandardVersion>2003/Cor.1:2008</gmd:metadataStandardVersion> <gmd:modified>2015-10-22</gmd:modified> <gmd:onlineResource>http://www.oracle.com/oraclespatial/mycsw1/</gmd:onlineResource> <gmd:parentIdentifier>CSW-WEB-SERVICES</gmd:parentIdentifier> <gmd:publisher>Ali Ali</gmd:publisher> <gmd:resourceIdentifier>Downloadable Data</gmd:resourceIdentifier> <gmd:resourceIdentifier>GHRSST > Group for High Resolution Sea Surface Temperature</gmd:resourceIdentifier> <gmd:resourceLanguage>eng; USA</gmd:resourceLanguage> <gmd:referenceSystem> <gmd:code> urn:ogc:def:crs:EPSG:4957</gmd:code> <gmd:codeSpace>http://someurl</gmd:codeSpace> <gmd:version>6.18.3</gmd:version> </gmd:referenceSystem> <gmd:revisionDate>2017-03-21</gmd:revisionDate> <gmd:rights>otherRestrictions</gmd:rights> <gmd:spatialResolution> <gmd:denominator>25000</gmd:denominator> </gmd:spatialResolution> <gmd:spatialResolution> <gmd:denominator>50000</gmd:denominator> </gmd:spatialResolution> <gmd:spatialResolution uom="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/uom/gmxUom.xml#m"> <gmd:distance>3.0</gmd:distance> </gmd:spatialResolution> <gmd:spatialResolution uom="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/uom/gmxUom.xml#m"> <gmd:distance>2.0</gmd:distance> </gmd:spatialResolution> <gmd:spatialRepresentationType>vector</gmd:spatialRepresentationType> <gmd:title>European Petroleum Survey Group (EPSG) Geodetic Parameter Registry</gmd:title> <gmd:title>Oracle CSW 2.0.2 Service Record</gmd:title> <gmd:topicCategory>planningCadastre</gmd:topicCategory> <gmd:type>dataset</gmd:type> </csw:SummaryRecordISO> <csw:SummaryRecordISO> <gmd:abstract>This feature class is Test Data for Oracle CSW 2.0.2 Service.</gmd:abstract> <gmd:characterSet>utf16</gmd:characterSet> <gmd:contributor>John Doe</gmd:contributor> <gmd:EX_GeographicBoundingBox dimensions="2"> <gmd:WestBoundLongitude>-119.047013285</gmd:WestBoundLongitude> <gmd:SouthBoundLatitude>24.2585812994</gmd:SouthBoundLatitude> <gmd:EastBoundLongitude>-116.876969333</gmd:EastBoundLongitude> <gmd:NorthBoundLatitude>27.0002329277</gmd:NorthBoundLatitude> </gmd:EX_GeographicBoundingBox> <gmd:format>ZIP</gmd:format> <gmd:formatVersion>Unknown Format Version</gmd:formatVersion> <gmd:graphicOverview> <gmd:MD_BrowseGraphic> <gmd:fileName>webservice_catalog_services2.jpeg</gmd:fileName> <gmd:fileDescription>medium_thumbnail</gmd:fileDescription> <gmd:fileType>jpeg</gmd:fileType> </gmd:MD_BrowseGraphic> </gmd:graphicOverview> <gmd:hierarchyLevelName>UTI</gmd:hierarchyLevelName> <gmd:fileIdentifier>210553_L400_S0005K_00000000_00002b2b-26c0-4aa1-a444-c7e1eee8dddd</gmd:fileIdentifier> <gmd:language>eng</gmd:language> <gmd:lineage> <gmd:LI_Lineage> <gmd:statement>No statement</gmd:statement> <gmd:processStep> <gmd:LI_ProcessStep> <gmd:description>The data was downloaded from TNRIS</gmd:description> <gmd:rationale>No rationale</gmd:rationale> <gmd:dateTime> <gco:DateTime>1999-01-01T00:00:00.000-08:00</gco:DateTime> </gmd:dateTime> <gmd:processor> <gmd:CI_ResponsibleParty> <gmd:individualName>No individualName</gmd:individualName> <gmd:organisationName>Oracle Spatial and Graph Labs</gmd:organisationName> <gmd:positionName>Manager</gmd:positionName> <gmd:contactInfo> <gmd:CI_Contact> <gmd:phone> <gmd:CI_Telephone> <csw:voice>603-897-7777</csw:voice> <csw:facsimile>603-897-5555</csw:facsimile> </gmd:CI_Telephone> </gmd:phone> <gmd:address> <gmd:CI_Address> <gmd:deliveryPoint>ABC03 3330</gmd:deliveryPoint> <gmd:deliveryPoint>3 Oracle Drive</gmd:deliveryPoint> <gmd:city>Nashua</gmd:city> <gmd:administrativeArea>NH</gmd:administrativeArea> <gmd:postalCode>03062-0003</gmd:postalCode> <gmd:country>USA</gmd:country> <gmd:electronicMailAddress>qingyun.xie@oracle.com</gmd:electronicMailAddress> </gmd:CI_Address> </gmd:address> <gmd:hoursOfService>8AM - 7PM Eastern Time</gmd:hoursOfService> <gmd:contactInstructions>No contactInstructions</gmd:contactInstructions> </gmd:CI_Contact> </gmd:contactInfo> <gmd:role> <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode" codeListValue="processor" codeSpace="No value">processor</gmd:CI_RoleCode> </gmd:role> </gmd:CI_ResponsibleParty> </gmd:processor> </gmd:LI_ProcessStep> </gmd:processStep> </gmd:LI_Lineage> </gmd:lineage> <gmd:metadataCharacterSet>utf8</gmd:metadataCharacterSet> <gmd:metadataStandardName>ISO19139</gmd:metadataStandardName> <gmd:metadataStandardVersion>2003/Cor.1:2006</gmd:metadataStandardVersion> <gmd:modified>2015-10-21</gmd:modified> <gmd:onlineResource>http://www.oracle.com/oraclespatial/mycsw2/</gmd:onlineResource> <gmd:parentIdentifier>CSW-WEB-SERVICES</gmd:parentIdentifier> <gmd:resourceIdentifier>Downloadable Data</gmd:resourceIdentifier> <gmd:resourceIdentifier>urn:de.pangaea:project:IODP</gmd:resourceIdentifier> <gmd:resourceIdentifier>urn:org.iodp:exp:302</gmd:resourceIdentifier> <gmd:resourceIdentifier>urn:org.iodp:exp:302:site:M0001</gmd:resourceIdentifier> <gmd:resourceIdentifier>urn:org.iodp:exp:302:site:M0001:hole:A</gmd:resourceIdentifier> <gmd:resourceLanguage>eng; USA</gmd:resourceLanguage> <gmd:referenceSystem> <gmd:code> urn:ogc:def:crs:EPSG:4957</gmd:code> <gmd:codeSpace>No codeSpace value for ReferenceSystem</gmd:codeSpace> <gmd:version>6.18.3</gmd:version> </gmd:referenceSystem> <gmd:revisionDate>2015-11-23T14:44:00</gmd:revisionDate> <gmd:rights>license</gmd:rights> <gmd:spatialResolution> <gmd:denominator>60000</gmd:denominator> </gmd:spatialResolution> <gmd:spatialResolution uom="http://standards.iso.org/ittf2/PubliclyAvailableStandards/ISO_19139_Schemas/resources/uom/gmxUom.xml#m"> <gmd:distance>2.8</gmd:distance> </gmd:spatialResolution> <gmd:spatialRepresentationType>vector</gmd:spatialRepresentationType> <gmd:title>European Petroleum Survey Group (EPSG) Geodetic Parameter Registry</gmd:title> <gmd:title>Oracle CSW 2.0.2 Service Record</gmd:title> <gmd:topicCategory>planningCadastre</gmd:topicCategory> <gmd:type>dataset</gmd:type> </csw:SummaryRecordISO> </csw:SearchResults> </csw:GetRecordsResponse>
例18-21 PropertyIsGreaterThanを使用したGetRecordsリクエスト
PropertyIsGreaterThanを使用したGetRecordsのリクエストを次に示します。ここでは、クライアントは、日付が2004-01-01より後のレコードをフェッチします。
<csw:GetRecords xmlns:apiso="http://www.opengis.net/cat/csw/apiso/1.0" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" resultType="results" service="CSW" version="2.0.2"> <csw:Query typeNames="gmd:MD_Metadata"> <csw:ElementName>apiso:identifier</csw:ElementName> <csw:ElementName>apiso:type</csw:ElementName> <csw:ElementName>apiso:modified</csw:ElementName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:PropertyIsGreaterThan> <ogc:PropertyName>apiso:modified</ogc:PropertyName> <ogc:Literal>2004-01-01Z</ogc:Literal> </ogc:PropertyIsGreaterThan> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
例18-22 PropertyIsGreaterThanを使用したGetRecordsのレスポンス
前述のリクエストに対するレスポンスは、次のとおりです。
<csw:GetRecordsResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:dct="http://purl.org/dc/terms/" xmlns:ns7="http://www.opengis.net/ows/2.0" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:swe="http://www.opengis.net/swe/2.0" xmlns:gco="http://www.isotc211.org/2005/gco" version="2.0.2" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 ../../cswAll.xsd"> <csw:SearchStatus timestamp="2017-06-06T06:34:22Z"></csw:SearchStatus> <csw:SearchResults elementSet="" recordSchema="http://www.isotc211.org/2005/gmd" numberOfRecordsMatched="2" numberOfRecordsReturned="2" nextRecord="0"> <csw:RecordISO> <gmd:fileIdentifier>210553_L400_S0005K_00000000_00002b2b-26c0-4aa1-a444-c7e1eee8cccc</gmd:fileIdentifier> <gmd:modified>2015-10-22</gmd:modified> <gmd:type>dataset</gmd:type> </csw:RecordISO> <csw:RecordISO> <gmd:fileIdentifier>210553_L400_S0005K_00000000_00002b2b-26c0-4aa1-a444-c7e1eee8dddd</gmd:fileIdentifier> <gmd:modified>2015-10-21</gmd:modified> <gmd:type>dataset</gmd:type> </csw:RecordISO> </csw:SearchResults> </csw:GetRecordsResponse>
例18-23 BoundingBox (BBOX)を使用したGetRecordsリクエスト
BoundingBox
(BBOX)を使用したGetRecordsのリクエストを次に示します。ここでは、クライアントは、ジオメトリが(60,12;70, 20)という境界ボックスに該当するレコードをフェッチします。このリクエストでは、空間索引とXQFT索引の両方が活用されます。
csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:apiso="http://www.opengis.net/cat/csw/apiso/1.0" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" maxRecords="0" resultType="results" service="CSW" version="2.0.2"> <csw:Query typeNames="gmd:MD_Metadata"> <csw:ElementName>apiso:identifier</csw:ElementName> <csw:ElementName>ows:BoundingBox</csw:ElementName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:Not> <ogc:BBOX> <ogc:PropertyName>ows:BoundingBox</ogc:PropertyName> <gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:6.11:4326"> <gml:lowerCorner>60.0 12.0</gml:lowerCorner> <gml:upperCorner>70.0 20.0</gml:upperCorner> </gml:Envelope> </ogc:BBOX> </ogc:Not> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
例18-24 BoundingBox (BBOX)を使用したGetRecordsのレスポンス
前述のリクエストに対するレスポンスは、次のとおりです。
<csw:GetRecordsResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:dct="http://purl.org/dc/terms/" xmlns:ns7="http://www.opengis.net/ows/2.0" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:swe="http://www.opengis.net/swe/2.0" xmlns:gco="http://www.isotc211.org/2005/gco" version="2.0.2" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 ../../cswAll.xsd"> <csw:SearchStatus timestamp="2017-08-16T09:46:09Z"></csw:SearchStatus> <csw:SearchResults elementSet="" recordSchema="http://www.isotc211.org/2005/gmd" numberOfRecordsMatched="1" numberOfRecordsReturned="1" nextRecord="0"> <csw:RecordISO> <gmd:EX_GeographicBoundingBox dimensions="2"> <gmd:WestBoundLongitude>-109.047013285</gmd:WestBoundLongitude> <gmd:SouthBoundLatitude>34.2585812994</gmd:SouthBoundLatitude> <gmd:EastBoundLongitude>-106.876969333</gmd:EastBoundLongitude> <gmd:NorthBoundLatitude>37.0002329277</gmd:NorthBoundLatitude> </gmd:EX_GeographicBoundingBox> <gmd:fileIdentifier>210553_L400_S0005K_00000000_00002b2b-26c0-4aa1-a444-c7e1eee8cccc</gmd:fileIdentifier> </csw:RecordISO> </csw:SearchResults> </csw:GetRecordsResponse>
18.7 CSW管理コンソール
Oracle Spatial Webサービス管理コンソールには、CSWの管理画面が含まれます。
管理コンソール・ページを使用するには、すべての使用可能なデータ・ソース名のリストからCSWデータ・ソースを選択します。(現在選択されているデータ・ソースは右上隅に表示されますが、いつでもそこで変更できます。)
次の形式のURLに移動すると、CSW管理コンソールにアクセスできます。
http://<system-name>:<port>/oraclespatial/
CSW管理コンソールには、構成、テストおよび問題の診断を行うための画面が用意されています。このリージョンには次のタブがあります。
-
構成ファイル
「構成ファイル」タブでは、
CSWConfig.xml
ファイルを編集および更新できます。 -
テスト
「テスト」タブでは、
getCapabilities
、describeRecord
、getRecords
およびgetRecordByID
操作を生成および起動し、CSWサービスおよびカタログ・データのテストおよび問合せを行えます。空間制約および非空間制約に基づいて問合せ文を編集できます。 -
ログ
「ログ」タブには、CSW操作の処理中に発生したエラーが示され、問題があるかどうかを診断できます。
18.8 CSWの問題の診断
CSWログ・ファイルには診断情報が含まれています。
CSW管理コンソールで「ログ」タブを使用してCSWログ・ファイルを表示およびダウンロードできます。
このトピックでは、いくつかのタイプのエラー・メッセージとその対処方法について説明します。
"DataSource jdbc/csw_admin_ds not found" - GetCapabilitiesレスポンス・エラー・メッセージ
次のようなレスポンスです(読みやすくするために再フォーマットしています)。
<?xml version='1.0' encoding='UTF-8'?> <ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/ows/2.0 http://schemas.opengis.net/ows/2.0/owsExceptionReport.xsd" version="2.0.1"> <ows:Exception exceptionCode="NoApplicableCode" locator="DataSource jdbc/csw_admin_ds not found"/> </ows:ExceptionReport>
これは、CSWデータ・ソースが構成されていないか、WebLogic Serverがデータベースに接続できないということです。CSWデータ・ソースの構成の詳細は、「CSWエンジンの構成とデプロイ」の「CSWデータ・ソースの設定」を参照してください。
MDSYS.SDO_XSD_TABLEが存在しないか、指定したXSD IDが正しくない
これは、XMLスキーマが見つからなかったということです。Oracle Spatialが適切にインストールされていることを確認し、SDO_XSD_TABLE表およびUSER_SDO_CSW_SERVICE_INFOビューのXSD_ID列を確認します。
CSWカタログ表の問題
Catalog Services for the Webのカタログ表、SRIDパラメータ、メタデータIDおよびXMLスキーマ定義(XSD)タイプが正しく指定されていることを確認します。
CSWカタログ表に対してXQFT索引を削除または作成できない
Catalog Services for the Webカタログ表に対してXQuery Full Text (XQFT)索引を削除または作成できませんでした。CSWカタログ表にXQFT索引の削除または構築の準備が整っていることを確認します。
Catalog Services for the Web (CSW)のサーバー側エラーが発生
CSWメタデータが正しく、CSWカタログ表が適切に定義されていることを確認します。
Catalog Services for the Web (CSW)のクライアント側エラーが発生
CSWレコード・タイプが適切にパブリッシュされていること、およびsdows.ear
ファイルとWebLogic Server (WLS)が適切に構成されていることを確認します。
データベース接続エラー
CSWログ内の次のメッセージは、データベースが稼働していないことを示しています。
SEVERE: Error discovering coverages java.sql.SQLRecoverableException: No more data to read from socket
CSW管理コンソールの「ログ」タブの"Error reading log file"メッセージ
認証されたユーザーがCSWサーバー管理コンソールと一定時間対話しないと、ブラウザのユーザー・セッションがタイムアウトすることがあります。この場合、ブラウザの表示をリフレッシュし、再認証を受けて新しいセッションを取得します。
受信したドキュメントがプロトコル構文に準拠していない
次のようなエラー・メッセージは、OGC仕様に定義されていないXML要素または文字要素がリクエストに含まれていることを示しています。
<?xml version='1.0' encoding='UTF-8'?> <ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/2.0" version="2.0.2" language=""> <ows:Exception exceptionCode="InvalidEncodingSyntax" locator="request"> <ows:ExceptionText>Document received does not conform with protocol syntax.</ows:ExceptionText> </ows:Exception> </ows:ExceptionReport>