【问题标题】:Where can I find an overview of the syntax of the Neo4j GRASS language?在哪里可以找到 Neo4j GRASS 语言的语法概述?
【发布时间】:2016-12-30 07:11:24
【问题描述】:

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

【问题讨论】:

  • 我能在文档中找到的只有stackoverflow.com/questions/21409282/… 和这里的点点滴滴neo4j.com/?s=GRASS&x=0&y=0。我怀疑目前是否存在相关文档。
  • 为什么投反对票? (诚​​实的问题。)
  • 我不知道谁投了反对票。我认为这也是一个很好的问题,但答案是我找不到很好的文档来源。

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


【解决方案1】:

据我所知,它并没有真正记录在案,但我会分享我所知道的,因为我认为没有太多要介绍的内容。

首先,您可以使用浏览器命令: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:未设置标题时使用的标题(据我所知)
  • 直径:仅限节点。圆圈大小
  • 轴宽:仅限关系。尺寸
  • color:圆形颜色(在标准 css 中,这是文本颜色)
  • text-color-internal:文本颜色

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

在大多数情况下,在官方文档发布之前,只对微小的更改进行试验可能会更容易。如果你想进入兔子洞,grass parser 是开源的。请注意,在官方文档发布之前,行为可能会发生变化。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-05
    • 2011-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-06
    • 2015-10-15
    相关资源
    最近更新 更多