Neo4j-创建节点之间的关系

节点的创建时很简单的,只要用create创建名字和属性即可。但是节点的关系创建有点复杂,因为需要考虑如何匹配到有关系的两个节点,以及关系本身的属性如何设置。这里我简单学一下如何建立节点之间的关系。
选择的顺序是由易到难,而不是场景的使用频率。

1,新节点+新关系+无属性

语法:

CREATE  
   (<node1-label-name>:<node1-name>)-
   [<relationship-label-name>:<relationship-name>]->
   (<node1-label-name>:<node1-name>)
RETURN <relationship-label-name>

案例

CREATE (fb1:FaceBookProfile1)-[like:LIKES]->(fb2:FaceBookProfile2) 

结果
在这里插入图片描述
分析:

  1. create语句创建了1一个关系,2个节点
  2. 2个节点只有lable而没有属性,也就是只有角色。比如创建了一个警察标签,一个小偷标签。没有属性就不知道是谁。这样的关系其实是没有现实意义的。
  3. 显示的两个节点自动分配了ID,其实不代表任何real 实体。

2,新的节点+新的关系,有属性

语法

CREATE  
	(<node1-label-name>:<node1-name>{<define-properties-list>})-
	[<relationship-label-name>:<relationship-name>{<define-properties-list>}]
	->(<node1-label-name>:<node1-name>{<define-properties-list>})
RETURN <relationship-label-name>
#RETURN子句是可选的。 如果我们想立即看到结果,那么使用它。 否则,我们可以省略这个子句。

实例

CREATE (video1:YoutubeVideo1{title:"Action Movie1",updated_by:"Abc",uploaded_date:"10/10/2010"})
-[movie:ACTION_MOVIES{rating:1}]->
(video2:YoutubeVideo2{title:"Action Movie2",updated_by:"Xyz",uploaded_date:"12/12/2012"}) 

结果
在这里插入图片描述
解释
1,创建2个节点,1个关系
2,关系和节点都有属性,和实体关联。我们可以清楚看到电影之间关系。

3,现有节点+新的关系,无属性

语法

MATCH (<node1-label-name>:<node1-name>),(<node2-label-name>:<node2-name>)
CREATE  
	(<node1-label-name>)-[<relationship-label-name>:<relationship-name>]->(<node2-label-name>)
RETURN <relationship-label-name>
#RETURN子句是可选的。 如果我们想立即看到结果,那么使用它。 否则,我们可以省略这个子句。

实例-需要先创建节点customer,creditcard

MATCH (e:Customer),(cc:CreditCard) 
CREATE (e)-[r:DO_SHOPPING_WITH ]->(cc)

结果
在这里插入图片描述
分析

  1. 为现有的两个节点添加了关系。这种情况我们需要用match先找到两个节点,然后在给两个节点添加关系。如果没有match就等同于新建节点。现有的节点被忽略
  2. 这个例子比较简单,没有匹配的规则,实际参考意义不大

实际操作,在创建节点的同时创建关系

我们先看一个实际案例,县创建了节点,后创建了关系。
注意点
1,创建节点和关系语句必须一次执行完,否则如上面例子所述,创建关系时()中的节点被认为是新的节点。
2,分号是一个语句的结尾
3,同时执行时,Keanu等作为节点的标识符可以被下面识别,分开执行后面语句是认为新的节点。

CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'})
CREATE (Keanu:Person {name:'Keanu Reeves', born:1964})
CREATE (Carrie:Person {name:'Carrie-Anne Moss', born:1967})
CREATE (Laurence:Person {name:'Laurence Fishburne', born:1961})
CREATE (Hugo:Person {name:'Hugo Weaving', born:1960})
CREATE (LillyW:Person {name:'Lilly Wachowski', born:1967})
CREATE (LanaW:Person {name:'Lana Wachowski', born:1965})
CREATE (JoelS:Person {name:'Joel Silver', born:1952})
CREATE
  (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix),
  (Carrie)-[:ACTED_IN {roles:['Trinity']}]->(TheMatrix),
  (Laurence)-[:ACTED_IN {roles:['Morpheus']}]->(TheMatrix),
  (Hugo)-[:ACTED_IN {roles:['Agent Smith']}]->(TheMatrix),
  (LillyW)-[:DIRECTED]->(TheMatrix),
  (LanaW)-[:DIRECTED]->(TheMatrix),
  (JoelS)-[:PRODUCED]->(TheMatrix)

CREATE (Emil:Person {name:"Emil Eifrem", born:1978})
CREATE (Emil)-[:ACTED_IN {roles:["Emil"]}]->(TheMatrix)
  • 12
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: neo4j-d3-graph是一个基于Neo4j和D3.js的图形库,它能够帮助我们将Neo4j图数据库中的数据以可视化的形式呈现出来。 Neo4j是一个高性能的图形数据库,它使用节点关系来存储和表示数据。而D3.js是一个强大的JavaScript库,用于将数据可视化为各种图形。 neo4j-d3-graph的作用是将这两个功能强大的工具结合起来,使我们能够以图形的形式更好地理解和展现Neo4j数据库中的数据。 使用neo4j-d3-graph,我们可以将Neo4j数据库中的节点关系转化为D3.js所支持的各种图形,如力导向图、树状图、网络图等。这样,我们就能够直观地观察和分析数据库中的数据结构以及节点之间关系。 通过neo4j-d3-graph的可视化效果,我们可以更好地发现数据中的模式和趋势,从而帮助我们更好地理解和利用数据库中的信息。 此外,neo4j-d3-graph还提供了一些交互功能,比如节点关系的悬停效果、点击效果等,使得我们能够与图形进行互动,更加深入地了解和操作数据库中的数据。 综上所述,neo4j-d3-graph是一个强大的图形库,它能够将Neo4j数据库中的数据以可视化的方式展现出来,并提供了交互功能,帮助我们更好地理解和分析数据库中的数据。它为我们的数据分析工作提供了便利和新的视角。 ### 回答2: neo4j-d3-graph是一种用于可视化Neo4j图数据库的工具。Neo4j是一个图数据库,它允许我们以节点关系的形式存储数据,并通过图形来描述它们之间关系。然而,对于非技术人员来说,直接查询和理解Neo4j数据库中的数据可能是一个挑战。 这就是neo4j-d3-graph的用武之地。它是基于D3.js的一个开源库,它能够通过一种直观的方式将Neo4j数据库中的数据可视化。它能够创建漂亮而交互式的图表,显示节点关系,并使用颜色、大小和形状等可视化元素来表达数据的特征。 使用neo4j-d3-graph,我们可以轻松地导入Neo4j数据库中的数据,并以图形方式显示出来。我们可以使用各种布局算法,如力导向布局、层次布局等,来排列节点关系。我们还可以通过节点关系的属性来定制节点关系的外观。 通过这种方式,我们可以更直观地理解和分析Neo4j数据库中的数据。我们可以看到节点之间关系,找到节点的邻居和路径,并发现潜在的模式和趋势。这对于数据挖掘、社交网络分析、知识图谱等领域非常有用。 总之,neo4j-d3-graph是一个强大而灵活的工具,它使我们能够以可视化的方式探索和理解Neo4j图数据库中的数据。无论是专业人士还是非技术人员,都可以通过这种方式更轻松地使用和分析图形数据。 ### 回答3: neo4j-d3-graph是一个用于可视化Neo4j图数据库的JavaScript库。该库结合了neo4j和d3.js的功能,可以帮助用户以图形的方式更好地理解和分析Neo4j数据库中的数据。 使用neo4j-d3-graph,用户可以创建和展示复杂的图形结构,包括节点关系。该库提供了大量的配置选项,使用户可以调整节点关系的样式、颜色和布局。用户还可以通过点击节点关系,查看相关的详细信息。 除了将数据以可视化的形式展示出来,neo4j-d3-graph还提供了一些交互功能。用户可以通过拖拽节点来重新布局图形,也可以使用搜索功能找到特定的节点关系。该库还支持导出图形为图片或SVG文件,方便用户在报告或演示中使用。 在开发使用neo4j-d3-graph的过程中,用户需要先通过Neo4j数据库查询出所需的节点关系数据,并按照一定的格式进行转换。然后,用户需要引入neo4j-d3-graph库,并根据自己的需求进行配置和使用。 总的来说,neo4j-d3-graph是一个强大而灵活的工具,可以帮助用户以可视化的方式更好地理解和分析Neo4j图数据库中的数据。无论是在数据探索、数据可视化还是数据展示方面,该库都提供了丰富的功能和选项供用户使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值