Busabase
Busabase is an open-source (MIT) database and workspace for AI agents — data, docs, skills, and apps in one place. Run it locally, self-host it inside your network, or use Busabase Cloud, and turn age
翻訳待ち
A super fast Graph Database uses GraphBLAS under the hood for its sparse adjacency matrix graph representation. Our goal is to provide the best Knowledge Graph for LLM (GraphRAG).
翻訳待ち
Loading the full README.
Read the full README ↗Our goal is to build a high-performance Knowledge Graph tailored for Large Language Models (LLMs), prioritizing exceptionally low latency to ensure fast and efficient information delivery through our Graph Database.
🆕 FalkorDB is the first queryable Property Graph database to leverage sparse matrices for representing the adjacency matrix in graphs and linear algebra for querying.
Sparse Matrix Representation: Utilizes sparse matrices to represent adjacency matrices, optimizing storage and performance.
Linear Algebra Querying: Employs linear algebra for query execution, enhancing computational efficiency.
Property Graph Model Compliance: Supports nodes and relationships with attributes, adhering to the Property Graph Model.
OpenCypher Support: Compatible with OpenCypher query language, including proprietary extensions for advanced querying capabilities.
Explore FalkorDB in action by visiting the Demos.
To quickly try out FalkorDB, launch an instance using docker:
docker run -p 6379:6379 -p 3000:3000 -it --rm -v ./data:/var/lib/falkordb/data falkordb/falkordb
If ./data was written by a Redis image of FalkorDB and the image you run is a
Valkey one, see Moving a data volume from Redis to Valkey.
Then, open your browser and navigate to http://localhost:3000.
You can also interact with FalkorDB using any of the supported Client Libraries
In this example, we'll use the FalkorDB Python client to create a small graph representing a subset of motorcycle riders and teams participating in the MotoGP league. After creating the graph, we'll query the data to explore its structure and relationships.
from falkordb import FalkorDB
# Connect to FalkorDB
db = FalkorDB(host='localhost', port=6379)
# Create the 'MotoGP' graph
g = db.select_graph('MotoGP')
g.query("""CREATE (:Rider {name:'Valentino Rossi'})-[:rides]->(:Team {name:'Yamaha'}),
(:Rider {name:'Dani Pedrosa'})-[:rides]->(:Team {name:'Honda'}),
(:Rider {name:'Andrea Dovizioso'})-[:rides]->(:Team {name:'Ducati'})""")
# Query which riders represents Yamaha?
res = g.query("""MATCH (r:Rider)-[:rides]->(t:Team)
WHERE t.name = 'Yamaha'
RETURN r.name""")
for row in res.result_set:
print(row[0])
# Prints: "Valentino Rossi"
# Query how many riders represent team Ducati ?
res = g.query("""MATCH (r:Rider)-[:rides]->(t:Team {name:'Ducati'})
RETURN count(r)""")
print(res.result_set[0][0])
# Prints: 1
You can call FalkorDB's commands from any Redis client. Here are several methods:
redis-cli$ redis-cli
127.0.0.1:6379> GRAPH.QUERY social "CREATE (:person {name: 'roi', age: 33, gender: 'male', status: 'married'})"
You can interact with FalkorDB using your client's ability to send raw Redis commands.
Note: Depending on your client of choice, the exact method for doing that may vary.
This code snippet shows how to use FalkorDB with from Python using falkordb-py:
from falkordb import FalkorDB
# Connect to FalkorDB
db = FalkorDB(host='localhost', port=6379)
# Select the social graph
g = db.select_graph('social')
reply = g.query("CREATE (:person {name:'roi', age:33, gender:'male', status:'married'})")
Note: Some languages have client libraries that provide support for FalkorDB's commands:
| Project | Language | License | Author | Stars | Package | Comment |
|---|---|---|---|---|---|---|
| jfalkordb | Java | BSD | FalkorDB | Maven | ||
| falkordb-py | Python | MIT | FalkorDB | pypi | ||
| falkordb-ts | Node.JS | MIT | FalkorDB | npm | ||
| falkordb-rs | Rust | MIT | FalkorDB | Crate | ||
| falkordb-go | Go | BSD | FalkorDB | GitHub | ||
| NFalkorDB | C# | Apache-2.0 | FalkorDB |
This is the beginning of the README. Read the rest at the original. Read the full README ↗
| nuget |