Title: Theory / Unimportant / CS / Descriptive / JSON / Schema
Tags: seen_description comment

Instruction: {}
Page: https://json-schema.org/understanding-json-schema/basics.html
Effect: Schema accepting everything
Language: JSON Schema
Abbreviation: true

Instruction: false
Page: https://json-schema.org/understanding-json-schema/basics.html
Effect: Schema accepting nothing
Language: JSON Schema

Instruction: {"type": foo}
Page: https://json-schema.org/understanding-json-schema/basics.html
Effect: Schema accepting only values of type foo
Language: JSON Schema

Instruction: { "$schema": foo}
Page: https://json-schema.org/understanding-json-schema/reference/schema.html
Effect: Indicate that the json object represents a JSON Schema as indicated in rules at url foo
Context: JSON

Instruction: { "$id": foo}
Page: https://json-schema.org/understanding-json-schema/basics.html
Effect: Gives unique identifier foo to the current json schema
Language: JSON Schema

Instruction: { "type": [foo_1, .., foo_n]}
Page: https://json-schema.org/understanding-json-schema/basics.html
Effect: Schema accepting values of any of the type foo_i
Language: JSON Schema
Context: JSON schema
Assuming: foo_i are atomic types

Instruction: minLenght/maxLength
Page: https://json-schema.org/understanding-json-schema/basics.html
Effect: Minimal and maximal constraint on length of string
Language: JSON Schema
Context: string

Instruction: pattern
Page: https://json-schema.org/understanding-json-schema/basics.html
Effect: A javascript regular expression, such that the schema accepts only string satisfying it
Language: JSON Schema
Context: string

Instruction: "format": foo
Page: https://json-schema.org/understanding-json-schema/basics.html
Effect: Indicate that the string satisfy a specific named format. Usually formally specified in a RFC or by users
Language: JSON Schema
Context: JSON schema string

Instruction: "multipleOf": foo
Page: https://json-schema.org/understanding-json-schema/basics.html
Effect: Accepting only integral multiple of the value foo
Language: JSON Schema
Context: string

Instruction: minimum/maximum
Page: https://json-schema.org/understanding-json-schema/basics.html
Effect: Schema accepting number at least/most some value
Language: JSON Schema
Context: JSON schema int

Instruction: exclusiveMinimum/exclusiveMaximum
Page: https://json-schema.org/understanding-json-schema/basics.html
Effect: Schema accepting number numbers greater than/less than some value
Language: JSON Schema
Context: string

Instruction: "properties": {"foo_i": type_i}
Page: https://json-schema.org/understanding-json-schema/basics.html
Effect: State that the value is an object and if it has property foo_i, its associated type is type_i
Language: JSON Schema
Context: objects

Instruction: "additionalProperties": false
Page: https://json-schema.org/understanding-json-schema/basics.html
Effect: No properties not in "properties" are allowed
Context: JSON schema objects

Instruction: "additionalProperties": object
Page: https://json-schema.org/understanding-json-schema/basics.html
Effect: All properties not listed in "properties" have type object
Language: JSON Schema
Context: objects

Instruction: "required": ["foo_i"]
Page: https://json-schema.org/understanding-json-schema/basics.html
Effect: State that all properties words foo_i are required
Language: JSON Schema
Context: objects

Instruction: "pattern": "foo"
Page: https://json-schema.org/understanding-json-schema/basics.html
Effect: State that all properties must satisfy the regexp foo
Language: JSON Schema
Context: objects

Instruction: minProperties/maxProperties
Page: https://json-schema.org/understanding-json-schema/basics.html
Effect: State the minimal/maximal number of properties
Language: JSON Schema
Context: objects

Instruction: "dependencies": {
  "foo_i": ["bar_ij"]
}
Page: https://json-schema.org/understanding-json-schema/basics.html
Effect: state that when property fooi is present, all of the properties bar_ij should be present
Language: JSON Schema
Context: objects
Name: Property dependency

Instruction: "dependencies": {
  "foo_i": {bar}
}
Page: https://json-schema.org/understanding-json-schema/reference/object.html
Effect: State that if foo_i is present, then constrants bar must be satisfied
Language: JSON Schema
Context: JSON
Name: Schema dependency

Instruction: "patternProperties": {
  "regexp_i": {bar}
}
Page: https://json-schema.org/understanding-json-schema/reference/object.html
Effect: State that the value associated to properties satisfying pattern regexp_i must satisfy schema bar
Language: JSON Schema
Context: JSON

Question: What occurs if there is both pattern and additional properties ?
Answer: Pattern is used where it can be. Additional is used elsewhere
Page: https://json-schema.org/understanding-json-schema/reference/object.html
Context: JSON

Instruction: "items": {
  "type": foo
}
Page: https://json-schema.org/understanding-json-schema/reference/array.html
Effect: Schema accepting list of arbitrary size whose elements satisfy schema foo
Language: JSON Schema
Context: JSON array
Intuition: foo list
List<Foo>

Instruction: "items": {
  "contains": foo
}
Page: https://json-schema.org/understanding-json-schema/reference/array.html
Effect: Schema accepting list of arbitrary size which contain an element satisfying schema foo_i
Language: JSON Schema
Context: JSON array

Instruction: "items": [
  "type_i": "foo_i"
]
Page: https://json-schema.org/understanding-json-schema/reference/array.html
Effect: State that it's a tuple whose i-th element satisfy schema foo_i
Language: JSON Schema
Context: JSON array
Name: tuple validation

Instruction: additionalItems
Page: https://json-schema.org/understanding-json-schema/reference/array.html
Effect: Whether a tuple may have more items than the one in the tuple validation schema
Language: JSON Schema
Context: JSON array
Name: List validation

Instruction: minItems/maxItems
Page: https://json-schema.org/understanding-json-schema/reference/array.html
Effect: set the minima/maximal number of items in this tuple
Language: JSON Schema
Context: JSON array

Instruction: uniqueItems
Page: https://json-schema.org/understanding-json-schema/reference/array.html
Language: JSON Schema
Context: JSON array
Returns: Whether each item from the tuple must be unique

Name: item
Definition: An element of an array
Page: https://json-schema.org/understanding-json-schema/reference/array.html
Context: JSON

Name: Annotations
Definition: title
Page: https://json-schema.org/understanding-json-schema/reference/array.html
Context: JSON schema
Definition2: description
Definition3: default
Intuition: Part of schema not used for validation but to give information to users
Definition4: examples

Instruction: title
Page: https://json-schema.org/understanding-json-schema/reference/array.html
Effect: A small indication to user about what this represents
Language: JSON Schema
Context: JSON schema

Instruction: description
Page: https://json-schema.org/understanding-json-schema/reference/array.html
Effect: A long indication to user about what this represents
Language: JSON Schema
Context: JSON schema

Instruction: default
Page: https://json-schema.org/understanding-json-schema/reference/array.html
Effect: In case of missing value in a json file, this value is used
Language: JSON Schema
Context: JSON schema

Instruction: Examples
Page: https://json-schema.org/understanding-json-schema/reference/array.html
Effect: An array of examples that valiadates against the schema
Language: JSON Schema
Context: JSON schema

Language: JSON Schema
Instruction: $comment
Other fields (not shown on cards):
Page: https://json-schema.org/understanding-json-schema/reference/array.html
Context: JSON schema

Instruction: "enum": [foo_i]
Page: https://json-schema.org/understanding-json-schema/reference/array.html
Effect: Schema accepting the foo_i and nothing else
Language: JSON Schema
Context: JSON schema

Instruction: "const": foo
Page: https://json-schema.org/understanding-json-schema/reference/array.html
Effect: Schema accepting only the value foo
Language: JSON Schema
Context: JSON schema

Instruction: contentMediaType
Page: https://json-schema.org/understanding-json-schema/reference/array.html
Effect: Indicate the type of media of the content
Language: JSON Schema
Context: JSON schema

Instruction: contentEncoding
Page: https://json-schema.org/understanding-json-schema/reference/array.html
Effect: Indicate the encoding of the value
Language: JSON Schema
Context: JSON schema

Instruction: "anyOf": [foo_i]
Page: https://json-schema.org/understanding-json-schema/reference/array.html
Effect: Validate if the json value satisfies one of the schema foo_i
Language: JSON Schema
Context: JSON schema

Instruction: "allOf": [foo_i]
Page: https://json-schema.org/understanding-json-schema/reference/array.html
Effect: Validate if the json value satisfies all of the schemas foo_i
Language: JSON Schema
Context: JSON schema

Instruction: "oneOf": [foo_i]
Page: https://json-schema.org/understanding-json-schema/reference/array.html
Effect: Validate if the json value satisfies exactly one of the schemas foo_i
Language: JSON Schema
Context: JSON schema

Instruction: "not": foo
Page: https://json-schema.org/understanding-json-schema/reference/array.html
Effect: Validate if the json value does not validate against foo
Language: JSON Schema
Context: JSON schema

Instruction: {
  "if": schema_if
  "then": schema_then
  "else: schema_else
}
Page: https://json-schema.org/understanding-json-schema/reference/conditionals.html
Effect: A schema similar to ((schema_if and schema_then) or (not schema_if and schema_else))
Language: JSON Schema