知识图谱可视化——Neo4j (windows)

目录

1、安装JDK环境;

2、安装neo4j;

3、快速使用neo4j自带示例;

4、导入自己的三元组(csv文件)

(一) 安装JDK环境

【notes】neo4j-4.*版本需要SDK11以及以上版本

因为上课需要,我在wins安装了JDK1.8,不想重新去改JDK版本,网上推荐可以安装neo4j-3.5.5版本。

jdk1.8和neo4j-3.5.5下载链接:

百度网盘 请输入提取码

提取码: 228q

1)下载JDK1.8解压到 F:\Java,然后配置环境变量

2) 环境变量配置  【所有填写的路径请根据自己的情况修改

系统变量 --> 新建

CLASS_PATH 值为 :,F:\Java\jdk1.8.0_51\lib

JAVA_HOME  值为   F:\Java\jdk1.8.0_51

系统变量 --> 找到Path  --> 编辑

新建  F:\Java\jdk1.8.0_51\bin

 

 到此,JAVA环境配置完成。

3)测试java:

win+R  输入 “cmd” 回车。然后在命令框输入 java -version,即可看到版本信息。

 (二) 安装Neo4j-3.5.5

1)下载压缩包,解压(路径自己决定)

 2)配置neo4j的环境变量

系统变量,新建 NEO4J_HOME  值为  F:\neo4j-community-3.5.5   

系统变量,找到Path ,编辑,添加  F:\neo4j-community-3.5.5\bin

 

 到此,neo4j和JAVA环境都配置完成。

3)测试neo4j

同时按win+R键,输入“cmd”,从命令框进入上面解压的neo4j文件路径,输入命令:

neo4j.bat console

 出现上图所示,则表示成功安装,现在可通过浏览器访问:http://localhost:7474/  进入图数据库系统。【默认登陆密码为:neo4j】

(三) 使用Neo4j

1)示例数据库的使用:

Example Graph --> Movie Graph  ,然后点击运行,即可。里面提供了相关教程可以参考。

2)导入csv数据

一般在使用可视化工具都是想把自己的数据成果展示;neo4j可以用命令创建结点,关系等等,生成图谱。网上有很多命令的教程:NoSQL 简介 | 菜鸟教程

我今天主要是记录下如何用neo4j自带的import功能,批量导入csv里面的三元组。

拿到手的原始数据(txt或者csv),每行结构“头结点--关系--尾结点”

python脚本将其处理成:带结点ID标识和结点标签的entity.csv;结点与结点对应关系triples.csv

#!/usr/bin/env python
# _*_ coding:utf-8 _*_

import pandas as pd
import csv

# 读取csv三元组文件
df = pd.read_csv('ori_triples.csv')
print(df.info())
print(df.head())

# 或者读取txt三元组文件
# df_name = [":START_ID", "role", ":END_ID"]
# df = pd.read_table("ori_triples.txt", decimal="\t", names=df_name)

# 去除重复实体表示
entity = set()
entity_h = df[':START_ID'].tolist()
entity_t = df[':END_ID'].tolist()
for i in entity_h:
    entity.add(i)
for i in entity_t:
    entity.add(i)
print(len(entity), entity)

# 保存节点文件
csvf_entity = open("entity.csv", "w", newline='', encoding='utf-8')
w_entity = csv.writer(csvf_entity)
# 实体ID,要求唯一,名称,LABEL标签,可自己不同设定对应的标签
w_entity.writerow(("entity:ID", "name", ":LABEL"))
entity = list(entity)
entity_dict = {}
for i in range(len(entity)):
    w_entity.writerow(("e" + str(i), entity[i], "my_entity"))
    entity_dict[entity[i]] = "e" + str(i)
csvf_entity.close()

# 生成关系文件,起始实体ID,终点实体ID,要求与实体文件中ID对应,:TYPE即为关系
df[':START_ID'] = df[':START_ID'].map(entity_dict)
df[':END_ID'] = df[':END_ID'].map(entity_dict)
df[":TYPE"] = df['role']
df.pop('role')
df.to_csv("triples.csv", index=False)

entity.csv内容:

triples.csv内容:

 导入文件——覆盖原数据库

1a) 关闭neo4j运行的命令窗,然后进入neo4解压路径,删除下图路径中的graph.db文件:

导入文件——新增数据库

2a) 将下图路径中的配置文件neo4j.conf用记事本打开,修改dbms.active_database=****.db, 其中***表示你需要导入的数据库名称。

 b) import命令导入:【进入neo4j安装的bin路径下】

新版本命令:

.\neo4j-admin.bat import --database graph.db --id-type string --nodes F:\\neo4j-community-3.5.5\\import\\entity.csv --relationships F:\\neo4j-community-3.5.5\\import\\triples.csv

 旧版本命令:

.\neo4j-import.bat --into F:\\neo4j-community-3.5.5\\data\\databases\\graph.db --id-type string --nodes F:\\neo4j-community-3.5.5\\import\\entity.csv --relationships F:\\neo4j-community-3.5.5\\import\\triples.csv

【注】如果选择覆盖原数据库,命令中的graph.db不用修改;如果选择新建数据库,命令中的graph.db需要修改为你自己定义的****.db

c) 打开neo4j服务,参照上面步骤中的“测试neo4j”版块,打开浏览器,查看Database Information是否出现我们刚刚导入的数据:

 

Neo4j是一个非常流行的图数据库,它可以用于存储和查询大规模的关系数据。同时,Neo4j也提供了一些可视化工具,可以帮助用户更好地理解和分析存储在图数据库中的数据。 下面介绍几种常见的Neo4j知识图谱可视化工具: 1. Neo4j Browser:Neo4j自带的浏览器,可以通过Cypher查询语言对数据库中的数据进行查询和可视化展示。通过浏览器内置的图形显示功能,可以将查询结果以图谱的形式呈现出来,便于用户更好地理解和分析数据。 2. Gephi:Gephi是一种开源的图形分析和可视化软件,支持多种数据源,包括Neo4j。通过Gephi,用户可以将从Neo4j数据库中提取的数据以图谱的形式进行可视化展示,同时还可以进行一系列的图形分析和处理操作,如节点度数分布、社区检测等。 3. Linkurious:Linkurious是一种商业化的Neo4j可视化工具,提供了丰富的图形化数据分析和可视化功能,包括动态图谱展示、搜索和过滤、节点标签和关系类型的定制等功能。用户可以通过Linkurious轻松地浏览和分析Neo4j数据库中的数据,并且可以通过可视化的方式更好地理解和发现数据之间的关系。 4. Tom Sawyer Perspectives:Tom Sawyer Perspectives是一种专业级的图形可视化和分析工具,支持多种数据源,包括Neo4j。Tom Sawyer Perspectives提供了强大的图形分析和可视化功能,包括图谱布局调整、节点和关系的可视化配置、数据过滤和查询等功能,可以帮助用户更好地理解和分析Neo4j数据库中的数据。
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值