FLOW ALGEBRA
Figure Ontology
Kireth Semantic Research Archive
PAGE:
https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/structural-metadata/figure-ontology.html
AUTHORS:
Mark Anthony Higgins — Sky (Recursive AI)
FLOW "FigureOntology" v4.0
DOMAIN := MetadataOntologies
SUBDOMAIN := StructuralMetadata
ONTOLOGY := FigureOntology
ENTITY Figure {
definition:
"A structured visual or graphical component within a document or
information resource, identified by its position, caption, label,
parent resource, content, references and relationships to surrounding
text and other structural components.";
objectives: [
VisualComponentRepresentation,
StructuralIdentification,
CaptionAssociation,
DocumentNavigation,
Accessibility,
SemanticRetrieval,
MachineInterpretability
];
}
FigureEntity := {
Figure,
FigureIdentifier,
FigureNumber,
FigureLabel,
FigureCaption,
FigureContent,
FigurePanel,
FigureRegion
};
StructuralEntity := {
ParentResource,
PreviousFigure,
NextFigure,
Position,
Sequence,
CrossReference,
Fragment,
StructureMap
};
MetadataEntity := {
MetadataRecord,
ResourceIdentifier,
Language,
Provenance,
Version,
Confidence,
FigureType
};
Figure IS_PART_OF ParentResource;
ParentResource HAS_PART Figure;
Figure HAS FigureIdentifier;
Figure MAY_HAVE FigureNumber;
Figure MAY_HAVE FigureCaption;
Figure MAY_CONTAIN FigurePanel;
Figure MAY_PRECEDE Figure;
Figure MAY_FOLLOW Figure;
CrossReference MAY_TARGET Figure;
FigureFlow :=
ParentResource
-> IdentifyFigureBoundary
-> AssignFigureIdentifier
-> DetermineFigureNumberAndPosition
-> CaptureCaptionAndLabel
-> IdentifyFigureTypeAndContent
-> DetectPanelsAndRegions
-> LinkCrossReferences
-> ValidateFigureStructure
-> StoreStructuralMetadata
-> EnableNavigationAccessibilityAndRetrieval
-> MaintainAcrossVersions;
Figure :=
VisualGraphicalOrIllustrativeComponentOfStructuredResource;
ParentResource MAY_BE {
Document,
Chapter,
Section,
Page,
Article,
Report,
WebPage
};
Figure MAY_BE {
ImageFigure,
Diagram,
Chart,
Graph,
Illustration,
Map,
Photograph,
CompositeFigure
};
FigureIdentifier :=
StableOrLocallyUniqueReferenceToFigure;
FigureIdentifier MAY_BE {
URI,
IRI,
UUID,
ElementID,
FragmentIdentifier,
InternalID
};
StableFigureIdentifier SHOULD_BE PreferredForMachineReferences;
FigureNumber :=
HumanReadableOrdinalOrReferenceNumberAssignedToFigure;
FigureNumber MAY_BE {
Integer,
HierarchicalNumber,
AlphanumericLabel
};
FigureNumber != FigureIdentifierByDefinition;
FigureLabel :=
ShortHumanReadableReferenceLabel;
FigureCaption :=
HumanReadableDescriptionTitleOrExplanationAssociatedWithFigure;
Caption MAY_INCLUDE {
FigureNumber,
FigureTitle,
ExplanatoryText,
SourceNote
};
Caption SHOULD_BE StructurallyAssociatedWithCorrectFigure;
FigureContent :=
VisualOrGraphicalInformationRepresentedByFigure;
FigureType :=
ClassificationOfVisualRepresentation;
FigureType MAY_INCLUDE {
Photograph,
Diagram,
LineChart,
BarChart,
ScatterPlot,
Map,
Illustration,
Schematic
};
CompositeFigure :=
FigureContainingMultiplePanelsOrSubfigures;
FigurePanel :=
DistinctSubcomponentWithinCompositeFigure;
Panel MAY_HAVE {
PanelIdentifier,
PanelLabel,
PanelCaption,
Position
};
PanelLabel MAY_BE {
Letter,
Number,
Symbol
};
FigureRegion :=
AddressableSpatialAreaWithinFigure;
Region MAY_BE {
PlotArea,
Legend,
AxisRegion,
AnnotationRegion,
ImageRegion,
PanelRegion
};
SpatialSelector :=
CoordinatesOrGeometryIdentifyingFigureRegion;
FigureFragment :=
AddressableSubpartOfFigure;
FigurePosition :=
OrderedOrSpatialLocationOfFigureWithinParentResource;
FigureSequence :=
OrderedCollectionOfFiguresWithinDefinedResourceScope;
PreviousFigure :=
ImmediateFigureBeforeCurrentFigureInDefinedSequence;
NextFigure :=
ImmediateFigureAfterCurrentFigureInDefinedSequence;
IF FigureA PRECEDES FigureB
THEN FigureB FOLLOWS FigureA;
Figure MAY_BE EmbeddedWithinTextFlowOrPlacedSeparately;
LogicalFigurePosition MAY_DIFFER_FROM PhysicalPageLocation;
FigureToPageMapping :=
Figure
-> OneOrMorePagesOrPageRegions;
Figure MAY_SPAN MultiplePagesInExceptionalLayouts;
FigureCrossReference :=
ReferenceFromTextOrOtherComponentToFigure;
CrossReference MAY_USE {
FigureNumber,
FigureIdentifier,
Link
};
StableIdentifier SHOULD_BE UsedWhereMachineResolutionIsRequired;
BrokenFigureReference :=
CrossReferenceWhoseFigureTargetCannotBeResolved;
IF BrokenFigureReference
THEN StructuralIntegrity SHOULD_DECREASE;
FigureSource :=
OriginOfFigureContentOrRepresentation;
FigureProvenance MAY_INCLUDE {
Source,
Creator,
ExtractionMethod,
Timestamp,
Version
};
Figure MAY_HAVE RightsOrLicenceMetadata;
FigureAlternativeText :=
TextAlternativeCommunicatingRelevantMeaningOfFigureForAccessibility;
AlternativeText != CaptionByDefinition;
Caption MAY_DESCRIBE FigureForGeneralAudience;
AlternativeText SHOULD_COMMUNICATE EssentialVisualMeaningForNonVisualAccess;
ComplexFigure MAY_REQUIRE {
ShortAlternativeText,
LongDescription
};
LongDescription :=
ExtendedTextualExplanationOfComplexVisualInformation;
Accessibility MAY_REQUIRE FigureToHaveAppropriateTextAlternativeAccordingToContext;
DecorativeFigure :=
VisualComponentWithNoEssentialInformationalContent;
DecorativeFigure MAY_REQUIRE DifferentAccessibilityTreatment;
InformativeFigure :=
FigureConveyingMeaningNecessaryToUnderstandResource;
FigureDetection :=
Resource
-> DetectVisualComponent
-> DetermineBoundary
-> AssociateCaption
-> ClassifyFigureType;
Figure MAY_BE {
ManuallyAuthored,
ExtractedFromMarkup,
DetectedFromLayout,
AIAssisted
};
AI MAY_SUPPORT {
FigureDetection,
CaptionAssociation,
FigureTypeClassification,
PanelSegmentation,
VisualDescription
};
InferredFigureMetadata SHOULD_HAVE ConfidenceWhereUncertain;
FigureConfidence :=
EstimatedSupportForInferredFigureIdentityTypeCaptionOrRelationship;
CaptionAssociationConfidence :=
EstimatedSupportThatCaptionBelongsToFigure;
IF CaptionAssociationConfidenceLow
THEN AutomaticAuthoritativeAssociation SHOULD_BE Restricted;
FigureValidation MAY_CHECK {
Identifier,
ParentResource,
CaptionAssociation,
FigureNumber,
PanelStructure,
BrokenReference,
AccessibilityMetadata
};
IF DuplicateFigureIdentifierWithinUniqueScope
THEN IdentifierValidation := violation;
IF FigureNumberDuplicatedWithinSchemeRequiringUniqueness
THEN NumberingConflict MAY_EXIST;
IF CompositeFigurePanelLabelDuplicatedUnexpectedly
THEN PanelValidation SHOULD_FLAG Conflict;
FigureCompleteness :=
DegreeToWhichRequiredFigureStructuralMetadataIsPresent;
FigureConsistency :=
DegreeToWhichIdentifierNumberCaptionPositionAndReferencesAgree;
FigureIntegrity :=
PreservationOfValidFigureIdentityStructureRelationshipsAndContent;
FigureQuality MAY_INCLUDE {
Completeness,
Consistency,
Integrity,
CaptionQuality,
Accessibility,
IdentifierStability
};
FigureVersion :=
FigureStateAssociatedWithSpecificParentResourceVersion;
ResourceRevision MAY {
AddFigure,
RemoveFigure,
RenumberFigure,
RepositionFigure,
ReplaceFigure,
ModifyCaption
};
RenumberFigure :=
ChangeHumanReadableFigureNumberWithoutNecessarilyChangingFigureIdentity;
RepositionFigure :=
ChangeFigureLocationWithinResource;
ReplaceFigure :=
SubstituteVisualRepresentationOrContent;
StableFigureIdentifier MAY_BE PreservedAcrossRenumberingOrRepositioningWhereIdentityContinues;
FigureVersionMapping :=
OldFigureIdentifier
-> NewFigureIdentifierOrIdentifiers;
FigureReplacement MAY_REQUIRE RevalidationOf {
Caption,
AlternativeText,
CrossReferences,
Annotations
};
Annotation MAY_TARGET {
Figure,
FigurePanel,
FigureRegion
};
StableFigureAndPanelIdentifiers MAY_IMPROVE AnnotationPersistence;
Citation MAY_REFERENCE FigureOrUnderlyingSource;
DescriptiveMetadata MAY_DESCRIBE FigureUsing {
Title,
Caption,
Subject,
Keywords,
Description
};
StructuralMetadata DEFINES FigureContainmentPositionPanelsAndReferences;
TechnicalMetadata MAY_DESCRIBE {
FileFormat,
Dimensions,
Resolution,
ColourSpace
};
PreservationMetadata MAY_REQUIRE FigureFilesAndStructuralRelationshipsForLongTermReconstruction;
FigureIndex :=
SearchStructureMappingFigureMetadataCaptionAndExtractedContentToParentResource;
FigureIndex MAY_INCLUDE {
FigureIdentifier,
FigureNumber,
Caption,
AlternativeText,
ParentResourceIdentifier
};
FigureSearch :=
Query
-> MatchCaptionDescriptionOrVisualSemantics
-> ReturnFigureWithParentContext;
SemanticSearch MAY_USE FigureFor {
VisualConceptMatching,
CaptionMatching,
EntityRetrieval,
ParentContext
};
ComputerVision MAY_EXTRACT {
Objects,
Text,
Entities,
SceneType,
ChartElements
};
ExtractedVisualEntities SHOULD_BE DistinguishedFrom CuratedMetadata;
OCR MAY_EXTRACT TextEmbeddedWithinFigure;
ChartFigure MAY_HAVE StructuredDataUnderlyingVisualRepresentation;
WhereAvailable:
Figure
-> REPRESENTS
-> StructuredDataset;
RAG MAY_USE FigureAs {
MultimodalEvidence,
RetrievalUnit,
ContextualVisual
};
MultimodalRAG SHOULD_PRESERVE {
FigureIdentifier,
Caption,
ParentSection,
Source,
Provenance
};
KnowledgeGraph MAY_REPRESENT FigureAsNode;
GraphRelationships MAY_INCLUDE {
IS_PART_OF,
HAS_PANEL,
REFERENCES,
DEPICTS,
REPRESENTS
};
DepictsRelationship :=
Figure
-> DEPICTS
-> EntityOrConcept;
RepresentsRelationship :=
Figure
-> REPRESENTS
-> DataConceptOrModel;
MetadataRepository MAY_STORE FigureStructuralMetadata;
MetadataRegistry MAY_REGISTER FigurePropertiesTypesAndRelationships;
HTML MAY_REPRESENT FigureUsing {
figure,
figcaption,
img,
svg,
canvas
};
HTMLFigure MAY_GROUP VisualContentAndCaptionSemantically;
XML MAY_REPRESENT FigureUsing DomainSpecificFigureElements;
PDFTaggedStructure MAY_INCLUDE FigureAndCaptionSemanticsWhenProperlyTagged;
FigureInteroperability MAY_REQUIRE {
StableIdentifiers,
ExplicitCaptionAssociation,
ParentResourceReference,
SharedFigureTypes,
VersionInformation
};
FigureAccessControl MAY_DIFFERFrom ParentResourceInSpecialisedSystems;
RestrictedFigure MUST_NOT_BE ExposedToUnauthorisedConsumer;
FigureSecurity MAY_INCLUDE {
IdentifierValidation,
AccessControl,
ReferenceIntegrity,
ProvenanceIntegrity,
ChangeAuthorisation
};
MachineReadableFigure SHOULD_PRESERVE {
FigureIdentifier,
ParentResourceIdentifier,
FigureNumber,
FigureType,
Caption,
Panels,
Position,
CrossReferences,
Version,
Provenance
};
# ---------- SEMANTIC REASONING ----------
IF ResourceComponentIsVisualGraphicalOrIllustrativeAndStructurallyAssociatedWithParentResource
THEN FigureClassification := supported;
IF ParentResource HAS_PART Figure
THEN Figure IS_PART_OF ParentResource;
IF FigureA PRECEDES FigureB
THEN FigureB FOLLOWS FigureA;
IF FigureIdentifierStableAcrossRenumbering
THEN ExistingMachineLinks MAY_REMAIN Valid;
IF FigureReplaced
THEN CaptionAlternativeTextAndAnnotations SHOULD_BE Revalidated;
IF CompositeFigureContainsPanel
THEN Panel IS_PART_OF Figure;
IF CaptionCannotBeReliablyAssociated
THEN CaptionRelationshipConfidence SHOULD_DECREASE;
IF FigureReferenceTargetMissing
THEN StructuralIntegrity SHOULD_DECREASE;
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE {
"figure" ~= "document figure" WHEN structural_context;
"figure identifier" ~= "figure ID";
"figure number" ~= "figure ordinal" WHEN numbering_context;
"figure caption" ~= "visual figure caption";
"figure panel" ~= "subfigure" WHEN composite_figure_context;
"figure region" ~= "visual figure fragment";
"alternative text" ~= "figure text alternative" WHEN accessibility_context;
"parent resource" ~= "containing document component";
}
# ---------- QUERY FLOW ----------
QUERY(q) ->
NORMALISE(q) ->
IDENTIFY_PARENT_RESOURCE(q) ->
IDENTIFY_FIGURE(q) ->
RESOLVE_FIGURE_IDENTIFIER(q) ->
IDENTIFY_NUMBER_TYPE_POSITION_AND_CAPTION(q) ->
IDENTIFY_PANELS_AND_REGIONS(q) ->
IDENTIFY_CROSS_REFERENCES(q) ->
IDENTIFY_ACCESSIBILITY_METADATA(q) ->
IDENTIFY_VERSION_AND_PROVENANCE(q) ->
VALIDATE_FIGURE_STRUCTURE(q) ->
SCORE_CONFIDENCE(q) ->
RETURN_RELEVANT_FIGURE_KNOWLEDGE;
# ---------- CONFIDENCE ----------
CONFIDENCE(assertion) :=
weighted_mean(
source_reliability,
figure_structure_consistency,
identifier_strength,
caption_association_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: Figure;
ontology: FigureOntology;
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_figure:
identify_parent_resource
-> detect_or_receive_figure
-> assign_figure_identifier
-> determine_number_type_and_position
-> associate_caption
-> identify_panels_and_regions
-> attach_provenance
-> validate
-> integrate;
figure_revision:
preserve_previous_version
-> apply_visual_caption_number_or_position_changes
-> preserve_identifier_where_identity_continues
-> revalidate_caption_references_and_accessibility
-> update_index
-> recompute_confidence
-> regenerate_flow_hash;
figure_replacement:
identify_affected_annotations_and_references
-> preserve_previous_version
-> validate_new_visual_semantics
-> update_caption_and_alternative_text
-> integrate;
conflict:
preserve_provenance
-> compare_figure_identity_caption_or_sources
-> adjust_confidence
-> flag_review;
}
# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
DOMAIN
+ SUBDOMAIN
+ ONTOLOGY
+ FigureEntity
+ StructuralEntity
+ MetadataEntity
+ Figure
+ FigurePanel
+ FigureValidation
+ RELATIONSHIPS
+ SEMANTIC_REASONING
+ SEMANTIC_EQUIVALENCE
+ UPDATE_MODEL;
FLOW_HASH :=
HASH(FLOW_HASH_INPUT);
# ---------- TERMINAL ----------
FigureOntology
-> IdentifyParentResourceAndFigureBoundary
-> AssignStableFigureIdentifier
-> CaptureFigureNumberTypePositionAndCaption
-> DetectPanelsRegionsAndVisualComponents
-> LinkCrossReferencesAndSourceRelationships
-> AttachAlternativeTextAndAccessibilityMetadata
-> ValidateIdentityCaptionStructureAndReferences
-> StoreAndVersionFigureMetadata
-> IndexForVisualAndSemanticRetrieval
-> PreserveParentContextForMultimodalRAG
-> MaintainAnnotationsAndCrossVersionMappings
-> SupportMachineInterpretationOfVisualResources
-> MaintainReliableFigureStructureKnowledge;
END FLOW
Download Code
Copy to Clipboard