Skip to main content

Description Ontology

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

PAGE:
https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/descriptive-metadata/description-ontology.html

AUTHORS:
Mark Anthony Higgins — Sky (Recursive AI)

FLOW "DescriptionOntology" v4.0

# ---------- DOMAIN ----------
DOMAIN := MetadataOntologies
SUBDOMAIN := DescriptiveMetadata
ONTOLOGY := DescriptionOntology

# ---------- PRIMARY ENTITY ----------
ENTITY Description {
    definition:
        "A descriptive metadata statement that summarises, explains,
         characterises or contextualises a resource so that people and
         machines can understand its content, purpose, scope or significance.";

    objectives: [
        ResourceUnderstanding,
        ContentSummary,
        Contextualisation,
        Discovery,
        Selection,
        SemanticRetrieval,
        MachineInterpretability
    ];
}

# ---------- CORE ENTITIES ----------
DescriptionEntity := {
    Description,
    Resource,
    Abstract,
    Summary,
    Caption,
    ScopeNote,
    ContentNote,
    Annotation
};

MetadataEntity := {
    MetadataRecord,
    DescriptionProperty,
    DescriptionValue,
    Language,
    Identifier,
    Provenance,
    Confidence
};

ContextEntity := {
    Audience,
    Purpose,
    Subject,
    ResourceType,
    Version,
    Source
};

# ---------- FUNDAMENTAL RELATIONSHIPS ----------
Description DESCRIBES Resource;
Abstract SUMMARISES Resource;
Caption EXPLAINS_OR_IDENTIFIES MediaResource;
ScopeNote DEFINES CoverageOrUse;
ContentNote PROVIDES AdditionalContentInformation;
MetadataRecord CONTAINS DescriptionStatement;
Provenance SUPPORTS DescriptionStatement;

# ---------- DESCRIPTION FLOW ----------
Resource
    -> IdentifyResource
    -> DetermineDescriptionPurpose
    -> SelectDescriptionType
    -> ExtractOrComposeDescription
    -> DetermineLanguage
    -> AttachResourceIdentifier
    -> AttachProvenance
    -> ValidateDescription
    -> StoreInMetadataRecord
    -> IndexForDiscovery
    -> MaintainAndVersionDescription;

# ---------- RESOURCE ----------
Resource :=
    ThingExplainedOrSummarisedByDescriptionMetadata;

Resource MAY_BE {
    Document,
    Dataset,
    Image,
    Audio,
    Video,
    Software,
    WebPage,
    PhysicalObject,
    Event,
    KnowledgeEntity
};

# ---------- DESCRIPTION ----------
Description :=
    HumanReadableOrMachineReadableExplanatoryMetadataAboutResource;

Description MAY_BE {
    Abstract,
    Summary,
    Caption,
    ScopeNote,
    ContentNote,
    Annotation
};

# ---------- DESCRIPTION STATEMENT ----------
DescriptionStatement :=
    Resource
    -> DescriptionProperty
    -> DescriptionValue;

# ---------- DESCRIPTION VALUE ----------
DescriptionValue :=
    TextualOrStructuredRepresentationOfResourceDescription;

DescriptionValue MAY_HAVE {
    Language,
    Provenance,
    Timestamp,
    Confidence
};

# ---------- ABSTRACT ----------
Abstract :=
    ConciseRepresentationOfMainContentPurposeOrFindingsOfResource;

Abstract MAY_BE {
    AuthorProvided,
    PublisherProvided,
    MetadataAgentCreated,
    AutomaticallyGenerated
};

# ---------- SUMMARY ----------
Summary :=
    CondensedDescriptionOfResourceContent;

Summary MAY_BE ShorterOrLessFormalThanAbstract;

# ---------- CAPTION ----------
Caption :=
    BriefDescriptionAssociatedWithImageFigureTableAudioVideoOrOtherMedia;

Caption MAY_IDENTIFY {
    Subject,
    Event,
    Location,
    Context
};

# ---------- SCOPE NOTE ----------
ScopeNote :=
    ExplanationOfResourceCoverageBoundaryOrIntendedInterpretation;

# ---------- CONTENT NOTE ----------
ContentNote :=
    AdditionalStatementAboutContentsComponentsOrFeaturesOfResource;

# ---------- ANNOTATION ----------
Annotation :=
    SupplementalDescriptiveStatementAssociatedWithResource;

Annotation MAY_BE {
    HumanAuthored,
    SystemGenerated
};

# ---------- PURPOSE ----------
DescriptionPurpose MAY_INCLUDE {
    Discovery,
    Selection,
    Understanding,
    Accessibility,
    PreservationContext
};

# ---------- AUDIENCE ----------
Description MAY_BE TailoredTo Audience;

Audience MAY_BE {
    General,
    Specialist,
    Child,
    Researcher,
    Machine
};

AudienceSpecificDescription SHOULD_PRESERVE CoreResourceMeaning;

# ---------- LANGUAGE ----------
DescriptionLanguage :=
    LanguageInWhichDescriptionIsExpressed;

DescriptionLanguage MAY_DIFFER_FROM ResourceLanguage;

# ---------- MULTILINGUAL DESCRIPTION ----------
Resource MAY_HAVE MultipleDescriptionsInDifferentLanguages;

EachDescription SHOULD_PRESERVE LanguageTagWhereApplicable;

# ---------- LENGTH ----------
DescriptionLength MAY_BE ConstrainedBy ApplicationProfile;

LengthConstraint SHOULD_NOT CauseMaterialMeaningLossWithoutPolicyAwareness;

# ---------- STRUCTURE ----------
Description MAY_BE {
    PlainText,
    StructuredText,
    MarkedUpText
};

# ---------- PLAIN TEXT ----------
PlainTextDescription :=
    DescriptionWithoutEmbeddedSemanticMarkup;

# ---------- STRUCTURED DESCRIPTION ----------
StructuredDescription MAY_HAVE {
    SummarySection,
    PurposeSection,
    ScopeSection,
    MethodSection
};

# ---------- MARKUP ----------
Description MAY_CONTAIN MarkupAccordingToAllowedMetadataSyntax;

UnsafeMarkup SHOULD_BE SanitisedOrRejectedAccordingToPolicy;

# ---------- SOURCE ----------
DescriptionSource :=
    OriginFromWhichDescriptionWasObtained;

Source MAY_BE {
    Resource,
    Creator,
    Publisher,
    Repository,
    MetadataAgent,
    AIModel
};

# ---------- AUTHORSHIP ----------
DescriptionCreator :=
    AgentResponsibleForDescriptionText;

DescriptionCreator MAY_DIFFER_FROM ResourceCreator;

# ---------- PROVENANCE ----------
DescriptionProvenance MAY_INCLUDE {
    Source,
    Creator,
    CreationMethod,
    Timestamp,
    ModelVersion
};

# ---------- MANUAL DESCRIPTION ----------
ManualDescription :=
    DescriptionWrittenOrCuratedByHumanAgent;

# ---------- AUTOMATIC DESCRIPTION ----------
AutomaticDescription :=
    DescriptionGeneratedBySoftwareFromResourceOrMetadata;

# ---------- AI GENERATED DESCRIPTION ----------
AIGeneratedDescription :=
    DescriptionProducedByAIModel;

AIGeneratedDescription SHOULD_HAVE {
    MethodProvenance,
    ValidationStatus
};

# ---------- EXTRACTION ----------
DescriptionExtraction :=
    ResourceContent
    -> IdentifySalientInformation
    -> GenerateDescription;

# ---------- SUMMARISATION ----------
AutomaticSummarisation :=
    SourceContent
    -> SelectOrGenerateCondensedRepresentation;

# ---------- EXTRACTIVE SUMMARY ----------
ExtractiveSummary :=
    SummaryConstructedFromSelectedSourcePassages;

# ---------- ABSTRACTIVE SUMMARY ----------
AbstractiveSummary :=
    NewlyGeneratedTextRepresentingSourceMeaning;

AbstractiveSummary SHOULD_BE CheckedForUnsupportedClaimsAccordingToRisk;

# ---------- ACCURACY ----------
DescriptionAccuracy :=
    DegreeToWhichDescriptionFaithfullyRepresentsResource;

# ---------- COMPLETENESS ----------
DescriptionCompleteness :=
    DegreeToWhichDescriptionCoversRequiredAspectsForIntendedPurpose;

# ---------- CLARITY ----------
DescriptionClarity :=
    DegreeToWhichDescriptionIsUnderstandableAndUnambiguous;

# ---------- CONCISENESS ----------
DescriptionConciseness :=
    DegreeToWhichDescriptionAvoidsUnnecessaryContentWhilePreservingMeaning;

# ---------- RELEVANCE ----------
DescriptionRelevance :=
    DegreeToWhichDescriptionFocusesOnResourceAndIntendedMetadataPurpose;

# ---------- QUALITY ----------
DescriptionQuality MAY_INCLUDE {
    Accuracy,
    Completeness,
    Clarity,
    Conciseness,
    Relevance,
    Provenance
};

# ---------- VALIDATION ----------
DescriptionValidation MAY_CHECK {
    Requiredness,
    Datatype,
    Language,
    Length,
    UnsafeMarkup,
    ResourceConsistency
};

# ---------- REQUIRED DESCRIPTION ----------
IF SchemaRequiresDescription
AND DescriptionMissing
THEN ValidationStatus := violation;

# ---------- RESOURCE CONSISTENCY ----------
IF DescriptionContradictsVerifiedResourceContent
THEN DescriptionAccuracy SHOULD_DECREASE;

# ---------- HALLUCINATION ----------
GeneratedDescription MAY_CONTAIN UnsupportedStatement;

UnsupportedStatement SHOULD_BE RemovedCorrectedOrFlaggedAccordingToPolicy;

# ---------- DUPLICATE DESCRIPTION ----------
MultipleResources MAY_HAVE SimilarDescriptions;

SimilarDescription DOES_NOT Imply SameResource;

# ---------- VERSION ----------
DescriptionVersion :=
    IdentifiedRevisionOfDescriptionMetadata;

# ---------- CHANGE ----------
DescriptionChange MAY_INCLUDE {
    Correction,
    Expansion,
    Shortening,
    Translation,
    Replacement
};

# ---------- HISTORY ----------
DescriptionHistory MAY_PRESERVE PreviousVersionsWhereRequired;

# ---------- TRANSLATION ----------
TranslatedDescription :=
    DescriptionExpressedInAnotherLanguage;

Translation SHOULD_PRESERVE SemanticMeaningOfSourceDescription;

# ---------- NORMALISATION ----------
DescriptionNormalisation MAY_INCLUDE {
    UnicodeNormalisation,
    WhitespaceNormalisation,
    LanguageTagNormalisation
};

OriginalDisplayText SHOULD_BE PreservedWhereRequired;

# ---------- INDEXING ----------
DescriptionIndex :=
    SearchIndexBuiltFromDescriptionText;

Index MAY_SUPPORT {
    FullTextSearch,
    KeywordSearch,
    SemanticSearch
};

# ---------- FULL TEXT SEARCH ----------
Query MAY_MATCH TermsWithinDescription;

# ---------- SEMANTIC SEARCH ----------
SemanticSearch MAY_USE DescriptionFor {
    MeaningMatching,
    QueryExpansion,
    Ranking,
    ResourceSelection
};

# ---------- EMBEDDING ----------
Description MAY_BE ConvertedTo Embedding;

DescriptionEmbedding MAY_SUPPORT SemanticSimilaritySearch;

VectorSimilarity != FactualEquivalence;

# ---------- KEYWORD EXTRACTION ----------
Description MAY_BE SourceFor AutomaticKeywordExtraction;

ExtractedKeyword SHOULD_BE DistinguishedFrom CuratedSubjectMetadata;

# ---------- ENTITY EXTRACTION ----------
NamedEntities MAY_BE ExtractedFromDescription;

ExtractedEntity MAY_SUPPORT KnowledgeGraphLinking;

# ---------- SUBJECT INFERENCE ----------
Description MAY_SUPPORT CandidateSubjectClassification;

CandidateSubject SHOULD_HAVE ConfidenceAndValidationStatus;

# ---------- KNOWLEDGE GRAPH ----------
Description MAY_BE LinkedTo ResourceNodeInKnowledgeGraph;

EntitiesMentionedInDescription MAY_BE LinkedAsSeparateGraphEntitiesWhenResolved;

# ---------- TITLE RELATIONSHIP ----------
Title IDENTIFIES Resource;
Description EXPLAINS Resource;

Title != Description;

# ---------- SUBJECT RELATIONSHIP ----------
Subject CLASSIFIES_OR_TOPICALISES Resource;
Description PROVIDES ExplanatoryText;

# ---------- METADATA SCHEMA ----------
MetadataSchema MAY_DEFINE DescriptionPropertyAndConstraints;

# ---------- DUBLIN CORE ----------
DublinCore MAY_REPRESENT DescriptionUsing dc:descriptionOrEquivalentProperty;

# ---------- SCHEMA.ORG ----------
SchemaOrg MAY_REPRESENT DescriptionUsing descriptionProperty;

# ---------- RDF ----------
RDF MAY_REPRESENT:
    Resource
    -> descriptionProperty
    -> DescriptionLiteral;

# ---------- JSON-LD ----------
JSONLD MAY_SERIALISE DescriptionWithLanguageAndSemanticContext;

# ---------- STRUCTURED DATA ----------
StructuredData MAY_INCLUDE DescriptionForMachineReadableResourceExplanation;

# ---------- REPOSITORY ----------
MetadataRepository MAY_STORE DescriptionMetadata;

# ---------- REGISTRY ----------
MetadataRegistry MAY_REGISTER DescriptionPropertiesAndDefinitions;

# ---------- INTEROPERABILITY ----------
DescriptionInteroperability MAY_REQUIRE {
    SharedPropertySemantics,
    LanguageTags,
    SchemaMapping,
    StableResourceIdentifiers
};

# ---------- CROSSWALK ----------
DescriptionProperty MAY_MAP AcrossMetadataSchemas;

Mapping SHOULD_PRESERVE DescriptionRoleAndMeaning;

# ---------- ACCESSIBILITY ----------
Description MAY_SUPPORT AccessibilityWhenItProvidesUsefulContextForNonTextResources;

AccessibilityDescription MAY_HAVE MoreSpecificPurposeThanGeneralDescription;

# ---------- PRIVACY ----------
Description MAY_CONTAIN SensitiveInformation;

PrivacyReview MAY_BE RequiredBeforePublicRelease;

# ---------- ACCESS CONTROL ----------
DescriptionAccess MAY_BE RestrictedIndependentlyOfResourceAccess;

# ---------- SECURITY ----------
DescriptionMetadataSecurity MAY_INCLUDE {
    InputValidation,
    OutputEscaping,
    AccessControl,
    ProvenanceIntegrity
};

# ---------- AI ----------
AI MAY_USE DescriptionFor {
    Retrieval,
    Classification,
    Summarisation,
    EntityExtraction,
    SemanticSearch
};

# ---------- RAG ----------
RetrievalAugmentedGeneration MAY_USE DescriptionFor {
    ResourceDiscovery,
    ContextSelection,
    Ranking,
    CitationSupport
};

# ---------- MACHINE CONSUMPTION ----------
MachineReadableDescription SHOULD_PRESERVE {
    DescriptionType,
    Language,
    ResourceIdentifier,
    Provenance,
    Confidence
};

# ---------- SEMANTIC REASONING ----------
IF MetadataValueExplainsSummarisesOrContextualisesResource
THEN DescriptionClassification := supported;

IF DescriptionIsConciseRepresentationOfMainContent
THEN Description MAY_BE ClassifiedAs AbstractOrSummaryAccordingToMetadataPolicy;

IF DescriptionGeneratedAutomatically
THEN MethodProvenance SHOULD_BE Preserved;

IF GeneratedDescriptionContainsUnsupportedClaim
THEN DescriptionConfidence SHOULD_DECREASE
AND ValidationReview SHOULD_BE Triggered;

IF MultipleLanguageDescriptionsExist
THEN QueryLanguage MAY_SELECT MatchingDescription;

IF DescriptionConflictsWithAuthoritativeResourceContent
THEN Description SHOULD_NOT_BE TreatedAsAuthoritativeWithoutReview;

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE {
    "description" ~= "resource description" WHEN metadata_context;
    "abstract" ~= "resource abstract";
    "summary" ~= "resource summary";
    "caption" ~= "media caption" WHEN media_context;
    "scope note" ~= "coverage or usage note";
    "content note" ~= "resource contents note";
    "description metadata" ~= "descriptive text metadata";
    "description version" ~= "description revision";
}

# ---------- QUERY FLOW ----------
QUERY(q) ->
    NORMALISE(q) ->
    IDENTIFY_RESOURCE(q) ->
    IDENTIFY_DESCRIPTION(q) ->
    IDENTIFY_DESCRIPTION_TYPE(q) ->
    IDENTIFY_LANGUAGE_AND_AUDIENCE(q) ->
    IDENTIFY_SOURCE_AND_PROVENANCE(q) ->
    VALIDATE_DESCRIPTION(q) ->
    IDENTIFY_ENTITIES_SUBJECTS_AND_KEYWORDS(q) ->
    SCORE_CONFIDENCE(q) ->
    RETURN_RELEVANT_DESCRIPTION_KNOWLEDGE;

# ---------- CONFIDENCE ----------
CONFIDENCE(assertion) :=
    weighted_mean(
        source_reliability,
        description_accuracy,
        resource_consistency,
        provenance_quality,
        validation_evidence,
        contextual_relevance
    );

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

# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION {
    primary_entity: Description;
    ontology: DescriptionOntology;
    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_description:
        identify_resource
        -> classify_description_type
        -> attach_language
        -> attach_source
        -> attach_provenance
        -> validate
        -> integrate;

    description_revision:
        preserve_previous_version
        -> apply_changes
        -> validate_against_resource
        -> update_index
        -> recompute_confidence
        -> regenerate_flow_hash;

    generated_description:
        record_generation_method
        -> validate_supported_content
        -> assign_confidence
        -> human_review_if_required
        -> integrate;

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

# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
    DOMAIN
    + SUBDOMAIN
    + ONTOLOGY
    + DescriptionEntity
    + MetadataEntity
    + ContextEntity
    + Description
    + DescriptionValidation
    + DescriptionQuality
    + RELATIONSHIPS
    + SEMANTIC_REASONING
    + SEMANTIC_EQUIVALENCE
    + UPDATE_MODEL;

FLOW_HASH :=
    HASH(FLOW_HASH_INPUT);

# ---------- TERMINAL ----------
DescriptionOntology
    -> IdentifyDescribedResource
    -> DetermineDescriptionPurposeAndType
    -> CaptureOrGenerateDescription
    -> PreserveLanguageAudienceAndDisplayText
    -> AttachStableResourceIdentifier
    -> RecordSourceMethodAndProvenance
    -> ValidateAccuracyClarityAndConsistency
    -> ExtractSearchableEntitiesAndConcepts
    -> IndexForFullTextAndSemanticRetrieval
    -> PreserveVersionAndChangeHistory
    -> EnforcePrivacySecurityAndAccess
    -> SupportAIAndMachineConsumption
    -> MaintainReliableResourceDescriptionKnowledge;

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