RushDB开源程序 是现代应用程序和 AI 的即时数据库。建立在 Neo4j 之上

news2025/6/10 12:46:35

一、软件介绍

文末提供程序和源码下载

      RushDB 改变了您处理图形数据的方式 — 不需要 Schema,不需要复杂的查询,只需推送数据即可。

二、Key Features  ✨ 主要特点

  • Instant Setup: Be productive in seconds, not days
    即时设置 :在几秒钟内提高工作效率,而不是几天
  • Push Any JSON: Nested objects are automatically normalized into a graph
    推送任何 JSON: 嵌套对象自动规范化为图形
  • Fractal API: Same query syntax everywhere - learn once, use everywhere
    Fractal API:到处都是相同的查询语法 - 一次学习,到处使用
  • Vector Search: Comprehensive similarity search for AI-powered applications
    向量搜索 :AI 驱动的应用程序的全面相似性搜索
  • Zero Schema Headaches: We handle the data structure so you can focus on building
    零架构麻烦 :我们处理数据结构,因此您可以专注于构建

三、1.0 中的新增功能

  • Vector Search: Comprehensive vector search with similarity aggregates and query builder support
    矢量搜索 :具有相似性聚合和查询生成器支持的综合矢量搜索
  • Member Management: Complete workspace membership system with invitations and access controls
    成员管理 :完整的工作区会员系统,带有邀请和访问控制
  • Remote Database: Connect to existing Neo4j/Aura databases
    远程数据库 :连接到现有的 Neo4j/Aura 数据库
  • Enhanced Auth: Google OAuth support and improved authorization flows
    增强的身份验证 :Google OAuth 支持和改进的授权流程
  • Documentation: Reworked docs with clear tutorials and guides
    文档 :重新设计的文档,提供清晰的教程和指南

四、Quick Start  🚀 快速开始

1. Get RushDB  1. 获取 RushDB

Option A: Use RushDB Cloud (Free Tier Available)
选项 A:使用 RushDB Cloud(提供免费套餐)

# Sign up and get an API token at app.rushdb.com
# No installation required!

Option B: Self-Host with Docker
选项 B:使用 Docker 自托管

docker run -p 3000:3000 \
  --name rushdb \
  -e NEO4J_URL='neo4j+s://your-instance.neo4j.io' \
  -e NEO4J_USERNAME='neo4j' \
  -e NEO4J_PASSWORD='password' \
  rushdb/platform

2. Start Building  2. 开始构建

Python  蟒
from rushdb import RushDB

db = RushDB("your-api-token")

# Push any nested JSON - RushDB normalizes it into a graph
db.records.create_many(
   "COMPANY",
   {
      "name": "Google LLC",
      "rating": 4.9,
      "DEPARTMENT": [
         {
            "name": "Research & Development",
            "PROJECT": [
               {
                  "name": "Bard AI",
                  "budget": 1200000000,
                  "EMPLOYEE": [
                     {
                        "name": "Jeff Dean",
                        "position": "Head of AI Research",
                     }
                  ],
               }
            ],
         }
      ],
   },
)

# Traverse relationships with intuitive nested queries
employees = db.records.find({
   "labels": ["EMPLOYEE"],
   "where": {
      "position": {"$contains": "AI"},
      "PROJECT": {"DEPARTMENT": {"COMPANY": {"rating": {"$gte": 4}}}},
   },
})
TypeScript/JavaScript
import RushDB from '@rushdb/javascript-sdk';

const db = new RushDB("your-api-token");

// Push data with automatic relationship creation
await db.records.createMany({
   label: "COMPANY",
   payload: {
      name: 'Google LLC',
      rating: 4.9,
      DEPARTMENT: [{
         name: 'Research & Development',
         PROJECT: [{
            name: 'Bard AI',
            EMPLOYEE: [{
               name: 'Jeff Dean',
               position: 'Head of AI Research',
            }]
         }]
      }]
   }
});

// Simple queries that traverse complex relationships
const aiExperts = await db.records.find({
  labels: ['EMPLOYEE'],
  where: {
    position: { $contains: 'AI' },
    PROJECT: { DEPARTMENT: { COMPANY: { rating: { $gte: 4 } } } },
  },
});

五、RushDB 的 Fractal API 的强大功能

RushDB uses a consistent query structure across all operations:
RushDB 在所有作中使用一致的查询结构:

interface SearchQuery {
  labels?: string[];     // Filter by record labels
  where?: WhereClause;   // Filter by properties and relationships
  limit?: number;        // Maximum records to return
  skip?: number;         // Records to skip (pagination)
  orderBy?: OrderByClause; // Sorting configuration
  aggregate?: AggregateClause; // Data aggregation
}

This approach means:  这种方法意味着:

  • Learn Once, Use Everywhere: The same pattern works across records, relationships, labels, and properties
    一次学习,随处使用 :相同的模式适用于记录、关系、标签和属性
  • Predictable API: No surprises as you build more complex features
    可预测的 API:当您构建更复杂的功能时,不会有任何意外
  • Self-Discovering Database: The graph knows its own structure and exposes it consistently
    Self-Discovering Database:图形知道自己的结构并始终如一地公开它
  • Perfect for AI & RAG: AI agents can explore and generate queries on-the-fly
    非常适合 AI 和 RAG:AI 代理可以即时探索并生成查询

🛠️ Self-Hosting Options  🛠️ 自托管选项

Requirements  要求

  • Neo4j: Version 5.25.1 or higher
    Neo4j 版本 5.25.1 或更高版本
  • APOC Plugin: Required and can be installed either via volume mount or auto-install
    APOC 插件 :必需,可以通过卷挂载或自动安装进行安装
  • Graph Data Science Plugin: Required for advanced features like vector search and aggregations
    Graph Data Science Plugin:矢量搜索和聚合等高级功能需要

Docker Compose Setup  Docker Compose 设置

version: '3.8'
services:
  rushdb:
    image: rushdb/platform
    container_name: rushdb
    ports:
      - "3000:3000"
    environment:
      - NEO4J_URL=neo4j+s://your-instance.neo4j.io
      - NEO4J_USERNAME=neo4j
      - NEO4J_PASSWORD=password
      - RUSHDB_LOGIN=admin
      - RUSHDB_PASSWORD=secure-password

View all environment variables
查看所有环境变量

    Development setup with local Neo4j
    使用本地 Neo4j 进行开发设置

    version: '3.8'
    services:
      rushdb:
        image: rushdb/platform
        container_name: rushdb
        depends_on:
          neo4j:
            condition: service_healthy
        ports:
          - "3000:3000"
        environment:
          - NEO4J_URL=bolt://neo4j
          - NEO4J_USERNAME=neo4j
          - NEO4J_PASSWORD=password
      neo4j:
        image: neo4j:5.25.1
        healthcheck:
          test: [ "CMD-SHELL", "wget --no-verbose --tries=1 --spider localhost:7474 || exit 1" ]
          interval: 5s
          retries: 30
          start_period: 10s
        ports:
          - "7474:7474"
          - "7687:7687"
        environment:
          - NEO4J_ACCEPT_LICENSE_AGREEMENT=yes
          - NEO4J_AUTH=neo4j/password
          - NEO4J_PLUGINS=["apoc", "graph-data-science"]

    CLI Commands  CLI 命令

    View available CLI commands
    查看可用的 CLI 命令

    Create a New User
    rushdb create-user admin@example.com securepassword123
    Update User Password
    rushdb update-password admin@example.com newsecurepassword456

    六、软件下载

    迅雷云盘

    本文信息来源于GitHub作者地址:GitHub - rush-db/rushdb: RushDB is an Instant Database for Modern Apps & AI. Built on top of Neo4j.

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2406635.html

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

    相关文章

    表单设计器拖拽对象时添加属性

    背景:因为项目需要。自写设计器。遇到的坑在此记录 使用的拖拽组件时vuedraggable。下面放上局部示例截图。 坑1。draggable标签在拖拽时可以获取到被拖拽的对象属性定义 要使用 :clone, 而不是clone。我想应该是因为draggable标签比较特。另外在使用**:clone时要将…

    CSS 工具对比:UnoCSS vs Tailwind CSS,谁是你的菜?

    在现代前端开发中,Utility-First (功能优先) CSS 框架已经成为主流。其中,Tailwind CSS 无疑是市场的领导者和标杆。然而,一个名为 UnoCSS 的新星正以其惊人的性能和极致的灵活性迅速崛起。 这篇文章将深入探讨这两款工具的核心理念、技术差…

    Qt的学习(二)

    1. 创建Hello Word 两种方式,实现helloworld: 1.通过图形化的方式,在界面上创建出一个控件,显示helloworld 2.通过纯代码的方式,通过编写代码,在界面上创建控件, 显示hello world; …

    工厂方法模式和抽象工厂方法模式的battle

    1.案例直接上手 在这个案例里面,我们会实现这个普通的工厂方法,并且对比这个普通工厂方法和我们直接创建对象的差别在哪里,为什么需要一个工厂: 下面的这个是我们的这个案例里面涉及到的接口和对应的实现类: 两个发…

    鸿蒙Navigation路由导航-基本使用介绍

    1. Navigation介绍 Navigation组件是路由导航的根视图容器,一般作为Page页面的根容器使用,其内部默认包含了标题栏、内容区和工具栏,其中内容区默认首页显示导航内容(Navigation的子组件)或非首页显示(Nav…

    CMS内容管理系统的设计与实现:多站点模式的实现

    在一套内容管理系统中,其实有很多站点,比如企业门户网站,产品手册,知识帮助手册等,因此会需要多个站点,甚至PC、mobile、ipad各有一个站点。 每个站点关联的有站点所在目录及所属的域名。 一、站点表设计…

    ZYNQ学习记录FPGA(二)Verilog语言

    一、Verilog简介 1.1 HDL(Hardware Description language) 在解释HDL之前,先来了解一下数字系统设计的流程:逻辑设计 -> 电路实现 -> 系统验证。 逻辑设计又称前端,在这个过程中就需要用到HDL,正文…

    Java中HashMap底层原理深度解析:从数据结构到红黑树优化

    一、HashMap概述与核心特性 HashMap作为Java集合框架中最常用的数据结构之一,是基于哈希表的Map接口非同步实现。它允许使用null键和null值(但只能有一个null键),并且不保证映射顺序的恒久不变。与Hashtable相比,Hash…

    【记录坑点问题】IDEA运行:maven-resources-production:XX: OOM: Java heap space

    问题:IDEA出现maven-resources-production:operation-service: java.lang.OutOfMemoryError: Java heap space 解决方案:将编译的堆内存增加一点 位置:设置setting-》构建菜单build-》编译器Complier

    【阅读笔记】MemOS: 大语言模型内存增强生成操作系统

    核心速览 研究背景 ​​研究问题​​:这篇文章要解决的问题是当前大型语言模型(LLMs)在处理内存方面的局限性。LLMs虽然在语言感知和生成方面表现出色,但缺乏统一的、结构化的内存架构。现有的方法如检索增强生成(RA…

    【笔记】AI Agent 项目 SUNA 部署 之 Docker 构建记录

    #工作记录 构建过程记录 Microsoft Windows [Version 10.0.27871.1000] (c) Microsoft Corporation. All rights reserved.(suna-py3.12) F:\PythonProjects\suna>python setup.py --admin███████╗██╗ ██╗███╗ ██╗ █████╗ ██╔════╝…

    五、jmeter脚本参数化

    目录 1、脚本参数化 1.1 用户定义的变量 1.1.1 添加及引用方式 1.1.2 测试得出用户定义变量的特点 1.2 用户参数 1.2.1 概念 1.2.2 位置不同效果不同 1.2.3、用户参数的勾选框 - 每次迭代更新一次 总结用户定义的变量、用户参数 1.3 csv数据文件参数化 1、脚本参数化 …

    python基础语法Ⅰ

    python基础语法Ⅰ 常量和表达式变量是什么变量的语法1.定义变量使用变量 变量的类型1.整数2.浮点数(小数)3.字符串4.布尔5.其他 动态类型特征注释注释是什么注释的语法1.行注释2.文档字符串 注释的规范 常量和表达式 我们可以把python当作一个计算器,来进行一些算术…

    C++11 constexpr和字面类型:从入门到精通

    文章目录 引言一、constexpr的基本概念与使用1.1 constexpr的定义与作用1.2 constexpr变量1.3 constexpr函数1.4 constexpr在类构造函数中的应用1.5 constexpr的优势 二、字面类型的基本概念与使用2.1 字面类型的定义与作用2.2 字面类型的应用场景2.2.1 常量定义2.2.2 模板参数…

    EEG-fNIRS联合成像在跨频率耦合研究中的创新应用

    摘要 神经影像技术对医学科学产生了深远的影响,推动了许多神经系统疾病研究的进展并改善了其诊断方法。在此背景下,基于神经血管耦合现象的多模态神经影像方法,通过融合各自优势来提供有关大脑皮层神经活动的互补信息。在这里,本研…

    C++中vector类型的介绍和使用

    文章目录 一、vector 类型的简介1.1 基本介绍1.2 常见用法示例1.3 常见成员函数简表 二、vector 数据的插入2.1 push_back() —— 在尾部插入一个元素2.2 emplace_back() —— 在尾部“就地”构造对象2.3 insert() —— 在任意位置插入一个或多个元素2.4 emplace() —— 在任意…

    CVE-2023-25194源码分析与漏洞复现(Kafka JNDI注入)

    漏洞概述 漏洞名称:Apache Kafka Connect JNDI注入导致的远程代码执行漏洞 CVE编号:CVE-2023-25194 CVSS评分:8.8 影响版本:Apache Kafka 2.3.0 - 3.3.2 修复版本:≥ 3.4.0 漏洞类型:反序列化导致的远程代…

    Copilot for Xcode (iOS的 AI辅助编程)

    Copilot for Xcode 简介Copilot下载与安装 体验环境要求下载最新的安装包安装登录系统权限设置 AI辅助编程生成注释代码补全简单需求代码生成辅助编程行间代码生成注释联想 代码生成 总结 简介 尝试使用了Copilot,它能根据上下文补全代码,快速生成常用…

    Axure零基础跟我学:展开与收回

    亲爱的小伙伴,如有帮助请订阅专栏!跟着老师每课一练,系统学习Axure交互设计课程! Axure产品经理精品视频课https://edu.csdn.net/course/detail/40420 课程主题:Axure菜单展开与收回 课程视频:

    RabbitMQ 各类交换机

    为什么要用交换机? 交换机用来路由消息。如果直发队列,这个消息就被处理消失了,那别的队列也需要这个消息怎么办?那就要用到交换机 交换机类型 1,fanout:广播 特点 广播所有消息​​:将消息…