`

neo4j简单操作

阅读更多
Neo4j是一个嵌入式,基于磁盘的,支持完整事务的Java持久化引擎,它在图像中而不是表中存储数据。
我已在电脑上安装并启动了neo4j,简单连接测试下


/**
 * 關係枚舉
 * @author zhangk
 *
 */
public enum FirstRelationshipTypes implements RelationshipType {
    FIRST
}


    /**
     * 獲得數據庫管理類
     * @param graphPath
     * @return
     */
    public static GraphDatabaseService getDbService(String graphPath) {
        return new EmbeddedGraphDatabase(graphPath);
    }

    public static void createData(String graphPath) {
        GraphDatabaseService db = getDbService(graphPath);
        registerShutdownHook(db);  
        Transaction tx = db.beginTx();  
        try {
            Node firstNode = db.createNode();
            Node secondNode = db.createNode();
            firstNode.setProperty("name", "zhang");
            secondNode.setProperty("name", "kai");
            // 連接2個節點
            firstNode.createRelationshipTo(secondNode, FirstRelationshipTypes.FIRST);
            String zhangkai = firstNode.getProperty("name") + " " + secondNode.getProperty("name");
            System.out.println(zhangkai);
            //Relationship relationship = firstNode.getSingleRelationship(FirstRelationshipTypes.FIRST, Direction.OUTGOING);
            Iterable<Relationship> rls = firstNode.getRelationships();
            for (Relationship relationship : rls) {
                System.out.println(relationship.getId());  
                System.out.println(relationship.getEndNode().getProperty("name"));  
                System.out.println(relationship.getStartNode().getProperty("name"));  
                relationship.delete(); 
            }
             
//            firstNode.delete();  
//            secondNode.delete();  
            tx.success();  
        } catch(Exception e) {
            tx.finish();
        }
        System.out.println("Shutting down database ...");  
        db.shutdown();
    }


    /**
     *  实时监测服务状态
     *  Registers a shutdown hook for the Neo4j instance so that it  
     *  shuts down nicely when the VM exits (even if you "Ctrl-C" the  
     *  running example before it's completed)  
     *  @param graphDb
     */
    private static void registerShutdownHook(final GraphDatabaseService graphDb) {  

        Runtime.getRuntime().addShutdownHook(new Thread() {  
            @Override  
            public void run() {  
                graphDb.shutdown();  
            }  
        });  
    }  


    private static final String GPATH = "graph.db"; // 數據庫地址

    public static void main(String[] args) {
        createData(GPATH);
    }

分享到:
评论

相关推荐

    采用java操作neo4j数据库源码

    Cypher是一种声明式的图数据库查询语言,简单易读,适用于创建、读取、更新和删除(CRUD)操作。例如,创建一个新节点: ```java Session session = Neo4jDriverSingleton.getDriver().session(); String query = ...

    Neo4j学习-Neo4j入门-Neo4j文档

    1. **安装与启动**:介绍如何在不同的操作系统上安装Neo4j,包括下载、解压、配置环境变量和启动服务等步骤。 2. **数据模型**:解释Neo4j中的核心概念——节点(Nodes)、关系(Relationships)和属性(Properties...

    neo4j-community-3.5.19-windows.rar

    安装和运行Neo4J非常简单,用户只需启动服务器并配置相应的环境。主要的配置文件是`conf/neo4j.conf`,在这里可以设置端口、内存分配、数据存储路径等参数。默认情况下,Neo4J监听7474端口,提供Web界面——Neo4J ...

    基于neo4j的简易医疗问答知识图谱

    这里,我们重点讨论如何利用neo4j,一个强大的图形数据库,来构建和操作这个知识图谱。 【描述】: "基于neo4j的简易医疗问答知识图谱,数据从ask120中爬取得到" ask120是一个医疗问答平台,它积累了大量的医疗问题...

    neo4j学习必备的简单示例

    文档还提供了一个简单的示例,展示了如何在Neo4j中查询特定节点的邻居。例如,查找Thomas Anderson的所有朋友,即所有与他有`KNOWS`关系的节点。这通常涉及到图数据库的遍历算法,通过遍历与特定节点相连的所有关系...

    Neo4j学习及Cypher基本操作

    ### Neo4j 学习及 Cypher 基本操作详解 #### 一、知识图谱概述 知识图谱是一种基于图的数据结构,由节点(Point)和边(Edge)构成。节点通常代表实体,拥有一个全局唯一的ID,而边则表示实体之间的关系或属性。在...

    Neo4j 1.8 windows交流版

    标题“Neo4j 1.8 windows交流版”表明我们讨论的是Neo4j的1.8版本,特别适用于Windows操作系统,是开发者和爱好者进行交流和学习的工具。 图数据库的核心理念是将数据以节点、边和属性的形式存储,这样的结构非常...

    java项目集成neo4j的demo

    它提供了创建、读取、更新和删除(CRUD)操作的API,使得在Java代码中操作图数据库变得简单。 4. **配置连接**:在Java项目中,我们需要配置Neo4j的连接信息,包括服务器地址、端口、认证凭据等。这通常通过创建`...

    neo4j-community-4.2.4-windows 社区版

    1. **Cypher查询语言**:Neo4j的Cypher是一种声明式图查询语言,语法简洁且直观,使得查询和操作图数据变得简单。 2. **ACID事务**:支持原子性、一致性、隔离性和持久性,确保数据的一致性和可靠性。 3. **高性能**...

    基于neo4j的关系图谱简单研究

    通过上述步骤,我们可以基于Neo4j构建一个简单的关系图谱系统,并通过Spring Boot和Swagger2实现后台操作的便捷性和可视化。这只是一个起点,关系图谱的应用场景丰富多样,如社交网络分析、知识图谱构建等,都可以在...

    neo4j-community-4.4.25-windows

    标题“neo4j-community-4.4.25-windows”指的是Neo4j社区版的4.4.25版本,专为Windows操作系统设计。Neo4j是一款强大的图形数据库管理系统,适用于处理复杂的数据关系,尤其在社交网络、推荐系统、知识图谱等领域...

    neo4j-community-3.5.6-windows.rar

    - Neo4j是图形数据库领域的领导者,支持ACID事务,提供高性能的Cypher查询语言,使得查询和操作图数据变得简单直观。 - 社区版是Neo4j的免费版本,适用于学习、开发和小型项目,而企业版则提供了更多高级功能和...

    neo4j-community-3.5.5

    1. **安装程序**:可能包含Windows、Linux和Mac OS的安装包,供用户在不同操作系统上安装Neo4j。 2. **配置文件**(如`conf/neo4j.conf`):用于设置数据库的各种参数,包括内存分配、端口设置、日志级别等。 3. **...

    Neo4j的详细使用教程

    Cypher查询语言使得操作图数据库变得简单明了,而Neo4j的功能强大和灵活的API则为开发人员提供了强大的工具集,用以构建、管理和分析图形化数据模型。本教程为初学者提供了从入门到进阶的全面指导,帮助用户掌握...

    Neo4j笔记_nosql_neo4j_

    安装Neo4j非常简单,可以通过官方网站下载相应版本的社区版或企业版。配置文件`neo4j.conf`允许调整内存分配、端口设置等。 **6. 数据导入与导出** Neo4j支持多种方式导入和导出数据,包括使用LOAD CSV命令从CSV...

    neo4j服务端开发示例,采用spring-boot开发,内含节点增删改查、关系增删改查、复杂关系的查询。

    在本示例中,我们将深入探讨如何利用Spring Boot框架进行Neo4J服务端开发,实现节点与关系的增删改查以及复杂的查询操作。 首先,"neo4j-community-3.5.18-windows.zip"是Neo4j 3.5.18版本的Windows安装文件。这个...

    Neo4j官方开发手册

    2. **Cypher查询语言**:Neo4j的声明式查询语言,类似于SQL,但专为图形数据设计,使得查询和操作图形数据变得简单直观。 **二、安装与配置** 1. **安装过程**:涵盖了不同操作系统下的安装步骤,包括Windows、...

    java测试链接,测试图数据库neo4j2,neo4j3是否链通(提供两个数据库安装包)

    Neo4j是目前非常流行的一款图数据库,它支持ACID事务,并且拥有强大的图形查询语言Cypher,使得查询和操作图形数据变得简单直观。 本资源包含了两个Neo4j的版本,分别是 Neo4j 3.5.5 和 Neo4j 2.1.2。这两个版本...

    neo4j-4.0.0官网安装包及安装教程.rar

    总的来说,安装和配置Neo4j 4.0.0在Windows环境下是一项相对简单的工作,只需遵循上述步骤,你就可以开始利用图数据库的强大功能了。记得定期检查Neo4j的官方文档,获取最新的更新和最佳实践,以充分利用这个强大的...

    neo4j4.2实例视频

    你需要掌握如何编写简单的查询,如查找特定节点、遍历关系,以及更复杂的操作,如匹配模式、聚合函数、子查询和事务处理。例如,`MATCH (a)-[:KNOWS]-&gt;(b) RETURN a, b` 就是一个基本的查询,用于查找所有知道其他人...

Global site tag (gtag.js) - Google Analytics