Graphs - Knowledge Graphs, Networks, and Databases
Graph networks are a set of nodes connected by edges. The edges can be directed or undirected. The nodes can be anything, such as people, web pages, computers, or airports. The edges can represent anything, such as friendship between people, hyperlinks between web pages, or flights between airports.
reading surface
Reference notes
Graphs
Permalink to GraphsThere is a ton to cover.
Some topics I'll cover:
- Graph theory from a mathematical perspective
- Structuring data as a graph
- Algorithms for working with graphs (e.g. traversals, shortest paths, etc.)
- Graph neural networks, transformers, and other ML models for graphs. This c∑ould be using a graph part of the architecture or as an interaction with a graph.
- Graph db's and other tools for working with graphs
- Graph visualization (lots of fun pretty pictures and animations)
- Using AI to augment graph data (e.g. link prediction, node classification, etc.)
Public Knowledge Graphs
Permalink to Public Knowledge Graphs- wikidata - a free and open knowledge base that can be read and edited by both humans and machines.
- dbpedia - a crowd-sourced community effort to extract structured content from the information created in various Wikimedia projects.
- Claims Knowledge Graph as a knowledge graph of claims with sparql query editor for fact-checking.
- Stanford Network Analysis Project (SNAP) datasets - Large network datasets from various domains.
See also Semantic Web.
Embeddings for Graphs
Permalink to Embeddings for Graphs- PyKeen PyKEEN (Python KnowlEdge EmbeddiNgs) is a Python package designed to train and evaluate knowledge graph embedding models (incorporating multi-modal information).
Rust Graph Resources crab
Permalink to Rust Graph Resources crab-
- Graph data structure library for Rust
-
- Immediate mode GUI in Rust that runs on both web and native
-
rustworkx A high performance Python graph library implemented in Rust
-
- egg is a flexible, high-performance e-graph library
- egraphs-good site has a lot of resources and examples of egraphs.
- Also check out the egglog system that provides an alternative approach to equality saturation based on Datalog.
- It features a language-based design, incremental execution, and composable analyses.
- See also the paper and the egglog web demo
- enumo / ruler is is a domain-specific language for programmable theory exploration. It uses equality saturation to infer small, expressive rulesets for a domain.
-
- Fast, lightweight and schema-less search backend. It ingests search texts and identifier tuples that can then be queried against in a microsecond's time.
- Sonic can be used as a simple alternative to super-heavy and full-featured search backends such as Elasticsearch in some use-cases. It is capable of normalizing natural language search queries, auto-completing a search query and providing the most relevant results for a query. Sonic is an identifier index, rather than a document index; when queried, it returns IDs that can then be used to refer to the matched documents in an external database.
- A strong attention to performance and code cleanliness has been given when designing Sonic. It aims at being crash-free, super-fast and puts minimum strain on server resources (our measurements have shown that Sonic - when under load - responds to search queries in the μs range, eats ~30MB RAM and has a low CPU footprint; see benchmarks).
- Sonic is integrated in all Crisp search products on the Crisp platform. It is used to index half a billion objects on a $5/mth 1-vCPU SSD cloud server (as of 2019). Crisp users use it to search in their messages, conversations, contacts, helpdesk articles and more. Test it here
-
Oxigraph - Rust based SPARQL compliant graph database, powered by RocksDB.
Databases for Graphs
Permalink to Databases for GraphsCypher based Property Graph Databases
Permalink to Cypher based Property Graph Databases- Neo4j - a graph database management system developed by Neo4j, Inc. Described by its developers as an ACID-compliant transactional database with native graph storage and processing. Neo4j is the most popular graph database according to DB-Engines ranking, and the 22nd most popular database overall.
- Memgraph memgraph/memgraph and membgraph/mage - open-source graph database management system, built for real-time streaming data, compatible with Neo4j.
- KuzuDB - Embeddable property graph database management system built for query speed and scalability. Implements Cypher. C++ core with Python, Rust, NodeJS, Java, and CLI clients.
RDF, SPARQL based Graph Databases
Permalink to RDF, SPARQL based Graph DatabasesGraph Visualization Libraries
Permalink to Graph Visualization LibrariesTypescript
Permalink to Typescript- [d3-graphviz]
- [dagre-d3]*
- [cytoscape.js]
- [vis.js]
- Orb by Memgraph
- antvis/g6
- antvis/graphin
- [reagraph]
Python
Permalink to PythonSwiftUI
Permalink to SwiftUIbonus
Permalink to bonus- JSON Crack - a tool to visualize JSON data as a graph.

plate / optimizedalt text
AI / Graph Crossovers of various sorts
Permalink to AI / Graph Crossovers of various sorts-
LangGraph is a library for building stateful, multi-actor applications with LLMs, built on top of (and intended to be used with) LangChain. It extends the LangChain Expression Language with the ability to coordinate multiple chains (or actors) across multiple steps of computation in a cyclic manner. It is inspired by Pregel and Apache Beam. The current interface exposed is one inspired by NetworkX.
The main use is for adding cycles to your LLM application. Crucially, this is NOT a DAG framework. If you want to build a DAG, you should use just use LangChain Expression Language.
Cycles are important for agent-like behaviors, where you call an LLM in a loop, asking it what action to take next.
Interesting Papers
Permalink to Interesting PapersA curated list of awesome tools for visualizing Neo4j graph databases.
Development Tools
Permalink to Development Tools- Neo4j Browser: Basic tool for running Cypher queries with graph or table format results. More Info
- Neovis.js: JavaScript library integrating Vis.js for customizable browser visualizations. GitHub
- Popoto.js: Embeddable JS library based on D3.js, includes a visual Cypher query builder. Website
- KeyLines: Enterprise JavaScript library for advanced graph visualizations. Website
- CytoScape: Tool and JS library for biological network visualization, adaptable for various networks. Website
Exploration Tools
Permalink to Exploration Tools- Neo4j Bloom: Interactive tool for dynamic graph exploration with text-based search. More Info
- yWorks Neo4j Explorer: Free web-based tool for exploring Neo4j databases, offering schema and explorer views. Website
- Linkurious Enterprise: On-premises tool for graph exploration and analysis with extensive feature support. Website
Analysis Tools
Permalink to Analysis Tools- GraphAware Hume: Comprehensive tool for building knowledge graphs and data science applications. Website
- Kineviz GraphXR: Enterprise tool for large-scale graph analysis in 2D and 3D. Website
- Graphistry: Browser-based tool for visualizing large graphs, leveraging GPU acceleration. Website
Reporting Tools
Permalink to Reporting Tools- Tom Sawyer’s Perspectives: Java & .NET toolkit for creating graph visualizations and reports. Website
- Graphileon: Dashboard environment for graph data, supporting diverse visualization types. Website
- Charts: Neo4j Labs project for generating charts directly from Neo4j databases. GitHub
- NeoDash: App for quickly building dashboards from Neo4j data. GitHub
knowledge graph
94 nodes / 93 edges / relationships
knowledge graph
94 nodes / 93 edges / relationships
- nodes
- 94
- edges
- 93
- claims
- 9
- sections
- 20
statements
9- name
- Graphs - Knowledge Graphs, Networks, and Databases
- description
- Graph networks are a set of nodes connected by edges. The edges can be directed or undirected. The nodes can be anything, such as people, web pages, computers, or airports. The edges can represent anything, such as friendship between people, hyperlinks between web pages, or flights between airports.
- content world
- Reference notes
- node kind
- compendium_article
typed edges
14related notes
1backlinks
1linked topics
0No explicit topic nodes yet.
external references
5kg:compendium_article:graphs
neighboring notes
Related entries, backlinks, and linked topics around Graphs - Knowledge Graphs, Networks, and Databases.
entry dossier
Graphs - Knowledge Graphs, Networks, and Databases
- nodes
- 94
- edges
- 93
- claims
- 9
- sections
- 20
entry dossier
Graphs - Knowledge Graphs, Networks, and Databases
statements
9- name
- Graphs - Knowledge Graphs, Networks, and Databases
- description
- Graph networks are a set of nodes connected by edges. The edges can be directed or undirected. The nodes can be anything, such as people, web pages, computers, or airports. The edges can represent anything, such as friendship between people, hyperlinks between web pages, or flights between airports.
- content world
- Reference notes
- node kind
- compendium_article
- published
- Jan 1, 2024
- modified
- Jan 1, 2024
- reading time
- 6 min read
- canonical URL
- https://kirchner.io/compendium/graphs
typed edges
14- links toSemantic WebincomingTechnology
- links toSemantic WeboutgoingTechnology
- referencesegglog web demooutgoingegraphs-good.github.io
- referenceshereoutgoinghelp.crisp.chat
- referencesWebsiteoutgoinglinkurio.us
- referencesNeo4joutgoingneo4j.com
- referencesWebsiteoutgoingwww.graphistry.com
- referencesMemgraphoutgoingmemgraph.com
- referencesWebsiteoutgoingcytoscape.org
- referencesantvis/graphinoutgoinggithub.com