@ultipa-graph/ultipa-driver
Version:
NodeJS SDK for ultipa-server 5.1
546 lines (545 loc) • 20 kB
TypeScript
export declare const ALGO_RETURN_TYPE: {
ALGO_RETURN_REALTIME: number;
ALGO_RETURN_WRITE_BACK: number;
ALGO_RETURN_VISUALIZATION: number;
};
export declare const ALGO_RESULT: {
ALGO_RESULT_UNSET: number;
WRITE_TO_FILE: number;
WRITE_TO_DB: number;
WRITE_TO_CLIENT: number;
WRITE_TO_VISUALIZATION: number;
};
export declare namespace AlgoParams {
interface dv {
algo_name: string;
id: string;
top: number;
total: number;
}
interface base {
write_back?: boolean;
visualization?: boolean;
force?: boolean;
exec_task?: boolean;
stats?: boolean;
write_file?: object;
write_db?: object;
stream?: object | boolean;
}
interface louvainDVRequest {
nodeNum: number;
communityNum: number;
}
/**
* k_core
* @params {number} k size_t,required
*/
interface k_core extends base {
k: number;
}
/**
* node2vec
* @params {number} walk_num size_t,required
* @params {number} walk_length size_t,required
* @params {number} window_size size_t,required
* @params {number} p float,required
* @params {number} q float,required
* @params {string} edge_schema_name optional
* @params {string} edge_property_name optional
* @params {number} dimension size_t,required
* @params {number} learning_rate float,required
* @params {number} min_learning_rate float,required
* @params {number} min_frequency size_t,required
* @params {number} sub_sample_alpha float,required
* @params {number} resolution size_t,required
* @params {number} neg_num size_t,required
* @params {number} loop_num size_t,required
* @params {string} buffer_size -1 for all paths
* @params {number} limit -1 for all nodes in sample paths
*/
interface node2vec extends base {
walk_num: number;
walk_length: number;
window_size: number;
p: number;
q: number;
edge_schema_name?: string;
edge_property_name?: string;
dimension: number;
learning_rate: number;
min_learning_rate: number;
min_frequency: number;
sub_sample_alpha: number;
resolution: number;
neg_num: number;
loop_num: number;
buffer_size?: string;
limit?: number;
}
/**
* hyperANF
* @params {number} loop_num size_t,required
* @params {number} register_num size_t,required,This value must be in the range[4,30].Default value is 10
* @params {string} me optional : 1(default):few edges between nodes 2:massive edges between nodes
*/
interface hyperANF extends base {
loop_num: number;
register_num: number;
me?: string;
}
/**
* k_means
* @params {number} k size_t,required
* @params {string} start_ids array of nodes,required
* @params {string} node_schema_name node schema,required
* @params {string} node_property_names node attributes,required
* @params {number} distance_type size_t,required,1:Euclidean distance( 欧几里得距离) 2:cosine similarity
* @params {number} loop_num size_t,required
*/
interface k_means extends base {
k: number;
start_ids: string;
node_schema_name: string;
node_property_names: string;
distance_type: number;
loop_num: number;
}
/**
* graph_centrality
* @params {number[] | string} ids string can be uql string, array of nodes,empty for all nodes
* @params {number} limit -1 for all results
* @params {string} order optional,ASC or DESC
*/
interface graph_centrality extends base {
ids?: number[] | string;
limit?: number;
order?: string;
}
/**
* jaccard
* @params {number[] | string} ids string can be uql string, required
* @params {string} ids2 optional
* @params {number} limit -1 for all result
* @params {string} order optional,ASC or DESC, only valid for pair mode
* @params {string} duplicate optional,1:duplicate, 2(default):deduplicate
*/
interface jaccard extends base {
ids: number[] | string;
ids2?: number[] | string;
limit?: number;
order?: string;
duplicate?: string;
}
/**
* GraphSAGE
* @params {string} dimension int,required
* @params {number} normalizationStrength float,optional, 0 as default
* @params {number} iterationWeights float[],optional,[0.0,1.0,1.0] as default
* @params {string} edge_schema_name for weighted random projection,optional
* @params {string} edge_property_name edge attribute, for weighted random projection,optional
* @params {string} propertyDimension int,optional, maximum value is dimension
* @params {string} node_schema_name optional
* @params {string} node_property_names array of node attributes,optional
*/
interface GraphSAGE extends base {
dimension: string;
normalizationStrength?: number;
iterationWeights?: number;
edge_schema_name?: string;
edge_property_name?: string;
propertyDimension?: string;
node_schema_name?: string;
node_property_names?: string;
}
/**
* clustering_coefficient
* @params {number[] | string} ids string can be uql string, array of nodes,empty for all nodes
* @params {number} limit -1 for all results
* @params {string} order optional,ASC or DESC
*/
interface clustering_coefficient extends base {
ids?: number[] | string;
limit?: number;
order?: string;
}
/**
* fastRP
* @params {string} dimension int,required
* @params {number} normalizationStrength float,optional, 0 as default
* @params {number} iterationWeights float[],optional,[0.0,1.0,1.0] as default
* @params {string} edge_schema_name for weighted random projection,optional
* @params {string} edge_property_name edge attribute, for weighted random projection,optional
* @params {string} propertyDimension int,optional, maximum value is dimension
* @params {string} node_schema_name optional
* @params {string} node_property_names array of node attributes,optional
* @params {string} me optional : 1(default):few edges between nodes 2:massive edges between nodes
*/
interface fastRP extends base {
dimension: string;
normalizationStrength?: number;
iterationWeights?: number;
edge_schema_name?: string;
edge_property_name?: string;
propertyDimension?: string;
node_schema_name?: string;
node_property_names?: string;
me?: string;
}
/**
* degree
* @params {number[] | string} ids string can be uql string, array of nodes,empty for all nodes
* @params {string} edge_schema_name optinal
* @params {string} edge_property_name optinal
* @params {number} limit -1 for all results
* @params {string} order optional,ASC or DESC
* @params {string} direction string,optinal, left or right, bi-direction if absent
*/
interface degree extends base {
ids?: number[] | string;
edge_schema_name?: string;
edge_property_name?: string;
limit?: number;
order?: string;
direction?: string;
}
/**
* cosine_similarity
* @params {number[] | string} ids string can be uql string, required
* @params {string} ids2 required
* @params {string} node_schema_name required
* @params {string} node_property_names array of node_attributes,required
* @params {string} type optional, 1.(default)normal number, 2.for huge number
* @params {number} limit optional,-1 for all result
* @params {string} order optional,ASC or DESC
*/
interface cosine_similarity extends base {
ids: number[] | string;
ids2: string;
node_schema_name: string;
node_property_names: string;
type?: string;
limit?: number;
order?: string;
}
/**
* common_neighbours
* @params {number[] | string} ids string can be uql string, required
* @params {string} ids2 required
* @params {string} type optional, 1.(default)only number, 2.ids
* @params {number} limit optional,-1 for all result
* @params {string} order optional,ASC or DESC
*/
interface common_neighbours extends base {
ids: number[] | string;
ids2: string;
type?: string;
limit?: number;
order?: string;
}
/**
* triangle_counting
* @params {string} type 1:count by edge 2:count by node
* @params {string} me optional : 1(default):few edges between nodes 2:massive edges between nodes
* @params {number} limit -1 for total_num, otherwise for n triples
*/
interface triangle_counting extends base {
type?: string;
me?: string;
limit?: number;
}
/**
* betweenness_centrality
* @params {number[] | string} ids string can be uql string, array of nodes,empty for all nodes
* @params {number} limit -1 for all
* @params {string} sample_size optional, -1 for log(total_node_num), -2 for not sampling(most accurate)
* @params {string} order optional,ASC or DESC
*/
interface betweenness_centrality extends base {
ids?: number[] | string;
limit?: number;
sample_size?: string;
order?: string;
}
/**
* adamic_adar
*/
interface adamic_adar extends base {
}
/**
* bipartite
*/
interface bipartite extends base {
}
/**
* hanp
* @params {number} loop_num size_t,required
* @params {string} node_schema_name required
* @params {string} node_property_name required
* @params {string} edge_schema_name required
* @params {string} edge_property_name required
* @params {number} m float,required
* @params {number} delta float,required
* @params {string} me optional : 1(default):few edges between nodes 2:massive edges between nodes
*/
interface hanp extends base {
loop_num: number;
node_schema_name: string;
node_property_name: string;
edge_schema_name: string;
edge_property_name: string;
m: number;
delta: number;
me?: string;
}
/**
* closeness_centrality
* @params {number[] | string} ids string can be uql string, array of nodes,empty for all nodes
* @params {number} limit -1 for all results
* @params {string} direction string,optinal, left or right, bi-direction if absent
* @params {string} sample_size optional, -1 for log(total_node_num), -2 for not sampling(most accurate)
* @params {string} order optional,ASC or DESC
*/
interface closeness_centrality extends base {
ids?: number[] | string;
limit?: number;
direction?: string;
sample_size?: string;
order?: string;
}
/**
* connected_component
* @params {string} cc_type 1:wcc , 2:scc
*/
interface connected_component extends base {
cc_type?: string;
}
/**
* khop_all
* @params {number} depth size_t,required
* @params {string} direction string,optinal, left or right, bi-direction if absent
* @params {number} type size_t,optinal, 1)ids 2)(default)only number
*/
interface khop_all extends base {
depth: number;
direction?: string;
type?: number;
}
/**
* variable_compute
* @params {number[] | string} ids string can be uql string, nodes
* @params {string} type in(1) / out(1)in(1) - out(1)out(1) - avg(out(1))out(1) / avg(out(1))out(2) - in(2)sum(pow(in(1) - out(1),2) / count())sum(pow(in(1) - out(1),2) / (count() - 1))sqrt(sum(pow(in(1) - out(1),2) / count()))sqrt(sum(pow(in(1) - out(1),2) / (count() - 1)))
* @params {number} limit -1 for all nodes
*/
interface variable_compute extends base {
ids?: number[] | string;
type?: string;
limit?: number;
}
/**
* knn
* @params {string} node_id required
* @params {string} node_schema_name required
* @params {string} node_property_names node attrs,required
* @params {number} top_k size_t,required
* @params {string} target_property_name required
*/
interface knn extends base {
node_id: string;
node_schema_name: string;
node_property_names: string;
top_k: number;
target_property_name: string;
}
/**
* line
* @params {string} edge_schema_name required
* @params {string} edge_property_name required
* @params {number} dimension size_t,required
* @params {number} resolution size_t,required
* @params {number} start_alpha float,required
* @params {number} neg_num size_t,required
* @params {number} total_sample size_t,required
* @params {number} train_order size_t,required,1 or 2
*/
interface line extends base {
edge_schema_name: string;
edge_property_name: string;
dimension: number;
resolution: number;
start_alpha: number;
neg_num: number;
total_sample: number;
train_order: number;
}
/**
* louvain
* @params {string} edge_schema_name optinal
* @params {string} edge_property_name optinal,default 1 for each edge if absent
* @params {number} phase1_loop_num size_t,required
* @params {number} min_modularity_increase float,required
*/
interface louvain extends base {
edge_schema_name?: string;
edge_property_name?: string;
phase1_loop_num: number;
min_modularity_increase: number;
}
/**
* lpa
* @params {number} loop_num size_t,required
* @params {string} node_schema_name optional
* @params {string} node_property_name optional
* @params {string} node_weight_name optional
* @params {string} edge_schema_name optional
* @params {string} edge_weight_name optional
* @params {string} me optional : 1(default):few edges between nodes 2:massive edges between nodes
*/
interface lpa extends base {
loop_num: number;
node_schema_name?: string;
node_property_name?: string;
node_weight_name?: string;
edge_schema_name?: string;
edge_weight_name?: string;
me?: string;
}
/**
* mst
* @params {number[] | string} ids string can be uql string, required
* @params {string} edge_schema_name required
* @params {string} edge_property_name required
* @params {number} limit -1 for all
*/
interface mst extends base {
ids: number[] | string;
edge_schema_name: string;
edge_property_name: string;
limit?: number;
}
/**
* random_walk_node2vec
* @params {number} walk_length size_t,required
* @params {number} walk_num size_t,required
* @params {number} p float,required
* @params {number} q float,required
* @params {string} edge_schema_name optional
* @params {string} edge_property_name optional
* @params {string} buffer_size -1 for all paths
*/
interface random_walk_node2vec extends base {
walk_length: number;
walk_num: number;
p: number;
q: number;
edge_schema_name?: string;
edge_property_name?: string;
buffer_size?: string;
}
/**
* page_rank
* @params {number} init_value float,optional
* @params {number} loop_num size_t,required
* @params {number} damping float,required
* @params {string} weaken optional,1(default) not weaken, 2 weaken with average number of links going out of all pages (see ArticleRank)
* @params {number} limit -1 for all nodes
* @params {string} order ASC or DESC
* @params {string} me optional : 1(default):few edges between nodes 2:massive edges between nodes
*/
interface page_rank extends base {
init_value?: number;
loop_num: number;
damping: number;
weaken?: string;
limit?: number;
order?: string;
me?: string;
}
/**
* random_walk
* @params {number} walk_length size_t,required
* @params {number} walk_num size_t,required
* @params {string} edge_schema_name optional
* @params {string} edge_property_name optional,default 1 if absent
* @params {number[] | string} ids string can be uql string, nodes
* @params {number} limit -1 for all nodes
*/
interface random_walk extends base {
walk_length: number;
walk_num: number;
edge_schema_name?: string;
edge_property_name?: string;
ids?: number[] | string;
limit?: number;
}
/**
* struc2vec
* @params {number} walk_num size_t,required
* @params {number} walk_length size_t,required
* @params {number} k size_t,required
* @params {number} stay_probability float,required
* @params {number} window_size size_t,required
* @params {number} dimension size_t,required
* @params {number} learning_rate float,required
* @params {number} min_learning_rate float,required
* @params {number} min_frequency size_t,required
* @params {number} sub_sample_alpha float,required
* @params {number} resolution size_t,required
* @params {number} neg_num size_t,required
* @params {number} loop_num size_t,required
* @params {string} me optional : 1(default):few edges between nodes 2:massive edges between nodes
*/
interface struc2vec extends base {
walk_num: number;
walk_length: number;
k: number;
stay_probability: number;
window_size: number;
dimension: number;
learning_rate: number;
min_learning_rate: number;
min_frequency: number;
sub_sample_alpha: number;
resolution: number;
neg_num: number;
loop_num: number;
me?: string;
}
/**
* random_walk_struc2vec
* @params {number} walk_length size_t,required
* @params {number} walk_num size_t,required
* @params {number} k size_t,required
* @params {number} stay_probability float,required
* @params {string} me optional : 1(default):few edges between nodes 2:massive edges between nodes
*/
interface random_walk_struc2vec extends base {
walk_length: number;
walk_num: number;
k: number;
stay_probability: number;
me?: string;
}
/**
* subgraph
* @params {number[] | string} ids string can be uql string, array of nodes,required
*/
interface subgraph extends base {
ids: number[] | string;
}
/**
* sybil_rank
* @params {number} total_trust float,required
* @params {string} trust_seeds array of nodes,required
* @params {number} loop_num size_t,required
* @params {number} sybil_num size_t,required
* @params {string} me optional : 1(default):few edges between nodes 2:massive edges between nodes
*/
interface sybil_rank extends base {
total_trust: number;
trust_seeds: string;
loop_num: number;
sybil_num: number;
me?: string;
}
}