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

时间:2016-08-23 12:39:00

标签: css syntax neo4j code-documentation grass-file

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

1 个答案:

答案 0 :(得分:2)

据我所知,它并没有真正记录在案,但我将分享我所知道的,因为我认为没有太多要报道的。

首先,您可以使用浏览器命令:style下载Neo4j .grass文件(您需要将结果复制到文本文件,并使用扩展名.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;"
    }
}

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

因此,我将尝试介绍非标准属性

  • 标题:显示的文本(通常绑定到属性)
  • defaultCaption:如果未设置标题,则使用标题(据我所知)
  • 直径:仅节点。圆圈大小
  • 轴宽:仅关系。大小
  • 颜色:圆圈颜色(在标准CSS中,这是文本颜色)
  • 文本颜色内部:文本颜色

(这是社区Wiki,请更新有关GRASS文件的其他详细信息)

在大多数情况下,在发布正式文档之前尝试较小的更改可能会更容易。如果您想走小路,grass parser是开源的。只是知道,在发布正式文档之前,行为可能会发生变化。