Neo4j 简单入门

这篇博客介绍了Neo4j的基本概念,如节点、关系和属性,并详细讲解了如何安装 Neo4j,通过浏览器进行数据库操作,创建、查询节点和关系。此外,还展示了如何使用Java API连接并操作 Neo4j,包括创建节点和建立关系。

Neo4j 是一个图数据库,主要包括节点和关系。节点和关系都可以包含属性。

安装

下载Neo4j:https://neo4j.com/artifact.php?name=neo4j-community-3.3.5-windows.zip
解压后运行:

D:\Tools\neo4j-community-3.3.5\bin>neo4j.bat console
2018-04-13 06:03:08.826+0000 INFO  ======== Neo4j 3.3.5 ========
2018-04-13 06:03:08.853+0000 INFO  Starting...
2018-04-13 06:03:09.879+0000 INFO  Bolt enabled on 127.0.0.1:7687.
2018-04-13 06:03:14.553+0000 INFO  Started.
2018-04-13 06:03:15.612+<
### Neo4j 入门教程与示例代码 Neo4j 是一种流行的图形数据库,支持使用 Cypher 查询语言进行数据操作。以下是关于 Neo4j入门教程和示例代码的详细介绍。 #### 1. 安装与配置 在开始学习 Neo4j 之前,需要确保安装了正确的环境。可以通过以下步骤完成安装: - 下载 Neo4j 社区版:访问官方下载页面并选择适合的操作系统版本[^2]。 - 启动 Neo4j 数据库:解压文件后运行 `bin/neo4j start` 命令以启动服务。 - 使用浏览器访问 Neo4j 数据库管理界面:打开 `http://localhost:7474` 并使用默认凭据(用户名和密码均为 `neo4j`)登录。 #### 2. Cypher 查询语言基础 Cypher 是 Neo4j 的查询语言,类似于 SQL,但专为图形数据设计。以下是几个基本概念: - **节点**:表示实体,例如用户或产品。 - **关系**:表示节点之间的连接,例如“购买”或“朋友”。 - **属性**:可以附加到节点或关系上的键值对。 以下是一些简单的 Cypher 查询示例: ```cypher // 创建节点 CREATE (n:Person {name: 'Alice', age: 30}) // 创建带关系的节点 CREATE (a:Person {name: 'Alice'})-[:KNOWS]->(b:Person {name: 'Bob'}) // 查询所有节点 MATCH (n) RETURN n // 查询特定关系 MATCH (a:Person)-[r:KNOWS]->(b:Person) RETURN a, r, b ``` #### 3. 示例代码:社交网络分析 以下是一个完整的示例,展示如何使用 Neo4j 构建一个简单的社交网络分析系统。 ```cypher // 创建用户节点 CREATE (user1:User {id: 1, name: 'Alice'}), (user2:User {id: 2, name: 'Bob'}), (user3:User {id: 3, name: 'Charlie'}) // 创建关系 CREATE (user1)-[:FRIEND_OF]->(user2), (user2)-[:FRIEND_OF]->(user3), (user3)-[:FRIEND_OF]->(user1) // 查询用户的直接好友 MATCH (u:User {name: 'Alice'})-[:FRIEND_OF]->(friend) RETURN friend.name AS FriendName // 查询用户的间接好友 MATCH (u:User {name: 'Alice'})-[:FRIEND_OF*2..3]->(indirectFriend) RETURN DISTINCT indirectFriend.name AS IndirectFriendName ``` #### 4. 高级功能 Neo4j 提供了许多高级功能,例如索引、约束和图算法。以下是一个使用图算法计算最短路径的示例: ```cypher // 计算 Alice 和 Charlie 之间的最短路径 MATCH (start:User {name: 'Alice'}), (end:User {name: 'Charlie'}) CALL algo.shortestPath.stream(start, end, 'weight') YIELD nodeId, cost RETURN algo.getNodeById(nodeId).name AS name, cost ``` #### 5. 学习资源 以下是一些推荐的学习资源: - 官方文档:提供详细的 API 参考和教程[^3]。 - 在线课程:Coursera 和 Udemy 上有许多关于 Neo4j 的课程。 - 社区论坛:Neo4j 官方论坛是解决问题和交流经验的好地方。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值