Created
June 24, 2016 14:56
-
-
Save science/6c187f22224d7a5364d7cd3c2cb95563 to your computer and use it in GitHub Desktop.
JSON-LD definition in json-schema format
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"title": "Schema for JSON-LD", | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"definitions":{ | |
"context": { | |
"additionalProperties": true, | |
"properties": { | |
"@context": { | |
"description": "Used to define the short-hand names that are used throughout a JSON-LD document.", | |
"type": ["object", "string", "array", "null"] | |
} | |
} | |
}, | |
"graph": { | |
"additionalProperties": true, | |
"properties": { | |
"@graph": { | |
"description": "Used to express a graph.", | |
"type": ["array", "object"], | |
"additionalItems": { | |
"anyOf": [{ "$ref": "#/definitions/common" }] | |
} | |
} | |
} | |
}, | |
"common":{ | |
"additionalProperties": { | |
"anyOf": [{ "$ref": "#/definitions/common" }] | |
}, | |
"properties": { | |
"@id": { | |
"description": "Used to uniquely identify things that are being described in the document with IRIs or blank node identifiers.", | |
"type": "string", | |
"format": "uri" | |
}, | |
"@value": { | |
"description": "Used to specify the data that is associated with a particular property in the graph.", | |
"type": ["string", "boolean", "number", "null"] | |
}, | |
"@language": { | |
"description": "Used to specify the language for a particular string value or the default language of a JSON-LD document.", | |
"type": ["string", "null"] | |
}, | |
"@type": { | |
"description": "Used to set the data type of a node or typed value.", | |
"type": ["string", "null"] | |
}, | |
"@container": { | |
"description": "Used to set the default container type for a term.", | |
"type": ["string", "null"], | |
"enum": ["@list", "@index", "@set"] | |
}, | |
"@list": { | |
"description": "Used to express an ordered set of data." | |
}, | |
"@set": { | |
"description": "Used to express an unordered set of data and to ensure that values are always represented as arrays." | |
}, | |
"@reverse": { | |
"description": "Used to express reverse properties.", | |
"type": ["string", "object", "null"], | |
"additionalProperties": { | |
"anyOf": [{ "$ref": "#/definitions/common" }] | |
} | |
}, | |
"@base": { | |
"description": "Used to set the base IRI against which relative IRIs are resolved", | |
"type": ["string", "null"], | |
"format": "uri" | |
}, | |
"@vocab": { | |
"description": "Used to expand properties and values in @type with a common prefix IRI", | |
"type": ["string", "null"], | |
"format": "uri" | |
} | |
} | |
} | |
}, | |
"allOf": [ | |
{ "$ref": "#/definitions/context" }, | |
{ "$ref": "#/definitions/graph" }, | |
{ "$ref": "#/definitions/common" } | |
], | |
"type": ["object", "array"], | |
"additionalProperties": true | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment