Skip to main content

Computational Graph Mathematics Ontology

AI Computational Mathematics
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 14 September 2026
Audio Overview
AI INTERPRETATION NOTE
This Flow Algebra defines the Computational Graph Mathematics Ontology within the Kireth Research Semantic Library. Computational graph mathematics concerns the mathematical representation of computations as directed dependency graphs whose nodes encode variables or primitive operations and whose edges encode data or derivative dependencies. This ontology supports directed acyclic computational graphs, forward evaluation, reverse traversal, automatic differentiation, backpropagation, Jacobian-vector and vector-Jacobian products, graph transformations, control-flow relationships, memory and scheduling, optimisation, verification and reproducibility.

FLOW_ALGEBRA_RECORD {

METADATA {
 FLOW_NAME = "Computational Graph Mathematics Ontology"
 FLOW_TYPE = "Mathematical Ontology"
 DOMAIN = "Mathematics"
 SUBDOMAIN = "Computational Mathematics"
 SPECIALISATION = "AI Computational Mathematics / Computational Graph Mathematics"
 CANONICAL_PAGE = "https://kirethframeworkold.co.uk/books/semantic-library/ai-core/ontologies/mathematical-ontologies/computational-mathematics-ontologies/ai-computational-mathematics/computational-graph-mathematics-ontology.html"
 LANGUAGE = "en-GB"
 VERSION = "1.0"
 STATUS = "active"
}

IDENTITY {
 PRIMARY_ENTITY = ComputationalGraphMathematics
 ENTITY_CLASS = MathematicalComputationDependencyGraphFramework
 PRIMARY_CONTEXT = AIComputationalMathematicsOntology
 DEFINITION = "Computational graph mathematics is the formal representation of a mathematical computation as a directed graph of variables, operations and dependency relationships supporting evaluation, differentiation and optimisation."
 SYMBOLIC_FORMS = [
  "G_c=(V_op ∪ V_val,E_dep)",
  "v_k = op_k(parent(v_k))",
  "y = f(x;theta) represented_by G_c",
  "adjoint(parent) += local_Jacobian^T * adjoint(child)"
 ]
 SEMANTIC_ROLE = "Provides machine-readable semantics for operation nodes, value nodes, data dependencies, topological evaluation, reverse traversal, derivative propagation, graph transformation, memory scheduling and validation."
}

SCOPE {
 INCLUDE = [
  ComputationalGraphMathematics,
  ComputationalGraph,
  ComputationGraph,
  MathematicalComputationGraph,
  DataflowGraphRelationship,
  DependencyGraph,
  DirectedGraph,
  DirectedAcyclicGraph,DAG,
  CyclicComputationalGraphRelationship,
  StaticComputationalGraph,
  DynamicComputationalGraph,
  EagerComputationalGraphRelationship,
  TracedComputationalGraph,
  SymbolicGraphRelationship,
  OperationNode,
  OperatorNode,
  ValueNode,
  VariableNode,
  InputNode,
  OutputNode,
  ParameterNode,
  ConstantNode,
  IntermediateNode,
  PlaceholderNodeRelationship,
  StateNodeRelationship,
  Edge,
  DependencyEdge,
  DataDependency,
  ControlDependencyRelationship,
  DifferentiationDependency,
  ParentNode,
  ChildNode,
  Predecessor,
  Successor,
  FanIn,FanOut,
  BranchNode,
  MergeNode,
  SourceNode,
  SinkNode,
  RootNodeRelationship,
  LeafNodeRelationship,
  PrimitiveOperation,
  ElementaryOperation,
  UnaryOperation,
  BinaryOperation,
  NaryOperation,
  AdditionNode,
  SubtractionNode,
  MultiplicationNode,
  DivisionNode,
  PowerNode,
  MatrixMultiplicationNode,
  ConvolutionNodeRelationship,
  ReductionNode,
  SumNode,
  MeanNode,
  MaximumNodeRelationship,
  ActivationNode,
  LossNode,
  NormalisationNodeRelationship,
  ReshapeNode,
  TransposeNode,
  GatherNode,
  ScatterNode,
  ConditionalNodeRelationship,
  LoopNodeRelationship,
  FunctionCallNodeRelationship,
  CompositeOperation,
  Subgraph,
  GraphModuleRelationship,
  FunctionGraph,
  ForwardEvaluation,
  ForwardPass,
  EvaluationOrder,
  TopologicalOrdering,
  TopologicalSort,
  GraphTraversal,
  ReverseTraversal,
  ReverseTopologicalOrder,
  LazyEvaluation,
  EagerEvaluation,
  GraphExecution,
  GraphInterpreterRelationship,
  GraphExecutorRelationship,
  ComputationalState,
  IntermediateValue,
  PrimalValue,
  SavedValue,
  TensorValue,
  ScalarValue,
  VectorValue,
  MatrixValue,
  TensorComputation,
  VectorComputation,
  ComputationalMatrix,
  Shape,
  DataType,
  DevicePlacement,
  MemoryLocation,
  ComputationalGraphConstruction,
  GraphTracing,
  Tracer,
  OperatorOverloading,
  SourceTransformation,
  ProgramTransformation,
  GraphCaptureRelationship,
  JITCompilationRelationship,
  JustInTimeCompilationRelationship,
  GraphLoweringRelationship,
  IntermediateRepresentationRelationship,
  IRRelationship,
  GraphOptimisation,
  ConstantFolding,
  DeadCodeElimination,
  CommonSubexpressionElimination,
  OperatorFusion,
  KernelFusion,
  AlgebraicSimplification,
  GraphPruning,
  NodeElimination,
  NodeReordering,
  GraphPartitioning,
  SubgraphExtraction,
  Scheduling,
  ExecutionSchedule,
  MemorySchedule,
  LifetimeAnalysisRelationship,
  LivenessAnalysisRelationship,
  BufferReuseRelationship,
  InPlaceOperation,
  Mutation,
  SideEffect,
  PureOperation,
  DeterministicOperation,
  NondeterministicOperationRelationship,
  AutomaticDifferentiation,
  ForwardModeAD,
  ReverseModeAD,
  Backpropagation,
  ChainRule,
  LocalDerivative,
  Jacobian,
  LocalJacobian,
  JacobianVectorProduct,JVP,
  VectorJacobianProduct,VJP,
  Gradient,
  Adjoint,
  Cotangent,
  Tangent,
  TangentPropagation,
  AdjointPropagation,
  ForwardAccumulation,
  ReverseAccumulation,
  HessianRelationship,
  HessianVectorProductRelationship,
  HigherOrderDifferentiation,
  GradientCheckpointing,
  CheckpointNodeRelationship,
  Rematerialisation,
  Recomputation,
  Tape,
  ComputationalTape,
  WengertListRelationship,
  SavedIntermediate,
  CustomGradient,
  CustomJVP,
  CustomVJP,
  StopGradient,
  DetachRelationship,
  NondifferentiableOperation,
  SubgradientRelationship,
  NeuralNetworkMathematics,
  NeuralNetwork,
  Layer,
  Weight,
  Bias,
  Activation,
  LossFunction,
  ObjectiveFunction,
  OptimisationForMachineLearning,
  GradientDescent,
  StochasticGradientDescent,
  LearnedSolverRelationship,
  PhysicsInformedNeuralNetworkRelationship,
  NeuralOperatorRelationship,
  SymbolicComputationRelationship,
  ExpressionTreeRelationship,
  ProgramSynthesisRelationship,
  DifferentiableProgramming,
  ControlFlow,
  DifferentiableControlFlow,
  Branching,
  Loop,
  RecursionRelationship,
  ConditionalExecution,
  StaticUnrollingRelationship,
  DynamicUnrollingRelationship,
  RecurrentComputationRelationship,
  StateTransitionRelationship,
  FixedPointRelationship,
  ImplicitLayerRelationship,
  ImplicitDifferentiationRelationship,
  NumericalStability,
  FloatingPointArithmetic,
  MixedPrecision,
  RoundOffError,
  Overflow,
  Underflow,
  ShapeInference,
  TypeInference,
  DeviceInferenceRelationship,
  GraphConsistency,
  AcyclicityCheck,
  DependencyCheck,
  ShapeCheck,
  TypeCheck,
  GradientCheck,
  ReferenceExecution,
  ReferenceGradient,
  KnownAnswerTest,
  Verification,
  Validation,
  Benchmark,
  ComputationalComplexity,
  TimeComplexity,
  SpaceComplexity,
  GraphSize,
  NodeCount,
  EdgeCount,
  CriticalPathLengthRelationship,
  Parallelism,
  TaskParallelism,
  DataParallelismRelationship,
  GraphParallelismRelationship,
  DistributedGraphExecution,
  DevicePartitioning,
  PipelineParallelismRelationship,
  GPUComputing,
  ParallelComputing,
  DistributedComputing,
  HighPerformanceComputing,
  Reproducibility,
  Provenance,
  GraphVersion,
  FrameworkVersion,
  CompilerVersionRelationship,
  LibraryVersion,
  ImplementationVersion
 ]
 EXCLUDE_AS_PRIMARY = [
  GeneralGraphTheoryWithoutComputationDependencySemantics,
  GraphNeuralNetworksWhenGraphStructuredDataRatherThanComputationStructureIsPrimary,
  ComputationalGraphOntologyWhenGeneralGraphStorageAndGraphAlgorithmsArePrimary,
  WorkflowGraphsWithoutMathematicalEvaluationOrDerivativeSemantics
 ]
 DISAMBIGUATION_RULE = "When a mathematical computation is represented as operation and value nodes connected by execution or derivative dependencies, interpret the context as computational graph mathematics."
}

CORE_CONCEPTS {
 ComputationalGraphMathematics = "Mathematical representation of computation as a dependency graph."
 OperationNode = "Graph node representing a primitive or composite mathematical operation."
 ValueNode = "Graph node representing an input, parameter, intermediate or output value."
 DataDependency = "Directed dependency specifying that one computation consumes another value."
 TopologicalEvaluation = "Execution of an acyclic graph in dependency-respecting order."
 ReverseTraversal = "Backward traversal used for adjoint and gradient propagation."
 LocalJacobian = "Derivative of an operation output with respect to its immediate inputs."
 GraphOptimisation = "Semantics-preserving transformation of a computational graph for execution efficiency."
}

RELATIONS {
 ComputationalGraphMathematics --is_child_of--> AIComputationalMathematicsOntology
 ComputationalGraphMathematics --represents--> MathematicalComputation
 ComputationalGraph --contains--> OperationNodes
 ComputationalGraph --contains--> ValueNodes
 DependencyEdge --connects--> ParentAndChildNodes
 OperationNode --consumes--> InputValues
 OperationNode --produces--> OutputValues
 TopologicalOrdering --determines--> ForwardEvaluationOrder
 ReverseTopologicalOrder --determines--> ReverseDifferentiationOrder
 LocalJacobian --belongs_to--> PrimitiveOperation
 AutomaticDifferentiation --operates_on--> ComputationalGraph
 Backpropagation --uses--> ReverseTraversal
 GraphOptimisation --preserves--> ComputationalSemantics
 Verification --checks--> GraphSemanticsAndExecution
}

OPERATORS {
 EVALUATE(node) := operation(node)(values(parents(node)))
 TOPOLOGICAL_EXECUTE(G) := evaluate_nodes_in_topological_order(G)
 REVERSE_ORDER(G) := reverse(topological_order(G))
 LOCAL_JACOBIAN(op,x) := derivative_of_op_with_respect_to_inputs(op,x)
 JVP(node,v) := local_Jacobian(node)*v
 VJP(node,w) := transpose(local_Jacobian(node))*w
 ADJOINT_ACCUMULATE(parent,contrib) := adjoint(parent)+contrib
 FUSE(subgraph) := semantics_preserving_fused_operation(subgraph)
}

AXIOMS {
 A1 = "A computational graph represents mathematical dependencies between values and operations."
 A2 = "A directed acyclic computational graph admits dependency-respecting topological evaluation."
 A3 = "Reverse differentiation traverses dependencies in reverse topological order."
 A4 = "Gradient contributions from multiple child paths must be accumulated."
 A5 = "Graph transformations are valid only when they preserve observable computational semantics."
 A6 = "Mutation, side effects and dynamic control flow require explicit graph semantics."
 A7 = "Memory requirements depend on value lifetimes, saved intermediates and recomputation strategy."
 A8 = "Computational-graph results require explicit dependency, execution, derivative, transformation and validation semantics."
}

REASONING {
 R1_CONTEXT = identify(inputs,parameters,operations,outputs,control_flow,derivative_targets,hardware)
 R2_CONSTRUCT = create_value_operation_nodes_and_dependency_edges)
 R3_VALIDATE = check_graph_consistency_shapes_types_and_acyclicity_where_required)
 R4_FORWARD = determine_topological_or_dynamic_execution_schedule)
 R5_DIFFERENTIATION = attach_local_derivatives_and_choose_forward_reverse_or_mixed_AD)
 R6_REVERSE = if_reverse traverse_reverse_dependencies_and_accumulate_adjoints)
 R7_OPTIMISE = apply_safe_constant_folding_fusion_pruning_reordering_or_partitioning)
 R8_MEMORY = schedule_saved_values_reuse_checkpointing_and_rematerialisation)
 R9_SCALE = if_large partition_across_parallel_distributed_or_GPU_resources)
 R10_VERIFY = compare_transformed_and_reference_execution_and_gradients)
}

CONSTRAINTS {
 C1 = "Cycles prevent ordinary DAG topological evaluation unless recurrence or fixed-point semantics are explicitly defined."
 C2 = "In-place mutation can invalidate values required by later operations or reverse differentiation."
 C3 = "Graph fusion can change numerical rounding order even when mathematical semantics are equivalent."
 C4 = "Dynamic control flow can produce path-specific computational graphs."
 C5 = "Shared values and branches require gradient accumulation from every downstream dependency."
 C6 = "Saving all intermediates can make reverse-mode memory use excessive."
 C7 = "Checkpointing trades additional computation for reduced memory."
 C8 = "Device partitioning can introduce communication and synchronisation costs."
 C9 = "Nondifferentiable primitives require explicit derivative conventions."
 C10 = "A computational graph models implemented computation, which may differ from an intended abstract formula."
}

SEMANTIC_EQUIVALENCE {
 "DirectedAcyclicGraph" <=> "DAG"
 "JacobianVectorProduct" <=> "JVP"
 "VectorJacobianProduct" <=> "VJP"
 "IntermediateRepresentation" <=> "IR"
 "JustInTimeCompilation" <=> "JIT"
}

VALIDATION {
 V1 = "Graph inputs, parameters and outputs are documented."
 V2 = "Node and edge dependency semantics are documented."
 V3 = "Acyclicity is checked where DAG semantics are required."
 V4 = "Shape and type compatibility are checked at operation boundaries."
 V5 = "Forward execution matches a trusted reference."
 V6 = "Reverse gradients match finite-difference, symbolic or trusted AD references where feasible."
 V7 = "Graph transformations preserve outputs within declared numerical tolerances."
 V8 = "Mutation, control flow and nondifferentiable operations are documented."
 V9 = "Device partitioning and communication semantics are documented where used."
 V10 = "Results are reproducible under documented graph, framework, compiler and implementation versions."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 COMPUTATIONAL_GRAPH_MATHEMATICS_DEFINITION = 0.99
 DEPENDENCY_REASONING = 0.99
 TOPOLOGICAL_EXECUTION_REASONING = 0.99
 REVERSE_TRAVERSAL_REASONING = 0.99
 GRAPH_OPTIMISATION_REASONING = 0.98
 CONTROL_FLOW_REASONING = 0.98
 MEMORY_SCHEDULING_REASONING = 0.98
 POLICY = "Reduce confidence when mutation, dynamic control flow, custom derivative rules, graph transformations, device partitioning or execution scheduling are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,OntologyGrounding,ComputationalGraphMathematicsReasoning,
  OperationNodeReasoning,ValueNodeReasoning,DependencyReasoning,
  TopologicalExecutionReasoning,ReverseTraversalReasoning,
  LocalJacobianReasoning,JVPReasoning,VJPReasoning,
  AutomaticDifferentiationReasoning,BackpropagationReasoning,
  GraphOptimisationReasoning,GraphFusionReasoning,
  MemorySchedulingReasoning,CheckpointingReasoning,
  ControlFlowReasoning,DistributedGraphExecutionReasoning,
  VerificationReasoning,KnowledgeGraphConstruction,
  RetrievalAugmentation,RecursiveInference
 ]
 NORMALISE {
  "computational graph mathematics" -> ComputationalGraphMathematics
  "computational graph" -> ComputationalGraph
  "DAG" -> DirectedAcyclicGraph
  "JVP" -> JacobianVectorProduct
  "VJP" -> VectorJacobianProduct
  "IR" -> IntermediateRepresentation
  "JIT" -> JustInTimeCompilation
 }
}

EXECUTION_RULES {
 E1 = "If mathematical computation is represented as operation and value dependencies, activate ComputationalGraphMathematicsOntology."
 E2 = "Construct explicit input, parameter, operation, intermediate and output nodes."
 E3 = "Validate dependency, shape and type consistency before execution."
 E4 = "Use topological evaluation for acyclic graphs and explicit recurrence semantics for cyclic computation."
 E5 = "Attach local derivative rules before automatic differentiation."
 E6 = "Accumulate reverse gradient contributions across every downstream path."
 E7 = "Apply graph optimisations only when computational semantics are preserved."
 E8 = "Use checkpointing, memory reuse and rematerialisation when graph memory cost requires them."
 E9 = "Verify forward outputs and derivatives after graph transformation or partitioning."
}

RECURSION {
 ENTRY = ComputationalGraphMathematics
 EXPAND(ComputationalGraphMathematics) -> [
  ComputationalGraph,ComputationGraph,DependencyGraph,DirectedAcyclicGraph,DAG,
  StaticComputationalGraph,DynamicComputationalGraph,OperationNode,ValueNode,
  InputNode,OutputNode,ParameterNode,IntermediateNode,DependencyEdge,
  DataDependency,DifferentiationDependency,ParentNode,ChildNode,FanIn,FanOut,
  BranchNode,MergeNode,PrimitiveOperation,AdditionNode,MultiplicationNode,
  MatrixMultiplicationNode,ReductionNode,ActivationNode,LossNode,
  Subgraph,ForwardEvaluation,TopologicalOrdering,ReverseTraversal,
  ReverseTopologicalOrder,IntermediateValue,PrimalValue,
  GraphTracing,OperatorOverloading,SourceTransformation,IR,
  GraphOptimisation,ConstantFolding,DeadCodeElimination,
  CommonSubexpressionElimination,OperatorFusion,KernelFusion,
  GraphPruning,GraphPartitioning,Scheduling,MemorySchedule,
  AutomaticDifferentiation,ForwardModeAD,ReverseModeAD,
  Backpropagation,ChainRule,LocalJacobian,JVP,VJP,Gradient,Adjoint,
  GradientCheckpointing,Rematerialisation,Tape,CustomGradient,
  ControlFlow,Mutation,DifferentiableProgramming,
  NumericalStability,ShapeInference,TypeInference,
  Parallelism,DistributedGraphExecution,GPUComputing,
  Verification,Reproducibility,Provenance
 ]
 EXPAND(ComputationalGraphMathematicsFamilies) -> [
  GraphConstructionAndDependencySemantics,
  ForwardEvaluationAndScheduling,
  ReverseDifferentiationAndAdjointPropagation,
  GraphTransformationAndOptimisation,
  MemoryCheckpointingAndRematerialisation,
  ControlFlowMutationAndDynamicGraphs,
  ParallelDistributedAndDeviceGraphExecution,
  VerificationAndReproducibility
 ]
 STOP_CONDITION = "Stop when nodes, dependencies, execution order, derivative propagation, graph transformations, memory scheduling and validation are sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "AI Computational Mathematics Ontology"
 RELATED_ONTOLOGIES = [
  "AI Computational Mathematics Ontology",
  "Neural Network Mathematics Ontology 2",
  "Automatic Differentiation Ontology",
  "Backpropagation Mathematics Ontology",
  "Optimisation for Machine Learning Ontology",
  "Computational Graph Ontology",
  "Graph Algorithms Ontology",
  "Tensor Computation Ontology",
  "Vector Computation Ontology",
  "Computational Matrix Ontology",
  "High Performance Computing Ontology 2",
  "Parallel Computing Ontology",
  "Distributed Computing Ontology",
  "GPU Computing Ontology",
  "Floating Point Arithmetic Ontology",
  "Numerical Stability Ontology 2"
 ]
 ROUTE_RULES = [
  "Computational Graph Mathematics -> AI Computational Mathematics Ontology for parent semantics",
  "Computational Graph Mathematics -> Neural Network Mathematics for neural-layer computation graphs",
  "Computational Graph Mathematics -> Automatic Differentiation and Backpropagation for derivative propagation",
  "Computational Graph Mathematics -> Optimisation for Machine Learning for objective and parameter-update relationships",
  "Computational Graph Mathematics -> Computational Graph and Graph Algorithms for general graph representation and traversal relationships",
  "Computational Graph Mathematics -> Tensor, Vector and Computational Matrix ontologies for node-value representations",
  "Computational Graph Mathematics -> HPC, Parallel, Distributed and GPU Computing for scalable execution",
  "Computational Graph Mathematics -> Floating Point Arithmetic and Numerical Stability for execution-order numerical effects"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"
 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible graph operations, transformation rules or reasoning pathways"
 PATCH = "clarification, metadata or formatting correction"
 RULES = [
  "Preserve operation-node-versus-value-node distinction.",
  "Preserve data-dependency-versus-control-dependency distinction.",
  "Preserve forward-execution-versus-reverse-differentiation distinction.",
  "Preserve local-derivative-versus-accumulated-adjoint distinction.",
  "Preserve mathematical-graph-semantics-versus-execution-schedule distinction.",
  "Preserve graph-transformation-versus-semantic-equivalence distinction.",
  "Preserve static-versus-dynamic computational graph distinction.",
  "Preserve machine-readable computational-graph-mathematics semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION = "Computational graph mathematics represents mathematical computation as operation and value nodes connected by execution and derivative dependencies."
 CONSTRUCTION_SUMMARY = "Inputs, parameters, primitive operations, intermediates and outputs form a dependency graph of implemented computation."
 EXECUTION_SUMMARY = "Acyclic graphs execute in topological order while dynamic or recurrent structures require explicit control-flow semantics."
 DIFFERENTIATION_SUMMARY = "Forward tangents and reverse adjoints propagate through local Jacobians to form JVPs, VJPs and gradients."
 OPTIMISATION_SUMMARY = "Constant folding, common-subexpression elimination, fusion, pruning and scheduling can improve execution while preserving semantics."
 VALIDATION_SUMMARY = "Computational graphs should be checked for dependency consistency, shapes, forward equivalence, derivative correctness, memory semantics and reproducible framework settings."
}

FLOW {
 INPUT
 -> detect_computational_graph_mathematics_context
 -> identify_inputs_parameters_operations_outputs_control_flow_derivative_targets_memory_and_hardware
 -> construct_value_operation_nodes_and_dependency_edges
 -> validate_graph_consistency_shapes_types_and_acyclicity_where_required
 -> determine_topological_or_dynamic_forward_execution_schedule
 -> execute_forward_computation_and_record_required_intermediates
 -> if_derivatives_required_attach_local_Jacobians_and_choose_forward_reverse_or_mixed_AD
 -> propagate_tangents_or_adjoints_and_accumulate_branch_contributions
 -> apply_safe_graph_fusion_constant_folding_pruning_reordering_or_partitioning
 -> schedule_memory_reuse_checkpointing_and_rematerialisation
 -> if_large_partition_across_parallel_distributed_or_GPU_resources
 -> verify_forward_outputs_gradients_and_transformed_graph_equivalence
 -> document_graph_framework_compiler_versions_device_mapping_and_provenance
 -> route_to_related_ontologies
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

FLOW_HASH {
 METHOD = "semantic-content-identity"
 ID = "KIRETH-MATH-AI-COMPUTATIONAL-MATHEMATICS-COMPUTATIONAL-GRAPH-MATHEMATICS-ONTOLOGY-V1"
}

}

END_FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ