C Oracle Textのテキストのロード例
この付録では、テキスト列にテキストをロードする方法の例を示し、ctxload
インポート・ファイルの構造についても説明します。この付録には、次の項が含まれます。
C.1 SQL INSERTの例
テキスト表に移入する単純な方法としては、CREATE
TABLE
を使用してid
とtext
という2つの列を含む表を作成し、INSERT
文を使用してデータをロードします。この例では、id
列を主キーとしています(これはオプションです)。text
列は、VARCHAR2
です。
create table docs (id number primary key, text varchar2(80));
テキスト
列を移入するには、次のようにINSERT
文を使用します。
insert into docs values(1, 'this is the text of the first document'); insert into docs values(12, 'this is the text of the second document');
C.2 SQL*Loaderの例
次の例では、SQL*Loaderを使用してオペレーティング・システムからBLOB
列に複合フォーマットのドキュメントをロードする方法を説明します。例には、次の2つのステップがあります。
-
SQL*Loaderコマンドは、制御ファイルを読み込み、データを表にロードします。
C.2.1 表の作成
この例では、articles_formatted
表を次のように作成します。
CREATE TABLE articles_formatted ( ARTICLE_ID NUMBER PRIMARY KEY , AUTHOR VARCHAR2(30), FORMAT VARCHAR2(30), PUB_DATE DATE, TITLE VARCHAR2(256), TEXT BLOB );
article_id
列は、主キーです。ドキュメントは、BLOB
型であるテキスト
列にロードされます。
C.2.2 SQL*Loaderコマンドの発行
次のコマンドによって、制御ファイルLOADER1.DAT
を読み込むローダーを起動します。
sqlldr userid=demo/password control=loader1.dat log=loader.log
C.2.2.1 制御ファイルの例: loader1.dat
このSQL*Loader制御ファイルは、ロードされる列を定義し、loader2.dat
からarticles_formatted
表にデータを1行ずつロードするようにローダーに指示します。loader2.dat
の各行は、ロードするフィールドのカンマで区切られたリストを格納します。
-- load file example load data INFILE 'loader2.dat' INTO TABLE articles_formatted APPEND FIELDS TERMINATED BY ',' (article_id SEQUENCE (MAX,1), author CHAR(30), format, pub_date SYSDATE, title, ext_fname FILLER CHAR(80), text LOBFILE(ext_fname) TERMINATED BY EOF)
この制御ファイルは、次の方法で、loader2.dat
からarticles_formatted
表にデータをロードするようにローダーに指示します。
-
loader2.dat
のドキュメント・フィールドを示す行の順番を、article_id
列に書き込みます。 -
行の1番目のフィールドを
author
列に書き込みます。 -
行の2番目のフィールドを
format
列に書き込みます。 -
SYSDATE
によって指定された現在の日付をpub_date
列に書き込みます。 -
行の3番目のフィールドであるドキュメントのタイトルを、
title
列に書き込みます。 -
ロードするドキュメントのすべての名前を
ext_fname
一時変数にロードし、実際のドキュメントをBLOB型のtext
列にロードします。
C.2.2.2 データ・ファイルの例: loader2.dat
このファイルには、表articles_formatted
の各行にロードされるデータが含まれます。
各行には、articles_formatted
にロードされるフィールドの、カンマで区切られたリストがあります。各行の最後のフィールドは、テキスト列にロードされるファイルの名前を示します。
Ben Kanobi, plaintext,Kawasaki news article,../sample_docs/kawasaki.txt, Joe Bloggs, plaintext,Java plug-in,../sample_docs/javaplugin.txt, John Hancock, plaintext,Declaration of Independence,../sample_docs/indep.txt, M. S. Developer, Word7,Newsletter example,../sample_docs/newsletter.doc, M. S. Developer, Word7,Resume example,../sample_docs/resume.doc, X. L. Developer, Excel7,Common example,../sample_docs/common.xls, X. L. Developer, Excel7,Complex example,../sample_docs/solvsamp.xls, Pow R. Point, Powerpoint7,Generic presentation,../sample_docs/generic.ppt, Pow R. Point, Powerpoint7,Meeting presentation,../sample_docs/meeting.ppt, Java Man, PDF,Java Beans paper,../sample_docs/j_bean.pdf, Java Man, PDF,Java on the server paper,../sample_docs/j_svr.pdf, Ora Webmaster, HTML,Oracle home page,../sample_docs/oramnu97.html, Ora Webmaster, HTML,Oracle Company Overview,../sample_docs/oraoverview.html, John Constable, GIF,Laurence J. Ellison : portrait,../sample_docs/larry.gif, Alan Greenspan, GIF,Oracle revenues : Graph,../sample_docs/oragraph97.gif, Giorgio Armani, GIF,Oracle Revenues : Trend,../sample_docs/oratrend.gif,
C.3 ctxloadシソーラス・インポート・ファイルの構造
この項では、ctxload
シソーラス・インポート・ファイルの構造の次のトピックについて説明します。
C.3.1 インポート・ファイル形式
シソーラスのインポート・ファイルのエントリには、次の形式を使用する必要があります。
phrase BT broader_term NT narrower_term1 NT narrower_term2 . . . NT narrower_termN BTG broader_term NTG narrower_term1 NTG narrower_term2 . . . NTG narrower_termN BTP broader_term NTP narrower_term1 NTP narrower_term2 . . . NTP narrower_termN BTI broader_term NTI narrower_term1 NTI narrower_term2 . . . NTI narrower_termN SYN synonym1 SYN synonym2 . . . SYN synonymN USE synonym1 or SEE synonym1 or PT synonym1 RT related_term1 RT related_term2 . . . RT related_termN SN text language_key: term
- phrase
-
シノニム、上位語、下位語または関連語を持つワードまたは句です。
ISO-2788標準に従って、TTマーカーを句の前に置くことで、句が階層の最上位語であることを明示できますが、TTマーカーが必ず必要であるということはありません。実際、ctxloadはインポート時にTTマーカーを無視します。
最上位語は上位語(BT、BTG、BTPまたはBTI)を持たない句として識別されます。
ノート:
シソーラス問合せ演算子(
SYN
、PT
、BT
、BTG
、BTP
、BTI
、NT
、NTG
、NTP
、NTI
およびRT
)は予約語であるため、シソーラスのエントリで句として使用できません。 - BT、BTG、BTP、BTI broader_termN
-
broader_termNがphraseの上位(汎用|部分|インスタンス)語であることを示すマーカーです。
broader_termNは、phraseの一般的な説明またはカテゴリを概念的に提供するワードまたは句です。たとえば、elephantというワードには、land mammalという上位語があります。
- NT、NTG、NTP、NTI narrower_termN
-
narrower_termNがphraseの下位(汎用|部分|インスタンス)語であることを示すマーカーです。
phraseに上位(汎用|部分|インスタンス)語がなく、1つ以上の下位(汎用|部分|インスタンス)語がある場合、phraseは各階層内で最上位語として作成されます(Oracle Textのシソーラスでは、BT/NT、BTG/NTG、BTP/NTPおよびBTI/NTI階層は個別の構造体です)。
narrower_termNは、phraseの特定の説明(下位語)を概念的に提供するワードまたは句です。たとえば、elephantというワードには、indian elephantおよびafrican elephantという下位語があります。
- SYN synonymN
-
phraseおよびsynonymNがシノニム・リング内でシノニムであることを示すマーカーです。
synonymNは、phraseと同じ意味を持つワードまたは句です。たとえば、dogというワードには、canineというシノニムがあります。
ノート:
シノニム・リングは、Oracle Textのシソーラスでは明示的に定義されていません。これらは、シノニムの推移的な性質によって作成されます。
- USE SEE PT synonym1
-
phraseおよびsynonym1がシノニム・リング内でシノニムであることを示すマーカーです(SYNに似ています)。
また、USEマーカー、SEEマーカーまたはPTマーカーは、synonym1がシノニム・リングに対する優先語であることを示します。すべてのマーカーがシノニム・リングに対する優先語を定義するために使用できます。
ノート:
ユーザー定義のシソーラスをナレッジ・ベースのコンパイルに使用する場合は、シノニム・リングを宣言するときに優先語を指定する必要があります。キーワードUSE、SEEまたはPTのいずれかを使用して、問合せの一致をレポートするときに使用するシノニムを指定します。優先語に指定できるのは1つの語句のみです。
前述のキーワードを使用しないと、ワードのシノニムで定義した結果が戻されなくなります。同一のシノニム・リングの要素を宣言した複数のシソーラスをコンパイルすると、両方のファイルで優先語が同一になり、これによって、シノニム・リングで1つのワードのみが優先語として定義されます。
- RT related_termN
-
related_termNがphraseの関連語であることを示すマーカーです。
related_termNは、phraseに関連する意味を持つが、必ずしもシノニムではないワードまたは句です。たとえば、dogというワードには、wolfという関連語があります。
ノート:
関連語には推移性はありません。句に2つ以上の関連語がある場合、その語はそれぞれ親句と関連しているだけであり、関連語同士が互いに関連しているわけではありません。
- SN text
-
後続のtextが、前のエントリのスコープ・ノート(たとえば、コメント)であることを示すマーカーです。
- language_key term
-
termは、language_keyで指定された言語に翻訳された句です。
C.3.2 代替階層構造
シソーラスの規格に従い、ロード・ファイルは、最上位語の下に語句をインデントし、語句のレベルを含むNT(またはNTG、NTP、NTI)マーカーを使用することによって、書式設定階層(BT/NT、BTG/NTG、BTP、NTP、BTI/NTI)をサポートします。
phrase NT1 narrower_term1 NT2 narrower_term1.1 NT2 narrower_term1.2 NT3 narrower_term1.2.1 NT3 narrower_term1.2.2 NT1 narrower_term2 . . . NT1 narrower_termN
この方法によって、最上位語のブランチ全体を、ロード・ファイル内で階層的に表示できます。
C.3.3 インポート・ファイル内の語句の使用上のノート
インポート・ファイルのエントリの構造には、次の条件が適用されます。
-
各エントリ(phrase、BT、NTまたはSYN)は、改行に続く1行以内でまとめる必要があります。
-
エントリは、1つのワードまたは句で構成されます。
-
エントリ(phrase、BT、NTまたはSYN)の最大長は、255バイトです。この中にはBT、NTおよびSYNのマーカーまたは改行は含まれません。
-
エントリにカッコまたはプラス符号は指定できません。
-
関連語句(BT、NTなど)で始まるファイルのすべての行は、行頭に1つ以上の空白が必要です。
-
ファイルには、同じphraseを2回以上使用できます。
-
各phraseには1つ以上の下位語エントリ(NT、NTG、NTP)、上位語エントリ(BT、BTG、BTP)、シノニム・エントリおよび関連語エントリを指定できます。
-
上位語、下位語、シノニムおよび優先語のエントリは、それぞれ適切なマーカーで始める必要があります。また、マーカーは大文字で指定します。
-
phraseには、上位語、下位語およびシノニムをどのような順序でも指定できます。
-
同形異義語を使用する場合は、その後に意味を限定する語をカッコで囲んで指定する必要があります。
たとえば、
cranes(birds)、cranes(lifting equipment)
のように指定します。 -
コンパウンド語句は、各要素の間にプラス記号を入れます(例: buildings + construction)。
-
コンパウンド語句は、他の語句に対するシノニムまたは優先語としてのみ使用できます。コンパウンド語句自体は語句として使用できません。また、階層関係にも使用できません。
-
語句に続く行に、最大2000バイトまでのスコープ・ノート(SN)を指定できます。
-
複数行に渡るスコープ・ノートを作成できますが、ノートの各行にSNマーカーが必要です。
不適切なSNの使用例
VIEW CAMERAS SN Cameras with through-the lens focusing and a range of movements of the lens plane relative to the film plane
適切なSNの使用例
VIEW CAMERAS SN Cameras with through-the lens focusing and a SN range of movements of the lens plane relative SN to the film plane
-
複数ワードの語句を、予約語で始めることはできません(たとえば、useという語句は予約語であるため、use other doorは語句として使用できません。ただし、useという語句は使用可能です)。
C.3.4 インポート・ファイル内の関連語句の使用上のノート
インポート・ファイルのエントリに定義される関連語句には、次の条件が適用されます。
-
関連語エントリは、句または別の関連語エントリの後に続けて指定する必要があります。
-
関連語エントリは1つ以上の空白から始め、RTマーカーの後に空白を入れ、その同じ行に関連語を指定します。
-
複数の関連語には複数のRTマーカーが必要です。
不適切なRTの使用例
MOVING PICTURE CAMERAS RT CINE CAMERAS TELEVISION CAMERAS
適切なRTの使用例
MOVING PICTURE CAMERAS RT CINE CAMERAS RT TELEVISION CAMERAS
-
語句には、複数の上位語、下位語および関連語を指定できます。
C.3.5 インポート・ファイルの例
この項では、正しく形式設定されたシソーラスのインポート・ファイルの例を3つ示します。
C.3.5.1 例1(フラット構造)
cat SYN feline NT domestic cat NT wild cat BT mammal mammal BT animal domestic cat NT Persian cat NT Siamese cat wild cat NT tiger tiger NT Bengal tiger dog BT mammal NT domestic dog NT wild dog SYN canine domestic dog NT German Shepard wild dog NT Dingo
C.3.5.2 例2(階層構造)
animal NT1 mammal NT2 cat NT3 domestic cat NT4 Persian cat NT4 Siamese cat NT3 wild cat NT4 tiger NT5 Bengal tiger NT2 dog NT3 domestic dog NT4 German Shepard NT3 wild dog NT4 Dingo cat SYN feline dog SYN canine
C.3.5.3 例3
35MM CAMERAS BT MINIATURE CAMERAS CAMERAS BT OPTICAL EQUIPMENT NT MOVING PICTURE CAMERAS NT STEREO CAMERAS LAND CAMERAS USE VIEW CAMERAS VIEW CAMERAS SN Cameras with through-the lens focusing and a range of SN movements of the lens plane relative to the film plane UF LAND CAMERAS BT STILL CAMERAS