NeuroScheme File Formats

JSON Format

The shema describing the NeuroScheme JSON format is:

{
    "$schema": "NeuroScheme JSON format",
    "$ref": "#/definitions/NeuroSchemeJSON",
    "definitions": {
        "NeuroSchemeJSON": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
                "domain": {
                    "type": "string",
                    "enum": [
                        "congen",
                        "cortex"
                    ],
                    "title": "domain"
                },
                "maximums": {
                    "$ref": "#/definitions/Maximums"
                },
                "entities": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Entity"
                    }
                },
                "relationships": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Relationship"
                    }
                }
            },
            "required": [
                "domain",
                "entities",
                "maximums",
                "relationships"
            ],
            "title": "NeuroSchemeJSON"
        },
        "Entity": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
                "EntityType": {
                    "$ref": "#/definitions/EntityType"
                },
                "RootEntity": {
                    "$ref": "#/definitions/RootEntity"
                },
                "EntityGID": {
                    "type": "string",
                    "format": "integer"
                },
                "EntityData": {
                    "$ref": "#/definitions/Data"
                }
            },
            "required": [
                "EntityData",
                "EntityGID",
                "EntityType",
                "RootEntity"
            ],
            "title": "Entity"
        },
        "Data": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
                "objectLabel": {
                    "type": "string"
                },
                "properties": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Property"
                    }
                }
            },
            "required": [
                "objectLabel",
                "properties"
            ],
            "title": "Data"
        },
        "Property": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
                "label": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                }
            },
            "required": [
                "label",
                "value"
            ],
            "title": "Property"
        },
        "Maximums": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
                "maxWeight": {
                    "type": "string",
                    "format": "integer"
                },
                "maxNbNeurons": {
                    "type": "string",
                    "format": "integer"
                }
            },
            "required": [
                "maxNbNeurons",
                "maxWeight"
            ],
            "title": "Maximums"
        },
        "Relationship": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
                "relationType": {
                    "type": "string"
                },
                "relations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Relation"
                    }
                }
            },
            "required": [
                "relationType",
                "relations"
            ],
            "title": "Relationship"
        },
        "Relation": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
                "Source": {
                    "type": "string",
                    "format": "integer"
                },
                "Dest": {
                    "type": "string",
                    "format": "integer"
                },
                "RelationData": {
                    "$ref": "#/definitions/Data"
                }
            },
            "required": [
                "Dest",
                "Source"
            ],
            "title": "Relation"
        },
        "EntityType": {
            "type": "string",
            "enum": [
                "NeuronPop",
                "NeuronSuperPop"
            ],
            "title": "EntityType"
        },
        "RootEntity": {
            "type": "string",
            "enum": [
                "t",
                "f"
            ],
            "title": "RootEntity"
        }
    }
}

NeuroML Format (XML)

The NeuroML format specifications can be downloaded from the NeuroML website.