版本

# 图定义文件文档说明

图定义文件(eZoo Graph Schema)是一个json格式的文件,用于在导入数据时初始化在eZoo产品中的图的结构。其中各项参数用户可根据自己对图的需求进行自定义,从而构建自己需要的图进行各项计算。


eZoodb支持定义多种类型的点边,针对不同的业务场景,可参考:

# 图的结构

key 介绍 参数范围 是否必填 备注
"db_name" 数据库名称 自定义字符串 必填
"auto_load" 是否在服务启动时加载数据库 true/false 非必填
"node_cache" 点属性内存缓存大小 "auto","s4","s8"… 非必填 推荐使用auto
"edge_cache" 边属性内存缓存大小 "auto","s4","s8"… 非必填 推荐使用auto
"node_schema" 定义了图中的点 点边定义结构
"edge_schema" 定义了图中的边 点边定义结构

# 点边定义结构

此结构点边通用。

key 介绍 参数范围 是否必填 备注
"type" 点或边的类型名 自定义字符串 必填
"indexes" 索引定义的数组 索引定义结构 点必填,边非必填
"props" 点或边的属性的数组 属性定义结构 点必填,边非必填

# 索引定义结构

key 介绍 参数范围 是否必填 备注
"name" 索引的名称 自定义字符串 必填
"type" 索引的类型 "unique" 必填
"props" 索引对应的属性。 必填

# 点边属性结构

key 介绍 参数范围 是否必填 备注
"name" 属性名称 自定义字符串 必填
"type" 属性数据类型 "int","string" 必填 此测试包仅支持这两种类型
"default_value" 对应属性的默认值 必填
"cache_level" 是否启用内存加速 -1,0 必填 填写大于0的数字则对应属性启用内存加速

# 有属性数据集样例

{
    "db_name": "test",
    "auto_load": true,
    "node_schema": [
        {
            "type": "person",
            "indexes": [
                {
                    "name": "identity",
                    "type": "unique",
                    "props": [
                        "identity"
                    ]
                }
            ],
            "props": [
                {
                    "name": "reliability",
                    "type": "int",
                    "default_value": "60",
                    "cache_level": 1
                },
                {
                    "name": "name",
                    "type": "string",
                    "default_value": "",
                    "cache_level": 0

                },
                {
                    "name": "sex",
                    "type": "int",
                    "default_value": "0",
                    "cache_level": 2
                },
                {
                    "name": "identity",
                    "type": "int",
                    "cache_level": 1,
                    "default_value": "0"
                }
            ]
        },
        {
            "type": "wifi",
            "indexes": [
                {
                    "name": "mac",
                    "type": "unique",
                    "props": [
                        "mac"
                    ]
                }
            ],
            "props": [
                {
                    "name": "mac",
                    "type": "string",
                    "default_value": "",
                    "cache_level": 0
                },
                {
                    "name": "reliability",
                    "type": "int",
                    "default_value": "30",
                    "cache_level": 1
                },
                {
                    "name": "category",
                    "type": "string",
                    "default_value": "",
                    "cache_level": 1
                }
            ]
        }
    ],
    "edge_schema": [
        {
            "type": "use",
            "indexes": [
                {
                    "name": "lasttime",
                    "type": "unique",
                    "props": [
                        "lasttime"
                    ]
                }
            ],
            "props": [
                {
                    "name": "lasttime",
                    "type": "int",
                    "default_value": "0",
                    "cache_level": 1
                }
            ]
        },
        {
            "type": "trans",
            "indexes": [
                {
                    "name": "time",
                    "type": "unique",
                    "props": [
                        "time"
                    ]
                }
            ],
            "props": [
                {
                    "name": "time",
                    "type": "int",
                    "default_value": "0",
                    "cache_level": 1
                },
                {
                    "name": "money",
                    "type": "int",
                    "default_value": "0",
                    "cache_level": 1
                },
                {
                    "name": "type",
                    "type": "string",
                    "default_value": "",
                    "cache_level": 1
                }
            ]
        }
    ]
}

# 无属性数据集样例

{
    "db_name": "test1",
    "auto_load": false,
    "node_schema": [
        {
            "type": "node",
            "indexes": [
                {
                    "name": "id",
                    "type": "unique",
                    "props": [
                        "id"
                    ]
                }
            ],
            "props": [
                {
                    "name": "id",
                    "type": "int",
                    "default_value":"-1",
                    "cache_level" : -1
                          
                }
            ]
        }
    ],
    "edge_schema": [
        {
            "type": "edge",
            "indexes": [],
            "props": [
 
            ]
        }
    ]
}
最近一次更新时间: 9/7/2022, 9:41:26 AM