<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="https://relationalexistence.com/dnrtml"
xmlns:dnr="https://relationalexistence.com/dnrtml"
elementFormDefault="qualified">
<!-- Simple Type Definitions -->
<xs:simpleType name="ScaleType">
<xs:annotation>
<xs:documentation>Defines measurement or interaction scale, e.g., relative or absolute.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="relative"/>
<xs:enumeration value="absolute"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SphereType">
<xs:annotation>
<xs:documentation>Categorizes dynamic groupings within tensors, extensible for various contexts.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:simpleType name="DirectionType">
<xs:annotation>
<xs:documentation>Specifies relationship directionality, e.g., unidirectional, bi-directional.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="unidirectional"/>
<xs:enumeration value="bi-directional"/>
<xs:enumeration value="multi-directional"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="InfluenceType">
<xs:annotation>
<xs:documentation>Defines influence type in relationships, adaptable to specific domains.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:simpleType name="TimeUnit">
<xs:annotation>
<xs:documentation>Specifies time units, adaptable to various contexts.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:simpleType name="ProbabilityDistributionType">
<xs:annotation>
<xs:documentation>Defines probability distributions for uncertain relationships.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="normal"/>
<xs:enumeration value="uniform"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TimeModelType">
<xs:annotation>
<xs:documentation>Defines temporal structure for relational dynamics, e.g., linear, cyclical.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="linear"/>
<xs:enumeration value="cyclical"/>
<xs:enumeration value="multidimensional"/>
</xs:restriction>
</xs:simpleType>
<!-- Complex Type Definitions -->
<xs:complexType name="EvolvingAttributesType">
<xs:annotation>
<xs:documentation>Describes attributes that evolve over time, e.g., density, engagement.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="densityThreshold" type="xs:decimal"/>
<xs:element name="engagementLevel" type="xs:decimal"/>
<xs:element name="phase" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SphereDynamicsType">
<xs:annotation>
<xs:documentation>Captures dynamic changes within groupings, e.g., time-stamped events.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="timestamp" type="xs:dateTime"/>
<xs:element name="changeType" type="xs:string"/>
<xs:element name="involvedSpheres" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="criteria" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="EventType">
<xs:annotation>
<xs:documentation>Defines events triggering relational changes in modeling systems.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="type" type="xs:string"/>
<xs:element name="source" type="xs:string"/>
<xs:element name="timestamp" type="xs:dateTime"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="EventHandlerType">
<xs:annotation>
<xs:documentation>Handles dynamic events with conditions and actions, referencing temporal context.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="eventType" type="xs:string"/>
<xs:element name="condition" type="xs:string"/>
<xs:element name="actions" type="xs:string"/>
<xs:element name="temporal_perspective_ref" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>References a temporal perspective for event timing.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ExternalDataType">
<xs:annotation>
<xs:documentation>Integrates external data sources for modeling systems.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="source" type="xs:string"/>
<xs:element name="format" type="xs:string"/>
<xs:element name="mapping" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<!-- Core Elements -->
<xs:element name="temporal_perspective">
<xs:complexType>
<xs:annotation>
<xs:documentation>Models temporal influence on relational dynamics across domains.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="model" type="dnr:TimeModelType" minOccurs="1">
<xs:annotation>
<xs:documentation>Time model: linear, cyclical, or multidimensional.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="reference_frame" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Context-specific temporal reference, e.g., timeline for updates.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="granularity" type="xs:decimal" minOccurs="0">
<xs:annotation>
<xs:documentation>Time resolution, e.g., hours, days.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="temporal_weight" type="xs:decimal" minOccurs="0">
<xs:annotation>
<xs:documentation>Relative importance of time in dynamics.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="entity_id" type="xs:string" use="optional"/>
<xs:attribute name="context_id" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="grammar">
<xs:complexType>
<xs:annotation>
<xs:documentation>Defines adaptive rules for parsing relational structures, supporting NLU.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="rule" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="pattern" type="xs:string" minOccurs="1">
<xs:annotation>
<xs:documentation>Pattern to match, e.g., data structure.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="action" type="xs:string" minOccurs="1">
<xs:annotation>
<xs:documentation>Action to take, e.g., parse data.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="context_ref" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Reference to relational context.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required"/>
<xs:attribute name="adaptivity" type="xs:decimal" use="optional">
<xs:annotation>
<xs:documentation>Controls rule evolution rate.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="semantics">
<xs:complexType>
<xs:annotation>
<xs:documentation>Maps contexts to meanings for NLU across domains.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="meaning" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="value" type="xs:string" minOccurs="1">
<xs:annotation>
<xs:documentation>Meaning or interpretation, e.g., data insight.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="context_ref" type="xs:string" minOccurs="1">
<xs:annotation>
<xs:documentation>Reference to relational context.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="confidence" type="xs:decimal" minOccurs="0">
<xs:annotation>
<xs:documentation>Confidence score for meaning accuracy.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="emergence_rate" type="xs:decimal" use="optional">
<xs:annotation>
<xs:documentation>Rate of new semantic pattern emergence.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="emergence_link">
<xs:complexType>
<xs:annotation>
<xs:documentation>Links relations to emergent properties across domains.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="source_relation" type="xs:string" minOccurs="1">
<xs:annotation>
<xs:documentation>Relation triggering emergence.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="target_property" type="xs:string" minOccurs="1">
<xs:annotation>
<xs:documentation>Emergent property.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="trigger_condition" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Condition for emergence.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="probability" type="xs:decimal" use="optional">
<xs:annotation>
<xs:documentation>Likelihood of emergence, aligned with ProbabilityDistributionType.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="context_id" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<!-- Language System -->
<xs:element name="language_system">
<xs:complexType>
<xs:annotation>
<xs:documentation>Models relational language structures for NLU across domains.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="language_tensor" maxOccurs="unbounded"/>
<xs:element name="grammar_tensor" minOccurs="0"/>
<xs:element name="lexical_tensor" minOccurs="0"/>
<xs:element name="semantics_tensor" minOccurs="0"/>
<xs:element ref="dnr:grammar" minOccurs="0"/>
<xs:element ref="dnr:semantics" minOccurs="0"/>
<xs:element ref="dnr:emergence_link" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<!-- Emergent Properties -->
<xs:element name="emergent_properties">
<xs:complexType>
<xs:annotation>
<xs:documentation>Captures emergent behaviors across domains.</xs:documentation>
</xs:annotation>
<xs:sequence>
<!-- Fixed 'distance' block -->
<xs:element name="distance" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element ref="dnr:emergence_link" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="value" type="xs:decimal" use="optional"/>
<xs:attribute name="scale" type="dnr:ScaleType" use="required"/>
<xs:attribute name="sphere_id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<!-- No changes needed to 'time' -->
<xs:element name="time" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element ref="dnr:temporal_perspective" minOccurs="0"/>
<xs:element name="time_model" type="dnr:TimeModelType"/>
<xs:element name="emergence_basis">
<xs:complexType>
<xs:attribute name="type" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Type of emergence, e.g., relational.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element ref="dnr:emergence_link" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="value" type="xs:decimal" use="optional"/>
<xs:attribute name="scale" type="dnr:ScaleType" use="required"/>
<xs:attribute name="sphere_id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Relationships Grouping -->
<xs:element name="relationships">
<xs:complexType>
<xs:annotation>
<xs:documentation>Groups relation elements for organizational clarity.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="relation" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="attribute" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="value" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element ref="dnr:emergence_link" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required"/>
<xs:attribute name="type" type="xs:string" use="required"/>
<xs:attribute name="source" type="xs:string" use="required"/>
<xs:attribute name="target" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Root Element -->
<xs:element name="dNRTML">
<xs:complexType>
<xs:annotation>
<xs:documentation>Root element for dynamic relational tensor modeling.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="tensor" type="dnr:tensorType" maxOccurs="unbounded"/>
<xs:element name="eventHandler" type="dnr:EventHandlerType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="externalData" type="dnr:ExternalDataType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dnr:language_system" minOccurs="0"/>
<xs:element ref="dnr:emergent_properties" minOccurs="0"/>
<xs:element ref="dnr:relationships" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Refined Tensor, Entity, and Relation Types -->
<xs:complexType name="tensorType">
<xs:sequence>
<xs:element name="sphere" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="entity" maxOccurs="unbounded" type="dnr:entityType"/>
</xs:sequence>
<xs:attribute name="type" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="tensor" minOccurs="0" maxOccurs="unbounded" type="dnr:tensorType"/>
<xs:element ref="dnr:relationships" minOccurs="0"/>
<xs:element ref="dnr:language_system" minOccurs="0"/>
<xs:element ref="dnr:emergent_properties" minOccurs="0"/>
<xs:element ref="dnr:visualization" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="type" type="xs:string" use="optional"/>
</xs:complexType>
<xs:complexType name="entityType">
<xs:sequence>
<xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="value" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element ref="dnr:temporal_perspective" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required"/>
<xs:attribute name="type" type="xs:string" use="required"/>
</xs:complexType>
<xs:complexType name="relationType">
<xs:sequence>
<xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="value" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element ref="dnr:emergence_link" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required"/>
<xs:attribute name="type" type="xs:string" use="required"/>
<xs:attribute name="source" type="xs:string" use="required"/>
<xs:attribute name="target" type="xs:string" use="required"/>
</xs:complexType>
<!-- Visualization Element -->
<xs:element name="visualization">
<xs:complexType>
<xs:sequence>
<xs:element name="layout" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="value" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="type" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="updateFrequency" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="value" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="value" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="representation" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="value" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="type" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>