9.4 OPG_APIS.CF_PREP

Format

OPG_APIS.CF_PREP(
     wt_l            IN/OUT  VARCHAR2. 
     wt_r            IN/OUT  VARCHAR2. 
     wt_l1           IN/OUT  VARCHAR2. 
     wt_r1           IN/OUT  VARCHAR2. 
     wt_i            IN/OUT  VARCHAR2. 
     wt_ld           IN/OUT  VARCHAR2. 
     wt_rd           IN/OUT  VARCHAR2. 
     options         IN      VARCHAR2 DEFAULT NULL);

Description

Preforms preparation work, including creating the necessary intermediate tables, for a later call to the OPG_APIS.CF procedure that will perform collaborative filtering.

Parameters

edge_tab_name

Name of the property graph edge table (GE$).

wt_l

Name of the working table that holds the left side of the matrix factorization.

wt_r

Name of the working table that holds the right side of the matrix factorization.

wt_l1

Name of the working table that holds the left side intermediate step in the gradient descent.

wt_r1

Name of the working table that holds the right side intermediate step in the gradient descent.

wt_I

Name of the working table that holds intermediate matrix product.

wt_ld

Name of the working table that holds intermediate left side delta in gradient descent.

wt_rd

Name of the working table that holds intermediate right side delta in gradient descent.

options

Additional settings for operation. An optional string with one or more (comma-separated) of the following values:

  • 'INMEMORY=T' is an option for creating the schema tables with an 'inmemory' clause.

  • 'IMC_MC_B=T' creates the schema tables with an INMEMORY MEMCOMPRESS BASIC clause.

Usage Notes

The names of the working tables can be specified or left as null parameters, If the name of any working table parameter is not specified, a name is automatically genenerated and is returned as an OUT parameter. The working table names can be used when you call the OPG_APIS.CF procedure to run the collaborative filtering algorithm.

See also the Usage Notes and Examples for OPG_APIS.CF.

Examples

The following example creates the working tables for a graph named phones, and it prints the names that were automatically generated for the working tables.

DECLARE
  wt_l varchar2(32);
  wt_r varchar2(32);
  wt_l1 varchar2(32);
  wt_r1 varchar2(32);
  wt_i varchar2(32);
  wt_ld varchar2(32);
  wt_rd varchar2(32);
BEGIN
  opg_apis.cf_prep('phonesge$',wt_l,wt_r,wt_l1,wt_r1,wt_i,wt_ld,wt_rd);
  dbms_output.put_line(' wt_l ' || wt_l);
  dbms_output.put_line(' wt_r ' || wt_r);
  dbms_output.put_line(' wt_l1 ' || wt_l1);
  dbms_output.put_line(' wt_r1 ' || wt_r1);
  dbms_output.put_line(' wt_i ' || wt_i);
  dbms_output.put_line(' wt_ld ' || wt_ld);
  dbms_output.put_line(' wt_rd ' || wt_rd);
END;
/