当前位置: 首页 >  互联网技术 >  neo4j

neo4j

导读:-- 创建节点语句.CREATE (.:.{.:.……...:.}.);.其中的node-name 是节点名称.label-name 是标签名称.propert1-name是属性名称和property-value是属性值.例如.单节点单标签.create (p:Person{na

-- 创建节点语句

CREATE (
:
{
:
……..
:
}
);

其中的node-name 是节点名称

label-name 是标签名称

propert1-name是属性名称和property-value是属性值

例如
单节点单标签

create (p:Person{name:“alicy”});

create (p:Person{name:“Tom”, sex:“男”});

单节点多标签
CREATE (m:Movie:Cinema:Film:Picture)

-- match 语法
方法一:match (x:Person{name:“Tom”}) return x;

方法二:
match (p:Person)
where p.name=“Tom”
return p;

这两种是等价的,都是查找到Person下的名字叫Tom的节点

返回特定节点的特定属性
返回名字叫Tom的性别属性:
match (p:Person{name:“Tom”}) return p.sex;

创建单标签到关系

关系都是有方向的,从开始到结束

CREATE (<node1-name>:<label1-name>)-
	[<relationship-name>:<relationship-label-name>]
	->(<node2-name>:<label2-name>)  
node1-name:是from的节点名称、label1-name是标签名称


node2-name:是to的节点名称 label2-name是标签名称


relationship-name:关系名称


relationship-label-name:关系标签名称


为alicy和Tom创建恋人关系

match(a:Person{name:“alicy”}),(b:Person{name:“Tom”})

create (a)

-[rl:love]

->(b);

match(a:Person{name:“Tom”}),(b:Person{name:“alicy”})

create (a)

-[rl:love]

->(b);

相当于查出alicy和Tom,并分别叫上别名a,b ,为a,b建立关系

-- 移除关系,让alicy变心

match(a:Person{name:“alicy”})-[lv]->(b:Person{name:“Tom”}) delete lv;

-- alicy 爱上了laowang

match(a:Person{name:“alicy”}),(b:Person{name:“LaoWang”})

create (a)

-[lv:love]

->(b);

-- Tom 发现后自动解除关系,并退出

match(a:Person{name:“Tom”})

-[lv]->(b:Person{name:“alicy”})

delete a,lv

;

-- 删除节点

match (a:Movie) delete a;

-- 删除Tom节点以及它的所有关系

match (p:Person{name:‘Tom’}) -[lv]-(m) delete p,lv;

-- 为alicy 添加性别属性

match (p:Person{name:“alicy”}) set p.sex=‘女’ return p;

match (p:Person{name:“alicy”}) set p.job=‘主播’ return p;

-- 把alicy的职业移除

match (p:Person{name:“alicy”}) remove p.job return p;

-- 按照名字排序

match (p:Person) return p.name ORDER BY p.name desc;

-- union

match (a:Person{name:“alicy”})return a.name union all match(b:Person{name:“Tom”}) return b.name;

这种写法是不行的

从报错中可以得到必须要相同的列名,虽然我们看着相同,但是编辑器不认识,所以加上一个别名

match (a:Person{name:“alicy”}) return a.name as name union all match(b:Person{name:“Tom”}) return b.name as name;

-- limit

match (a:Person) return a LIMIT 1;

-- skip

match (a:Person) return a skip 1;

从结果看alicy被跳过去了

-- merge 语法 无则添加有则不动

match(a:Person{name:“Tom”}),(b:Person{name:“LaoWang”}) merge (a)-[lv:love]->(b) return a, b ;

-- 加上唯一约束

CREATE CONSTRAINT ON (n:Person) ASSERT n.name IS UNIQUE;

-- in 语句不能使用()而是[]

match(p:Person) where p.name in [“Tom”,“test”] return p;

内容
  • 【LeetCode二叉树#17】在二叉搜索树中插入或删除某个值(涉及重构二叉树、链表基础、以及内存泄漏问题)
    【LeetCode二叉树#17】
    2023-12-02
    二叉搜索树中的插入操作.力扣题目链接(opens new window).给定二叉搜索树(BST)的根节点和要插入树中的
  • ***性能优化和调整服务
    ***性能优化和调整服务
    2023-12-31
    ***性能优化和调整服务.***性能优化和调整服务是指针对服务器的硬件和软件进行调整和优化,以提高其运行效率和稳定性的服
  • 科技创新孵化器服务
    科技创新孵化器服务
    2023-12-16
    科技创新孵化器服务.科技创新孵化器是指为初创科技企业提供办公、技术、**和资金服务的机构,而科技创新孵化器服务则是指这些
  • ***迁移与升级解决方案
    ***迁移与升级解决方案
    2024-01-05
    ***迁移与升级解决方案.随着业务的不断扩大和发展,很多企业逐渐意识到原有的***已经不能满足日益增长的需求,因此需要进
  • 虚拟现实技术开发
    虚拟现实技术开发
    2024-01-15
    虚拟现实技术开发.虚拟现实技术已经成为了当今科技行业的热门话题,它的发展日益迅猛,给人们的生活和工作带来了巨大的变革。在
  • 全球电子元件市场趋势分析
    全球电子元件市场趋势分析
    2023-12-31
    全球电子元件市场趋势分析.近年来,全球电子元件市场呈现出不断增长的趋势。随着科技的不断发展和智能设备的普及,电子元件市场
  • 电子元件质量检测与认证服务
    电子元件质量检测与认证服务
    2024-01-05
    电子元件质量检测与认证服务.为什么需要电子元件质量检测与认证服务?.随着电子产业的不断发展,电子元件在各个生产领域都起着
  • ***虚拟化技术咨询服务
    ***虚拟化技术咨询服务
    2023-12-21
    ***虚拟化技术咨询服务.在当今数字化时代,***虚拟化技术越来越受到企业和个人用户的青睐。虚拟化技术通过将物理***划
  • 高性能电子元件**
    高性能电子元件**
    2024-01-10
    高性能电子元件**.随着科技的不断进步,电子行业的发展日新月异。高性能电子元件作为电子产品的关键组成部分,对于产品的性能
  • 定制化电子元件解决方案
    定制化电子元件解决方案
    2024-01-15
    定制化电子元件解决方案.在现代科技发展迅速的时代,电子元件的需求日益增加,同时对于定制化的需求也在不断提升。定制化电子元
  • ***安全加固与防护方案
    ***安全加固与防护方案
    2024-01-10
    ***安全加固与防护方案.随着互联网的快速发展,***安全问题日益凸显。一旦***遭受攻击,可能导致数据泄露、服务中断甚