首页 > 解决方案 > 如何按指定顺序在neo4j中保存节点的多个标签?

问题描述

我使用 py2neo 创建一个节点,该节点具有三个标签('photograph'、'creativework'、'thing'),并按照这些标签的顺序将它们存储在 neo4j 中。在后续工作中,我将使用第一个标签,即“照片”。

但是neo4j中节点的标签显示顺序如下:

在此处输入图像描述

而且py2neo检索到的节点的顺序也是错误的,第一个标签变成了'creativework',这不是我喜欢的。那么如何在neo4j中按指定的顺序保存一个节点的多个标签呢?

标签: neo4jcypher

解决方案


你能澄清这个问题吗?有时分析或可视化会受益于多个标签。我通过创建框架(你应该在以后的问题中做)做出一些假设。这是你的场景吗?我添加了另一个标签“节点”

create (n1:Node)
create (n2:Node)
create (n3:Node)

with n1,n2,n3
match (n1) set n1:CreativeWork 
with n1,n2,n3
match (n1) set n1:ImageProject 
with n1,n2,n3
with n1,n2,n3
match (n1) set n1:MediaProject 
with n1,n2,n3
match (n1) set n1:Thing 

with n1,n2,n3
match (n2) set n1:CreativeWork 
with n1,n2,n3
match (n2) set n1:ImageProject 
with n1,n2,n3
match (n2) set n1:MediaProject 
with n1,n2,n3
match (n2) set n1:Thing 

with n1,n2,n3
match (n3) set n1:CreativeWork 
with n1,n2,n3
match (n3) set n1:MediaProject 

如果是这样,你想做什么。您显示的显示是节点标签,它们将在运行查询后出现在结果窗口中。无法更改该排序顺序。但为什么这种类型对你很重要?这不是最终用户会看到的东西。您实际上只有 3 个节点,并且它们都将被类似地可视化。

你可以使用属性来实现你的目标吗?如果不是每个节点都有 3 个标签,那么您可以使用草文件来区分它们。草文件按节点出现在列表中的顺序(从下到上)处理格式化。


推荐阅读