Products
Data Consumption
Neo4j
Neo4j Developer

Neo4j 桌面

在您的本地桌面上体验 Neo4j。免费。
*包括面向开发人员的 Neo4j 企业许可证
系统要求
MacOS 10.10 (Yosemite)+、Windows 7+、Ubuntu 12.04+、
Fedora 21、Debian 8
使用 Neo4j Enterprise 功能开发高级功能
  • 包括 Neo4j Enterprise Developer 许可证
  • 支持多数据库,便于管理
  • 细粒度的访问控制和增强的安全性
基于项目的工作区中的无限本地数据库
  • 管理多个项目。桌面中的项目是磁盘上开发文件夹的表示。
    创建本地 DBMS,连接到远程 DBMS 并在项目中添加文件。
一键访问图形应用程序和插件
  • 只需单击一下即可轻松安装各种图形应用程序和数据库插件。
    访问新功能,例如监控、导入、分析、运行图形算法和可视化。
使用您最喜欢的编程语言开发应用程序
  • Neo4j 支持 GraphQL 和 Node.js、Python、Go、Java 和 .Net 的驱动程序。感谢
    我们的社区,我们还有 PHP、Ruby、R. Erlang 和 Clojure 的驱动程序。
  • 										
    // npm install --save neo4j-driver
    // node example.js
    const neo4j = require("neo4j-driver");
    const driver = neo4j.driver("bolt://:", neo4j.auth.basic("", ""), {
        /* encrypted: 'ENCRYPTION_OFF' */
    });
    
    const query = `
      MATCH (p:Product)-[:PART_OF]->(:Category)-[:PARENT*0..]->
      (:Category {categoryName:$category})
      RETURN p.productName as product
      `;
    
    const params = { category: "Dairy Products" };
    
    const session = driver.session({ database: "neo4j" });
    
    session
        .run(query, params)
        .then((result) => {
            result.records.forEach((record) => {
                console.log(record.get("product"));
            });
            session.close();
            driver.close();
        })
        .catch((error) => {
            console.error(error);
        });
    										
    									
  • 										
    # pip3 install neo4j-driver
    # python3 example.py
    
    from neo4j import GraphDatabase, basic_auth
    
    driver = GraphDatabase.driver(
    	"bolt://:", 
    	auth=basic_auth("", ""))
    
    cypher_query = '''
    MATCH (p:Product)-[:PART_OF]->(:Category)-[:PARENT*0..]->
    (:Category {categoryName:$category})
    RETURN p.productName as product
    '''
    
    with driver.session(database="neo4j") as session:
    	results = session.read_transaction(
    		lambda tx: tx.run(cypher_query,
    			category="Dairy Products").data())
    
    	for record in results:
    		print(record['product'])
    
    driver.close()
    										
    									
  • 										
    // go mod init main
    // go run example.go
    package main
    import (
        "fmt"
        "github.com/neo4j/neo4j-go-driver/neo4j" //Go 1.8
    )
    func main() {
        s, err := runQuery("bolt://:", "", "")
        if err != nil {
            panic(err)
        }
        fmt.Println(s)
    }
    func runQuery(uri, username, password string) ([]string, error) {
        configForNeo4j4 := func(conf *neo4j.Config) { conf.Encrypted = false }
        driver, err := neo4j.NewDriver(uri, neo4j.BasicAuth(username, password, ""), configForNeo4j4)
        if err != nil {
            return nil, err
        }
        defer driver.Close()
        sessionConfig := neo4j.SessionConfig{AccessMode: neo4j.AccessModeRead, DatabaseName: "neo4j"}
        session, err := driver.NewSession(sessionConfig)
        if err != nil {
            return nil, err
        }
        defer session.Close()
        results, err := session.ReadTransaction(func(transaction neo4j.Transaction) (interface{}, error) {
            result, err := transaction.Run(
                `
                MATCH (p:Product)-[:PART_OF]->(:Category)-[:PARENT*0..]->
                (:Category {categoryName:$category})
                RETURN p.productName as product
                `, map[string]interface{}{
                    "category": "Dairy Products",
                })
            if err != nil {
                return nil, err
            }
            var arr []string
            for result.Next() {
                value, found := result.Record().Get("product")
                if found {
                  arr = append(arr, value.(string))
                }
            }
            if err = result.Err(); err != nil {
                return nil, err
            }
            return arr, nil
        })
        if err != nil {
            return nil, err
        }
        return results.([]string), err
    }
    										
    									
  • 										
    // install dotnet core on your system
    // dotnet new console -o .
    // dotnet add package Neo4j.Driver
    // paste in this code into Program.cs
    // dotnet run
    
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Threading.Tasks;
    using Neo4j.Driver;
      
    namespace dotnet {
      class Example {
      static async Task Main() {
        var driver = GraphDatabase.Driver("bolt://:", 
                        AuthTokens.Basic("", ""));
    
        var cypherQuery =
          @"
          MATCH (p:Product)-[:PART_OF]->(:Category)-[:PARENT*0..]->
          (:Category {categoryName:$category})
          RETURN p.productName as product
          ";
    
        var session = driver.AsyncSession(o => o.WithDatabase("neo4j"));
        var result = await session.ReadTransactionAsync(async tx => {
          var r = await tx.RunAsync(cypherQuery, 
                  new { category="Dairy Products"});
          return await r.ToListAsync();
        });
    
        await session?.CloseAsync();
        foreach (var row in result)
          Console.WriteLine(row["product"].As());
          
        }
      }
    }	
    										
    									
  • 										
    // Add your the driver dependency to your pom.xml build.gradle etc.
    // Java Driver Dependency: http://search.maven.org/#artifactdetails|org.neo4j.driver|neo4j-java-driver|4.0.1|jar
    // Reactive Streams http://search.maven.org/#artifactdetails|org.reactivestreams|reactive-streams|1.0.3|jar
    // download jars into current directory
    // java -cp "*" Example.java
    
    import org.neo4j.driver.*;
    import static org.neo4j.driver.Values.parameters;
    
    public class Example {
    
      public static void main(String...args) {
    
        Driver driver = GraphDatabase.driver("bolt://:",
                  AuthTokens.basic("",""));
    
        try (Session session = driver.session(SessionConfig.forDatabase("neo4j"))) {
    
          String cypherQuery =
            "MATCH (p:Product)-[:PART_OF]->(:Category)-[:PARENT*0..]->" +
            "(:Category {categoryName:$category})" +
            "RETURN p.productName as product";
    
          var result = session.readTransaction(
            tx -> tx.run(cypherQuery, 
                    parameters("category","Dairy Products"))
                .list());
    
          for (Record record : result) {
            System.out.println(record.get("product").asString());
          }
        }
        driver.close();
      }
    }                    
    										
    									
连接和查询远程 Neo4j 数据库
  • 只需单击一下即可轻松安装各种图形应用程序和数据库插件。
    访问新功能,例如监控、导入、分使用 Neo4j AuraDB™ 连接到作为完全托管服务在
    任何地方、本地、自托管或云中运行的 Neo4j 数据库析、运行图形算法和可视化。
Neo4j 浏览器

探索您的数据库并制作完美的 Cypher 查询。

  • 无论您是初学者还是经验丰富的 Neo4j 用户,Browser 都是以开发人员为中心的
    工具,是编写 Cypher 查询和探索 Neo4j 图形数据库内容的终极场所。Neo4j 浏
    览器与 Neo4j 的所有图形数据库产品一起开箱即用,包括 Neo4j 服务器(社区和
    企业版)和 Neo4j 桌面(所有操作系统版本)。
  • 初学者内置指南

    对于初学者,内置指南可帮助您学习 Neo4j 的基础知识并迈出编写 Cypher 的第一步。

  • 强大的代码完成辅助

    对于初学者和专家来说,强大的代码完成功能可帮助您编写查询,以便您可以专注于手头的任务。

  • 结果可视化

    根据您的需要以图形和表格表示形式为您提供结果。熟悉的“阅读-评估-打印”结构
    可帮助您优化查询并提高工作效率。

Neo4j 数据导入器
  • 快速将您的数据加载到 Neo4j 中。
  • Neo4j 数据导入器简化了将数据导入 Neo4j 图形数据库的过程。只需导入您的平面文件数据,勾勒出节点和关系以在图形数据模型中表示您的数据,然后开始加载。了解有关 Data Importer的更多信息并立即开始使用Neo4j AuraDB Free。