Neo4j embedded例子

直接从本地导入数据,相当于直接写文件了,速度非常快。
使用neo4j 3.1.0社区版
1.neo4j-community-3.1.0-unix.tar.gz 解压后修改相关配置

# Bolt connector
dbms.connector.bolt.enabled=true
dbms.connector.bolt.tls_level=OPTIONAL
dbms.connector.bolt.listen_address=0.0.0.0:7687

# HTTP Connector. There must be exactly one HTTP connector.
dbms.connector.http.enabled=true
dbms.connector.http.listen_address=0.0.0.0:7474

# HTTPS Connector. There can be zero or one HTTPS connectors.
dbms.connector.https.enabled=true
dbms.connector.https.listen_address=0.0.0.0:7473

2.新建工程。新建lib文件夹。把$NEO4J_HOME/lib下的拷贝到工程的lib文件夹下。

/*
 * Licensed to Neo Technology under one or more contributor
 * license agreements. See the NOTICE file distributed with
 * this work for additional information regarding copyright
 * ownership. Neo Technology licenses this file to you under
 * the Apache License, Version 2.0 (the "License"); you may
 * not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
package cn.integritytech;

import java.io.File;
import java.io.IOException;

import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.Label;
import org.neo4j.graphdb.Node;
import org.neo4j.graphdb.Relationship;
import org.neo4j.graphdb.RelationshipType;
import org.neo4j.graphdb.Transaction
<think>我们正在寻找关于Neo4j的入门教程和示例代码。根据引用[2]中提到的《SpringBoot2访问Neo4j图数据库》,我们可以推测Spring官方指南中有一篇关于SpringBoot与Neo4j集成的文章,这可能是一个很好的起点。此外,我们还可以寻找专门的Neo4j教程。由于引用[2]是Spring官方指南的翻译,我们可以尝试查找该专栏中的文章。但用户要求的是Neo4j的导学例子或入门教程,所以我们需要提供一些基础的Neo4j教程以及如何与SpringBoot集成的示例。以下是一个简单的导学例子,展示Neo4j的基本操作:###Neo4j简介Neo4j是一个高性能的图数据库,它将结构化数据存储在网络(图)上而不是表中。它使用Cypher查询语言进行操作。###安装Neo4j1.前往[Neo4j官网](https://neo4j.com/)下载并安装Neo4jDesktop或Neo4jCommunityEdition。2.启动Neo4j服务,默认情况下可以通过浏览器访问`http://localhost:7474`,使用默认用户名`neo4j`和密码`neo4j`登录,首次登录后会要求修改密码。###示例:创建节点和关系在Neo4j浏览器中执行以下Cypher语句:```cypher//创建人物节点CREATE(john:Person{name:'John',age:30})CREATE(sarah:Person{name:'Sarah',age:22})CREATE(mike:Person{name:'Mike',age:28})//创建关系CREATE(john)-[:FRIEND]->(sarah)CREATE(sarah)-[:FRIEND]->(mike)```###查询数据```cypher//查询所有人物MATCH(p:Person)RETURNp//查询John的朋友MATCH(john:Person{name:'John'})-[:FRIEND]->(friend)RETURNfriend```###SpringBoot集成Neo4j如果你使用SpringBoot,可以按照以下步骤:1.在`pom.xml`中添加依赖:```xml<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-neo4j</artifactId></dependency>```2.配置`application.properties`:```propertiesspring.neo4j.uri=bolt://localhost:7687spring.neo4j.authentication.username=neo4jspring.neo4j.authentication.password=your_password```3.创建实体类:```javaimportorg.springframework.data.neo4j.core.schema.*;@Node("Person")publicclassPerson{@Id@GeneratedValueprivateLongid;privateStringname;privateIntegerage;//省略构造方法和getter/setter}```4.创建Repository:```javaimportorg.springframework.data.neo4j.repository.Neo4jRepository;publicinterfacePersonRepositoryextendsNeo4jRepository<Person,Long>{PersonfindByName(Stringname);}```5.使用Repository进行操作:```java//保存节点Personjohn=newPerson("John",30);personRepository.save(john);//查询Personfound=personRepository.findByName("John");```以上是一个简单的入门示例。更多详细内容可以参考Neo4j官方文档和SpringDataNeo4j文档。###学习资源1.[Neo4j官方入门教程](https://neo4j.com/developer/get-started/)2.[SpringDataNeo4j文档](https://spring.io/projects/spring-data-neo4j)§§相关问题§§1.Neo4j的Cypher查询语言有哪些基本语法?2.在SpringBoot中如何定义Neo4j中的关系?3.Neo4j与其他图数据库(如ArangoDB)相比有什么优势?</think>### Neo4j 入门教程与示例代码 #### 1. **Neo4j 基础概念** Neo4j 是一种高性能的**图数据库**,核心概念包括: - **节点(Node)**:实体对象(如人物、产品),可附加标签(如 `:Person`) - **关系(Relationship)**:节点间的连接(如 `:FRIEND`) - **属性(Property)**:节点或关系的键值对(如 `name: "Alice"`) - **Cypher 查询语言**:专为图数据库设计的类 SQL 语法 #### 2. **环境搭建** 1. **安装 Neo4j Desktop** [官网下载](https://neo4j.com/download/) 社区版,启动本地数据库(默认端口 `7474`) 2. **浏览器访问** 打开 `http://localhost:7474`,默认账号 `neo4j/neo4j`,首次登录需修改密码 #### 3. **基础操作示例** ##### 创建数据 ```cypher // 创建人物节点 CREATE (alice:Person {name: "Alice", age: 30}), (bob:Person {name: "Bob", occupation: "Engineer"}), (company:Company {name: "NeoTech"}) // 创建关系 CREATE (alice)-[:WORKS_AT {since: 2020}]->(company), (alice)-[:FRIEND]->(bob) ``` ##### 查询数据 ```cypher // 查找Alice的朋友 MATCH (alice:Person {name: "Alice"})-[:FRIEND]->(friend) RETURN friend.name // 查找在NeoTech工作的人 MATCH (p:Person)-[r:WORKS_AT]->(c:Company {name: "NeoTech"}) RETURN p.name, r.since ``` #### 4. **Spring Boot 集成示例** [^2] 参考 Spring 官方指南《SpringBoot 2 访问 Neo4j 图数据库》: ```java // 1. 添加依赖 (pom.xml) <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-neo4j</artifactId> </dependency> // 2. 实体类定义 @Node("Movie") public class Movie { @Id private String title; private int releasedYear; @Relationship(type = "ACTED_IN", direction = OUTGOING) private List<Actor> actors; } // 3. 仓库接口 public interface MovieRepository extends Neo4jRepository<Movie, String> { List<Movie> findByReleasedYearGreaterThan(int year); } // 4. 查询使用 @Autowired MovieRepository repo; List<Movie> modernMovies = repo.findByReleasedYearGreaterThan(2000); ``` #### 5. **学习资源推荐** 1. [官方入门指南](https://neo4j.com/developer/get-started/):交互式 Cypher 教程 2. [Neo4j 沙盒](https://neo4j.com/sandbox/):免费在线实验环境 3. [Spring Data Neo4j 文档](https://spring.io/projects/spring-data-neo4j):Spring 整合指南 [^2] 4. 图书推荐:《Learning Neo4j》(图数据库权威著作)[^3] ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值