UNPKG

@ultipa-graph/ultipa-driver

Version:

NodeJS SDK for ultipa-server 5.1

546 lines (545 loc) 20 kB
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; } }