在哪里可以找到Neo4j GRASS语言的语法概述?

equ*_*ghe 12 css syntax code-documentation neo4j grass-file

Neo4j的浏览器允许使用GRASS语言(GRaph样式表)中类似CSS的样式文件对其显示的图形进行样式设置.但是,我还没能找到这种语言的语法.有没有,如果有,哪里可以找到?

Tez*_*zra 4

据我所知,它并没有真正记录下来,但我会分享我所知道的,因为我认为没有那么多要涵盖的内容。

首先,您可以使用浏览器命令下载 Neo4j .grass 文件:style(您需要将结果复制到文本文件,并使其扩展名为 .grass 才能重新导入)

接下来,需要注意的是,.grass 文件实际上是 CSS,但 Neo4j 似乎更喜欢 JSON 格式。(两种格式都是有效的 .grass 内容)

结果应该是这样的

{
    "node": {
        "diameter": "100px",
        "color": "#FFD86E",
        "border-color": "#EDBA39",
        "border-width": "2px",
        "text-color-internal": "#604A0E",
        "font-size": "16px"
    },
    "relationship": {
        "color": "#68BDF6",
        "shaft-width": "13px",
        "font-size": "14px",
        "padding": "3px",
        "text-color-external": "#000000",
        "text-color-internal": "#FFFFFF",
        "caption": "<type>"
    },
    "node.MyFirstLabel": {
        "color": "#68BDF6",
        "border-color": "#5CA8DB",
        "text-color-internal": "#FFFFFF"
    },
    "node.MySecondLabel": {
        "color": "#6DCE9E",
        "border-color": "#60B58B",
        "text-color-internal": "#FFFFFF"            
    },
    "relationship.IS_RELATED_TO": {
        "color": "#A5ABB6",
        "shaft-width": "1px",
        "font-size": "8px",
        "padding": "3px",
        "text-color-external": "#000000",
        "text-color-internal": "#FFFFFF"
    },
    /*This is a comment, the rest is added by hand*/
    "node.EXPERIMENTAL": {
        "color": "#DE9BF9",
        "border-color": "#BF85D6",
        "text-color-internal": "#FFFFFF",
        /*You can use {<prop_name>} for dynamic values. can be mixed with literals*/
        "caption": "Hello, my name is {name}",
        /*You can't use <>, the HTML will eat it, so use the HTML escaped version for the string literal <id>*/
        /* <id> and <type> will actually use the internal value for nodes and relationships respectively */
        "defaultCaption": "&lt;id&gt;"
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,如果一个节点有 2 个样式标签,则仅应用第一个(最接近顶部)样式。如果节点在草丛中没有标签,则使用“节点”作为默认值(关系也相同)。我相信大多数 CSS 样式都受支持,但你可以随时尝试。如果不支持,它将被忽略。

所以我会尝试涵盖非标准属性

  • 标题:显示的文本(通常绑定到属性)
  • defaultCaption:未设置标题时使用的标题(据我所知)
  • 直径:仅限节点。圆圈大小
  • 轴宽度:仅关系。尺寸
  • color:圆圈颜色(在标准CSS中,这是文本颜色)
  • text-color-internal:文本颜色

(这是一个社区 wiki,请更新有关 GRASS 文件的任何其他详细信息)

在大多数情况下,在官方文档发布之前,尝试进行微小的更改可能会更容易。如果你想深入研究兔子洞,草解析器是开源的。只需要知道,在官方文档发布之前,行为可能会发生变化。