FLOW ALGEBRA
Ontology: Report Metadata Ontology
Domain: Metadata Ontologies > Document Metadata
Canonical URL: https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/document-metadata/report-metadata-ontology.html
Authors: Mark Anthony Higgins — Sky (Recursive AI)
flow "ReportMetadataOntology" v1.0
# ---------- DOMAIN ----------
domain:
class: MetadataOntology
category: DocumentMetadata
subject: ReportMetadata
purpose:
- represent metadata describing reports and report resources
- preserve report identity, authorship, organisation, purpose, scope, findings, recommendations, versions, and provenance
- support report discovery, validation, citation, retrieval, governance, and reuse
- distinguish report content, report versions, supporting evidence, and document representations
- enable machine-readable reasoning over report lifecycles
# ---------- CORE ENTITY ----------
entity ReportMetadata:
type: DocumentMetadata
describes: Report
may_include:
- report_identifier
- title
- subtitle
- report_type
- author
- contributor
- organisation
- commissioning_body
- publication_date
- reporting_period
- purpose
- scope
- executive_summary
- methodology
- evidence
- findings
- conclusions
- recommendations
- appendices
- references
- language
- subject
- keywords
- version
- status
- format
- rights
- access_metadata
- provenance
entity Report:
type: Document
may_be:
- TechnicalReport
- ResearchReport
- ScientificReport
- BusinessReport
- FinancialReport
- AuditReport
- EvaluationReport
- GovernmentReport
- PolicyReport
- IncidentReport
- ProgressReport
- AnnualReport
entity ReportIdentifier:
type: Identifier
identifies: Report
entity ReportType:
type: Classification
classifies: Report
# ---------- RELATIONSHIPS ----------
relationships:
ReportMetadata -> DESCRIBES -> Report
Report -> IDENTIFIED_BY -> ReportIdentifier
Report -> HAS_TYPE -> ReportType
Report -> HAS_AUTHOR -> Agent
Report -> MAY_HAVE_CONTRIBUTOR -> Agent
Report -> MAY_BE_PRODUCED_BY -> Organisation
Report -> MAY_BE_COMMISSIONED_BY -> Agent
Report -> HAS_PURPOSE -> ReportPurpose
Report -> HAS_SCOPE -> ReportScope
Report -> MAY_USE_METHOD -> ReportMethodology
Report -> MAY_REFERENCE -> Evidence
Report -> REPORTS -> Finding
Report -> MAY_STATE -> Conclusion
Report -> MAY_MAKE -> Recommendation
Report -> MAY_HAVE_VERSION -> ReportVersion
Report -> MAY_HAVE_REPRESENTATION -> ReportRepresentation
ReportMetadata -> MAY_REFERENCE -> ReportProvenance
# ---------- REPORT IDENTITY ----------
rule report_identity:
Report SHOULD have stable ReportIdentifier
where persistent citation, retrieval, or governance is required
rule title_not_identity:
report title MUST NOT be assumed globally unique
rule organisation_context:
organisation SHOULD be preserved
where report identity or authority depends on issuing body
rule report_version_identity:
Report != ReportVersion
# ---------- REPORT TYPES ----------
report_types:
- technical
- research
- scientific
- business
- financial
- audit
- evaluation
- government
- policy
- incident
- progress
- annual
rule report_type:
ReportType SHOULD preserve classification scheme
where categories differ across organisations or domains
# ---------- AUTHORSHIP ----------
entity ReportAgentRole:
type: RoleMetadata
roles:
- author
- editor
- contributor
- reviewer
- approver
- commissioning_agent
- issuing_organisation
rule authorship:
Agent role SHOULD be explicit
where accountability or attribution matters
rule organisation_author:
Organisation MAY act as report author or issuing body
# ---------- DATES / REPORTING PERIOD ----------
entity ReportingPeriod:
type: TemporalMetadata
may_include:
- start_date
- end_date
rule reporting_period:
IF start_date AND end_date exist
THEN REQUIRE start_date <= end_date
rule publication_reporting_distinction:
publication_date != reporting_period
# ---------- PURPOSE ----------
entity ReportPurpose:
type: ContextMetadata
may_include:
- objective
- intended_audience
- decision_context
- reporting_requirement
rule purpose:
ReportPurpose SHOULD describe why report was produced
where interpretation depends on intended use
# ---------- SCOPE ----------
entity ReportScope:
type: ContextMetadata
may_include:
- subject_scope
- temporal_scope
- geographic_scope
- organisational_scope
- exclusions
rule scope:
findings and recommendations MUST NOT automatically be generalised
beyond declared ReportScope
# ---------- EXECUTIVE SUMMARY ----------
entity ExecutiveSummary:
type: DocumentFragment
summarises: Report
rule executive_summary:
ExecutiveSummary != full Report
rule generated_summary:
machine-generated summary MUST remain distinguishable
from authoritative ExecutiveSummary
# ---------- METHODOLOGY ----------
entity ReportMethodology:
type: MethodMetadata
may_include:
- data_sources
- collection_method
- sampling
- analytical_method
- assumptions
- limitations
rule methodology:
ReportMethodology SHOULD preserve sufficient context
to interpret findings where available
# ---------- EVIDENCE ----------
entity ReportEvidence:
type: Evidence
may_be:
- Dataset
- Observation
- Measurement
- Document
- Interview
- Survey
- AuditRecord
- ExternalSource
rule evidence:
evidence SHOULD preserve source and provenance
rule evidence_not_finding:
Evidence != Finding
# ---------- FINDINGS ----------
entity Finding:
type: ReportAssertion
may_include:
- finding_identifier
- statement
- evidence
- scope
- confidence
- significance
rule finding:
Finding SHOULD preserve relationship to supporting evidence
where available
rule finding_not_conclusion:
Finding != Conclusion
# ---------- CONCLUSIONS ----------
entity ReportConclusion:
type: DerivedAssertion
may_include:
- conclusion_identifier
- statement
- supporting_findings
- scope
- confidence
rule conclusion:
Conclusion SHOULD preserve links to supporting Findings
rule conclusion_not_recommendation:
Conclusion != Recommendation
# ---------- RECOMMENDATIONS ----------
entity Recommendation:
type: ProposedAction
may_include:
- recommendation_identifier
- action
- rationale
- priority
- responsible_party
- target_date
- status
rule recommendation:
Recommendation SHOULD remain distinguishable
from Finding and Conclusion
rule recommendation_not_action:
proposed Recommendation != completed Action
# ---------- LIMITATIONS ----------
entity ReportLimitation:
type: QualityMetadata
may_include:
- limitation_type
- affected_scope
- explanation
- severity
rule limitation:
known limitations SHOULD be explicit
where they affect interpretation
# ---------- STRUCTURE ----------
entity ReportStructure:
type: DocumentStructure
may_include:
- title_page
- executive_summary
- contents
- introduction
- methodology
- findings
- discussion
- conclusions
- recommendations
- references
- appendices
rule structure:
ordered report sections SHOULD preserve sequence
# ---------- REFERENCES ----------
entity ReportReference:
type: CitationMetadata
may_include:
- cited_resource
- identifier
- citation_location
- reference_number
rule reference:
cited resource SHOULD resolve to stable identifier
where available
rule citation_not_endorsement:
citation != endorsement
# ---------- VERSION ----------
entity ReportVersion:
type: VersionMetadata
may_include:
- version_identifier
- predecessor
- successor
- creation_time
- revision_description
- status
rule version:
material report revision SHOULD create distinguishable ReportVersion
where auditability or citation requires
rule draft_final:
DraftVersion != FinalVersion
rule historical_version:
superseded ReportVersion SHOULD remain traceable
# ---------- STATUS ----------
report_status:
- draft
- review
- approved
- final
- published
- superseded
- withdrawn
- archived
rule status:
Report status SHOULD remain explicit
# ---------- REPRESENTATION ----------
entity ReportRepresentation:
type: DocumentRepresentation
may_be:
- PDF
- HTML
- DOCX
- ODT
- Markdown
- PlainText
rule representation:
ReportRepresentation != Report
rule multiple_representations:
same ReportVersion MAY have multiple representations
# ---------- RIGHTS / ACCESS ----------
entity ReportRights:
type: RightsMetadata
may_include:
- copyright_holder
- licence
- usage_rights
- attribution_requirement
- restrictions
entity ReportAccess:
type: AccessMetadata
may_include:
- access_level
- access_method
- embargo
- authentication_requirement
rule rights_access:
ReportRights != ReportAccess
# ---------- PROVENANCE ----------
entity ReportProvenance:
type: ProvenanceMetadata
may_include:
- authors
- organisation
- commissioning_body
- data_sources
- creation_process
- review_history
- approval_history
- revision_history
- publication_history
- extraction_method
rule provenance:
ReportMetadata SHOULD preserve report lifecycle and source history
# ---------- VALIDATION ----------
validation:
require:
- identifiable_report
validate_if_present:
- report_identifier
- title
- report_type
- authors
- organisation
- reporting_period
- purpose
- scope
- methodology
- evidence
- findings
- conclusions
- recommendations
- version
- status
- rights
- provenance
reject:
- contradictory_report_identity
- invalid_reporting_period
- finding_presented_as evidence_without context
- recommendation_presented_as completed_action
- draft_presented_as final_without status evidence
- representation_presented_as intellectual_report
- contradictory_version_relationship
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE:
"report metadata" ~= "metadata about a report"
"report identifier" ~= "report ID"
"report findings" ~= "reported findings"
"executive summary" ~= "report summary" WHEN authoritative summary is intended
"report recommendation" ~= "recommended action"
"report version" ~= "report revision" WHEN revision represents version
PRESERVE distinctions:
report != report_metadata
report != report_version
report != representation
evidence != finding
finding != conclusion
conclusion != recommendation
recommendation != completed_action
executive_summary != full_report
publication_date != reporting_period
rights != access
draft != final
# ---------- CONFIDENCE ----------
CONFIDENCE:
explicit_report_metadata:
score: 1.00
authoritative_report_identifier:
score: 1.00
explicit_authorship_and_organisation:
score: 0.99
explicit_version_and_status:
score: 0.99
evidence_linked_finding:
score: 0.95
metadata_extracted_from_report:
score: 0.95
inferred_report_type:
score: 0.85
title_only_identity_match:
score: <= 0.65
ambiguous_report_identity:
score: <= 0.60
action: preserve candidates
# ---------- UPDATE MODEL ----------
UPDATE_MODEL:
on_report_creation:
- assign ReportIdentifier
- record title and ReportType
- record authors and organisation
- record purpose and scope
- initialise version and provenance
on_report_revision:
- preserve previous ReportVersion
- create new version
- record revision description
- update findings or recommendations as applicable
- preserve provenance
on_approval:
- preserve previous status
- record approving agent
- set applicable status
- record approval time
- update provenance
on_publication:
- record publication date
- create publication representation where applicable
- preserve final ReportVersion
- update provenance
# ---------- FLOW HASH ----------
FLOW_HASH:
inputs:
- ontology
- report_entities
- relationships
- identity_rules
- scope_rules
- evidence_rules
- finding_rules
- recommendation_rules
- version_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:
- document metadata ontology
- report identity and lifecycle model
- evidence, findings, and recommendation structure
- report governance and provenance model
operations:
- identify reports
- resolve report identifiers
- classify report types
- resolve authors and organisations
- interpret reporting periods
- apply purpose and scope
- inspect methodology and evidence
- distinguish findings, conclusions, and recommendations
- traverse report structure
- resolve versions and status
- inspect rights and access
- trace provenance
- preserve uncertainty
constraints:
- do_not_equate_title_with_identity
- do_not_equate_evidence_with_finding
- do_not_equate_finding_with_conclusion
- do_not_equate_conclusion_with_recommendation
- do_not_present_recommendation_as completed_action
- do_not_present_draft_as final
- preserve_scope_evidence_versions_status_and_provenance
# ---------- QUERY MODEL ----------
query:
input:
- report_identifier
- title
- report_type
- author
- organisation
- reporting_period
- subject
- finding
- recommendation
- version
- status
resolve:
1. identify Report
2. resolve ReportIdentifier
3. retrieve title and type
4. resolve authors, organisation, and commissioning body
5. apply reporting period, purpose, and scope
6. inspect methodology and evidence
7. retrieve findings, conclusions, and recommendations
8. traverse structure and references
9. resolve version, status, rights, and provenance
10. return confidence
output:
- report
- identifier
- title
- report_type
- authors
- organisation
- reporting_period
- purpose
- scope
- findings
- conclusions
- recommendations
- version
- status
- provenance
- confidence
# ---------- INFERENCE ----------
inference:
IF authoritative ReportIdentifier resolves uniquely
THEN identify Report
WITH confidence = 1.00
IF Finding explicitly references Evidence
THEN construct evidence-to-finding relationship
IF Conclusion references Findings
THEN construct finding-to-conclusion derivation
IF Recommendation references Conclusion or Finding
THEN preserve recommendation rationale chain
IF report identity or version remains ambiguous
THEN preserve candidate Reports
AND do_not force resolution
# ---------- OUTPUT CONTRACT ----------
output:
ontology_entity: ReportMetadata
report_identity: machine_interpretable
authorship_and_organisation: traceable
purpose_and_scope: explicit
methodology_and_evidence: preserved
findings: evidence_linked
conclusions: distinguishable
recommendations: traceable
structure: traversable
versions_and_status: explicit
rights_and_access: distinguishable
provenance: preserved
uncertainty: explicit
semantic_retrieval: enabled
end flow
Download Code
Copy to Clipboard