Skip to main content

Citation Ontology

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

PAGE:
https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/provenance-metadata/citation-ontology.html

AUTHORS:
Mark Anthony Higgins — Sky (Recursive AI)

FLOW "CitationOntology" v4.0

DOMAIN := MetadataOntologies
SUBDOMAIN := ProvenanceMetadata
ONTOLOGY := CitationOntology

ENTITY Citation {
    definition:
        "A structured provenance relationship in which a citing resource,
         assertion or component identifies and references a source resource,
         version or fragment as evidence, attribution, context, comparison,
         acknowledgement or scholarly linkage.";
    objectives: [
        SourceAttribution,
        EvidenceLinking,
        CitationResolution,
        ScholarlyTraceability,
        VersionSpecificReferencing,
        ProvenancePreservation,
        MachineInterpretability
    ];
}

CitationEntity := {
    Citation,
    CitationIdentifier,
    CitingResource,
    CitedResource,
    CitationRecord,
    CitationType,
    CitationContext,
    CitationLocator
};

SourceEntity := {
    Source,
    Publication,
    Document,
    Dataset,
    WebResource,
    Software,
    Model,
    ArchivalResource,
    KnowledgeEntity
};

ReferenceEntity := {
    Reference,
    BibliographicReference,
    InTextCitation,
    FootnoteCitation,
    EndnoteCitation,
    HyperlinkCitation,
    DataCitation,
    SoftwareCitation
};

MetadataEntity := {
    Author,
    Creator,
    Title,
    Publisher,
    PublicationDate,
    Version,
    Identifier,
    Provenance,
    Confidence
};

Citation LINKS CitingResource TO CitedResource;
CitingResource CITES CitedResource;
CitedResource IS_CITED_BY CitingResource;
CitationLocator LOCATES RelevantPartOf CitedResource;
CitationContext DESCRIBES UseOfCitation;
CitationRecord PRESERVES CitationMetadata;
Provenance SUPPORTS CitationRelationship;

CitationFlow :=
    CitingResource
    -> IdentifyCitationExpression
    -> AssignCitationIdentifier
    -> ExtractReferenceMetadata
    -> ResolveCitedResource
    -> ResolveCitedVersion
    -> ResolveCitationLocator
    -> ClassifyCitationTypeAndContext
    -> AttachEvidenceAndProvenance
    -> ValidateCitation
    -> StoreCitationRelationship
    -> EnableTraceabilityAndRetrieval
    -> MaintainAcrossVersions;

Citation :=
    ExplicitStructuredReferenceFromCitingEntityToSourceEntity;

CitingResource :=
    ResourceAssertionOrComponentContainingCitation;

CitingResource MAY_BE {
    Document,
    Article,
    Book,
    Chapter,
    Section,
    Dataset,
    Software,
    Model,
    MetadataRecord,
    KnowledgeAssertion
};

CitedResource :=
    ResourceReferencedByCitation;

CitedResource MAY_BE {
    Publication,
    Document,
    Book,
    Article,
    Chapter,
    Dataset,
    WebResource,
    Software,
    Model,
    ArchivalResource,
    Standard,
    KnowledgeEntity
};

CitationIdentifier :=
    StableOrLocallyUniqueReferenceToCitationRelationship;

CitationIdentifier MAY_BE {
    URI,
    IRI,
    UUID,
    ElementID,
    InternalIdentifier
};

CitationRecord :=
    StructuredMetadataRecordRepresentingCitationAndCitedSource;

CitationType :=
    ClassificationOfCitationFormOrPurpose;

CitationType MAY_INCLUDE {
    BibliographicCitation,
    InTextCitation,
    FootnoteCitation,
    EndnoteCitation,
    HyperlinkCitation,
    DataCitation,
    SoftwareCitation,
    ArchivalCitation,
    LegalCitation,
    StandardCitation
};

BibliographicCitation :=
    StructuredReferenceContainingBibliographicMetadata;

InTextCitation :=
    CitationEmbeddedWithinRunningText;

FootnoteCitation :=
    CitationRepresentedInFootnote;

EndnoteCitation :=
    CitationRepresentedInEndnote;

HyperlinkCitation :=
    CitationImplementedAsNavigableDigitalLink;

DataCitation :=
    CitationIdentifyingDatasetOrDataResource;

SoftwareCitation :=
    CitationIdentifyingSoftwarePackageCodebaseOrVersion;

ArchivalCitation :=
    CitationIdentifyingArchivalResourceCollectionOrItem;

CitationStyle :=
    FormattingConventionUsedToPresentCitation;

CitationStyle MAY_BE {
    AuthorDate,
    Numeric,
    FootnoteBased,
    DomainSpecific,
    Custom
};

CitationStyle != CitationSemanticsByDefinition;

DifferentStyles MAY_REPRESENT SameUnderlyingCitationRelationship;

Reference :=
    HumanOrMachineReadableRepresentationOfCitedResource;

BibliographicReference :=
    StructuredDescriptionOfPublicationOrSource;

ReferenceMetadata MAY_INCLUDE {
    Author,
    Creator,
    Title,
    Publisher,
    PublicationDate,
    Edition,
    Version,
    Identifier,
    Location
};

ReferenceList :=
    CollectionOfBibliographicReferencesAssociatedWithResource;

Bibliography :=
    StructuredCollectionOfReferencesOrSources;

Citation MAY_REFERENCE EntryInReferenceList;

CitationKey :=
    LocalIdentifierLinkingCitationExpressionToReferenceEntry;

CitationKey MAY_BE {
    NumericKey,
    AuthorDateKey,
    SymbolicKey,
    InternalKey
};

CitationKey != PersistentSourceIdentifierByDefinition;

SourceIdentifier :=
    StableOrResolvableIdentifierForCitedResource;

SourceIdentifier MAY_BE {
    DOI,
    URI,
    IRI,
    ISBN,
    ISSN,
    UUID,
    AccessionIdentifier,
    RepositoryIdentifier
};

PersistentIdentifier SHOULD_BE PreferredWhereAvailable;

CitationResolution :=
    CitationMetadataOrIdentifier
    -> Resolve
    -> CanonicalCitedResource;

ResolvedCitation :=
    CitationWhoseTargetResourceCanBeIdentified;

UnresolvedCitation :=
    CitationWhoseTargetCannotBeReliablyIdentified;

AmbiguousCitation :=
    CitationMatchingMultiplePossibleResources;

BrokenCitation :=
    CitationWhosePreviouslyResolvableTargetOrLocatorCannotBeResolved;

ResolutionStatus MAY_BE {
    Resolved,
    Ambiguous,
    Missing,
    Broken,
    Restricted,
    Unknown
};

CitationVersion :=
    VersionOfCitationRecordOrRelationship;

CitedVersion :=
    ExactVersionEditionReleaseOrSnapshotOfCitedResource;

CitedVersion SHOULD_BE PreservedWhereClaimDependsOnVersionSpecificContent;

Edition :=
    PublishedVersionOrFormOfWorkDistinguishedByRevisionOrRelease;

Snapshot :=
    PreservedStateOfMutableSourceAtSpecificTime;

WebCitation SHOULD_PRESERVE {
    URLOrIdentifier,
    AccessDate,
    PublicationOrModificationDateWhereKnown,
    SnapshotWhereAvailable
};

AccessDate :=
    DateCitedWebOrDynamicResourceWasAccessed;

DynamicSource :=
    SourceWhoseContentMayChangeOverTime;

DynamicSourceCitation SHOULD_RECORD VersionOrAccessContextWherePossible;

CitationLocator :=
    SpecificLocationWithinCitedResourceRelevantToCitation;

CitationLocator MAY_BE {
    Page,
    PageRange,
    Chapter,
    Section,
    Paragraph,
    Figure,
    Table,
    Equation,
    Timestamp,
    Fragment,
    DatasetRow,
    CodeLocation
};

PageLocator :=
    PageOrPageRangeWithinCitedVersion;

SectionLocator :=
    SectionIdentifierOrHeadingWithinCitedResource;

TemporalLocator :=
    TimePositionOrIntervalWithinAudioVideoOrTemporalResource;

SpatialLocator :=
    RegionWithinImageMapOrFigure;

DataLocator :=
    RowColumnVariableRecordOrSubsetWithinDataset;

CodeLocator :=
    FileModuleFunctionCommitOrLineRangeWithinSoftwareResource;

Locator SHOULD_BE InterpretedAgainst CorrectCitedVersion;

CitationContext :=
    SurroundingTextMetadataOrSemanticRoleExplainingHowCitationIsUsed;

CitationContext MAY_INCLUDE {
    Sentence,
    Paragraph,
    Section,
    Assertion,
    CitationFunction
};

CitationFunction :=
    SemanticPurposeOfCitation;

CitationFunction MAY_BE {
    Evidence,
    Attribution,
    Background,
    Comparison,
    Support,
    Contradiction,
    Method,
    DataSource,
    Acknowledgement
};

CitationMention :=
    CitationIndicatingResourceWithoutNecessarilySupportingClaim;

CitationSupport :=
    CitationUsedAsEvidenceConsistentWithAssertion;

CitationContradiction :=
    CitationUsedToIdentifyConflictingEvidenceOrPosition;

Mention != SupportByDefinition;

CitedAssertion :=
    AssertionWithinCitedResourceRelevantToCitation;

CitingAssertion :=
    AssertionForWhichCitationProvidesContextOrEvidence;

CitationEvidenceRelationship :=
    CitingAssertion
    -> SUPPORTED_BY_OR_CONTEXTUALISED_BY
    -> CitedResourceOrAssertion;

Citation SHOULD_NOT AutomaticallyBeInterpretedAsFullEndorsementOfCitedResource;

SelfCitation :=
    CitationWhereAuthorOrCreatorOverlapExistsBetweenCitingAndCitedResources;

SelfCitation MAY_BE ValidAndRelevant;

SelfCitation SHOULD_NOT AutomaticallyIncreaseOrDecreaseCredibility;

IndirectCitation :=
    CitationToSourceEncounteredThroughAnotherSourceRatherThanDirectConsultation;

IndirectCitation SHOULD_PRESERVE IntermediarySourceWhereKnown;

SecondaryCitation :=
    CitationOfOriginalSourceThroughSecondarySource;

SecondaryCitation != DirectCitation;

DirectCitation :=
    CitationBasedOnDirectlyConsultedCitedResource;

Quotation :=
    ReproducedTextOrContentFromSource;

QuotationCitation SHOULD_IDENTIFY SourceAndLocatorWherePossible;

Paraphrase :=
    RestatementOfSourceInformationInDifferentWording;

ParaphraseCitation SHOULD_PRESERVE SourceRelationship;

CitationProvenance :=
    ProvenanceOfCitationCreationExtractionResolutionAndValidation;

CitationProvenance MAY_INCLUDE {
    SourceDocument,
    Extractor,
    Resolver,
    Timestamp,
    ResolutionMethod,
    Version
};

CitationEvidence :=
    InformationSupportingCitationResolution;

Evidence MAY_BE {
    PersistentIdentifier,
    BibliographicMatch,
    RepositoryRecord,
    CrossrefLikeRecord,
    PublisherMetadata,
    FullTextMatch
};

CitationConfidence :=
    EstimatedSupportForCitationTargetResolutionOrSemanticFunction;

Confidence MAY_DEPEND_ON {
    IdentifierStrength,
    MetadataMatch,
    LocatorMatch,
    SourceReliability,
    ResolutionEvidence
};

CitationValidation MAY_CHECK {
    CitationIdentifier,
    CitingResource,
    CitedResource,
    SourceIdentifier,
    CitedVersion,
    Locator,
    MetadataConsistency
};

IF PersistentIdentifierResolvesToDifferentTitleAuthorOrVersion
THEN CitationConsistency SHOULD_BE Reviewed;

IF LocatorDoesNotExistInCitedVersion
THEN LocatorValidation SHOULD_FLAG Review;

IF CitationTargetMissing
THEN ResolutionStatus := MissingOrBroken;

CitationCompleteness :=
    DegreeToWhichRequiredTargetIdentifierMetadataVersionAndLocatorArePresent;

CitationConsistency :=
    DegreeToWhichReferenceMetadataIdentifiersAndResolvedTargetAgree;

CitationIntegrity :=
    PreservationOfReliableCitationTargetContextAndProvenance;

CitationQuality MAY_INCLUDE {
    Completeness,
    Consistency,
    Integrity,
    ResolutionStrength,
    LocatorPrecision
};

CitationConflict :=
    CitationMetadataOrIdentifiersPointToIncompatibleTargets;

ConflictHandling MAY {
    PreserveCandidates,
    CompareIdentifiers,
    CompareMetadata,
    RankConfidence,
    FlagReview
};

CitationRecord SHOULD_NOT SilentlySelectAmbiguousTargetWithoutEvidence;

CitationGraph :=
    Resources
    + DirectedCitationEdges;

CitationEdge :=
    CitingResource
    -> CITES
    -> CitedResource;

CitationDirection MUST_BE Preserved;

IncomingCitation :=
    CitationWhereCurrentResourceIsTarget;

OutgoingCitation :=
    CitationWhereCurrentResourceIsSource;

CitationCount :=
    NumberOfCitationRelationshipsAccordingToDefinedGraph;

CitationCount DOES_NOT EstablishTruthAuthorityOrQualityByDefinition;

CitationNetwork :=
    GraphOfResourcesConnectedByCitationRelationships;

BibliographicCoupling :=
    RelationshipWhereTwoResourcesCiteOneOrMoreCommonSources;

CoCitation :=
    RelationshipWhereTwoResourcesAreCitedTogetherByOtherResources;

TheseGraphRelationships MAY_SUPPORT Discovery
BUT SHOULD_NOT BeTreatedAsSemanticEquivalence;

CitationPath :=
    DirectedPathThroughCitationGraph;

TransitiveCitation MUST_NOT BeAssumed;

IF A CITES B
AND B CITES C
THEN A CITES C MUST_NOT_BE InferredWithoutExplicitCitation;

SourceOntology MAY_DEFINE CitedResourceAsSource;

AuthorOntology MAY_DEFINE AuthorsOfCitingAndCitedResources;

ContributorOntology MAY_DEFINE ContributorsToResources;

ProvenanceOntology MAY_ATTACH CitationCreationAndResolutionHistory;

CrossReferenceOntology MAY_REPRESENT CitationAsSpecialisedCrossReference;

DescriptiveMetadata MAY_STORE BibliographicFields;

StructuralMetadata MAY_LOCATE CitationWithinDocument;

AdministrativeMetadata MAY_DEFINE AccessRightsForCitedResource;

CopyrightAndLicensing MAY_CONSTRAIN QuotationOrReuse
BUT CitationItselfDoesNotGrantReuseRights;

MetadataRepository MAY_STORE CitationRecordsAndGraphs;

MetadataRegistry MAY_REGISTER CitationTypesLocatorsAndFunctions;

KnowledgeGraph MAY_REPRESENT:
    CitingResource
    -> CITES
    -> CitedResource;

Assertion
    -> SUPPORTED_BY
    -> Source;

CitationGraph SHOULD_PRESERVE {
    Direction,
    CitedVersion,
    Locator,
    Function,
    Provenance,
    Confidence
};

RDF MAY_REPRESENT CitationRelationshipsAsTypedStatements;

JSONLD MAY_SERIALISE LinkedCitationMetadata;

Search MAY_USE CitationMetadataFor {
    CitationSearch,
    RelatedWorkDiscovery,
    SourceDiscovery,
    CitationGraphNavigation
};

SemanticSearch MAY_USE CitationContextFor {
    EvidenceRetrieval,
    RelatedConceptDiscovery,
    ClaimSourceLinking
};

RAG MAY_USE CitationMetadataFor {
    EvidenceSelection,
    SourceAttribution,
    CitationGeneration,
    ConflictResolution
};

RAGCitation SHOULD_PRESERVE {
    CitedResourceIdentifier,
    CitedVersion,
    Locator,
    RetrievalTimestamp,
    Provenance
};

GeneratedCitation MUST_NOT InventSourceIdentifierLocatorOrBibliographicMetadata;

If ExactLocatorUnavailable
THEN System SHOULD_NOT FabricateLocator;

AI MAY_SUPPORT {
    CitationExtraction,
    ReferenceParsing,
    CitationResolution,
    LocatorResolution,
    CitationFunctionClassification
};

AIGeneratedCitationResolution SHOULD_HAVE ConfidenceAndProvenance;

CitationMetadata MAY_REFERENCE RestrictedOrSensitiveSources;

AccessControl SHOULD_BE AppliedBeforeDisclosingRestrictedSourceContent;

CitationExistence MAY_BE DisclosableWhileSourceContentRestricted
ONLY_IF PolicyAllows;

CitationSecurity MAY_INCLUDE {
    IdentifierValidation,
    LinkValidation,
    AccessControl,
    ProvenanceIntegrity
};

MachineReadableCitation SHOULD_PRESERVE {
    CitationIdentifier,
    CitingResourceIdentifier,
    CitedResourceIdentifier,
    CitedVersion,
    CitationType,
    CitationFunction,
    CitationLocator,
    ReferenceMetadata,
    Provenance,
    Confidence
};

# ---------- SEMANTIC REASONING ----------
IF ResourceOrAssertionExplicitlyReferencesAnotherIdentifiableSource
THEN CitationClassification := supported;

IF CitationResolvesToSource
THEN CitingResource CITES Source;

IF CitationIncludesLocator
THEN Locator MUST_BE InterpretedAgainstCorrectCitedVersion;

IF CitationMentionsSource
THEN Support MUST_NOT_BE InferredWithoutCitationContext;

IF A CITES B AND B CITES C
THEN A_CITES_C MUST_NOT_BE Inferred;

IF PersistentIdentifierAndBibliographicMetadataConflict
THEN Citation SHOULD_REQUIRE ResolutionReview;

IF DynamicSourceCited
THEN AccessDateOrVersion SHOULD_BE PreservedWherePossible;

IF GeneratedCitationLacksVerifiedTarget
THEN It SHOULD_NOT_BE PresentedAsResolvedAuthoritativeCitation;

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE {
    "citation" ~= "source citation" WHEN provenance_context;
    "bibliographic citation" ~= "bibliographic reference" WHEN reference_context;
    "cited resource" ~= "citation target";
    "citing resource" ~= "citation source";
    "citation locator" ~= "source locator";
    "in-text citation" ~= "inline citation";
    "citation graph" ~= "citation network" WHEN graph_context;
    "citation identifier" ~= "citation ID";
}

# ---------- QUERY FLOW ----------
QUERY(q) ->
    NORMALISE(q) ->
    IDENTIFY_CITING_RESOURCE(q) ->
    IDENTIFY_CITATION_EXPRESSION(q) ->
    RESOLVE_CITATION_IDENTIFIER(q) ->
    EXTRACT_REFERENCE_METADATA(q) ->
    RESOLVE_CITED_RESOURCE(q) ->
    RESOLVE_CITED_VERSION(q) ->
    RESOLVE_CITATION_LOCATOR(q) ->
    CLASSIFY_CITATION_TYPE_AND_FUNCTION(q) ->
    IDENTIFY_CONTEXT_PROVENANCE_AND_EVIDENCE(q) ->
    VALIDATE_CITATION(q) ->
    APPLY_ACCESS_POLICY(q) ->
    SCORE_CONFIDENCE(q) ->
    RETURN_RELEVANT_CITATION_KNOWLEDGE;

# ---------- CONFIDENCE ----------
CONFIDENCE(assertion) :=
    weighted_mean(
        identifier_strength,
        metadata_match,
        locator_match,
        source_resolution_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: Citation;
    ontology: CitationOntology;
    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;
    prohibit_fabricated_citations: true;
}

# ---------- UPDATE MODEL ----------
UPDATE_MODEL {
    new_citation:
        identify_citing_resource
        -> assign_citation_identifier
        -> extract_reference_metadata
        -> resolve_target
        -> resolve_version
        -> resolve_locator
        -> classify_type_and_function
        -> attach_provenance
        -> validate
        -> assign_confidence
        -> integrate;

    citation_revision:
        preserve_previous_record
        -> apply_reference_target_version_or_locator_changes
        -> revalidate_resolution
        -> update_citation_graph
        -> recompute_confidence
        -> regenerate_flow_hash;

    target_revision:
        identify_incoming_citations
        -> resolve_identifier_or_version_mapping
        -> revalidate_locators
        -> preserve_previous_target_history
        -> flag_unresolved_citations;

    conflict:
        preserve_candidate_targets
        -> compare_identifiers_metadata_versions_and_locators
        -> adjust_confidence
        -> flag_review;
}

# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
    DOMAIN
    + SUBDOMAIN
    + ONTOLOGY
    + CitationEntity
    + SourceEntity
    + ReferenceEntity
    + MetadataEntity
    + Citation
    + CitationGraph
    + CitationValidation
    + RELATIONSHIPS
    + SEMANTIC_REASONING
    + SEMANTIC_EQUIVALENCE
    + UPDATE_MODEL;

FLOW_HASH :=
    HASH(FLOW_HASH_INPUT);

# ---------- TERMINAL ----------
CitationOntology
    -> IdentifyCitingResourceAndCitationExpression
    -> AssignStableCitationIdentifier
    -> ParseBibliographicAndReferenceMetadata
    -> ResolveCanonicalCitedResourceAndExactVersion
    -> ResolvePageSectionTemporalDataOrCodeLocator
    -> ClassifyCitationTypeFunctionAndContext
    -> AttachEvidenceResolutionProvenanceAndConfidence
    -> ValidateIdentifiersMetadataVersionsAndLocators
    -> BuildDirectedCitationAndEvidenceGraph
    -> PreserveDirectIndirectAndSecondaryCitationContext
    -> SupportSearchRAGAttributionAndSourceTraceability
    -> PreventFabricatedOrUnresolvedCitationClaims
    -> MaintainReliableCitationKnowledge;

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