- neo4j简介
- 图形数据库
- 环境变量配置(需要Java环境):NEO4J_HOME+文件目录 ; Path里面:%NEO4J_HOME%\bin ; 命令窗口输入·: neo4j console然后输 neo4j install-service安装服务到本地;neo4j start启动服务
打开数据浏览器:http://localhost:7474/browser/ - 数据存储: 以图的结构存储 数据,可以存储图的节点,属性(键值对),边。属性,节点分开储存,属性与节点的关系构成边。
- 数据读写:在 Neo4j 中,存储节点时使用了 Index-free Adjacency 技术,即每个节点都有指向其邻居节点的指针,可以让我们在时间复杂度为 O(1) 的情况下找到邻居节点。另外,按照官方的说法,在 Neo4j 中边是最重要的,是 First-class Entities,所以单独存储,更有利于在图遍历时提高速度,也可以很方便地以任何方向进行遍历。
- 其他同类:Flockdb,Orientdb, Arangodb。Neo4j稳定性最好
- Neo4j使用
-
关系是有方向性的(创建关系时使用merge有则返回,没则创建;使用create则会一直创建)
-
图形数据库将其所有数据存储在节点和关系中,以图形的形式存储器数据的本机格式
-
使用本机GPE引擎来使用它的本机图存储格式
-
关系可以有一个属性作为键值对。例如: ID= 123
-
标签将一组公共节点或关系相关联,节点或关系可以包含一个或多个标签
-
使用()标识节点,使用[]标识关系
-
create 创建节点,关系和属性
match 检索有关节点,关系和属性
return 返回查询结果
where 提供条件检索数据
delete 删除节点和关系
remove 删除节点和关系的属性
order by 排序检索数据
set 添加或更新标签 -
boolean 布尔类型:true, false
byte 8位整数
short 16位整数
int 32位整数
long 64位整数
float 32位浮点数
double 64位浮点数
char 16位字符
String 字符串 -
Neo4j数据库服务器使用 < node-name > 将此节点详细信息存储在Database.As中作为Neo4j DBA或Developer, 不能使用它来访问节点详细信息
Neo4j数据库服务器创建一个< label-name >作为内部节点名称的别名。使用此标签名称来访问节点详细信息 -
match要配合return,set,delete使用
-
neo4j配置文件的修改
-
match (a:author) set a.name="wu" return a #增加属性或者修改属性。这里'a'是给'author'起个"变量名",下面类似 match (n:author) where n.name=~'w*' return n #可以使用正则匹配 match (n:author) where n.name contains 'w' return n #包含查询 DETACH DELETE #子句允许你删除一个节点的同时删除与其相连的所有关系 match(c:Customer) where id(c)=110 delete c return c #根据节点id删除节点 match (c:Creditcard) where id(c)=111 set c.name="工商银行" return c #根据节点id增加属性 match (c:Customer) match (a:Creditcard) create (a)-[r:消费]->(c) return r #创建关系 match (w:weibo),(c:chaping) where w.emot=0 create (w)-[r1:差评]->(c) return r1 #根据属性建立节点关系 MATCH p=()-[r:`消费`]->() where id(r)=0 set r.`额度`=200000 return r #创建关系的属性 match (c:Customer) return c.name as name,c.id as id union match (a:Creditcard) return a.id as id,a.name as name #联合查询,此处id只能返回节点属性里设置的id,默认节点id会返回null.(union查询会过滤掉重复行,union all 返回所有数据) create(drop) index on :author(name) #创建/删除索引 create(drop) constraint on (a:author) assert (a:author) is unique #创建/删除约束
-
APOC(a package of component):
- 两个jar包,放到neo4j的plugins目录下:apoc-3.4.0.3.jar和mysql-connector-java-5.1.21.jar
- Text and Lookup indexes (文本和索引查找)
- utility functions (实用函数):域名提取、时间、日期、数据格式转换等功能
- graph algorithms(图算法):社区检测、PageRank、中心算法等
- spatial(空间函数):地理编码、位置计算、空间与时间搜索等
- data integration(数据集成):JSON、JDBC、CSV等数据加载
- graph refactorings(图形重构):节点合并、属性规范与分类等
- virtual nades/rels(虚拟节点/关系):提供虚拟图的创建
- cypher operations(cypher 操作):单个和多个的cypher语句运行和脚本运行
- triggers(触发器):与关系型数据库的触发器的理解方式一样
-
neo4j导入三元数据组
- 关闭计算机的neo4j服务
- 删除neo4j默认的数据库文件\data\databases\graph.db,否则的话在此路径下创建新的数据库文件,文件名为***.db,然后修改neo4j的配置文件\conf\neo4j.conf,修改处:#dbms.active_database=graph.db,换位自己新建的数据库名字,解除注释
- 导入数据方式很多,我用的是import的方法把整理好的节点csv和关系csv放到neo4j的import文件里面
- 导入文件命令:neo4j-admin import --nodes E:\neo4j-community-3.5.14\import\entity.csv --relationships E:\neo4j-community-3.5.14\import\relationship.csv --multiline-fields=true --ignore-missing-nodes=true
- 开启neo4j服务,进入自带可视化网址查看图形数据库
-
neo4j图形数据库简介
猜你喜欢
转载自blog.csdn.net/weixin_46046193/article/details/108632351
今日推荐
周排行