{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "edges": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "source": {
                        "type": "string",
                        "default": "nodesource"
                    },
                    "group": {
                        "type": "array",
                        "items": {}
                    },
                    "target": {
                        "type": "string",
                        "default": "nodetarget"
                    },
                    "view": {
                        "type": "string",
                        "default": "VS"
                    }
                },
                "required": [
                    "source",
                    "group",
                    "target",
                    "view"
                ]
            }
        },
        "vertices": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "info": {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "OF Controller"
                            },
                            "property": {
                                "type": "object",
                                "properties": {
                                    "custom_label": {
                                        "type": "string",
                                        "default": ""
                                    }
                                },
                                "required": [
                                    "custom_label"
                                ]
                            },
                            "group": {
                                "type": "array",
                                "items": {}
                            }
                        },
                        "required": [
                            "type",
                            "property",
                            "group"
                        ]
                    },
                    "id": {
                        "type": "string",
                        "default": "ctr1"
                    }
                },
                "required": [
                    "info",
                    "id"
                ]
            }
        }
    },
    "required": [
        "edges",
        "vertices"
    ]
}