根据属性更改节点颜色 - neo4j
Change node color based on properties - neo4j
我想根据节点的属性更改节点的颜色:
假设我有很多 "Person" 个节点。我希望住在纽约的人是红色的,住在洛杉矶的人是蓝色的。我该怎么写呢。在 cypher 或 py2neo 中?
您不能在 neo4j 浏览器的 Cypher 查询中包含输出格式。目前,唯一的方法是手动更改图形视图或加载图形样式文件。
在此处查看教程:http://neo4j.com/developer/guide-neo4j-browser/
此外,您无法从 py2neo 与 neo4j 浏览器进行交互。
Neo4j 浏览器中节点和关系的样式由图形样式 sheet (GRASS) 控制,它是 CSS 的表亲。您可以在浏览器中输入 :style
查看当前样式。要编辑它,您可以单击节点和关系并选择颜色和大小,或者您可以查看样式 sheet (:style
)、下载它、进行更改,然后将其拖放回去进入视图 window.
不幸的是,对于您的情况,颜色只能控制 a) 对于所有节点和所有关系,或 b) 对于按标签的节点和按类型的关系。属性只能用于 node/rel.
上显示的文本
无法以编程方式与 neo4j 浏览器交互。但最终目标可以通过破解来实现。
尽管我来晚了一点,但我想帮助可能正在寻找方法的其他人。无法根据 属性 更改节点的颜色,但有一种方法可以通过根据 属性 创建节点来实现。请记住,应用这些查询后,您的数据将不一样。因此,备份您的数据始终是个好主意。
默认情况下标签的颜色是这样的(之前):
颜色基于属性
假设有一个名为 Case
的标签,带有 属性 nationality
,并且您想根据国籍为节点着色。因此,以下查询可用于创建国籍 属性 之外的标签。为此,您需要安装 apoc 库。检查 here 安装。
// BY NATIONALITY
MATCH (n:Case)
WITH DISTINCT n.nationality AS nationality, collect(DISTINCT n) AS persons
CALL apoc.create.addLabels(persons, [apoc.text.upperCamelCase(nationality)]) YIELD node
RETURN *
这将 return 所有国籍的人。现在您可以按国籍着色。下面显示了一个示例。
颜色基于 属性 并加载其他标签
假设您还有一个名为 Cluster
的标签。案例通过关系附加到集群。只需将查询更改为以下即可获取集群及其与个案的关系。
//BY NATIONALITY WITH CLUSTERS
MATCH (n:Case),(c:Cluster)
WITH DISTINCT n.nationality AS nationality,
collect(DISTINCT n) AS persons,
collect(DISTINCT c) AS clusters
CALL apoc.create.addLabels(persons, [apoc.text.upperCamelCase(nationality)]) YIELD node
RETURN *
它将 return 个案例和集群与所有关系。下面显示示例。
如果这有帮助并想让其他人知道这是一个可以接受的答案,请留下赞成票。谢谢。
如果您喜欢通过图形用户界面而不是以编程方式设置颜色,Neo4j 还提供了一个名为 bloom 的数据探索插件。使用此插件时(现在使用 neo4j 桌面时会自动安装),可以根据其属性设置节点颜色。
在下面的示例中,2002 年之后发行的电影为绿色。
我想根据节点的属性更改节点的颜色:
假设我有很多 "Person" 个节点。我希望住在纽约的人是红色的,住在洛杉矶的人是蓝色的。我该怎么写呢。在 cypher 或 py2neo 中?
您不能在 neo4j 浏览器的 Cypher 查询中包含输出格式。目前,唯一的方法是手动更改图形视图或加载图形样式文件。
在此处查看教程:http://neo4j.com/developer/guide-neo4j-browser/
此外,您无法从 py2neo 与 neo4j 浏览器进行交互。
Neo4j 浏览器中节点和关系的样式由图形样式 sheet (GRASS) 控制,它是 CSS 的表亲。您可以在浏览器中输入 :style
查看当前样式。要编辑它,您可以单击节点和关系并选择颜色和大小,或者您可以查看样式 sheet (:style
)、下载它、进行更改,然后将其拖放回去进入视图 window.
不幸的是,对于您的情况,颜色只能控制 a) 对于所有节点和所有关系,或 b) 对于按标签的节点和按类型的关系。属性只能用于 node/rel.
上显示的文本无法以编程方式与 neo4j 浏览器交互。但最终目标可以通过破解来实现。
尽管我来晚了一点,但我想帮助可能正在寻找方法的其他人。无法根据 属性 更改节点的颜色,但有一种方法可以通过根据 属性 创建节点来实现。请记住,应用这些查询后,您的数据将不一样。因此,备份您的数据始终是个好主意。
默认情况下标签的颜色是这样的(之前):
颜色基于属性
假设有一个名为 Case
的标签,带有 属性 nationality
,并且您想根据国籍为节点着色。因此,以下查询可用于创建国籍 属性 之外的标签。为此,您需要安装 apoc 库。检查 here 安装。
// BY NATIONALITY
MATCH (n:Case)
WITH DISTINCT n.nationality AS nationality, collect(DISTINCT n) AS persons
CALL apoc.create.addLabels(persons, [apoc.text.upperCamelCase(nationality)]) YIELD node
RETURN *
这将 return 所有国籍的人。现在您可以按国籍着色。下面显示了一个示例。
颜色基于 属性 并加载其他标签
假设您还有一个名为 Cluster
的标签。案例通过关系附加到集群。只需将查询更改为以下即可获取集群及其与个案的关系。
//BY NATIONALITY WITH CLUSTERS
MATCH (n:Case),(c:Cluster)
WITH DISTINCT n.nationality AS nationality,
collect(DISTINCT n) AS persons,
collect(DISTINCT c) AS clusters
CALL apoc.create.addLabels(persons, [apoc.text.upperCamelCase(nationality)]) YIELD node
RETURN *
它将 return 个案例和集群与所有关系。下面显示示例。
如果这有帮助并想让其他人知道这是一个可以接受的答案,请留下赞成票。谢谢。
如果您喜欢通过图形用户界面而不是以编程方式设置颜色,Neo4j 还提供了一个名为 bloom 的数据探索插件。使用此插件时(现在使用 neo4j 桌面时会自动安装),可以根据其属性设置节点颜色。 在下面的示例中,2002 年之后发行的电影为绿色。