What you will learn in Graph Algorithms for Data Science
With examples in Neo4j
Chapter by chapter
Chapter 2: Representing network structure: Designing your first graph model
What you learn in chapter 2 →Chapter 7: Inferring co-occurrence networks based on bipartite networks
What you learn in chapter 7 →Chapter 12: Constructing a graph using natural language processing techniques
What you learn in chapter 12 →Concepts explained in this book
- PageRankPageRank is a graph algorithm that estimates the importance of nodes from the structure of incoming relationships and their transitive influence.
- monopartite graphA monopartite graph is a graph containing one type of node, with relationships connecting nodes within that single node set.
- co-occurrence networkA hashtag co-occurrence network is a graph whose nodes are hashtags and whose relationships represent hashtags occurring together in observed content.
- bipartite graphA bipartite graph is a graph whose nodes are divided into two types, with edges connecting nodes across the two types rather than within the same type.
- Jaccard similarityThe Jaccard similarity coefficient is the ratio of the intersection size to the union size of two sets, measuring their member overlap from 0 to 1.
- embeddingNode embedding is a technique that represents graph nodes as numerical vectors so that selected structural or relational similarities are preserved.
- CypherCypher syntax is the grammatical system governing how Cypher queries represent graph elements and operations.
- implicit relationshipAn indirect relationship is a connection between entities that is inferred through graph patterns or intermediate relationships rather than represented as a direct edge.
- communityCommunity structure is the organization of a graph into groups of nodes with comparatively dense internal connections.
- match clauseA MATCH clause is a Cypher query clause that finds stored graph patterns and binds their elements to query variables.
- link predictionLink prediction is a graph machine learning task that predicts prospective relationships between nodes, optionally including their relationship types.
- countThe Cypher count function returns the number of rows or the number of non-null values supplied to it.
- graph patternA graph pattern is a Cypher syntax representation of nodes and relationships that describes a portion of graph structure.
- node labelA node label is a categorical marker attached to a graph node that identifies its type, role, or entity class.
- graphA graph model represents data as nodes connected by typed or untyped relationships.
- data leakageData leakage is the incorporation of information into model features or training that would not be available when making the intended prediction.
- data aggregationAn aggregation is a query operation that combines values from multiple rows into summarized results.
- centralityA centrality measure quantifies the importance or influence of a node according to a specified structural criterion.
- community detectionCommunity detection is a family of graph algorithms that identifies densely interconnected groups of nodes.
- common neighbor countCommon neighbor count is the number of nodes directly connected to both members of a node pair, often used as a link-prediction score.
- graph projectionA projected in-memory graph is an in-memory graph representation created from stored graph data for graph algorithm execution.
- relation extractionRelation extraction identifies semantic relationships expressed between entities in text.
- merge clauseThe MERGE clause is a Cypher clause that matches a specified graph pattern and creates it when no matching pattern exists.
- network projectionNetwork projection is the transformation of a multipartite graph into a graph containing one selected node type by inferring connections through shared neighbors.
- hashtagA hashtag is a word or phrase prefixed with a hash symbol that labels social media content for categorization and discovery.
- label propagationA label propagation algorithm is a community detection algorithm that iteratively propagates node labels through graph connections to identify groups of related nodes.
- degree distributionA degree centrality distribution is the distribution of degree-centrality values across the nodes of a graph.
- on create set clauseThe ON CREATE SET clause is a Cypher MERGE subclause that assigns properties when MERGE creates a new element.
- graph databaseA graph database is a database designed to store and query entities and their relationships directly.
- cardinalityQuery cardinality is the number of rows or records in the input or intermediate result stream available to a query operation.
- knowledge graph embeddingA knowledge graph embedding model maps knowledge graph entities and relationships into a low-dimensional vector space while preserving patterns expressed by valid triples.
- directed graphA directed network is a network whose relationships have source and target directions that can carry semantic meaning.
- Node2Vecnode2vec is a graph representation-learning algorithm that generates node embeddings from biased random walks balancing breadth-first and depth-first exploration.
- inferred networkAn inferred network is a graph constructed by deriving relationships from observed graph patterns rather than storing those relationships directly.
- GDS libraryThe Neo4j Graph Data Science library is a software library providing graph algorithms, graph projections, and analytical capabilities for Neo4j graph data.
- knowledge graph completionKnowledge graph completion is the task of inferring missing entity relationships and their relationship types from an incomplete knowledge graph.
- graph algorithmA graph algorithm is an algorithm that analyzes or computes properties of graphs, their nodes, relationships, or paths.
- in-degreeIn-degree is the number of incoming relationships connected to a node in a directed network.
- out-degreeOut-degree is the number of outgoing relationships connected to a node in a directed network.
- shortest pathNetwork distance is the minimum number of relationships along a path connecting two nodes, particularly when relationships are unweighted.
- cosine similarityCosine similarity is a measure of the angular resemblance between two vectors, computed from the cosine of the angle between them.
- closeness centralityCloseness centrality is a network metric based on the inverse of the sum of shortest-path distances from a node to all other reachable nodes, indicating how quickly the node can reach the network.
- named entity recognitionNamed entity recognition is a natural language processing task that identifies and classifies textual mentions of entities into predefined categories.
- property graphA property graph is a graph model in which nodes and relationships can carry properties and relationships connect nodes rather than other relationships.
- relationship propertyA property is a named value attached to a graph element in a labeled-property graph.
- grouping keyAn implicit grouping key is a non-aggregated query column that determines how rows are grouped when an aggregation is evaluated.
- relationship typeA relationship type is a label that identifies the kind of connection represented by a graph relationship.
- follower networkA follower network is a graph model representing users and the directed relationships in which one user follows another.
- unweighted graphAn unweighted graph is a graph in which all relationships have the same strength or traversal cost and no relationship weight distinguishes them.
- create clauseThe CREATE clause is a Cypher clause that inserts specified nodes and relationships into a graph database without checking for existing matching data.
- degree centralityDegree centrality measures a node's importance by counting its incident relationships, optionally accounting for orientation and relationship weights.
- node similarity algorithmA node similarity algorithm computes similarity scores or relationships between graph nodes from shared or comparable structural features.
- in_reply_to relationshipAn in-reply-to relationship is a graph relationship indicating that one tweet was made in response to another tweet.
- graph visualizationA graph visualization is a visual representation of nodes and their relationships that exposes connectivity and structural patterns.
- nearest neighbor graphA nearest neighbor graph algorithm constructs a graph by connecting each data point to selected points with the most similar representations.
- optional match clauseAn OPTIONAL MATCH clause is a Cypher query clause that preserves rows when a pattern is absent by binding the unmatched elements to null.
- Cypher projectionCypher projection is a graph projection technique that uses Cypher queries to select, filter, and transform a graph subgraph before loading it into memory.
- nodeA node is an element of a graph that represents an entity such as a person, organization, location, or biomedical concept.
- load csv clauseThe LOAD CSV clause is a Cypher language construct that reads rows from local or internet-accessible CSV files.
- tweetA tweet is a short social-media post represented as an entity with an identifier, creation time, and text.
- relationship directionRelationship direction is the orientation of a graph relationship from its start node to its end node.
- undirected graphAn undirected network is a network whose relationships have no traversal direction and therefore connect node pairs symmetrically.
- graph machine learningGraph machine learning is machine learning that represents data and their relationships as a graph and exploits graph structure during modeling.
- clustering coefficientThe clustering coefficient of common neighbors is a link-prediction metric that measures the proportion of possible connections among the common neighbors of a node pair that actually exist.
- coreference resolutionCoreference resolution is the task of identifying expressions in text that refer to the same entity and linking them to that entity.
- link prediction featureA link prediction feature is an input variable that represents similarity, distance, or structural evidence for a prospective relationship between two nodes.
- existential subqueryAn existential subquery is a Cypher subquery expression that evaluates whether at least one instance of a specified graph pattern exists.
- feature extractionFeature extraction is the process of identifying and deriving attributes that represent relevant characteristics of data points or graph nodes.
- in transactions clauseThe IN TRANSACTIONS clause is a Cypher clause that executes a query in batches of separate transactions.
- unique constraintA unique constraint is a database rule requiring specified property values to be unique among the records or graph elements to which it applies.
- weakly connected componentA weakly connected component algorithm identifies maximal node sets that are connected when the directions of relationships are disregarded.
- betweenness centralityA betweenness centrality algorithm computes how frequently each node lies on shortest paths between other nodes.
- preferential attachment modelThe preferential attachment model is a network-growth model in which nodes with more existing connections are more likely to receive new connections.
- damping factorA damping factor is the PageRank parameter representing the probability that the random-surfer process follows an outgoing relationship rather than teleporting to a random node.
- missing valueMissing data is information that should be present for an entity or observation but is absent from the dataset.
- link prediction metricA link prediction metric is a numerical score that estimates the likelihood of a prospective relationship between two graph nodes.
- recommender systemA recommendation system generates ranked or selected items for users based on user, item, or interaction information.
- random forestA random forest model is an ensemble of decision trees whose aggregated predictions perform classification or regression.
- write modeWrite mode is an algorithm execution mode that persists computed results as properties or other data in the target graph database.
- heterogeneous graphA heterogeneous graph contains multiple node types or multiple relationship types.
- feature vectorA feature vector is a vector whose numerical components encode selected characteristics of a data point or node.
- unwind clauseThe UNWIND clause expands a Cypher list into separate rows, one for each list element.
- orientation parameterAn orientation parameter selects whether a directed graph algorithm evaluates outgoing relationships, incoming relationships, or both directions.
- power law distributionA power-law distribution is a probability distribution in which relatively few values are very large and many values are small, following an inverse-power relationship.
- information extractionAn information extraction pipeline is a multistep computational process that identifies entities and relations in text and produces structured information.
- weighted graphA weighted network is a graph whose relationships carry numerical values representing strength, cost, frequency, or another quantity.
- classification reportA classification report summarizes predictive performance for each class using measures such as precision, recall, and F1 score.
- retweet networkA retweet network is a graph model representing users retweeting posts from other users.
- node degreeNode degree is the number of graph relationships incident to a node, with directed graphs potentially distinguishing incoming and outgoing relationships.
- native projectionNative projection is a graph projection technique that selects nodes and relationships from Neo4j storage using node labels and relationship types without applying custom transformations during loading.
- on match set clauseThe ON MATCH SET clause is a Cypher MERGE subclause that assigns properties when MERGE matches an existing element.
- unique identifierA unique identifier is a value or attribute that distinguishes one entity or graph element from all others within its scope.
- relationship weight propertyA relationship weight property is a configuration setting that identifies the relationship attribute whose numeric values supply edge weights to a graph algorithm.
- replace methodThe Cypher replace function returns a string formed by replacing occurrences of a specified substring with another string.
- splitA split function divides a string around a delimiter and returns the resulting elements as a list.
- Adamic-Adar indexThe Adamic-Adar index is a link-prediction metric that scores node pairs by weighting common neighbors more highly when they have lower degree.
- graph-based featureA graph-based feature is a predictive input derived from graph structure, node relationships, or network properties.
- mutate execution modeMutate execution mode is a graph-algorithm execution mode that stores computed results in the projected in-memory graph.
- dead endA dead end is a graph node with no outgoing relationships.
- rank leakingRank leaking is the loss of PageRank mass caused by nodes that have no outgoing relationships.
- teleportationTeleportation is the PageRank mechanism that assigns a probability of jumping from the current node to a randomly selected node instead of following an outgoing relationship.
- class imbalanceClass imbalance is a condition in which classes in a classification dataset occur with substantially unequal frequencies.
- stats execution modeStats execution mode returns summary statistics of algorithm results without storing the results.
- as operatorThe AS operator assigns an alias to a Cypher expression or variable reference.
- inline graph pattern matchingInline graph pattern matching is the expression of graph patterns directly in Cypher pattern syntax, including their labels and properties.
- machine learning workflowA machine learning workflow is a sequence of processing and modeling steps for training or applying machine learning models.
- random splitA random dataset split partitions examples or graph relationships into subsets through random assignment.
- graph schemaA graph schema is a specification of the permissible node categories, relationship types, properties, and structural constraints in a graph.
- confusion matrixA confusion matrix is a table counting classification outcomes by actual class and predicted class.
- dimensionality reductionDimensionality reduction is a technique that represents data with fewer numerical dimensions while preserving selected structure or information.
- node embedding techniqueA node-embedding algorithm computes vector representations of graph nodes that encode structural or relational properties.
- adjacency matrixAn adjacency matrix is a square matrix whose elements indicate whether pairs of graph nodes are connected.
- strongly connected componentA strongly connected component is a maximal subgraph of a directed graph in which every node is reachable from every other node following relationship directions.
- size functionThe Cypher size function returns the number of elements in a list or the length of a string.
- text processingText processing is the computational manipulation of textual data through operations such as tokenization, replacement, and filtering.
- return statementThe RETURN clause is a Cypher clause that specifies variables or expressions to retrieve as query results.
- feature setA feature set is a collection of graph relationships retained to calculate network features for predictive modeling.
- gds.graph.projectgds.graph.project is a Neo4j Graph Data Science procedure that creates and stores a named in-memory graph projection.
- random walkA random walk is a stochastic graph traversal that repeatedly moves from the current node to a neighboring node according to transition probabilities.
- second-order biased random walkA second-order random walk is a graph walk whose next traversal probabilities depend on both the current node and the node visited immediately before it.
- gds.degreegds.degree is a Neo4j Graph Data Science procedure that computes degree centrality scores for nodes in a projected graph.
- weighted out-degreeWeighted out-degree is the sum of the weights of a node's outgoing relationships in a directed weighted network.
- APOCAPOC is a Neo4j extension library providing procedures and functions for graph data integration, transformation, analysis, and batch processing.
- apoc.agg.statistics functionThe apoc.agg.statistics function is an APOC procedure that computes summary statistics for a collection of numeric values.
- negative sampleA negative example is a labeled prediction instance representing the absence of the relationship or outcome being predicted.
- positive exampleA positive sample is a node pair labeled as having the relationship being predicted.
- in-out parameterAn in-out factor is a node2vec parameter controlling the balance between depth-first and breadth-first random-walk exploration.
- self-loopA self-loop is a graph relationship whose start node and end node are the same node.
- graphletA graphlet is a node position within a distinctly connected subgraph consisting of a specified number of nodes.
- structural motifA motif is a distinctly connected subgraph whose occurrence pattern can be counted in a network.
- PPRPersonalized PageRank is a PageRank variation that biases random restarts toward specified source nodes.
- random networkA random network is a network model in which connections are formed according to a random process.
- scale-free networkA scale-free network is a network whose highly uneven degree distribution is characterized by a small number of high-degree hubs and many low-degree nodes.
- machine learningMachine learning is a computational approach in which models learn patterns from data to perform predictions or other tasks.
- node importanceNode importance is a graph property that quantifies the significance of a node according to a chosen criterion such as influence over information flow.
- delete clauseA Cypher clause that removes matched nodes and relationships from a graph database.
- detach delete clauseA DETACH DELETE clause is a Cypher deletion clause that deletes a node together with its existing relationships.
- graph filteringGraph filtering is the selection of nodes and relationships from an existing graph according to structural, label, property, or predicate-based conditions.
- node roleA node role is the functional or structural part a node plays within a graph or network.
- entity linkingEntity linking is the task of connecting a named-entity mention in text to the corresponding entity identifier in a knowledge base.
- graph catalogA graph catalog is a GDS-managed collection of named projected in-memory graphs that can be reused by multiple algorithm executions.
- source pointA source node is the starting node of a directed relationship in Neo4j Graph Data Science terminology.
- target nodeA target node is the ending node of a directed relationship in Neo4j Graph Data Science terminology.
- hypertext linkA hyperlink is a reference in digital content that provides direct access to another resource.
- set clauseA SET clause is a Cypher clause that assigns or updates node labels and node or relationship properties.
- Neo4j BrowserNeo4j Browser is a browser-based interface for executing Cypher queries and inspecting Neo4j databases.
- count pattern operatorThe count pattern operator is Cypher syntax that counts matches for an embedded graph pattern.
- structural role embeddingA role-based embedding is a node representation that preserves similarity in structural or functional network roles rather than necessarily node attributes.
- dataset splitA dataset split partitions available data into separate subsets for purposes such as feature generation, training, validation, and testing.
- unconnected nodeAn isolated node is a graph node with no relationships connecting it to other nodes.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.
