Neo4j data science algorithms3 Flashcards
Graph Isomorphism
A concept in graph theory where two graphs are considered isomorphic if there is a one-to-one correspondence between their nodes and edges that preserves adjacency. For example, graph isomorphism can be used to detect structural similarities in chemical compounds.
Graph Partitioning
The process of dividing a graph into smaller, disjoint subgraphs while minimizing the number of edges between them. For example, graph partitioning is used in parallel computing to distribute workloads efficiently.
Walktrap Algorithm
A community detection algorithm based on random walks, which groups nodes into communities by considering the probability of random walks staying within the same community. For example, Walktrap can identify tightly connected groups in social networks.
Shortest Path Algorithms
Algorithms that find the shortest path between nodes in a graph, such as Dijkstra’s and Bellman-Ford. For example, these algorithms can be used for routing in transportation networks.
Graph Database Sharding
A technique used to distribute a graph database across multiple servers or clusters to improve scalability and performance. For example, sharding can be used to handle large-scale graph data across distributed systems.
Triadic Closure
The tendency for two nodes with a common neighbor to form a direct connection, a concept used in social network analysis. For example, triadic closure is used to predict the likelihood of friendships forming in social networks.
Motif Detection
The process of identifying recurring subgraph patterns in a graph, which can reveal underlying structural or functional properties. For example, motif detection is used in bioinformatics to identify common interaction patterns in protein networks.
GraphQL Cypher
A Neo4j extension that combines GraphQL with the Cypher query language to allow flexible and powerful querying of graph data. For example, GraphQL Cypher enables complex queries on graph databases with a simple API.
Bipartite Graph
A type of graph where nodes can be divided into two disjoint sets such that no two nodes within the same set are adjacent. For example, a bipartite graph can model relationships between users and the items they purchase.
Neo4j APOC (Awesome Procedures on Cypher)
A library of utilities and functions that extend the capabilities of Cypher, Neo4j’s query language. For example, APOC provides functions for data integration, graph algorithms, and data transformation.
Personalized PageRank
A variation of the PageRank algorithm that computes the importance of nodes with respect to a personalized set of starting nodes. For example, Personalized PageRank can be used in recommendation systems to prioritize items similar to those a user has interacted with.
Betweenness Centrality
A measure of a node’s importance based on the number of shortest paths that pass through it, used to identify critical nodes in a network. For example, nodes with high betweenness centrality are often key connectors in communication networks.
Markov Clustering Algorithm (MCL)
A scalable graph clustering algorithm based on flow simulations, which identifies clusters by simulating random walks. For example, MCL is used in bioinformatics for clustering proteins based on their interaction networks.
K-Core Decomposition
A method for decomposing a graph into subgraphs where each node has at least k connections, used to identify dense regions. For example, k-core decomposition can be used to find influential groups in social networks.
Dynamic Graphs
Graphs that change over time, where nodes and edges can be added or removed, requiring specialized algorithms for analysis. For example, dynamic graph analysis is used to study evolving social networks or transaction networks.