FLOW ALGEBRA
Metadata Schema Ontology
Kireth Semantic Research Archive
PAGE:
https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/foundations-of-metadata/metadata-schema-ontology.html
AUTHORS:
Mark Anthony Higgins — Sky (Recursive AI)
FLOW "MetadataSchemaOntology" v4.0
# ---------- DOMAIN ----------
DOMAIN := MetadataOntologies
SUBDOMAIN := FoundationsOfMetadata
ONTOLOGY := MetadataSchemaOntology
# ---------- PRIMARY ENTITY ----------
ENTITY MetadataSchema {
definition:
"A formal or documented specification defining metadata elements,
properties, datatypes, relationships, cardinalities, constraints,
identifiers and controlled values used to create consistent and
interoperable metadata records.";
objectives: [
MetadataStandardisation,
StructuralConsistency,
SemanticClarity,
Validation,
Interoperability,
Reuse,
MachineInterpretability
];
}
# ---------- CORE ENTITIES ----------
SchemaEntity := {
MetadataSchema,
MetadataElement,
MetadataProperty,
MetadataRecord,
Resource,
Value,
Identifier,
Namespace
};
ConstraintEntity := {
Datatype,
Cardinality,
Requiredness,
PatternConstraint,
ValueConstraint,
RelationshipConstraint
};
SemanticEntity := {
Definition,
Vocabulary,
Taxonomy,
Ontology,
Mapping,
ApplicationProfile
};
LifecycleEntity := {
SchemaVersion,
ChangeSet,
Deprecation,
Migration,
Validation,
Governance
};
# ---------- FUNDAMENTAL RELATIONSHIPS ----------
MetadataSchema DEFINES MetadataElement;
MetadataElement REPRESENTS MetadataProperty;
MetadataProperty DESCRIBES Resource;
MetadataProperty HAS Datatype;
MetadataProperty HAS Cardinality;
MetadataRecord CONFORMS_TO MetadataSchema;
Vocabulary CONSTRAINS MetadataValue;
SchemaVersion REPRESENTS SchemaState;
# ---------- METADATA SCHEMA FLOW ----------
MetadataRequirement
-> DefineSchemaScope
-> IdentifyResourceTypes
-> DefineMetadataElements
-> DefinePropertySemantics
-> AssignDatatypes
-> DefineCardinality
-> DefineRequiredness
-> AttachControlledVocabularies
-> DefineRelationships
-> AddValidationConstraints
-> PublishSchema
-> ValidateMetadataRecords
-> MaintainAndVersionSchema;
# ---------- SCHEMA ----------
Schema :=
SpecificationOfAllowedMetadataStructureAndMeaning;
MetadataSchema MAY_DEFINE {
Elements,
Properties,
Datatypes,
Cardinalities,
Relationships,
Constraints,
Vocabularies
};
# ---------- SCOPE ----------
SchemaScope :=
DefinedBoundaryOfResourcesAndMetadataRequirementsCoveredBySchema;
Scope SHOULD_IDENTIFY {
ResourceTypes,
IntendedApplications,
RequiredMetadata,
OptionalMetadata
};
# ---------- RESOURCE TYPE ----------
ResourceType :=
CategoryOfResourceDescribedUsingSchema;
DifferentResourceTypes MAY_HAVE DifferentMetadataRequirements;
# ---------- METADATA ELEMENT ----------
MetadataElement :=
NamedComponentDefinedByMetadataSchema;
Element SHOULD_HAVE {
Identifier,
Label,
Definition
};
Element MAY_HAVE {
Datatype,
Cardinality,
Requiredness,
Vocabulary
};
# ---------- PROPERTY ----------
MetadataProperty :=
SemanticCharacteristicRepresentedByMetadataElement;
Property SHOULD_HAVE StableMeaningAcrossCompatibleSchemaVersions;
# ---------- IDENTIFIER ----------
SchemaTermIdentifier :=
StableReferenceToSchemaElementOrProperty;
Identifier MAY_BE {
URI,
IRI,
QualifiedName,
InternalIdentifier
};
# ---------- NAMESPACE ----------
Namespace :=
IdentifierScopeForSchemaTerms;
Namespace MAY_SUPPORT {
TermUniqueness,
Reuse,
Interoperability
};
# ---------- LABEL ----------
SchemaTerm MAY_HAVE HumanReadableLabel;
Label MAY_HAVE LanguageTag;
# ---------- DEFINITION ----------
SchemaTermDefinition :=
ExplicitDescriptionOfTermMeaningAndIntendedUse;
Definition SHOULD_MINIMISE Ambiguity;
# ---------- DATATYPE ----------
Datatype :=
AllowedRepresentationOfMetadataValue;
Datatype MAY_INCLUDE {
String,
Integer,
Decimal,
Boolean,
Date,
DateTime,
URI,
LanguageTaggedString
};
# ---------- CARDINALITY ----------
Cardinality :=
NumberOfValuesPermittedOrRequiredForMetadataProperty;
Cardinality MAY_BE {
ZeroOrOne,
ExactlyOne,
ZeroOrMany,
OneOrMany,
Minimum,
Maximum
};
# ---------- REQUIREDNESS ----------
Requiredness :=
ObligationLevelForMetadataElement;
Requiredness MAY_BE {
Required,
Recommended,
Optional
};
# ---------- VALUE CONSTRAINT ----------
ValueConstraint :=
RuleRestrictingAllowedMetadataValues;
ValueConstraint MAY_USE {
Enumeration,
ControlledVocabulary,
NumericRange,
Pattern,
IdentifierScheme
};
# ---------- PATTERN ----------
PatternConstraint :=
StructuralPatternRequiredForStringOrIdentifierValue;
# ---------- ENUMERATION ----------
Enumeration :=
FiniteSetOfAllowedValues;
# ---------- CONTROLLED VOCABULARY ----------
ControlledVocabulary :=
ManagedSetOfPermittedOrPreferredMetadataTerms;
Vocabulary MAY_BE {
FlatList,
Taxonomy,
Thesaurus,
Ontology
};
# ---------- TAXONOMY ----------
Taxonomy :=
HierarchicalControlledVocabulary;
# ---------- THESAURUS ----------
Thesaurus MAY_DEFINE {
PreferredTerm,
AlternativeTerm,
BroaderTerm,
NarrowerTerm,
RelatedTerm
};
# ---------- ONTOLOGY ----------
Ontology MAY_DEFINE RichSemanticRelationshipsForSchemaTermsAndValues;
# ---------- RELATIONSHIP ----------
MetadataRelationship :=
TypedAssociationBetweenDescribedResourcesOrMetadataEntities;
Relationship MAY_HAVE {
Domain,
Range,
Direction,
Cardinality
};
# ---------- DOMAIN ----------
PropertyDomain :=
ResourceClassForWhichMetadataPropertyIsApplicable;
# ---------- RANGE ----------
PropertyRange :=
AllowedTypeOfValueOrTargetResource;
# ---------- INVERSE ----------
MetadataRelationship MAY_HAVE InverseRelationship;
IF P INVERSE_OF Q
AND A P B
THEN B Q A
UNDER applicable_semantics;
# ---------- SCHEMA CONSTRAINT ----------
SchemaConstraint :=
RuleDefiningValidMetadataRecordStructureOrValue;
ConstraintViolation SHOULD_BE ReportedByValidator;
# ---------- METADATA RECORD ----------
MetadataRecord :=
InstanceUsingSchemaTermsToDescribeResource;
MetadataRecord CONFORMS_TO MetadataSchema
WHEN AllApplicableConstraintsAreSatisfied;
# ---------- VALIDATION ----------
SchemaValidation :=
MetadataRecord
+ MetadataSchema
-> ConformanceResult;
ConformanceResult MAY_BE {
Conformant,
Warning,
Violation
};
# ---------- REQUIRED PROPERTY VALIDATION ----------
IF RequiredPropertyMissing
THEN ValidationStatus := violation;
# ---------- DATATYPE VALIDATION ----------
IF ValueDoesNotMatchDeclaredDatatype
THEN ValidationStatus := violation;
# ---------- CARDINALITY VALIDATION ----------
IF ValueCountOutsideAllowedCardinality
THEN ValidationStatus := violation;
# ---------- VOCABULARY VALIDATION ----------
IF PropertyRequiresControlledVocabulary
AND ValueNotPermitted
THEN ValidationStatus := violation_or_warning
ACCORDING_TO policy;
# ---------- SEMANTIC VALIDATION ----------
SemanticValidation :=
CheckWhetherMetadataValuesAndRelationshipsMatchIntendedMeaning;
StructuralValidity DOES_NOT_GUARANTEE SemanticAccuracy;
# ---------- SYNTAX ----------
Schema MAY_BE ExpressedUsing {
JSONSchema,
XMLSchema,
RDFSchema,
SHACL,
OWL,
CustomSpecification
};
# ---------- JSON SCHEMA RELATIONSHIP ----------
JSONSchema MAY_VALIDATE JSONMetadataStructureAndValues;
# ---------- XML SCHEMA RELATIONSHIP ----------
XMLSchema MAY_DEFINE XMLMetadataElementsDatatypesAndStructure;
# ---------- RDF SCHEMA RELATIONSHIP ----------
RDFS MAY_DEFINE {
Class,
Property,
Domain,
Range,
Subclass
};
# ---------- SHACL RELATIONSHIP ----------
SHACL MAY_DEFINE ShapesAndConstraintsForRDFGraphValidation;
# ---------- OWL RELATIONSHIP ----------
OWL MAY_DEFINE FormalSemanticAxiomsBeyondBasicStructuralValidation;
# ---------- APPLICATION PROFILE ----------
ApplicationProfile :=
SchemaConfigurationTailoredToSpecificApplicationCommunityOrDomain;
ApplicationProfile MAY {
ReuseExternalTerms,
RestrictCardinality,
RequireProperties,
SelectVocabularies,
AddLocalConstraints
};
# ---------- REUSE ----------
Schema SHOULD_REUSE ExistingTermsWhenSemanticsMatch;
Reuse SHOULD_REFERENCE StableExternalIdentifiersWherePossible;
# ---------- IMPORT ----------
Schema MAY_IMPORT_OR_REFERENCE ExternalVocabularyOrOntology;
Dependency SHOULD_BE VersionedOrDocumented;
# ---------- EXTENSION ----------
SchemaExtension :=
AddNewTermsOrConstraintsToExistingSchemaForLocalNeed;
Extension SHOULD_AVOID RedefiningExistingTermWithDifferentMeaning;
# ---------- MODULARITY ----------
MetadataSchema MAY_BE DividedInto Modules;
SchemaModule MAY_FOCUS_ON {
DescriptiveMetadata,
TechnicalMetadata,
RightsMetadata,
PreservationMetadata
};
# ---------- CROSSWALK ----------
SchemaCrosswalk :=
MappingBetweenTermsInDifferentMetadataSchemas;
Crosswalk MAY_BE {
Exact,
Approximate,
Conditional,
Composite,
Lossy
};
# ---------- MAPPING ----------
SchemaMapping :=
SourceProperty
-> TargetPropertyOrTransformation;
Mapping SHOULD_DOCUMENT {
RelationType,
Conditions,
SemanticLoss
};
# ---------- ONE TO ONE ----------
OneToOneMapping :=
SingleSourceElement
-> SingleTargetElement;
# ---------- ONE TO MANY ----------
OneToManyMapping :=
SingleSourceElement
-> MultipleTargetElements;
# ---------- MANY TO ONE ----------
ManyToOneMapping :=
MultipleSourceElements
-> SingleTargetElement;
# ---------- TRANSFORMATION ----------
SchemaTransformation :=
SourceMetadataRecord
+ MappingRules
-> TargetMetadataRecord;
# ---------- INTEROPERABILITY ----------
SchemaInteroperability :=
AbilityToExchangeMetadataAcrossSystemsWhilePreservingStructureAndMeaning;
Interoperability MAY_REQUIRE {
SharedTerms,
Crosswalk,
StableIdentifiers,
VocabularyAlignment
};
# ---------- HARMONISATION ----------
SchemaHarmonisation :=
AlignMultipleMetadataSchemasIntoConsistentSharedModelOrMappingLayer;
# ---------- VERSION ----------
SchemaVersion :=
IdentifiedRevisionOfMetadataSchema;
Version SHOULD_HAVE {
Identifier,
ReleaseDate,
ChangeSummary
};
# ---------- CHANGE ----------
SchemaChange MAY_INCLUDE {
AddElement,
RemoveElement,
RenameElement,
ChangeDatatype,
ChangeCardinality,
ChangeVocabulary,
ChangeDefinition
};
# ---------- BREAKING CHANGE ----------
BreakingSchemaChange :=
ChangeThatMayInvalidateExistingMetadataRecordsMappingsOrApplications;
BreakingChange SHOULD_BE ClearlyVersionedAndDocumented;
# ---------- DEPRECATION ----------
DeprecatedSchemaTerm :=
TermRetainedForCompatibilityButDiscouragedForNewMetadata;
DeprecatedTerm SHOULD_REFERENCE ReplacementWhereAvailable;
# ---------- MIGRATION ----------
SchemaMigration :=
TransformMetadataRecordsFromOldSchemaVersionToNewSchemaVersion;
Migration SHOULD_VALIDATE TargetRecords;
# ---------- BACKWARD COMPATIBILITY ----------
BackwardCompatibleChange :=
ChangeThatDoesNotInvalidatePreviouslyValidMetadataUnderDefinedCompatibilityPolicy;
# ---------- FORWARD COMPATIBILITY ----------
ForwardCompatibility :=
AbilityOfOlderConsumerToHandleNewerMetadataAccordingToDefinedExtensionRules;
# ---------- CHANGE IMPACT ----------
SchemaChange
-> IdentifyAffectedRecords
-> IdentifyAffectedMappings
-> IdentifyAffectedApplications
-> PlanMigration;
# ---------- GOVERNANCE ----------
SchemaGovernance :=
PoliciesRolesAndProcessesForManagingMetadataSchema;
Governance MAY_DEFINE {
Maintainer,
ChangeApproval,
ReleasePolicy,
DeprecationPolicy,
ReviewProcess
};
# ---------- DOCUMENTATION ----------
SchemaDocumentation SHOULD_INCLUDE {
Purpose,
Scope,
Elements,
Definitions,
Datatypes,
Cardinality,
Constraints,
Examples
};
# ---------- EXAMPLE ----------
Schema MAY_PROVIDE ValidAndInvalidExampleRecords;
Examples SUPPORT ImplementationAndTesting;
# ---------- TESTING ----------
SchemaTestSuite MAY_INCLUDE {
ValidRecord,
MissingRequiredProperty,
InvalidDatatype,
InvalidCardinality,
InvalidVocabularyValue
};
# ---------- REGRESSION ----------
SchemaRegressionTest :=
VerifySchemaRevisionDoesNotUnexpectedlyChangeRequiredValidationBehaviour;
# ---------- QUALITY ----------
MetadataSchemaQuality MAY_INCLUDE {
Clarity,
Consistency,
Completeness,
Reusability,
Interoperability,
Maintainability
};
# ---------- COMPLETENESS ----------
SchemaCompleteness :=
DegreeToWhichSchemaRepresentsMetadataRequirementsWithinDefinedScope;
# ---------- CONSISTENCY ----------
SchemaConsistency :=
DegreeToWhichDefinitionsConstraintsAndRelationshipsDoNotConflict;
# ---------- CLARITY ----------
SchemaClarity :=
DegreeToWhichTermsAndRulesAreUnambiguousToImplementersAndMachines;
# ---------- DISCOVERY ----------
MetadataSchema MAY_SUPPORT DiscoveryByDefiningConsistentSearchableFields;
# ---------- INDEXING ----------
Schema MAY_GUIDE SearchIndexConfigurationFor {
Text,
Date,
Keyword,
Facet,
Identifier
};
# ---------- SEMANTIC SEARCH ----------
SemanticSearch MAY_USE SchemaDefinitionsToInterpretMetadataProperties;
# ---------- KNOWLEDGE GRAPH ----------
MetadataSchema MAY_MAP_TO KnowledgeGraphSchemaOrOntology;
# ---------- DATABASE ----------
MetadataSchema MAY_BE ImplementedAs DatabaseSchemaOrValidationLayer;
# ---------- STRUCTURED DATA ----------
WebStructuredData MAY_FOLLOW VocabularyAndSchemaConstraints;
# ---------- AI ----------
AI MAY_USE MetadataSchemaFor {
MetadataExtraction,
FieldMapping,
Validation,
Classification,
Retrieval
};
# ---------- AI GENERATED METADATA ----------
AIGeneratedMetadata SHOULD_BE ValidatedAgainstSchemaBeforeTrustedUse;
# ---------- RAG ----------
RetrievalAugmentedGeneration MAY_USE MetadataSchemaTo {
FilterSources,
InterpretMetadataFields,
EnforceAccessConstraints,
PreserveProvenance
};
# ---------- MACHINE CONSUMPTION ----------
MachineConsumableSchema SHOULD_HAVE {
StableIdentifiers,
ExplicitDatatypes,
ExplicitConstraints,
Version,
DefinedSemantics
};
# ---------- SECURITY ----------
MetadataSchemaSecurity MAY_INCLUDE {
RepositoryAccess,
ChangeAuthorisation,
ReleaseIntegrity,
DependencyValidation
};
# ---------- PRIVACY ----------
Schema MAY_MARK PropertiesAsSensitiveOrRestricted;
AccessPolicy MAY_REFERENCE SchemaClassification;
# ---------- SEMANTIC REASONING ----------
IF SpecificationDefinesMetadataPropertiesDatatypesCardinalitiesAndConstraints
THEN MetadataSchemaClassification := supported;
IF RequiredPropertyMissing
THEN RecordConformance := false;
IF DatatypeMismatchExists
THEN RecordConformance := false;
IF CrosswalkMapsDifferentMeanings
THEN MappingConfidence SHOULD_DECREASE;
IF SchemaVersionIntroducesBreakingChange
THEN Migration SHOULD_BE Planned;
IF ExistingTermHasCorrectSemantics
THEN Reuse MAY_BE PreferredOverDuplicateTermCreation;
IF AIGeneratedMetadataViolatesSchema
THEN Metadata SHOULD_BE RejectedOrCorrectedAccordingToPolicy;
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE {
"metadata schema" ~= "metadata specification";
"metadata element" ~= "metadata field" WHEN schema_context;
"metadata property" ~= "metadata attribute" WHEN descriptive_context;
"schema crosswalk" ~= "metadata schema mapping";
"application profile" ~= "metadata application profile";
"schema validation" ~= "metadata conformance validation";
"controlled vocabulary" ~= "managed value vocabulary";
"schema version" ~= "metadata schema revision";
}
# ---------- QUERY FLOW ----------
QUERY(q) ->
NORMALISE(q) ->
IDENTIFY_SCHEMA_SCOPE(q) ->
IDENTIFY_RESOURCE_TYPES(q) ->
IDENTIFY_ELEMENTS_AND_PROPERTIES(q) ->
IDENTIFY_DATATYPES(q) ->
IDENTIFY_CARDINALITY_AND_REQUIREDNESS(q) ->
IDENTIFY_VOCABULARIES_AND_RELATIONSHIPS(q) ->
IDENTIFY_CONSTRAINTS(q) ->
IDENTIFY_VERSION_AND_MAPPINGS(q) ->
VALIDATE_SCHEMA_KNOWLEDGE(q) ->
SCORE_CONFIDENCE(q) ->
RETURN_RELEVANT_SCHEMA_KNOWLEDGE;
# ---------- CONFIDENCE ----------
CONFIDENCE(assertion) :=
weighted_mean(
source_reliability,
schema_consistency,
semantic_clarity,
validation_evidence,
interoperability_evidence,
contextual_relevance
);
CONFIDENCE >= 0.90 => HIGH;
CONFIDENCE >= 0.70 AND < 0.90 => MODERATE;
CONFIDENCE < 0.70 => REVIEW;
# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION {
primary_entity: MetadataSchema;
ontology: MetadataSchemaOntology;
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_schema_term:
validate_identifier
-> define_semantics
-> assign_datatype
-> assign_cardinality
-> attach_constraints
-> integrate;
new_mapping:
validate_source_target
-> classify_mapping
-> identify_semantic_loss
-> attach_provenance
-> integrate;
schema_revision:
preserve_previous_version
-> apply_change_set
-> identify_breaking_changes
-> run_regression_tests
-> update_documentation
-> recompute_confidence
-> regenerate_flow_hash;
record_validation:
load_schema_version
-> validate_record
-> classify_violations
-> return_conformance_result;
conflict:
preserve_provenance
-> compare_schema_definitions
-> adjust_confidence
-> flag_review;
}
# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
DOMAIN
+ SUBDOMAIN
+ ONTOLOGY
+ SchemaEntity
+ ConstraintEntity
+ SemanticEntity
+ LifecycleEntity
+ MetadataSchema
+ SchemaValidation
+ SchemaCrosswalk
+ RELATIONSHIPS
+ SEMANTIC_REASONING
+ SEMANTIC_EQUIVALENCE
+ UPDATE_MODEL;
FLOW_HASH :=
HASH(FLOW_HASH_INPUT);
# ---------- TERMINAL ----------
MetadataSchemaOntology
-> DefineMetadataRequirementsAndScope
-> IdentifyResourceTypes
-> DefineElementsAndSemanticProperties
-> AssignDatatypesCardinalityAndRequiredness
-> AttachControlledVocabularies
-> DefineTypedRelationshipsAndConstraints
-> AssignStableIdentifiersAndNamespaces
-> PublishMachineConsumableSchema
-> ValidateMetadataRecords
-> MapAcrossExternalSchemas
-> VersionGovernAndMigrateChanges
-> PreserveSemanticInteroperability
-> MaintainConsistentMetadataSpecification;
END FLOW
Download Code
Copy to Clipboard