Graph Analysis

by SkepticMystic & Emile
5
4
3
2
1
Score: 49/100

Description

Category: Data Visualization

The Graph Analysis plugin for Obsidian adds a new dimension to your note-taking experience by providing a set of algorithms that analyze the relationships between your notes. The plugin offers four different analysis types: Similarity, Link Prediction, Co-Citations, and Community Detection. Each type has its own unique features and benefits. For example, the Co-Citations algorithm shows you which notes are frequently cited together, giving you valuable insights into the connections between your ideas. The plugin also includes a range of settings and customization options to help you tailor your analysis to your specific needs.

Reviews

No reviews yet.

Stats

511
stars
66,620
downloads
32
forks
1,650
days
117
days
1,559
days
4
total PRs
0
open PRs
0
closed PRs
4
merged PRs
54
total issues
28
open issues
26
closed issues
0
commits

Latest Version

README file from

Github

Graph Analysis

Graph analysis adds the analysis view to Obsidian which implements a set of algorithms that computes useful relations between the notes in your vault! Our flagship algorithm is the Co-citations panel, that we describe as a 2nd order backlinks panel.

The Graph Analysis view shows a table of note names and numbers, each representing the value of some graph analysis algorithm on that note in relation to the current note.

e.g.

  • [[A]] is 0.9 Similar to [[B]]
  • [[A]] has a 0.6 chance of being connected to [[B]]
  • [[A]] is co-cited with [[B]] 6 times

Analysis Types

Graph Analysis currently has 4 different analysis types:

  1. Similarity
  2. Link Prediction
  3. Co-Citations
  4. Community Detection

Each implement different algorithms with different purposes.

Co-Citations

Co-Citations counts the number of time two notes are cited together in the same note and gives extra weight when the two notes are cited close together.

Think of co-citations as a 2nd-order backlinks panel: Instead of showing where something is cited, it shows why, or with whom or what it is cited!

For example, if [[C]] has [[A]] and [[B]] in its content, then [[A]] and [[B]] will each have a co-citation of one.

Each note with co-citations > 0 is given a drop down menu. Inside each drop down, you can see which note co-cites those two notes, and the sentence in which they are co-cited (if in the same sentence), otherwise just the sentence with the other link.

Example use case with daily notes

An example why this is useful is given by @HEmile:

I use a lot of daily notes, in which I journal and write about the news of the day. This makes the backlinks panel a bit boring: It only shows on what dates I wrote about some note. The Co-Citations algorithm shows me much more! For example, the Joe Biden note shows me I usually write about Biden together with Donald Trump. But if I want to know what I wrote about the relations between Joe Biden and China, I can just look in the co-citations panel and expand the relation to see the story!

Video Tutorial

This video gives a longer and in depth overview for why Co-Citations is so useful! Watch the video

Similarity

Similarity is a measure of how similar two notes are based on their connectedness in the graph (ie. note content is not considered). Currently, only the Jaccard Similarity measure is implemented.

Jaccard Similarity

Formula:

image

Source

Where

  • |x| is the number of neighbours the node x has (links going in or out).
  • |x & y| is the number of neighbours that both x and y have in common

Link Prediction is a measure of the probability that two notes should be connected based on their other connections in the graph. The implemented Link Prediction algorithms are Adamic Adar and Common Neighbours.

Adamic Adar

Formula:

image

Source

Where:

  • N(x) is the number of neighbours of x
Common Neighbours

Formula:

image

Source

Where:

  • N(x) is the numbers of neighbours of x

Community Detection

These algorithms try to find groups of similar notes.

Label Propagation

Start by giving each node a unique label (its own name). Then, look at each node's neighbours, and change it's label to the most common among it's neighbours. Repeat this process iterations number of times.

At the end, show the nodes grouped by the last label they had.

Clustering Coefficient

Gives the ratio of the number of triangles the u is a part of, to the number of triangles it possibly could have been a part of:

image

Utility Classes

Each row in the graph analysis tables (or co-citations dropdowns) has a class: analysis-linked or analysis-not-linked, indicating if the current note is linked to the note in that row. This gives you the ability to style a table row based on whether it's connectedness.

For example, you can make linked notes have a lower opacity:

tr.analysis-linked {
  opacity: 0.3;
}

image

You could even go so far as to hide linked rows completely:

tr.analysis-linked {
  display: none;
}

Settings

In the analysis view, you have the option to choose between different Analysis Types, and different Algorithms within those types. You can set the default analysis type in the plugin settings.

There is also the option to hide Infinity and Zero values.

image

Documentation on Algorithms

You can read more about the implemented algorithms, or let us know which you want us to add, over here 👀. Information on co-citations can mostly be found on Wikipedia. In particular, we implement a variation of Co-citatition Proximity Analysis.

Buy Us a Coffee

SkepticMystic: ko-fi

Emile: ko-fi

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Breadcrumbs
5 years ago by SkepticMystic
Add typed-links to your Obsidian notes
Juggl
5 years ago by Emile van Krieken
An interactive, stylable and expandable graph view for Obsidian. Juggl is designed as an advanced 'local' graph view, where you can juggle all your thoughts with ease.
Charts View
5 years ago by caronchen
Data visualization solution in Obsidian, support plots and graphs.
3D Graph
3 years ago by Alexander Weichart
👓 A 3D graph for Obsidian!
Extended Graph
a year ago by Kapirklaa
Community plugin to add features to the graph view.
Persistent Graph
4 years ago by Sanqui
An Obsidian plugin for saving and restoring the positions of nodes on the global graph view
Smart Connections Visualizer
2 years ago by Evan Moscoso
Visualize your notes and see links to related content with AI embeddings. Use local models or 100+ via APIs like Claude, Gemini, ChatGPT & Llama 3
Graph Banner
2 years ago by ras0q
An Obsidian plugin to display a relation graph view on the note header.
Function Plot
4 years ago by leonhma
A obsidian.md plugin for rendering maths graphs.
InfraNodus AI Graph View
2 years ago by Nodus Labs
Advanced graph view for Obsidian: text analysis, topic modeling, and AI with InfraNodus AI text analysis tool: https://infranodus.com
Nested tags graph
3 years ago by drpilman
A small plugin for Obsidian that links nested tags in graph view
Sync Graph Settings
3 years ago by Xallt
This is a plugin for syncing graph settings (Color Groups and Search Filters) to Local Graphs
Living Graph
4 years ago by Garrett
Neo4j Graph View
5 years ago by Emile van Krieken
Path Finder
4 years ago by jerrywcy
A plugin that can find the paths between two notes. Not sure who will want to use it...
Smart Memos
2 years ago by Evan Moscoso
Super-human brainstorming and note-taking by smart transcribing your voice! This involves a complete transcript, a summary, an expansion on the concepts presented, and a fully customizable analysis of it for any use case you can think of!
Export Graph View
a year ago by Sean McGhee
Plugin to export your vault's graph view.
LaTeX Algorithms
3 years ago by SamZhang02
A simple plugin for writing Algorithms and pseudocodes in Obsidian.md
Graphs
2 years ago by Dylan Hojnoski
Plugin for Obsidian that renders interactive graphs from YAML.
Node Factor
a year ago by CalfMoon
Customize factors effecting node size in obsidian graph.
Mathematica Plot
2 years ago by Marcos Nicolau
Insert functions on Obsidian using Wolfram Mathematica!
Plot Vectors and Graphs
2 years ago by Nicole Tan YiTong
Obsidian Plugin to generate graphs given the function.
Sankey
a year ago by Finn Romaneessen
An Obsidian plugin to create sankey diagrams
Kale Graph
a year ago by Oli
Render mathematical graphs in Obsidian