{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "schema:ConstraintNode", "title": "ConstraintNode", "description": "The ConstraintNode type is provided to support usecases in which a node in a structured data graph is described with properties which appear to describe a single entity, but are being used in a situation where they serve a more abstract purpose. A [[ConstraintNode]] can be described using [[constraintProperty]] and [[numConstraints]]. These constraint properties can serve a\n variety of purposes, and their values may sometimes be understood to indicate sets of possible values rather than single, exact and specific values.", "type": "object", "allOf": [ { "description": "A utility class that serves as the umbrella for a number of 'intangible' things such as quantities, structured values, etc.", "$ref": "schema:Intangible" } ], "properties": { "constraintProperty": { "description": "Indicates a property used as a constraint. For example, in the definition of a [[StatisticalVariable]]. The value is a property, either from within Schema.org or from other compatible (e.g. RDF) systems such as DataCommons.org or Wikidata.org. ", "oneOf": [ { "anyOf": [ { "type": "string", "format": "uri" }, { "$ref": "schema:Property" } ] }, { "type": "array", "items": { "anyOf": [ { "type": "string", "format": "uri" }, { "$ref": "schema:Property" } ] } } ] }, "numConstraints": { "description": "Indicates the number of constraints property values defined for a particular [[ConstraintNode]] such as [[StatisticalVariable]]. This helps applications understand if they have access to a sufficiently complete description of a [[StatisticalVariable]] or other construct that is defined using properties on template-style nodes.", "oneOf": [ { "type": "integer" }, { "type": "array", "items": { "type": "integer" } } ] } } }