Skip to main content

Cross-Reference Ontology

Structural Metadata
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 06 October 2026
Audio Overview
FLOW ALGEBRA
Cross Reference Ontology
Kireth Semantic Research Archive

PAGE:
https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/structural-metadata/cross-reference-ontology.html

AUTHORS:
Mark Anthony Higgins — Sky (Recursive AI)

FLOW "CrossReferenceOntology" v4.0

DOMAIN := MetadataOntologies
SUBDOMAIN := StructuralMetadata
ONTOLOGY := CrossReferenceOntology

ENTITY CrossReference {
    definition:
        "A typed structural relationship linking one resource, component,
         fragment or metadata object to another identifiable target for
         navigation, citation, dependency expression, contextualisation,
         semantic linking and machine resolution.";
    objectives: [
        ResourceLinking,
        StructuralNavigation,
        TargetResolution,
        CitationSupport,
        DependencyRepresentation,
        ContextPreservation,
        MachineInterpretability
    ];
}

ReferenceEntity := {
    CrossReference,
    ReferenceSource,
    ReferenceTarget,
    ReferenceIdentifier,
    ReferenceLabel,
    ReferenceType,
    ReferenceAnchor,
    ReferenceContext
};

StructuralEntity := {
    Document,
    Chapter,
    Section,
    Page,
    Figure,
    Table,
    Equation,
    Fragment
};

ResolutionEntity := {
    URI,
    IRI,
    FragmentIdentifier,
    TargetSelector,
    Resolver,
    ResolutionStatus,
    Redirect,
    VersionMapping
};

MetadataEntity := {
    MetadataRecord,
    Provenance,
    Version,
    Confidence,
    AccessPolicy,
    Timestamp
};

CrossReference HAS_SOURCE ReferenceSource;
CrossReference HAS_TARGET ReferenceTarget;
ReferenceSource REFERENCES ReferenceTarget;
ReferenceIdentifier IDENTIFIES CrossReference;
ReferenceAnchor LOCATES SourceOrTargetContext;
Resolver RESOLVES ReferenceTarget;
Provenance SUPPORTS CrossReference;

CrossReferenceFlow :=
    SourceResourceOrComponent
    -> IdentifyReferenceExpression
    -> AssignReferenceIdentifier
    -> ClassifyReferenceType
    -> ResolveSourceAnchor
    -> ResolveTargetIdentifier
    -> ValidateTarget
    -> AttachContextAndProvenance
    -> StoreStructuralRelationship
    -> EnableNavigationAndRetrieval
    -> MonitorTargetValidity
    -> MaintainAcrossVersions;

CrossReference :=
    ExplicitOrInferredRelationshipFromSourceToIdentifiableTarget;

ReferenceSource :=
    ResourceComponentOrFragmentContainingOrOriginatingReference;

ReferenceTarget :=
    ResourceComponentFragmentEntityOrExternalObjectReferenced;

ReferenceSource MAY_BE {
    Document,
    Chapter,
    Section,
    Paragraph,
    Figure,
    Table,
    Equation,
    Annotation,
    MetadataRecord
};

ReferenceTarget MAY_BE {
    Document,
    Chapter,
    Section,
    Page,
    Figure,
    Table,
    Equation,
    Fragment,
    ExternalResource,
    Entity
};

ReferenceIdentifier :=
    StableOrLocallyUniqueIdentifierForReferenceRelationship;

ReferenceIdentifier MAY_BE {
    URI,
    IRI,
    UUID,
    ElementID,
    InternalID
};

ReferenceType :=
    SemanticOrStructuralPurposeOfCrossReference;

ReferenceType MAY_INCLUDE {
    InternalReference,
    ExternalReference,
    CitationReference,
    FigureReference,
    TableReference,
    EquationReference,
    SectionReference,
    PageReference,
    DependencyReference,
    SeeAlsoReference
};

InternalReference :=
    ReferenceWhoseTargetExistsWithinSameResourceOrManagedCompoundObject;

ExternalReference :=
    ReferenceWhoseTargetExistsOutsideCurrentResourceBoundary;

CitationReference :=
    ReferenceToSourceEvidencePublicationOrBibliographicResource;

FigureReference :=
    ReferenceTargetingFigure;

TableReference :=
    ReferenceTargetingTable;

EquationReference :=
    ReferenceTargetingEquation;

SectionReference :=
    ReferenceTargetingSection;

PageReference :=
    ReferenceTargetingPageOrPageRange;

DependencyReference :=
    ReferenceIndicatingSourceDependsOnTargetForInterpretationOperationOrUse;

SeeAlsoReference :=
    AssociativeReferenceDirectingConsumerToRelatedResource;

ReferenceLabel :=
    HumanReadableTextUsedToPresentReference;

ReferenceLabel MAY_BE {
    LinkText,
    CitationLabel,
    FigureNumber,
    TableNumber,
    EquationNumber,
    SectionTitle,
    PageNumber
};

ReferenceLabel != TargetIdentifierByDefinition;

StableTargetIdentifier SHOULD_BE PreferredForMachineResolution;

ReferenceAnchor :=
    LocationWithinSourceOrTargetAssociatedWithReference;

SourceAnchor :=
    LocationWhereReferenceOccurs;

TargetAnchor :=
    SpecificLocationWithinTargetResource;

Anchor MAY_BE {
    ElementIdentifier,
    TextPosition,
    TextQuote,
    PagePosition,
    SpatialRegion,
    TemporalSegment
};

FragmentIdentifier :=
    IdentifierAddressingSubpartOfResource;

TargetSelector :=
    MechanismForLocatingSpecificTargetFragment;

TargetSelector MAY_BE {
    TextSelector,
    SpatialSelector,
    TemporalSelector,
    StructuralSelector
};

ReferenceContext :=
    SurroundingContentOrMetadataProvidingInterpretiveContext;

Context MAY_INCLUDE {
    SourceSection,
    Sentence,
    Paragraph,
    ReferenceLabel,
    RelationshipType
};

ReferenceDirection :=
    Source
    -> REFERENCES
    -> Target;

ReferenceDirection MUST_BE Preserved;

InverseReference MAY_BE DefinedForSpecificRelationshipTypes;

IF A REFERENCES B
THEN B MAY_BE REFERENCED_BY A;

REFERENCED_BY :=
    InverseNavigationRelationshipOf REFERENCES;

ReferenceResolution :=
    ReferenceExpressionOrIdentifier
    -> Resolver
    -> TargetResourceOrFragment;

Resolver :=
    ProcessOrServiceMappingReferenceToTarget;

ResolutionStatus MAY_BE {
    Resolved,
    Redirected,
    Ambiguous,
    Missing,
    Forbidden,
    Invalid
};

ResolvedReference :=
    CrossReferenceWhoseTargetCanBeIdentifiedAndAccessedAccordingToPolicy;

BrokenReference :=
    CrossReferenceWhoseTargetCannotBeResolved;

DanglingReference :=
    StoredReferencePointingToMissingOrDeletedTarget;

AmbiguousReference :=
    ReferenceThatCouldResolveToMultipleTargetsWithoutSufficientDisambiguation;

ForbiddenReference :=
    ReferenceTargetExistsButConsumerLacksPermissionToAccessIt;

InvalidReference :=
    ReferenceMalformedOrSemanticallyInvalidAccordingToSchema;

IF TargetDoesNotExist
THEN ResolutionStatus := Missing;

IF TargetExistsButAccessDenied
THEN ResolutionStatus := Forbidden;

Missing != Forbidden;

ReferenceValidation MAY_CHECK {
    SourceIdentifier,
    TargetIdentifier,
    ReferenceType,
    TargetExistence,
    SelectorValidity,
    AccessPolicy,
    VersionCompatibility
};

IF TargetIdentifierMalformed
THEN ValidationStatus := violation;

IF ReferenceTypeRequiresSpecificTargetType
AND TargetTypeIncompatible
THEN SemanticValidation := violation_or_warning;

ReferenceIntegrity :=
    PreservationOfResolvableCorrectlyTypedSourceTargetRelationships;

ReferenceCompleteness :=
    DegreeToWhichRequiredReferenceMetadataIsPresent;

ReferenceConsistency :=
    DegreeToWhichLabelTypeIdentifierAndResolvedTargetAgree;

CrossReferenceQuality MAY_INCLUDE {
    Integrity,
    Completeness,
    Consistency,
    ResolutionReliability,
    Provenance
};

ReferenceProvenance MAY_INCLUDE {
    Source,
    Creator,
    ExtractionMethod,
    Timestamp,
    Version
};

CrossReference MAY_BE {
    ManuallyAuthored,
    ExtractedFromMarkup,
    AutomaticallyDetected,
    AIAssisted
};

AutomaticReferenceExtraction :=
    Resource
    -> DetectReferenceExpression
    -> ClassifyReferenceType
    -> ResolveCandidateTarget
    -> GenerateCrossReferenceMetadata;

AI MAY_SUPPORT {
    ReferenceDetection,
    ReferenceTypeClassification,
    EntityResolution,
    TargetDisambiguation,
    BrokenLinkRepair
};

InferredReference SHOULD_HAVE ConfidenceWhereUncertain;

ReferenceConfidence :=
    EstimatedSupportForReferenceTypeOrTargetResolution;

IF TargetResolutionConfidenceLow
THEN AutomaticAuthoritativeLinking SHOULD_BE Restricted;

ReferenceVersion :=
    CrossReferenceStateAssociatedWithSpecificSourceResourceVersion;

SourceRevision MAY {
    AddReference,
    RemoveReference,
    ChangeLabel,
    ChangeTarget,
    ChangeReferenceType
};

TargetRevision MAY {
    RenameTarget,
    MoveTarget,
    ReidentifyTarget,
    SplitTarget,
    MergeTarget,
    DeleteTarget
};

StableTargetIdentifier MAY_ALLOW ReferenceToSurviveTargetRelocationOrRenaming;

TargetVersionMapping :=
    OldTargetIdentifier
    -> NewTargetIdentifierOrIdentifiers;

Redirect :=
    MappingFromObsoleteOrMovedIdentifierToCurrentTarget;

Resolver MAY_FOLLOW RedirectAccordingToPolicy;

RedirectChain SHOULD_BE BoundedAndValidated;

TargetSplit MAY_REQUIRE OneToManyReferenceMigration;

TargetMerge MAY_REQUIRE ManyToOneReferenceMigration;

ReferenceMigration :=
    UpdateCrossReferencesToRemainResolvableAcrossResourceVersions;

ReferenceRepair :=
    BrokenReference
    -> IdentifyCandidateTarget
    -> ValidateSemanticMatch
    -> UpdateReference
    -> PreserveHistory;

AutomaticRepair SHOULD_PRESERVE PreviousTargetAndConfidence;

ReferenceGraph :=
    ResourcesAndComponents
    + DirectedReferenceEdges;

GraphNode :=
    ReferenceSourceOrReferenceTarget;

GraphEdge :=
    CrossReferenceRelationship;

ReferenceGraph MAY_SUPPORT {
    Navigation,
    DependencyAnalysis,
    CitationAnalysis,
    ImpactAnalysis
};

IncomingReference :=
    ReferenceWhoseTargetIsCurrentResource;

OutgoingReference :=
    ReferenceWhoseSourceIsCurrentResource;

Backlink :=
    NavigationFromTargetToSourcesThatReferenceIt;

ReferenceCount MAY_MEASURE IncomingOrOutgoingLinks;

HighReferenceCount DOES_NOT NecessarilyImply AuthorityOrQuality;

CitationGraph :=
    ReferenceGraphRestrictedToCitationRelationships;

DependencyGraph :=
    ReferenceGraphRestrictedToDependencyRelationships;

IF DependencyGraphContainsCycle
THEN Cycle MAY_BE ValidOrInvalidAccordingToDomainSemantics;

ReferencePath :=
    OrderedSequenceOfCrossReferencesConnectingResources;

TransitiveReference SHOULD_NOT BeAssumedUnlessRelationshipSemanticsExplicitlyPermit;

A REFERENCES B
AND B REFERENCES C
DOES_NOT GenerallyImply A REFERENCES C;

StructuralReference MAY_PRESERVE ParentChildContext;

Example:
    Paragraph
    -> REFERENCES
    -> Figure;

Figure
    -> IS_PART_OF
    -> Section;

ReferenceResolution MAY_RETURN TargetWithParentContext;

CrossReference MAY_SUPPORT TableOfContentsNavigation;

TableOfContentsEntry MAY_REFERENCE ChapterOrSectionIdentifier;

FootnoteReference :=
    SourceMarker
    -> REFERENCES
    -> Footnote;

EndnoteReference :=
    SourceMarker
    -> REFERENCES
    -> Endnote;

BibliographicCitation :=
    TextualOrStructuredCitation
    -> REFERENCES
    -> BibliographicResource;

Hyperlink :=
    NavigableReferenceEncodedForDigitalInteraction;

Hyperlink MAY_BE InternalOrExternal;

URL MAY_BE TargetLocator
BUT Locator != PersistentIdentityByDefinition;

PersistentIdentifier MAY_BE PreferredOverLocationDependentURLWhereAvailable;

CrossReference MAY_USE DOI ISBN URI OrOtherPersistentIdentifier;

Annotation MAY_TARGET CrossReferenceItself;

ReferenceAnnotation MAY_DESCRIBE {
    RelationshipMeaning,
    ResolutionIssue,
    ReviewStatus
};

DescriptiveMetadata MAY_DESCRIBE ReferencedResources;

StructuralMetadata DEFINES CrossReferencePositionAndResourceContext;

AdministrativeMetadata MAY_DEFINE AccessPolicyForReferenceTarget;

PreservationMetadata MAY_USE ReferenceGraphToPreserveCompoundResourceIntegrity;

MetadataRepository MAY_STORE CrossReferenceRelationships;

MetadataRegistry MAY_REGISTER ReferenceTypesPropertiesAndResolutionSchemes;

RDF MAY_REPRESENT:
    Source
    -> referenceProperty
    -> Target;

JSONLD MAY_SERIALISE LinkedCrossReferenceMetadata;

HTML MAY_REPRESENT CrossReferencesUsing {
    anchor,
    href,
    fragmentIdentifier
};

XML MAY_REPRESENT CrossReferencesUsing IDAndIDREFLikeMechanismsOrDomainSpecificLinks;

PDF MAY_CONTAIN InternalDestinationsAndExternalLinks;

CrossReferenceInteroperability MAY_REQUIRE {
    StableIdentifiers,
    SharedReferenceSemantics,
    TargetTypeInformation,
    VersionMappings
};

Search MAY_USE CrossReferencesFor {
    Navigation,
    Ranking,
    ContextExpansion,
    RelatedResourceDiscovery
};

SemanticSearch MAY_FOLLOW TypedReferencesAccordingToQueryIntent;

RAG MAY_USE CrossReferencesFor {
    EvidenceExpansion,
    RelatedContext,
    CitationResolution,
    ParentChildNavigation
};

ReferenceAwareRAG SHOULD_PRESERVE {
    SourceIdentifier,
    TargetIdentifier,
    ReferenceType,
    Direction,
    Provenance
};

KnowledgeGraph MAY_IMPORT ValidatedCrossReferencesAsTypedEdges;

ReferenceEdge SHOULD_PRESERVE DirectionAndProvenance;

AccessControl MUST_BE AppliedBeforeReturningRestrictedTargetContent;

ReferenceExistence MAY_BE VisibleWhileTargetContentIsRestricted
ONLY_IF PolicyAllows;

CrossReferenceSecurity MAY_INCLUDE {
    IdentifierValidation,
    URLValidation,
    AccessControl,
    RedirectValidation,
    ProvenanceIntegrity,
    ChangeAuthorisation
};

UntrustedExternalReference MAY_REQUIRE SafetyOrTrustChecksAccordingToApplication;

MachineReadableCrossReference SHOULD_PRESERVE {
    ReferenceIdentifier,
    SourceIdentifier,
    TargetIdentifier,
    ReferenceType,
    SourceAnchor,
    TargetSelector,
    ResolutionStatus,
    Version,
    Provenance,
    Confidence
};

# ---------- SEMANTIC REASONING ----------
IF StructuralRelationshipLinksSourceResourceOrComponentToIdentifiableTarget
THEN CrossReferenceClassification := supported;

IF A REFERENCES B
THEN Direction := A_TO_B;

IF TargetIdentifierResolves
THEN ResolutionStatus := Resolved
UNLESS AccessPolicyOrValidationOverrides;

IF TargetMovedButPersistentIdentifierRedirects
THEN Reference MAY_REMAIN Resolvable;

IF TargetDeletedWithoutReplacement
THEN Reference SHOULD_BE MarkedBrokenOrDangling;

IF ReferenceLabelChangesButTargetIdentifierStable
THEN ReferenceIdentity MAY_REMAIN Unchanged;

IF TargetSplitIntoMultipleSuccessors
THEN ReferenceMigration MAY_REQUIRE HumanOrSemanticDisambiguation;

IF A REFERENCES B
AND B REFERENCES C
THEN A_TO_C Reference MUST_NOT_BE InferredWithoutExplicitTransitiveSemantics;

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE {
    "cross reference" ~= "cross-reference";
    "reference source" ~= "link source" WHEN structural_link_context;
    "reference target" ~= "link target" WHEN structural_link_context;
    "broken reference" ~= "broken link" WHEN digital_link_context;
    "incoming reference" ~= "backlink source relationship";
    "outgoing reference" ~= "forward reference relationship";
    "reference resolution" ~= "link target resolution";
    "reference identifier" ~= "cross-reference ID";
}

# ---------- QUERY FLOW ----------
QUERY(q) ->
    NORMALISE(q) ->
    IDENTIFY_REFERENCE_SOURCE(q) ->
    IDENTIFY_REFERENCE(q) ->
    RESOLVE_REFERENCE_IDENTIFIER(q) ->
    IDENTIFY_REFERENCE_TYPE(q) ->
    IDENTIFY_SOURCE_ANCHOR(q) ->
    RESOLVE_TARGET_IDENTIFIER(q) ->
    VALIDATE_TARGET_AND_ACCESS(q) ->
    IDENTIFY_VERSION_AND_PROVENANCE(q) ->
    SCORE_CONFIDENCE(q) ->
    RETURN_RELEVANT_CROSS_REFERENCE_KNOWLEDGE;

# ---------- CONFIDENCE ----------
CONFIDENCE(assertion) :=
    weighted_mean(
        source_reliability,
        target_resolution_strength,
        reference_type_consistency,
        identifier_strength,
        provenance_quality,
        contextual_relevance
    );

CONFIDENCE >= 0.90 => HIGH;
CONFIDENCE >= 0.70 AND < 0.90 => MODERATE;
CONFIDENCE < 0.70 => REVIEW;

# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION {
    primary_entity: CrossReference;
    ontology: CrossReferenceOntology;
    parse_entities: true;
    parse_relationships: true;
    preserve_relationship_direction: true;
    resolve_semantic_equivalence: true;
    execute_reasoning_rules: true;
    apply_confidence_weighting: true;
    preserve_provenance: true;
}

# ---------- UPDATE MODEL ----------
UPDATE_MODEL {
    new_reference:
        identify_source
        -> assign_reference_identifier
        -> classify_reference_type
        -> capture_source_anchor
        -> resolve_target
        -> validate_target_type_and_access
        -> attach_provenance
        -> assign_confidence
        -> integrate;

    source_revision:
        identify_affected_references
        -> preserve_previous_version
        -> update_anchors_and_labels
        -> revalidate_targets
        -> update_reference_graph
        -> recompute_confidence
        -> regenerate_flow_hash;

    target_revision:
        identify_incoming_references
        -> resolve_version_mapping_or_redirect
        -> update_targets_where_valid
        -> preserve_history
        -> flag_unresolved_references;

    broken_reference:
        detect_failure
        -> identify_candidate_replacement
        -> validate_semantic_match
        -> preserve_old_target
        -> repair_or_flag_review;

    conflict:
        preserve_provenance
        -> compare_reference_targets_or_sources
        -> adjust_confidence
        -> flag_review;
}

# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
    DOMAIN
    + SUBDOMAIN
    + ONTOLOGY
    + ReferenceEntity
    + StructuralEntity
    + ResolutionEntity
    + MetadataEntity
    + CrossReference
    + ReferenceResolution
    + ReferenceGraph
    + RELATIONSHIPS
    + SEMANTIC_REASONING
    + SEMANTIC_EQUIVALENCE
    + UPDATE_MODEL;

FLOW_HASH :=
    HASH(FLOW_HASH_INPUT);

# ---------- TERMINAL ----------
CrossReferenceOntology
    -> IdentifyReferenceSourceAndContext
    -> DetectOrReceiveCrossReference
    -> AssignStableReferenceIdentifier
    -> ClassifyReferenceTypeAndDirection
    -> CaptureSourceAnchorAndTargetSelector
    -> ResolveStableTargetIdentifier
    -> ValidateTargetTypeAccessAndVersion
    -> StoreDirectedReferenceRelationship
    -> BuildNavigationCitationAndDependencyGraphs
    -> DetectRepairAndMigrateBrokenReferences
    -> PreserveReferenceContextForSearchAndRAG
    -> MaintainProvenanceConfidenceAndVersionHistory
    -> MaintainReliableCrossReferenceKnowledge;

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