The NETWORK Procedure
Functional Summary
Table 2 summarizes the statements and options available in the NETWORK procedure.
Table 2: Functional Summary of Statements and Options
| Description | Option |
|---|---|
| PROC NETWORK Statement | |
| Input | |
| Specifies the in-memory graph to use | GRAPH= |
| Specifies the links data table | LINKS= |
| Specifies the links data table to query | LINKSQUERY= |
| Specifies the nodes data table | NODES= |
| Specifies the nodes data table to query | NODESQUERY= |
| Specifies the nodes subset data table | NODESSUBSET= |
| Output | |
| Specifies the output data table to contain summary information about in-memory graphs | OUTGRAPHLIST= |
| Specifies the links output data table | OUTLINKS= |
| Specifies the nodes output data table | OUTNODES= |
| Options | |
| Specifies whether to enforce determinism | DETERMINISTIC= |
| Specifies the graph direction | DIRECTION= |
| Specifies whether to use a distributed graph | DISTRIBUTED= |
| Specifies the index offset for identifiers | INDEXOFFSET= |
| Specifies the desired frequency (in number of seconds) between log entries | LOGFREQTIME= |
| Specifies the overall log level | LOGLEVEL= |
| Specifies whether to include multilinks | MULTILINKS= |
| Specifies the maximum number of threads to use for multithreaded processing | NTHREADS= |
| Specifies whether to include self-links | SELFLINKS= |
| Specifies that the input graph data are in a standardized format | STANDARDIZEDLABELS |
| Requests that the output graph data include standardized format | STANDARDIZEDLABELSOUT |
| Specifies whether time units are in CPU time or real time | TIMETYPE= |
| Data Statements | |
| LOADGRAPH Statement | |
| UNLOADGRAPH Statement | |
| Variables Statements | |
| LINKSQUERYVAR Statement | |
| Specifies the data variable name for the query path expansion lower bounds | EXPANDLOWER= |
| Specifies the data variable name for the query path expansion upper bounds | EXPANDUPPER= |
| Specifies the data variable name for the from nodes in the query graph | FROM= |
| Specifies the data variable name for the to nodes in the query graph | TO= |
| Specifies the data variables for the link attributes to read | VARS= |
| Specifies the data variables for the link attributes to match in the query graph | VARSMATCH= |
| LINKSVAR Statement | |
| Specifies the data variable name for the auxiliary link weights | AUXWEIGHT= |
| Specifies the data variable name for the from nodes | FROM= |
| Specifies the data variable name for the to nodes | TO= |
| Specifies the data variables for the additional link attributes to read | VARS= |
| Specifies the data variables for the additional link attributes to write to the output results | VARSOUT= |
| Specifies the data variable name for the link weights | WEIGHT= |
| NODESQUERYVAR Statement | |
| Specifies the data variable name for the nodes in the query graph | NODE= |
| Specifies the data variables for the node attributes to read | VARS= |
| Specifies the data variables for the node attributes to match in the query graph | VARSMATCH= |
| NODESSUBSETVAR Statement | |
| Specifies the data variable name for the nodes | NODE= |
| Specifies the data variable name for the reach identifier | REACH= |
| Specifies the data variable name for the sink indicator | SINK= |
| Specifies the data variable name for the source indicator | SOURCE= |
| NODESVAR Statement | |
| Specifies the data variable name for the nodes | NODE= |
| Specifies the data variables for the additional node attributes to read | VARS= |
| Specifies the data variables for the additional node attributes to write to the output results | VARSOUT= |
| Specifies the data variable name for the node weights | WEIGHT= |
| Algorithm Statements | |
| BICONNECTEDCOMPONENTS Statement | |
| Specifies the output data table for biconnected components | OUT= |
| Specifies the output data table for the links of the block-cut tree | OUTBCTREELINKS= |
| Specifies the output data table for the nodes of the block-cut tree | OUTBCTREENODES= |
| CENTRALITY Statement | |
| Specifies how to calculate authority centrality | AUTH= |
| Specifies how to calculate betweenness centrality | BETWEEN= |
| Specifies whether to normalize the betweenness calculation | BETWEENNORM= |
| Specifies how to calculate closeness centrality | CLOSE= |
| Specifies a method for accounting for the shortest path distance between two nodes when a path does not exist (disconnected nodes) | CLOSENOPATH= |
| Calculates the node clustering coefficient | CLUSTERINGCOEFFICIENT |
| Specifies how to calculate degree centrality | DEGREE= |
| Specifies how to calculate eigenvector centrality | EIGEN= |
| Specifies the algorithm to use for eigenvector calculation | EIGENALGORITHM= |
| Specifies the maximum number of iterations for eigenvector calculation | EIGENMAXITERS= |
| Specifies how to calculate hub centrality | HUB= |
| Specifies how to calculate influence centrality | INFLUENCE= |
| Specifies how to calculate PageRank centrality metric | PAGERANK= |
| Specifies the damping factor for the PageRank algorithm | PAGERANKALPHA= |
| Specifies the convergence tolerance for the PageRank algorithm | PAGERANKTOLERANCE= |
| Specifies the percentage of source nodes to sample for the approximate betweenness calculation | SAMPLEPERCENT= |
| CLIQUE Statement | |
| Specifies whether to calculate the clique number | CLIQUENUMBER= |
| Specifies the maximum number of cliques to return during clique enumeration | MAXCLIQUES= |
| Specifies the maximum link weight for the cliques found | MAXLINKWEIGHT= |
| Specifies the maximum node weight for the cliques found | MAXNODEWEIGHT= |
| Specifies the maximum size for the cliques found | MAXSIZE= |
| Specifies the maximum amount of time to spend finding cliques | MAXTIME= |
| Specifies the minimum link weight for the cliques found | MINLINKWEIGHT= |
| Specifies the minimum node weight for the cliques found | MINNODEWEIGHT= |
| Specifies the minimum size for the cliques found | MINSIZE= |
| Specifies the output data table for cliques | OUT= |
| COMMUNITY Statement | |
| Specifies the community detection algorithm | ALGORITHM= |
| Specifies which data variable defines groups of nodes to fix together in a community | FIX= |
| Specifies the percentage of small-weight links to be removed | LINKREMOVALRATIO= |
| Specifies the maximum number of iterations for community detection | MAXITERS= |
| Specifies the output data table for intercommunity links | OUTCOMMLINKS= |
| Specifies the output data table for the community summary | OUTCOMMUNITY= |
| Specifies the output data table for the community level summary | OUTLEVEL= |
| Specifies the output data table for the community overlap | OUTOVERLAP= |
| Specifies the random factor in the parallel label propagation algorithm | RANDOMFACTOR= |
| Specifies the random seed for the parallel label propagation algorithm | RANDOMSEED= |
| Applies the recursive option to break large communities | RECURSIVE |
| Specifies the resolution list for community detection | RESOLUTIONLIST= |
| Specifies the modularity tolerance value for community detection | TOLERANCE= |
| Specifies which data variable defines the initial node partition for warm starting community detection | WARMSTART= |
| CONNECTEDCOMPONENTS Statement | |
| Specifies the algorithm to use for connected components | ALGORITHM= |
| Specifies the output data table for connected components | OUT= |
| CORE Statement | |
| Specifies the maximum amount of time to spend calculating the core decomposition | MAXTIME= |
| CYCLE Statement | |
| Specifies the algorithm to use for cycle enumeration | ALGORITHM= |
| Specifies the maximum number of cycles to return during cycle enumeration | MAXCYCLES= |
| Specifies the maximum length for the cycles found | MAXLENGTH= |
| Specifies the maximum link weight for the cycles found | MAXLINKWEIGHT= |
| Specifies the maximum node weight for the cycles found | MAXNODEWEIGHT= |
| Specifies the maximum amount of time to spend finding cycles | MAXTIME= |
| Specifies the minimum length for the cycles found | MINLENGTH= |
| Specifies the minimum link weight for the cycles found | MINLINKWEIGHT= |
| Specifies the minimum node weight for the cycles found | MINNODEWEIGHT= |
| Specifies the output data table for the links of the cycles | OUTCYCLESLINKS= |
| Specifies the output data table for the nodes of the cycles | OUTCYCLESNODES= |
| NODESIMILARITY Statement | |
| Specifies whether to calculate Adamic-Adar similarity | ADAMICADAR= |
| Specifies the number of lowest-ranked node pairs to output | BOTTOMK= |
| Specifies whether to calculate common neighbors similarity | COMMONNEIGHBORS= |
| Specifies the convergence threshold for vector similarity | CONVERGENCETHRESHOLD= |
| Specifies whether to calculate cosine similarity | COSINE= |
| Specifies whether to calculate vector embeddings | EMBED= |
| Specifies the variable names of precomputed vector embeddings | EMBEDDINGS= |
| Specifies whether to calculate Jaccard similarity | JACCARD= |
| Specifies the maximum similarity score to output | MAXSCORE= |
| Specifies the minimum similarity score to output | MINSCORE= |
| Specifies the number of dimensions for vector embeddings | NDIMENSIONS= |
| Specifies the number of negative samples per positive sample used in training the model | NEGATIVESAMPLEFACTOR= |
| Specifies the number of training samples for the vector algorithm | NSAMPLES= |
| Specifies the similarity measure to use for node pair ranking | ORDERBY= |
| Specifies the output data table to contain the convergence curves for vector similarity | OUTCONVERGENCE= |
| Specifies the output data table to contain the similarity scores between pairs of nodes | OUTSIMILARITY= |
| Specifies the proximity order for the vector similarity algorithm | PROXIMITYORDER= |
| Specifies the sink node for similarity calculations | SINK= |
| Specifies the source node for similarity calculations | SOURCE= |
| Specifies whether to output sparse similarity data | SPARSE= |
| Specifies the number of highest-ranked node pairs to output | TOPK= |
| Specifies whether to calculate vector similarity | VECTOR= |
| PATH Statement | |
| Specifies the maximum length for the paths found | MAXLENGTH= |
| Specifies the maximum link weight for the paths found | MAXLINKWEIGHT= |
| Specifies the maximum node weight for the paths found | MAXNODEWEIGHT= |
| Specifies the maximum amount of time to spend finding paths | MAXTIME= |
| Specifies the minimum length for the paths found | MINLENGTH= |
| Specifies the minimum link weight for the paths found | MINLINKWEIGHT= |
| Specifies the minimum node weight for the paths found | MINNODEWEIGHT= |
| Specifies the output data table for path links | OUTPATHSLINKS= |
| Specifies the output data table for path nodes | OUTPATHSNODES= |
| Specifies the sink node for path calculations | SINK= |
| Specifies the source node for path calculations | SOURCE= |
| PATTERNMATCH Statement | |
| Specifies the code that defines FCMP functions | CODE= |
| Specifies whether to filter matches by using the induced subgraph of the match | INDUCED= |
| Specifies the FCMP function for link filters | LINKFILTER= |
| Specifies the FCMP function for link-pair filters | LINKPAIRFILTER= |
| Specifies the FCMP function for a filter that is based on a potential match (that is, any subset of nodes or links or both) | MATCHFILTER= |
| Specifies the maximum number of matches to return | MAXMATCHES= |
| Specifies the maximum amount of time to spend in pattern matching | MAXTIME= |
| Specifies the FCMP function for node filters | NODEFILTER= |
| Specifies the FCMP function for node-pair filters | NODEPAIRFILTER= |
| Specifies the links output data table for the induced subgraph of matches | OUTMATCHGRAPHLINKS= |
| Specifies the nodes output data table for the induced subgraph of matches | OUTMATCHGRAPHNODES= |
| Specifies the links output data table for matching subgraphs | OUTMATCHLINKS= |
| Specifies the nodes output data table for matching subgraph mappings | OUTMATCHNODES= |
| Specifies the links query output data table to contain the generated queries | OUTQUERYLINKS= |
| Specifies the nodes query output data table to contain the generated queries | OUTQUERYNODES= |
| Specifies the summary output data table for pattern match queries | OUTSUMMARY= |
| Specifies the data variable name for the query key | QUERYKEY= |
| Specifies whether to aggregate nodes across query keys for creating the induced subgraph(s) | QUERYKEYAGGREGATE= |
| PROJECTION Statement | |
| Specifies whether to calculate Adamic-Adar similarity | ADAMICADAR= |
| Specifies whether to calculate common neighbors similarity | COMMONNEIGHBORS= |
| Specifies whether to calculate cosine similarity | COSINE= |
| Specifies the projection method for directed graphs | DIRECTEDMETHOD= |
| Specifies whether to calculate Jaccard similarity | JACCARD= |
| Specifies the output data table to contain the lists of common neighbors between pairs of nodes | OUTNEIGHBORSLIST= |
| Specifies the output data table to contain the links of the projected graph | OUTPROJECTIONLINKS= |
| Specifies the output data table to contain the nodes of the projected graph | OUTPROJECTIONNODES= |
| Specifies the data variable name for the partition flag | PARTITION= |
| REACH Statement | |
| Calculates the directed reach counts | DIGRAPH |
| Treats each node as a source in reach calculations | EACHSOURCE |
| Specifies the maximum number of hops in the reach calculations | MAXREACH= |
| Specifies the output data table for reach counts | OUTCOUNTS= |
| Specifies the output data table for reach links | OUTREACHLINKS= |
| Specifies the output data table for reach nodes | OUTREACHNODES= |
| SHORTESTPATH Statement | |
| Specifies the maximum absolute objective gap for the paths found | MAXABSOBJGAP= |
| Specifies the maximum link weight for the paths found | MAXLINKWEIGHT= |
| Specifies the maximum number of ranked paths to find for each pair | MAXPATHSPERPAIR= |
| Specifies the maximum relative objective gap for the paths found | MAXRELOBJGAP= |
| Specifies the minimum link weight for the paths found | MINLINKWEIGHT= |
| Specifies the output data table for shortest paths links | OUTPATHSLINKS= |
| Specifies the output data table for shortest paths nodes | OUTPATHSNODES= |
| Specifies the output data table for shortest path descriptive statistics | OUTSUMMARY= |
| Specifies the output data table for shortest path weights | OUTWEIGHTS= |
| Specifies which data variable in the nodes subset data table defines the sequence of nodes to visit | SEQUENCE= |
| Specifies the sink node for shortest path calculations | SINK= |
| Specifies the source node for shortest path calculations | SOURCE= |
| SUMMARY Statement | |
| Calculates information about biconnected components | BICONNECTEDCOMPONENTS |
| Calculates information about clustering coefficients | CLUSTERINGCOEFFICIENT |
| Calculates information about connected components | CONNECTEDCOMPONENTS |
| Calculates the approximate diameter and chooses the weight type | DIAMETERAPPROX= |
| Includes only finite values when calculating descriptive statistics that are related to shortest paths | FINITEPATH |
| Specifies the output data table for summary results | OUT= |
| Calculates information about shortest paths and chooses the weight type | SHORTESTPATH= |
| TRANSITIVECLOSURE Statement | |
| Specifies the output data table for transitive closure results | OUT= |
Table 3 lists the supported DIRECTION= option values in the PROC NETWORK statement.
Table 3: Supported Input Formats by Statement
| Statement and Options | UNDIRECTED | DIRECTED |
|---|---|---|
| BICONNECTEDCOMPONENTS | X | |
| CENTRALITY | ||
| AUTH= | X | |
| HUB= | X | |
| Otherwise | X | X |
| CLIQUE | X | |
| COMMUNITY | X | X |
| CONNECTEDCOMPONENTS | ||
| ALGORITHM=DFS | X | X |
| Otherwise | X | |
| CORE | X | X |
| CYCLE | X | X |
| NODESIMILARITY | X | X |
| PATH | X | X |
| PATTERNMATCH | X | X |
| PROJECTION | X | X |
| REACH | X | X |
| SHORTESTPATH | X | X |
| SUMMARY | ||
| BICONNECTEDCOMPONENTS | X | |
| DIAMETERAPPROX= | X | |
| Otherwise | X | X |
| TOPOLOGICALSORT | X | |
| TRANSITIVECLOSURE | X | X |
For each algorithm statement in the NETWORK procedure, Table 4 indicates which output data table options you can specify and whether the algorithm populates the data tables that are specified in the OUTNODES= and OUTLINKS= options in the PROC NETWORK statement.
Table 4: Output Options by Statement
| Statement and Options | OUTNODES= | OUTLINKS= | Algorithm Statement Options |
|---|---|---|---|
| BICONNECTEDCOMPONENTS | X | X | OUT=, |
| OUTBCTREELINKS=, | |||
| OUTBCTREENODES= | |||
| CENTRALITY | |||
| BETWEEN= | X | X | |
| Otherwise | X | ||
| CLIQUE | OUT= | ||
| CLIQUENUMBER=TRUE | X | ||
| COMMUNITY | X | X | OUTCOMMLINKS=, |
| OUTCOMMUNITY=, | |||
| OUTLEVEL=, | |||
| OUTOVERLAP= | |||
| CONNECTEDCOMPONENTS | X | X | OUT= |
| CORE | X | ||
| CYCLE | OUTCYCLESLINKS=, | ||
| OUTCYCLESNODES= | |||
| NODESIMILARITY | OUTCONVERGENCE= | ||
| VECTOR=TRUE | X | OUTSIMILARITY= | |
| PATH | OUTPATHSLINKS=, | ||
| OUTPATHSNODES= | |||
| PATTERNMATCH | OUTMATCHGRAPHLINKS=, | ||
| OUTMATCHGRAPHNODES=, | |||
| OUTMATCHLINKS=, | |||
| OUTMATCHNODES=, | |||
| OUTQUERYLINKS=, | |||
| OUTQUERYNODES=, | |||
| OUTSUMMARY= | |||
| PROJECTION | OUTNEIGHBORSLIST=, | ||
| OUTPROJECTIONLINKS=, | |||
| OUTPROJECTIONNODES= | |||
| REACH | X | OUTCOUNTS=, | |
| OUTREACHLINKS=, | |||
| OUTREACHNODES= | |||
| SHORTESTPATH | OUTPATHSLINKS=, | ||
| OUTPATHSNODES=, | |||
| OUTWEIGHTS=, | |||
| OUTSUMMARY= | |||
| SUMMARY | X | X | OUT= |
| TOPOLOGICALSORT | X | ||
| TRANSITIVECLOSURE | OUT= |
Last updated: November 22, 2022