noctis.data_architecture.datamodel.Node

pydantic model noctis.data_architecture.datamodel.Node[source]

Represents a node in a graph with a unique identifier and optional properties.

Show JSON schema
{
   "title": "Node",
   "description": "Represents a node in a graph with a unique identifier and optional properties.",
   "type": "object",
   "properties": {
      "node_label": {
         "pattern": "^[A-Z][\\w\\-]*$",
         "title": "Node Label",
         "type": "string"
      },
      "uid": {
         "pattern": "^[A-Z]{0,3}{1,2}\\d+$",
         "title": "Uid",
         "type": "string"
      },
      "properties": {
         "anyOf": [
            {
               "additionalProperties": true,
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": {},
         "title": "Properties"
      }
   },
   "required": [
      "node_label",
      "uid"
   ]
}

Config:
  • populate_by_name: bool = True

  • frozen: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field node_label: StringConstraints(strip_whitespace=None, to_upper=None, to_lower=None, strict=None, min_length=None, max_length=None, pattern=^[A-Z][\w\-]*$)] [Required]
Constraints:
  • pattern = ^[A-Z][w-]*$

field properties: Annotated[dict | None, FieldInfo(annotation=NoneType, required=False, default={})] = {}
field uid: StringConstraints(strip_whitespace=None, to_upper=None, to_lower=None, strict=None, min_length=None, max_length=None, pattern=^[A-Z]{0,3}{1,2}\d+$)] [Required]
Constraints:
  • pattern = ^[A-Z]{0,3}{1,2}d+$

get(attribute_name: str) any[source]