Document Metadata
Authors:
MArk Anthony Higgins - Sky Recursive Ai
MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: July 6th 2026
Revised Date: July 6th 2026
AI Interpretation Note:
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.
FLOW ALGEBRA
Ontology: Document Metadata Ontology
Domain: Metadata Ontologies > Document Metadata
Canonical URL: https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/document-metadata.html
Authors: Mark Anthony Higgins — Sky (Recursive AI)
flow "DocumentMetadataOntology" v1.0
# ---------- DOMAIN ----------
domain:
class: MetadataOntology
category: DocumentMetadata
subject: DocumentMetadata
purpose:
- represent metadata describing documents and document resources
- preserve document identity, title, authorship, structure, format, version, rights, and provenance
- support document discovery, validation, retrieval, citation, governance, and reuse
- distinguish document content from metadata and document versions from document identity
- enable machine-readable reasoning over document lifecycles
# ---------- CORE ENTITY ----------
entity DocumentMetadata:
type: MetadataEntity
describes: Document
may_include:
- document_identifier
- title
- subtitle
- description
- document_type
- author
- contributor
- publisher
- creation_date
- publication_date
- modification_date
- language
- subject
- keywords
- structure
- format
- encoding
- version
- status
- rights
- licence
- access_metadata
- provenance
- relationships
entity Document:
type: InformationResource
may_be:
- Article
- Report
- Book
- Chapter
- Manual
- Specification
- PolicyDocument
- ResearchPaper
- WebDocument
- DatasetDocumentation
- TechnicalDocument
- LegalDocument
entity DocumentIdentifier:
type: Identifier
identifies: Document
entity DocumentType:
type: Classification
classifies: Document
# ---------- RELATIONSHIPS ----------
relationships:
DocumentMetadata -> DESCRIBES -> Document
Document -> IDENTIFIED_BY -> DocumentIdentifier
Document -> HAS_TYPE -> DocumentType
Document -> HAS_AUTHOR -> Agent
Document -> MAY_HAVE_CONTRIBUTOR -> Agent
Document -> MAY_HAVE_PUBLISHER -> Agent
Document -> HAS_STRUCTURE -> DocumentStructure
Document -> HAS_FORMAT -> DocumentFormat
Document -> MAY_HAVE_VERSION -> DocumentVersion
Document -> MAY_HAVE_STATUS -> DocumentStatus
Document -> MAY_HAVE_RIGHTS -> RightsMetadata
Document -> MAY_HAVE_ACCESS -> AccessMetadata
Document -> MAY_RELATE_TO -> Document
DocumentMetadata -> MAY_REFERENCE -> DocumentProvenance
# ---------- DOCUMENT IDENTITY ----------
rule document_identity:
Document SHOULD have stable DocumentIdentifier
where persistent citation, retrieval, or provenance is required
rule title_not_identity:
document title MUST NOT be assumed globally unique
rule identifier_namespace:
DocumentIdentifier SHOULD preserve namespace
where identifier is not globally unique
rule document_version_identity:
Document != DocumentVersion
# ---------- TITLES ----------
entity DocumentTitle:
type: LexicalMetadata
may_be:
- primary_title
- subtitle
- alternative_title
- translated_title
rule title:
primary title SHOULD be preserved as supplied by authoritative source
rule multilingual_title:
translated or multilingual titles SHOULD preserve language metadata
# ---------- AUTHORSHIP ----------
entity DocumentAgentRole:
type: RoleMetadata
roles:
- author
- editor
- contributor
- translator
- reviewer
- publisher
rule authorship:
Agent role SHOULD be explicit
where attribution matters
rule author_order:
author ordering SHOULD be preserved
where source defines meaningful sequence
rule organisation_author:
Organisation MAY be Author
where corporate authorship applies
# ---------- DATES ----------
entity DocumentDateMetadata:
type: TemporalMetadata
may_include:
- creation_date
- publication_date
- modification_date
- revision_date
- access_date
rule date_distinction:
creation_date != publication_date
publication_date != modification_date
rule date_order:
dates SHOULD satisfy plausible temporal order
subject_to republication or restoration semantics
# ---------- LANGUAGE ----------
rule language:
Document SHOULD preserve language
where discovery or interpretation depends on it
rule multilingual_document:
Document MAY contain multiple languages
with section or content-level language metadata
# ---------- SUBJECT / KEYWORDS ----------
entity DocumentSubject:
type: SemanticMetadata
may_include:
- concept_identifier
- subject_label
- vocabulary
- ontology
rule subject:
controlled semantic identifiers SHOULD be preferred
over keyword-only description where available
rule keyword:
Keyword != ConceptIdentifier
# ---------- STRUCTURE ----------
entity DocumentStructure:
type: StructuralMetadata
may_include:
- section
- chapter
- heading
- paragraph
- table
- figure
- appendix
- reference
- footnote
rule structure:
ordered document components SHOULD preserve sequence
rule hierarchy:
hierarchical sections SHOULD preserve parent-child relationships
rule structural_identifier:
stable section identifiers SHOULD be preserved
where citation or fragment retrieval requires
# ---------- FORMAT ----------
entity DocumentFormat:
type: RepresentationMetadata
examples:
- HTML
- PDF
- DOCX
- ODT
- Markdown
- PlainText
- XML
- EPUB
rule format:
DocumentFormat != DocumentType
rule format_version:
representation format version SHOULD be preserved
where parser compatibility depends on it
rule multiple_formats:
same Document MAY have multiple representations
without creating different intellectual document identity
# ---------- ENCODING ----------
rule encoding:
textual document representation SHOULD preserve character encoding
where byte interpretation depends on encoding
rule encoding_not_format:
Encoding != DocumentFormat
# ---------- VERSION ----------
entity DocumentVersion:
type: VersionMetadata
may_include:
- version_identifier
- predecessor
- successor
- creation_time
- revision_description
- status
rule version:
material content change SHOULD create distinguishable DocumentVersion
where history or citation requires
rule revision:
revision SHOULD preserve relationship to predecessor
rule historical_version:
superseded DocumentVersion SHOULD remain traceable
# ---------- STATUS ----------
document_status:
- draft
- review
- approved
- published
- deprecated
- superseded
- archived
- withdrawn
rule status:
DocumentStatus SHOULD be explicit and temporally contextualised
rule withdrawn:
withdrawn document MAY remain historically retrievable
subject_to access and rights policy
# ---------- RIGHTS / LICENCE ----------
entity DocumentRights:
type: RightsMetadata
may_include:
- copyright_holder
- licence
- usage_rights
- redistribution_rights
- attribution_requirement
- restrictions
rule rights:
Document use SHOULD respect declared rights and licence
rule rights_access_distinction:
RightsMetadata != AccessMetadata
# ---------- ACCESS ----------
entity DocumentAccess:
type: AccessMetadata
may_include:
- access_level
- access_method
- authentication_requirement
- availability
- embargo
rule access:
access state SHOULD be preserved separately from legal usage rights
# ---------- DOCUMENT RELATIONSHIPS ----------
document_relationships:
- cites
- cited_by
- references
- referenced_by
- is_part_of
- has_part
- supersedes
- superseded_by
- translation_of
- adaptation_of
- derived_from
- related_to
rule citation_inverse:
IF A cites B
THEN B cited_by A
rule part_inverse:
IF A is_part_of B
THEN B has_part A
rule supersession:
superseding document SHOULD preserve predecessor relationship
# ---------- CITATION ----------
entity CitationMetadata:
type: DocumentMetadata
may_include:
- cited_document
- citation_location
- citation_text
- identifier
- access_date
rule citation:
citation SHOULD resolve to DocumentIdentifier
where available
rule citation_not_endorsement:
citation != endorsement
# ---------- PROVENANCE ----------
entity DocumentProvenance:
type: ProvenanceMetadata
may_include:
- creator
- source
- creation_process
- publication_process
- revision_history
- conversion_history
- extraction_method
- timestamps
rule provenance:
DocumentMetadata SHOULD preserve document origin and transformation history
rule converted_document:
format-converted representation SHOULD preserve source document relationship
# ---------- VALIDATION ----------
validation:
require:
- identifiable_document
validate_if_present:
- identifier
- title
- document_type
- authors
- dates
- language
- subjects
- structure
- format
- version
- status
- rights
- provenance
reject:
- contradictory_document_identity
- invalid_version_chain
- impossible_date_order_without explanation
- format_presented_as document_type
- encoding_presented_as format
- unresolved_mandatory_document_relationship
- contradictory_status_at_same_time
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE:
"document metadata" ~= "metadata about documents"
"document identifier" ~= "document ID"
"document version" ~= "document revision" WHEN revision represents version
"document format" ~= "file format" WHEN document is represented as file
"document subject" ~= "document topic" WHEN semantic scope matches
"document provenance" ~= "document history" WHEN describing origin and transformations
PRESERVE distinctions:
document != document_metadata
document != document_version
title != identifier
document_type != document_format
format != encoding
author != publisher
creation_date != publication_date
rights != access
keyword != concept_identifier
citation != endorsement
# ---------- CONFIDENCE ----------
CONFIDENCE:
explicit_document_metadata:
score: 1.00
authoritative_document_identifier:
score: 1.00
explicit_version_metadata:
score: 1.00
explicit_authorship:
score: 0.99
metadata_extracted_from_document:
score: 0.95
inferred_document_type:
score: 0.85
title_only_identity_match:
score: <= 0.65
ambiguous_document_identity:
score: <= 0.60
action: preserve candidates
# ---------- UPDATE MODEL ----------
UPDATE_MODEL:
on_document_creation:
- assign DocumentIdentifier
- record title and type
- record authorship
- record creation date
- initialise version and provenance
on_document_revision:
- preserve previous DocumentVersion
- create new version
- record revision description
- update modification date
- preserve provenance
on_format_conversion:
- preserve intellectual Document identity
- create new representation
- record source format and target format
- preserve conversion provenance
on_status_change:
- preserve previous status
- record new status and effective time
- preserve history
# ---------- FLOW HASH ----------
FLOW_HASH:
inputs:
- ontology
- document_entities
- relationships
- identity_rules
- structure_rules
- version_rules
- rights_rules
- provenance_rules
- validation
- semantic_equivalence
- confidence
- update_model
canonicalisation:
- normalise_whitespace
- preserve_case_sensitive_identifiers
- sort_unordered_property_sets
- preserve_rule_order
output:
deterministic_semantic_hash
# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION:
interpret_as:
- metadata ontology
- document identity model
- document lifecycle structure
- citation and provenance model
operations:
- identify documents
- resolve document identifiers
- interpret document types
- resolve authorship
- apply temporal metadata
- inspect subjects and keywords
- traverse document structure
- resolve formats and representations
- traverse versions
- evaluate rights and access
- follow document relationships
- trace provenance
- preserve uncertainty
constraints:
- do_not_equate_title_with_identity
- do_not_equate_document_type_with_format
- do_not_equate_format_with_encoding
- do_not_equate_rights_with_access
- do_not_discard_superseded_versions
- preserve_authorship_dates_versions_relationships_and_provenance
# ---------- QUERY MODEL ----------
query:
input:
- document_identifier
- title
- document_type
- author
- subject
- language
- format
- version
- status
- date_constraint
resolve:
1. identify Document
2. resolve DocumentIdentifier
3. retrieve title and type
4. resolve authors and contributors
5. apply date and language context
6. resolve subjects and keywords
7. inspect structure and format
8. traverse versions and relationships
9. inspect rights, access, and provenance
10. return confidence
output:
- document
- identifier
- title
- document_type
- authors
- dates
- language
- subjects
- structure
- format
- version
- status
- provenance
- confidence
# ---------- INFERENCE ----------
inference:
IF authoritative DocumentIdentifier resolves uniquely
THEN identify Document
WITH confidence = 1.00
IF DocumentVersion explicitly references predecessor
THEN reconstruct version history
IF representation is converted from another format
THEN preserve same intellectual Document identity
unless content transformation creates distinct work
IF A cites B
THEN infer B cited_by A
IF document identity remains ambiguous
THEN preserve candidate Documents
AND do_not force resolution
# ---------- OUTPUT CONTRACT ----------
output:
ontology_entity: DocumentMetadata
document_identity: machine_interpretable
identifiers: stable
authorship: traceable
temporal_metadata: preserved
structure: traversable
representations: format_aware
versions: traversable
relationships: explicit
rights_and_access: distinguishable
provenance: preserved
uncertainty: explicit
semantic_retrieval: enabled
end flow