NT
This function returns all narrower terms of a phrase as recorded in the specified thesaurus.
Syntax 1: Table Result
CTX_THES.NT(restab IN OUT NOCOPY EXP_TAB,
phrase IN VARCHAR2,
lvl IN NUMBER DEFAULT 1,
tname IN VARCHAR2 DEFAULT 'DEFAULT');
Syntax 2: String Result
CTX_THES.NT(phrase IN VARCHAR2,
lvl IN NUMBER DEFAULT 1,
tname IN VARCHAR2 DEFAULT 'DEFAULT')
RETURN VARCHAR2;
restab
Optionally, specify the name of the expansion table to store the results. This table must be of type EXP_TAB which the system defines as follows:
type exp_rec is record (
xrel varchar2(12),
xlevel number,
xphrase varchar2(256)
);
type exp_tab is table of exp_rec index by binary_integer;
See Also: “CTX_THES Result Tables and Data Types” in Oracle Text Result Tables for more information about EXP_TAB.
phrase
Specify a phrase to lookup in thesaurus.
lvl
Specify how many levels of narrower terms to return. For example 2 means get the narrower terms of the narrower terms of the phrase.
tname
Specify thesaurus name. If not specified, system default thesaurus is used.
Returns
This function returns a string of narrower terms in the form:
{nt1}|{nt2}|{nt3} ...
Example
String Result
Consider a thesaurus named MY_THES that has an entry for cat as follows:
cat
NT domestic cat
NT wild cat
BT mammal
mammal
BT animal
domestic cat
NT Persian cat
NT Siamese cat
To look up the narrower terms for catdown to two levels, enter the following statements:
declare
terms varchar2(2000);
begin
terms := ctx_thes.nt('CAT', 2, 'MY_THES');
dbms_output.put_line('the narrower expansion for CAT is: '||terms);
end;
This code produces the following output:
the narrower expansion for CAT is: {cat}|{domestic cat}|{Persian cat}|{Siamese cat}| {wild cat}
Table Result
The following code does an narrower term lookup for canine using the table result:
declare
xtab ctx_thes.exp_tab;
begin
ctx_thes.nt(xtab, 'canine', 2, 'my_thesaurus');
for i in 1..xtab.count loop
dbms_output.put_line(lpad(' ', 2*xtab(i).xlevel) ||
xtab(i).xrel || ' ' || xtab(i).xphrase);
end loop;
end;
This code produces the following output:
PHRASE CANINE
NT WOLF (Canis lupus)
NT BROWN WOLF
NT GREY WOLF
NT DOG (Canis familiaris)
NT PIT BULL
NT DASCHUND
NT CHIHUAHUA
NT HYENA (Canis mesomelas)
NT COYOTE (Canis latrans)