NetworKit – an interactive tool suite for high-performance network analysis.
NetworKit is an open-source software package for high-performance analysis of large complex networks. Complex networks are equally attractive and challenging targets for data mining, and novel algorithmic solutions, including parallelization, are required to handle data sets containing billions of connections. Our goal for NetworKit is to package results of our algorithm engineering efforts and put them into the hands of domain experts. NetworKit is a hybrid combining the performance of kernels written in C++ with a convenient Python frontend. The package targets shared-memory platforms with OpenMP support. The current feature set includes various analytics kernels such as connected components, diameter, clustering coefficients, community detection, k-core decomposition, degree assortativity and multiple centrality indices, as well as a collection of graph generators. Scaling to massive networks is enabled by techniques such as parallel and sampling-based approximation algorithms. NetworKit is geared towards large networks and satisfies three important criteria: High performance, interactive workflows and integration into the Python ecosystem of tools for data analysis and scientific computation.
Usage examples can be found on https://github.com/networkit/networkit/blob/master/notebooks/User-Guide.ipynb
CoverCover.addToSubset()Cover.allToSingletons()Cover.contains()Cover.extend()Cover.getMembers()Cover.getSubsetIds()Cover.inSameSubset()Cover.lowerBound()Cover.mergeSubsets()Cover.moveToSubset()Cover.numberOfElements()Cover.numberOfSubsets()Cover.removeFromSubset()Cover.setUpperBound()Cover.subsetSizeMap()Cover.subsetSizes()Cover.subsetsOf()Cover.toSingleton()Cover.upperBound()FormatFormat.DOTFormat.EdgeListFormat.EdgeListCommaOneFormat.EdgeListSpaceOneFormat.EdgeListSpaceZeroFormat.EdgeListTabOneFormat.EdgeListTabZeroFormat.GEXFFormat.GMLFormat.GraphMLFormat.GraphToolBinaryFormat.GraphVizFormat.KONECTFormat.LFRFormat.MATFormat.METISFormat.MatrixMarketFormat.NetworkitBinaryFormat.RBFormat.SNAPFormat.ThrillBinaryGraphGraph.addEdge()Graph.addEdges()Graph.addNode()Graph.addNodes()Graph.attachEdgeAttribute()Graph.attachNodeAttribute()Graph.checkConsistency()Graph.compactEdges()Graph.degree()Graph.degreeIn()Graph.degreeOut()Graph.detachEdgeAttribute()Graph.detachNodeAttribute()Graph.edgeId()Graph.forEdges()Graph.forEdgesOf()Graph.forInEdgesOf()Graph.forNodePairs()Graph.forNodes()Graph.forNodesInRandomOrder()Graph.getEdgeAttribute()Graph.getNodeAttribute()Graph.hasEdge()Graph.hasEdgeIds()Graph.hasNode()Graph.increaseWeight()Graph.indexEdges()Graph.isDirected()Graph.isIsolated()Graph.isWeighted()Graph.iterEdges()Graph.iterEdgesWeights()Graph.iterInNeighbors()Graph.iterInNeighborsWeights()Graph.iterNeighbors()Graph.iterNeighborsWeights()Graph.iterNodes()Graph.numberOfEdges()Graph.numberOfNodes()Graph.numberOfSelfLoops()Graph.removeAllEdges()Graph.removeEdge()Graph.removeMultiEdges()Graph.removeNode()Graph.removeSelfLoops()Graph.restoreNode()Graph.setWeight()Graph.sortEdges()Graph.swapEdge()Graph.totalEdgeWeight()Graph.upperEdgeIdBound()Graph.upperNodeIdBound()Graph.weight()Graph.weightedDegree()Graph.weightedDegreeIn()GraphFromCoo()MissingDependencyErrorPartitionPartition.addToSubset()Partition.allToSingletons()Partition.compact()Partition.contains()Partition.extend()Partition.getMembers()Partition.getName()Partition.getSubsetIds()Partition.getVector()Partition.inSameSubset()Partition.lowerBound()Partition.mergeSubsets()Partition.moveToSubset()Partition.numberOfElements()Partition.numberOfSubsets()Partition.setName()Partition.setUpperBound()Partition.subsetOf()Partition.subsetSizeMap()Partition.subsetSizes()Partition.toSingleton()Partition.upperBound()getCurrentNumberOfThreads()getLogLevel()getMaxNumberOfThreads()graphtoolsoverview()readGraph()readGraphs()setLogLevel()setNumberOfThreads()setPrintLocation()setSeed()setup()writeGraph()ApproxBetweennessApproxCloseness
ApproxElectricalCloseness
ApproxGroupBetweenness
ApproxSpanningEdge
Betweenness
Centrality
ClosenessComplexPaths
CoreDecomposition
DegreeCentralityDynApproxBetweenness
DynBetweenness
DynBetweennessOneNode
DynKatzCentrality
DynTopHarmonicCloseness
EigenvectorCentralityEstimateBetweennessForestCentrality
GedWalk
GroupCloseness
GroupClosenessGrowShrink
GroupClosenessLocalSearch
GroupClosenessLocalSwaps
GroupDegree
GroupHarmonicCloseness
HarmonicClosenessKPathCentralityKadabraBetweenness
KatzCentrality
LaplacianCentralityLocalClusteringCoefficientLocalPartitionCoverageLocalSquareClusteringCoefficientPageRank
PermanenceCentrality
SciPyEVZ
SciPyPageRank
SfigalitySpanningEdgeCentrality
SpectralCentrality
TopCloseness
TopHarmonicCloseness
rankPerNode()ranking()relativeRankErrors()scores()AdjustedRandMeasure
ClusteringGenerator
CommunityDetector
CoverF1SimilarityCoverHubDominanceCoverage
CutClustering
DissimilarityMeasureEdgeCut
GraphClusteringTools
GraphStructuralRandMeasure
HubDominance
IntrapartitionDensity
IsolatedInterpartitionConductanceIsolatedInterpartitionExpansionJaccardMeasure
LFMLPDegreeOrdered
LocalCommunityEvaluation
LocalCoverEvaluationLocalPartitionEvaluationLouvainMapEquationModularity
NMIDistance
NodeStructuralRandMeasure
Normalization
OverlappingCommunityDetector
OverlappingNMIDistance
PLM
PLP
ParallelLeidenPartitionFragmentationPartitionHubDominancePartitionIntersection
SpectralPartitioner
StablePartitionNodes
communityGraph()compareCommunities()detectCommunities()evalCommunityDetection()inspectCommunities()kCoreCommunityDetection()readCommunities()writeCommunities()APSP
AStarAdamicAdarDistance
AlgebraicDistance
AllSimplePaths
BFSBidirectionalBFSBidirectionalDijkstraCommuteTimeDistance
Diameter
DiameterAlgo
DijkstraDynAPSPDynBFSDynDijkstraDynPrunedLandmarkLabeling
DynSSSP
Eccentricity
EffectiveDiameter
EffectiveDiameterApproximation
HopPlotApproximation
JaccardDistance
MultiTargetBFSMultiTargetDijkstraNeighborhoodFunction
NeighborhoodFunctionApproximation
NeighborhoodFunctionHeuristic
PrunedLandmarkLabeling
ReverseBFSSPSP
SSSP
STSP
SelectionStrategy
Volume
DGSStreamParser
DGSWriter
GraphDifferenceGraphDifference.getEdits()GraphDifference.getNumberOfEdgeAdditions()GraphDifference.getNumberOfEdgeRemovals()GraphDifference.getNumberOfEdgeWeightUpdates()GraphDifference.getNumberOfEdits()GraphDifference.getNumberOfNodeAdditions()GraphDifference.getNumberOfNodeRemovals()GraphDifference.getNumberOfNodeRestorations()GraphEvent
GraphUpdater
graphFromStream()BTERReplicator
ChungLuGenerator
ClusteredRandomGraphGenerator
ConfigurationModelGeneratorDorogovtsevMendesGenerator
DynamicDorogovtsevMendesGenerator
DynamicForestFireGenerator
DynamicHyperbolicGenerator
DynamicPathGenerator
DynamicPubWebGenerator
EdgeSwitchingMarkovChainGenerator
ErdosRenyiGenerator
HavelHakimiGenerator
HyperbolicGenerator
LFRGeneratorLFRGenerator.fit()LFRGenerator.generate()LFRGenerator.generatePowerlawCommunitySizeSequence()LFRGenerator.generatePowerlawDegreeSequence()LFRGenerator.getGraph()LFRGenerator.getPartition()LFRGenerator.setCommunitySizeSequence()LFRGenerator.setDegreeSequence()LFRGenerator.setMu()LFRGenerator.setMuWithBinomialDistribution()LFRGenerator.setPartition()LFRGenerator.setPathToReferenceImplementationDir()MocnikGeneratorMocnikGeneratorBasicPowerlawDegreeSequencePowerlawDegreeSequence.getDegree()PowerlawDegreeSequence.getDegreeSequence()PowerlawDegreeSequence.getExpectedAverageDegree()PowerlawDegreeSequence.getGamma()PowerlawDegreeSequence.getMaximumDegree()PowerlawDegreeSequence.getMinimumDegree()PowerlawDegreeSequence.run()PowerlawDegreeSequence.setGamma()PowerlawDegreeSequence.setGammaFromAverageDegree()PowerlawDegreeSequence.setMinimumFromAverageDegree()PubWebGenerator
RegularRingLatticeGeneratorRmatGenerator
StaticGraphGenerator
WattsStrogatzGeneratorGephiStreamingClientGephiStreamingClient.clearGraph()GephiStreamingClient.exportAdditionalEdge()GephiStreamingClient.exportCoordinates()GephiStreamingClient.exportEdgeValues()GephiStreamingClient.exportEventStream()GephiStreamingClient.exportGraph()GephiStreamingClient.exportNodeValues()GephiStreamingClient.removeExportedEdge()EdgeAttributeGraphGraph.addEdge()Graph.addEdges()Graph.addNode()Graph.addNodes()Graph.attachEdgeAttribute()Graph.attachNodeAttribute()Graph.checkConsistency()Graph.compactEdges()Graph.degree()Graph.degreeIn()Graph.degreeOut()Graph.detachEdgeAttribute()Graph.detachNodeAttribute()Graph.edgeId()Graph.forEdges()Graph.forEdgesOf()Graph.forInEdgesOf()Graph.forNodePairs()Graph.forNodes()Graph.forNodesInRandomOrder()Graph.getEdgeAttribute()Graph.getNodeAttribute()Graph.hasEdge()Graph.hasEdgeIds()Graph.hasNode()Graph.increaseWeight()Graph.indexEdges()Graph.isDirected()Graph.isIsolated()Graph.isWeighted()Graph.iterEdges()Graph.iterEdgesWeights()Graph.iterInNeighbors()Graph.iterInNeighborsWeights()Graph.iterNeighbors()Graph.iterNeighborsWeights()Graph.iterNodes()Graph.numberOfEdges()Graph.numberOfNodes()Graph.numberOfSelfLoops()Graph.removeAllEdges()Graph.removeEdge()Graph.removeMultiEdges()Graph.removeNode()Graph.removeSelfLoops()Graph.restoreNode()Graph.setWeight()Graph.sortEdges()Graph.swapEdge()Graph.totalEdgeWeight()Graph.upperEdgeIdBound()Graph.upperNodeIdBound()Graph.weight()Graph.weightedDegree()Graph.weightedDegreeIn()GraphFromCoo()KruskalMSF
NodeAttributePrimMSF
RandomMaximumSpanningForest
SpanningForest
UnionMaximumSpanningForest
BinaryEdgeListPartitionReader
BinaryEdgeListPartitionWriter
BinaryPartitionReader
BinaryPartitionWriter
CoverReaderCoverWriterDotGraphWriterEdgeListCoverReader
EdgeListPartitionReader
EdgeListReader
EdgeListWriterFormatGEXFReader
GEXFWriter
GMLGraphReaderGMLGraphWriterGraphConverter
GraphMLReader
GraphMLSAX
GraphMLWriter
GraphReader
GraphToolBinaryWriterGraphWriter
KONECTGraphReaderLineFileReader
METISGraphReaderMETISGraphWriterMTXGraphReaderMatReader
MatWriter
NetworkitBinaryReader
NetworkitBinaryWriter
PartitionReader
PartitionWriter
RBGraphReaderSNAPEdgeListPartitionReaderSNAPGraphReaderSNAPGraphWriterThrillGraphBinaryReader
ThrillGraphBinaryWriterconvertGraph()getConverter()getReader()getWriter()guessFileFormat()readGraph()readGraphs()readMat()readStream()writeGraph()writeMat()writeStream()GraphToolsGraphTools.append()GraphTools.augmentGraph()GraphTools.copyNodes()GraphTools.createAugmentedGraph()GraphTools.density()GraphTools.getCompactedGraph()GraphTools.getContinuousNodeIds()GraphTools.getRandomContinuousNodeIds()GraphTools.inVolume()GraphTools.maxDegree()GraphTools.maxInDegree()GraphTools.maxWeightedDegree()GraphTools.maxWeightedInDegree()GraphTools.merge()GraphTools.randomEdge()GraphTools.randomEdges()GraphTools.randomNeighbor()GraphTools.randomNode()GraphTools.randomNodes()GraphTools.randomizeWeights()GraphTools.removeEdgesFromIsolatedSet()GraphTools.size()GraphTools.sortEdgesByWeight()GraphTools.subgraphAndNeighborsFromNodes()GraphTools.subgraphFromNodes()GraphTools.toUndirected()GraphTools.toUnweighted()GraphTools.toWeighted()GraphTools.topologicalSort()GraphTools.transpose()GraphTools.volume()AdamicAdarIndexAdjustedRandIndexAlgebraicDistanceIndex
CommonNeighborsIndexEvaluationMetric
JaccardIndexKatzIndexLinkPredictor
LinkThresholder
MissingLinksFinder
NeighborhoodDistanceIndexNeighborhoodUtility
NeighborsMeasureIndexPrecisionRecallMetricPredictionsSorter
PreferentialAttachmentIndexROCMetricRandomLinkSampler
ResourceAllocationIndexSameCommunityIndexTotalNeighborsIndexUDegreeIndexVDegreeIndexgetFeatures()getLabels()trainClassifier()ApproximatePageRank
CliqueDetectCombinedSCDGCELFMLocalLocalTLocalTightnessExpansionPageRankNibbleRandomBFSSCDGroundTruthComparisonSCDGroundTruthComparison.getAverageF1()SCDGroundTruthComparison.getAverageJaccard()SCDGroundTruthComparison.getAveragePrecision()SCDGroundTruthComparison.getAverageRecall()SCDGroundTruthComparison.getIndividualF1()SCDGroundTruthComparison.getIndividualJaccard()SCDGroundTruthComparison.getIndividualPrecision()SCDGroundTruthComparison.getIndividualRecall()SelectiveCommunityDetector
SetConductance
TCETwoPhaseLAlgebraicDistanceSparsifier
BinarySearchParameterization
ChanceCorrectedTriangleScoreChibaNishizekiQuadrangleEdgeScoreChibaNishizekiTriangleEdgeScoreCompleteSearchParameterization
ConstantScore
DegreeMultiscaleSparsifier
EdgeScore
EdgeScoreAsWeight
EdgeScoreBlenderEdgeScoreLinearizerEdgeScoreNormalizerForestFireScoreForestFireSparsifier
GeometricMeanScoreGlobalThresholdFilter
JaccardSimilaritySparsifier
LocalDegreeScoreLocalDegreeSparsifier
LocalFilterScoreLocalSimilarityScoreLocalSimilaritySparsifier
LocalSparsifier
ModularityPartitionScore
MultiscaleScoreMultiscaleSparsifier
PrefixJaccardScoreQuadrilateralSimmelianSparsifier
RandomEdgeScoreRandomEdgeSparsifier
RandomNodeEdgeScoreRandomNodeEdgeSparsifier
SCANSparsifier
SCANStructuralSimilarityScoreSimmelianMultiscaleSparsifier
SimmelianOverlapScoreSimmelianSparsifierNonParametric
SimmelianSparsifierParametric
SimpleParameterization
Sparsifier
TriangleEdgeScoreTriangleSparsifier
getRankAttribute()CoverCover.addToSubset()Cover.allToSingletons()Cover.contains()Cover.extend()Cover.getMembers()Cover.getSubsetIds()Cover.inSameSubset()Cover.lowerBound()Cover.mergeSubsets()Cover.moveToSubset()Cover.numberOfElements()Cover.numberOfSubsets()Cover.removeFromSubset()Cover.setUpperBound()Cover.subsetSizeMap()Cover.subsetSizes()Cover.subsetsOf()Cover.toSingleton()Cover.upperBound()PartitionPartition.addToSubset()Partition.allToSingletons()Partition.compact()Partition.contains()Partition.extend()Partition.getMembers()Partition.getName()Partition.getSubsetIds()Partition.getVector()Partition.inSameSubset()Partition.lowerBound()Partition.mergeSubsets()Partition.moveToSubset()Partition.numberOfElements()Partition.numberOfSubsets()Partition.setName()Partition.setUpperBound()Partition.subsetOf()Partition.subsetSizeMap()Partition.subsetSizes()Partition.toSingleton()Partition.upperBound()GraphLayoutAlgorithm
MaxentStressMaxentStress.computeScalingFactor()MaxentStress.fullStressMeasure()MaxentStress.getApproxEntropyTerm()MaxentStress.getRhs()MaxentStress.getSolveTime()MaxentStress.ldme()MaxentStress.maxentMeasure()MaxentStress.meanDistanceError()MaxentStress.scaleLayout()MaxentStress.setAlpha()MaxentStress.setAlphaReduction()MaxentStress.setConvergenceThreshold()MaxentStress.setFinalAlpha()MaxentStress.setQ()PivotMDS