安装和使用neo4j community server>
参考链接:https://www.cnblogs.com/ljhdo/p/5521577.html
Windows环境下需要配置环境变量

路径为java se安装目录下的bin目录

检测是否配置成功,在CMD窗口输入java -version
下载安装 使用版本3.5.17 下载地址https://neo4j.com/download-center/#community 点击community server下载对应系统的版本,下载后双击击安装

Windows环境下需要配置环境变量

路径为neo4j安装目录下的bin目录

下载 使用版本3.5.0.4 下载地址https://github.com/neo4j-labs/neosemantics/releases

下载完成,将下载的jar文件复制到neo4j安装文件夹下的plugins文件夹下

打开CMD窗口,输入 neo4j.bat console

然后在浏览器中输入 http://localhost:7474/

在顶栏命令行输入 CREATE INDEX ON :Resource(uri) 点击运行

再输入 CALL semantics.importRDF(“file:///C:/Users/cornor/Desktop/PTD.owl”,”Turtle”, { shortenUrls: true, typesToLabels: true, commitSize: 9000 ,handleVocabUris: “IGNORE”}) 点击运行,这里的owl文件是你的知识图谱文件,其他的格式的rdf图也支持,常用csv

如果运行失败,检查一下插件版本,是neo4j是3.x的还是4.x的,然后更改相应的插件版本
此时已经导入成功
CALL apoc.export.csv.all(“res.csv”, {})
##查询所有节点 MATCH (n) return n

例如:查询操作系统版本为“2.6.29.1”的DTU设备
MATCH (s:dtu)-[p:操作系统版本]-(o) where o.label =’2.6.29.1’ return s

例如:查询操作系统版本为“2.6.29.1”的DTU设备具有的漏洞
MATCH (s:dtu)-[p:操作系统版本]->(o)<-[:操作系统版本]-(l:loophole) where o.label =’2.6.29.1’ return l

例如:查询操作系统版本为“2.6.29.1”的DTU设备具有的漏洞的漏洞编号
MATCH (s:dtu)-[p:操作系统版本]->(o)<-[:操作系统版本]-(l:loophole)-[:漏洞编号]-(res) where o.label =’2.6.29.1’ return res

例如:查询操作系统版本为“2.6.29.1”的DTU设备具有的漏洞的漏洞编号,同时查看才做系统和生产厂家
MATCH (s:dtu)-[p:操作系统版本]->(o)<-[:操作系统版本]-(l:loophole)-[:漏洞编号]-(res) where o.label =’2.6.29.1’ return res

MATCH (m)-[r:操作系统版本]-(s)-[]-(o)-[]-(l:loophole)-[p:漏洞编号]-(res) where o.label=’PDZ810’
WITH m,r,s,o,l,p,res
MATCH (n)-[r2:生产厂家]-(s)
return res,m,r,l,p,n
MATCH (m)-[r:操作系统版本|设备的生产厂家|设备类型]-(s)-[]-(o)-[]-(l)-[p:漏洞编号]-(res) where o.label=’PDZ810’ return res,m,r,l,p

MATCH (m)-[r:操作系统版本|设备的生产厂家|设备类型]-(s)-[]-(o)-[]-(l)-[p:漏洞编号|漏洞类别|漏洞名称]-(res) where o.label=’PDZ810’ return res,m,r,l,p,o
多个关系的查询,深度1-13,例如:查询攻击
MATCH path=(n:dtu)-[*1..9]-(m:攻击维度)
RETURN m

例如:查询任意和“2.6.29.1”有关的节点 MATCH (s)–(o) where o.label =’2.6.29.1’ return s

MATCH (p)–(s)–(o) where o.label =’2.6.29.1’ return p