目录
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是否出现我们刚刚导入的数据:


我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
我即将开始一个将录制和编辑音频文件的项目,我正在寻找一个好的库(最好是Ruby,但会考虑Java或.NET以外的任何库)以进行实时可视化波形。有人知道我应该从哪里开始搜索吗? 最佳答案 要流入浏览器的数据量很大。Flash或Flex图表可能是唯一能提高内存效率的解决方案。Javascript图表往往会因大型数据集而崩溃。 关于ruby-Ruby中的波形可视化,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c
这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub
之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
我在目录“C:\DocumentsandSettings\test.exe”中有一个文件,但是当我用单引号编写命令时`C:\DocumentsandSettings\test.exe(我无法在此框中显示),用于在Ruby中执行命令,我无法这样做,我收到的错误是找不到文件或目录。我尝试用“//”和“\”替换“\”,但似乎没有任何效果。我也使用过系统、IO.popen和exec命令,但所有的努力都是徒劳的。exec命令还使程序退出,这是我不想发生的。提前致谢。 最佳答案 反引号环境就像双引号,所以反斜杠用于转义。此外,Ruby会将空格解
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我最近开始学习Ruby,这是我的第一门编程语言。我对语法感到满意,并且我已经完成了许多只教授相同基础知识的教程。我已经写了一些小程序(包括我自己的数组排序方法,在有人告诉我谷歌“冒泡排序”之前我认为它非常聪明),但我觉得我需要尝试更大更难的东西来理解更多关于Ruby.关于如何执行此操作的任何想法?
我在安装“redcarpet”gem时遇到以下错误。它在我friend的机器上安装没有问题。(我想安装它来运行yard)ruby版本:1.9.3命令输出:D:\Learning\Common_POM_FW\SampleProjects>yard[error]:Missing'redcarpet'gemforMarkdownformatting.Installitwith`geminstallredcarpet`D:\Learning\Common_POM_FW\SampleProjects>geminstallredcarpetTemporarilyenhancingPATHtoinc
我们正在开发一个需要推送通知的WP8应用程序。为了测试它,我们使用CURL命令行运行推送通知POST请求,确保它实际连接,使用客户端SSL证书进行身份验证并发送正确的数据。我们确实知道,当我们收到对设备的推送时,这项工作是有效的。这是我们一直用于测试目的的CURL命令:curl--certclient_cert.pem-v-H"Content-Type:text/xml"-H"X-WindowsPhone-Target:Toast"-H"X-NotificationClass:2"-XPOST-d"MytitleMysubtitle"https://db3.notify.live.ne
我在Windows7上运行Jekyll时遇到问题。当我运行时jekyll出现以下错误C:\temp\jekyll\kouphax.github.com>jekyllConfigurationfromC:/temp/jekyll/kouphax.github.com/_config.ymlBuildingsite:C:/temp/jekyll/kouphax.github.com->C:/temp/jekyll/kouphax.github.com/_siteunit-testingYouaremissingalibraryrequiredforTextile.Pleaserun:$[s