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には、この目的で$ORACLE_HOME/md/jlib/sdocswloader.jar
というクライアント側ローダーが用意されています(デフォルトのSpatialインストール・ディレクトリが$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カタログ・サービスでは、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カタログ・サービスでは、TypeName
パラメータに使用できるのはcsw:Record
のみです。
outputFormat
パラメータは、レスポンス・ドキュメントのMIMEタイプを指定します。デフォルトの出力形式属性は、MIMEタイプapplication/xmlです。サポートされるすべての出力形式が機能のドキュメントで宣言されます。Oracle Spatialカタログ・サービスでは、デフォルトでapplication/xml
がサポートされます。
schemaLanguage
パラメータを使用して、指定したタイプの記述に使用するスキーマ言語を指定します。デフォルト値はXMLSCHEMA
で、XML-Schemaスキーマ記述言語を使用することを示します。Oracle Spatialカタログ・サービスでは、リクエストにこのパラメータに対する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カタログ・サービスでは、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 CSWサービスの場合、ConstraintLanguage
パラメータはFilter
である必要があります。CQL
はサポートされていません。
constraint
パラメータは、特定のレコードの取得に使用するフィルタ機能を指定します。次のフィルタ機能がOracle Spatial 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カタログ・サービスでは、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カタログ・サービスでは、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 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>