我的图表中有用户节点,并且根据各种规则集,用户可以有多个标签,例如活动、休假、终止、承包商、员工、供应商、经理等。 在我的图中,用户节点是橙色的,员工标签可能是绿色的,活动的是灰色的。 那么,是什么决定了用户节点应该采用哪种颜色呢?我尝试以多种方式进行验证,所以肯定,它不依赖于第一个标签集或最新的标签集。 请参阅下图中的示例。
在内部,Neo4j 浏览器使用类似于 CSS 的样式格式,称为 GraSS。 Neo4j 维护一个内部样式表,当应用于关联的节点或关系时,该样式表中最后指定的样式优先。
假设我们有一个带有“User”和“Active”标签的节点,我们的样式表如下所示:
node.User {
color: #F79767;
border-color: #f36924;
text-color-internal: #FFFFFF;
defaultCaption: "<id>";
caption: "{name}";
}
node.Active {
color: #C990C0;
border-color: #b261a5;
text-color-internal: #FFFFFF;
defaultCaption: "<id>";
}
在这种情况下,将应用“活动”样式中指定的颜色,因为它们是在“用户”样式之后定义的。但是,由于“Active”样式不包含标题属性,因此将使用“User”样式的标题。
默认情况下,Neo4j 浏览器按字母顺序创建样式表。我认为样式的字母顺序与一些不具有所有样式属性的标签相结合是您看到不一致行为的原因。
要检查 Neo4j 浏览器中使用的样式表,您只需键入命令 :style 即可。可以通过在本地创建您自己的 .grass 文件然后将其拖到 Neo4j 浏览器窗口中来完成自定义样式。
有关 GraSS 样式如何工作的更多信息,您可以参阅文档此处。 (请注意:文档错误地指出顶级样式优先。)。