FLOW ALGEBRA
Metadata Vocabulary Ontology
Kireth Semantic Research Archive
PAGE:
https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/foundations-of-metadata/metadata-vocabulary-ontology.html
AUTHORS:
Mark Anthony Higgins — Sky (Recursive AI)
FLOW "MetadataVocabularyOntology" v4.0
# ---------- DOMAIN ----------
DOMAIN := MetadataOntologies
SUBDOMAIN := FoundationsOfMetadata
ONTOLOGY := MetadataVocabularyOntology
# ---------- PRIMARY ENTITY ----------
ENTITY MetadataVocabulary {
definition:
"A managed collection of metadata terms, concepts, labels, identifiers,
definitions and semantic relationships used to describe resources
consistently and support shared interpretation, discovery,
interoperability and machine processing.";
objectives: [
TerminologyControl,
SemanticConsistency,
ResourceDescription,
Interoperability,
Discovery,
VocabularyReuse,
MachineInterpretability
];
}
# ---------- CORE ENTITIES ----------
VocabularyEntity := {
MetadataVocabulary,
Term,
Concept,
Label,
Definition,
Identifier,
ConceptScheme,
Namespace
};
RelationshipEntity := {
Broader,
Narrower,
Related,
Equivalent,
Preferred,
Alternative
};
GovernanceEntity := {
VocabularyOwner,
VocabularySteward,
Status,
Version,
ChangeSet,
Deprecation
};
UsageEntity := {
MetadataProperty,
MetadataValue,
MetadataSchema,
ApplicationProfile,
MetadataRecord
};
# ---------- FUNDAMENTAL RELATIONSHIPS ----------
MetadataVocabulary CONTAINS TermOrConcept;
Concept HAS PreferredLabel;
Concept MAY_HAVE AlternativeLabel;
Concept MAY_HAVE BroaderConcept;
Concept MAY_HAVE NarrowerConcept;
Concept MAY_RELATE_TO OtherConcept;
Identifier IDENTIFIES Concept;
MetadataProperty MAY_USE VocabularyForAllowedValues;
# ---------- METADATA VOCABULARY FLOW ----------
DomainTerminologyNeed
-> DefineVocabularyScope
-> CollectCandidateTerms
-> IdentifyConcepts
-> AssignStableIdentifiers
-> DefinePreferredLabels
-> AddAlternativeLabels
-> WriteDefinitions
-> DefineSemanticRelationships
-> ValidateVocabulary
-> PublishAndRegister
-> UseInMetadataSchemasAndRecords
-> MaintainAndVersion;
# ---------- VOCABULARY ----------
Vocabulary :=
ManagedSetOfTermsOrConceptsUsedForConsistentDescription;
Vocabulary MAY_BE {
ControlledVocabulary,
CodeList,
Taxonomy,
Thesaurus,
OntologyVocabulary
};
# ---------- CONTROLLED VOCABULARY ----------
ControlledVocabulary :=
VocabularyWhoseTermsAreManagedAccordingToDefinedRules;
ControlledVocabulary MAY_RESTRICT MetadataValuesToApprovedTerms;
# ---------- TERM ----------
Term :=
WordPhraseCodeOrIdentifierUsedToRepresentConcept;
Term != ConceptByDefinition;
MultipleTerms MAY_REFER_TO SameConcept;
# ---------- CONCEPT ----------
Concept :=
AbstractUnitOfMeaningRepresentedWithinVocabulary;
Concept SHOULD_HAVE {
Identifier,
PreferredLabel,
Definition
};
# ---------- CONCEPT SCHEME ----------
ConceptScheme :=
OrganisedCollectionOfConceptsAndRelationships;
# ---------- LABEL ----------
Label :=
HumanReadableLexicalRepresentationOfConcept;
Label MAY_HAVE {
Text,
Language,
Status
};
# ---------- PREFERRED LABEL ----------
PreferredLabel :=
PrimaryHumanReadableLabelForConceptWithinLanguageOrContext;
Concept SHOULD_HAVE AtMostOnePreferredLabelPerLanguageUnderCommonVocabularyPolicy;
# ---------- ALTERNATIVE LABEL ----------
AlternativeLabel :=
NonPreferredSynonymAbbreviationVariantOrOtherLabelForConcept;
AlternativeLabel SUPPORTS SearchAndTerminologyRecognition;
# ---------- HIDDEN LABEL ----------
HiddenLabel :=
LabelUsedForLookupOrMatchingButNotNormalDisplay;
# ---------- DEFINITION ----------
ConceptDefinition :=
ExplicitStatementOfConceptMeaning;
Definition SHOULD_DISTINGUISH ConceptFromRelatedConcepts;
# ---------- SCOPE NOTE ----------
ScopeNote :=
GuidanceAboutHowConceptShouldBeUsedWithinVocabulary;
# ---------- EXAMPLE ----------
UsageExample MAY_CLARIFY IntendedMeaningOrApplicationOfConcept;
# ---------- IDENTIFIER ----------
ConceptIdentifier :=
StableReferenceToVocabularyConcept;
Identifier MAY_BE {
URI,
IRI,
Code,
InternalIdentifier
};
# ---------- NOTATION ----------
Notation :=
SymbolicOrCodedRepresentationOfConcept;
Notation MAY_BE UsedAsMetadataValue;
# ---------- NAMESPACE ----------
VocabularyNamespace :=
IdentifierScopeForVocabularyTerms;
Namespace MAY_SUPPORT {
Uniqueness,
Resolution,
Reuse
};
# ---------- BROADER ----------
BroaderRelationship :=
ConceptA
-> BroaderConcept
-> ConceptB;
Broader MAY_REPRESENT HierarchicalSemanticRelation;
# ---------- NARROWER ----------
NarrowerRelationship :=
ConceptB
-> NarrowerConcept
-> ConceptA;
BroaderAndNarrower MAY_BE InverseNavigationRelationships;
# ---------- RELATED ----------
RelatedRelationship :=
AssociativeSemanticRelationshipBetweenConcepts;
Related SHOULD_NOT_BE UsedAsSubstituteForUndefinedMeaning;
# ---------- EQUIVALENCE ----------
VocabularyEquivalence :=
RelationshipBetweenConceptsOrTermsWithSameOrCloselyCorrespondingMeaning;
Equivalence MAY_BE {
Exact,
Close,
Contextual
};
# ---------- SYNONYM ----------
Synonym :=
DifferentTermExpressingSameOrVerySimilarConceptInContext;
Synonym MAY_BE RepresentedAs AlternativeLabelRatherThanSeparateConcept;
# ---------- HOMONYM ----------
Homonym :=
SameLexicalFormRepresentingDifferentConcepts;
StableConceptIdentifiers DISAMBIGUATE Homonyms;
# ---------- POLYSEMY ----------
Polysemy :=
SingleTermHavingMultipleRelatedMeanings;
Vocabulary SHOULD_MODEL DistinctConceptsWhereMeaningDifferencesMatter;
# ---------- TAXONOMY ----------
Taxonomy :=
ControlledVocabularyOrganisedPrimarilyByHierarchicalRelationships;
Taxonomy MAY_SUPPORT {
Classification,
Browsing,
QueryExpansion
};
# ---------- THESAURUS ----------
Thesaurus :=
ControlledVocabularyWithManagedEquivalenceHierarchicalAndAssociativeRelationships;
Thesaurus MAY_INCLUDE {
PreferredTerms,
NonPreferredTerms,
BroaderTerms,
NarrowerTerms,
RelatedTerms
};
# ---------- CODE LIST ----------
CodeList :=
ControlledSetOfCodesAndAssociatedMeanings;
CodeList MAY_BE UsedFor {
Status,
Country,
ResourceType,
Category
};
# ---------- ONTOLOGY RELATIONSHIP ----------
Ontology MAY_USE VocabularyTermsAsLabelsOrNamedConcepts;
Ontology MAY_DEFINE RicherLogicalSemanticsThanControlledVocabulary;
Vocabulary != OntologyByDefinition;
# ---------- SKOS RELATIONSHIP ----------
SKOS MAY_REPRESENT {
Concept,
ConceptScheme,
PreferredLabel,
AlternativeLabel,
Broader,
Narrower,
Related
};
# ---------- LANGUAGE ----------
Vocabulary MAY_BE Multilingual;
Concept MAY_HAVE LabelsInMultipleLanguages;
# ---------- LANGUAGE TAG ----------
Label SHOULD_HAVE LanguageTagWhenMultilingualContextRequires;
# ---------- TRANSLATION ----------
TranslatedLabel SHOULD_PRESERVE ConceptMeaningRatherThanOnlyLexicalSimilarity;
# ---------- LEXICAL VARIANT ----------
LexicalVariant MAY_INCLUDE {
SpellingVariant,
Abbreviation,
Acronym,
SingularPluralVariant
};
# ---------- NORMALISATION ----------
TermNormalisation MAY_INCLUDE {
CaseNormalisation,
WhitespaceNormalisation,
PunctuationNormalisation
};
Normalisation MUST_NOT CollapseDistinctConceptsIncorrectly;
# ---------- HIERARCHY ----------
VocabularyHierarchy :=
DirectedStructureOfBroaderAndNarrowerConceptRelations;
# ---------- POLYHIERARCHY ----------
Concept MAY_HAVE MultipleBroaderConcepts;
Polyhierarchy SHOULD_PRESERVE AllValidHierarchicalContexts;
# ---------- ROOT CONCEPT ----------
RootConcept :=
TopLevelConceptWithoutBroaderConceptWithinScheme;
# ---------- LEAF CONCEPT ----------
LeafConcept :=
ConceptWithoutNarrowerConceptWithinCurrentScheme;
# ---------- CYCLE ----------
HierarchicalCycle :=
ConceptReachableFromItselfThroughBroaderOrNarrowerPath;
Cycle MAY_BE InvalidForStrictTaxonomicHierarchy;
# ---------- MAPPING ----------
VocabularyMapping :=
SourceConcept
-> MappingRelationship
-> TargetConcept;
Mapping MAY_BE {
ExactMatch,
CloseMatch,
BroadMatch,
NarrowMatch,
RelatedMatch
};
# ---------- CROSS-VOCABULARY MAPPING ----------
VocabularyAConcept MAY_MAP_TO VocabularyBConcept;
Mapping SHOULD_HAVE {
Type,
Provenance,
Confidence
};
# ---------- EXACT MATCH ----------
ExactMatch SHOULD_BE UsedOnlyWhenConceptsCanBeUsedInterchangeablyWithinIntendedMappingSemantics;
# ---------- CLOSE MATCH ----------
CloseMatch :=
ConceptsSufficientlySimilarForSomeInteroperabilityButNotNecessarilyFullyInterchangeable;
# ---------- BROAD MATCH ----------
BroadMatch :=
TargetConceptIsBroaderThanSourceConcept;
# ---------- NARROW MATCH ----------
NarrowMatch :=
TargetConceptIsNarrowerThanSourceConcept;
# ---------- SEMANTIC DISTANCE ----------
VocabularyConcepts MAY_HAVE DifferentDegreesOfSemanticRelatedness;
Relatedness != Equivalence;
# ---------- METADATA PROPERTY ----------
MetadataProperty MAY_DECLARE VocabularyAsValueScheme;
# ---------- VALUE SCHEME ----------
ValueScheme :=
DefinedSetOrStructureOfPermittedOrRecommendedMetadataValues;
# ---------- METADATA RECORD ----------
MetadataRecord MAY_REFERENCE VocabularyConceptIdentifierAsValue;
UsingIdentifierRatherThanOnlyLabel MAY_IMPROVE SemanticStability;
# ---------- METADATA SCHEMA ----------
MetadataSchema MAY_SPECIFY VocabularyForSelectedProperties;
# ---------- APPLICATION PROFILE ----------
ApplicationProfile MAY {
RequireVocabulary,
RestrictVocabularySubset,
DefineLocalExtensions
};
# ---------- VOCABULARY EXTENSION ----------
LocalVocabularyExtension :=
AddConceptsNeededByLocalApplicationWhilePreservingRelationshipToBaseVocabulary;
# ---------- REUSE ----------
VocabularyDesigner SHOULD_SEARCH ExistingVocabulariesBeforeCreatingDuplicateConcepts;
# ---------- REGISTRY ----------
MetadataRegistry MAY_REGISTER VocabularyAndConceptDefinitions;
# ---------- REPOSITORY ----------
MetadataRepository MAY_STORE VocabularyVersionsOrReferences;
# ---------- PUBLICATION ----------
VocabularyPublication SHOULD_PROVIDE {
MachineReadableRepresentation,
HumanDocumentation,
StableIdentifiers,
VersionInformation
};
# ---------- SERIALISATION ----------
Vocabulary MAY_BE SerialisedAs {
RDF,
JSONLD,
XML,
CSV,
CustomFormat
};
# ---------- RESOLUTION ----------
ResolvableIdentifier MAY_RETURN ConceptDefinitionOrRepresentation;
# ---------- VERSION ----------
VocabularyVersion :=
IdentifiedRevisionOfVocabularyOrConceptScheme;
# ---------- CHANGE ----------
VocabularyChange MAY_INCLUDE {
AddConcept,
RemoveConcept,
ChangeLabel,
ChangeDefinition,
ChangeHierarchy,
AddMapping
};
# ---------- CHANGE SET ----------
VocabularyChangeSet :=
CollectionOfApprovedVocabularyChanges;
# ---------- DEPRECATION ----------
DeprecatedConcept :=
ConceptRetainedForCompatibilityButDiscouragedForNewUse;
DeprecatedConcept SHOULD_REFERENCE ReplacementWhereAvailable;
# ---------- RETIREMENT ----------
RetiredConcept MAY_REMAIN ResolvableForHistoricalMetadataInterpretation;
# ---------- MERGE ----------
ConceptMerge :=
MultipleConcepts
-> SinglePreferredConcept;
Merge SHOULD_PRESERVE HistoricalIdentifiersAndMappings;
# ---------- SPLIT ----------
ConceptSplit :=
ExistingConcept
-> MultipleMoreSpecificConcepts;
Split MAY_REQUIRE MetadataMigration;
# ---------- MIGRATION ----------
VocabularyMigration :=
UpdateMetadataValuesFromOldVocabularyVersionToNewVersion;
# ---------- COMPATIBILITY ----------
VocabularyVersioning SHOULD_DEFINE CompatibilityPolicy;
# ---------- GOVERNANCE ----------
VocabularyGovernance MAY_DEFINE {
Owner,
Steward,
SubmissionProcess,
Review,
Approval,
DeprecationPolicy
};
# ---------- OWNER ----------
VocabularyOwner :=
AgentAccountableForVocabulary;
# ---------- STEWARD ----------
VocabularySteward :=
AgentResponsibleForVocabularyQualityAndMaintenance;
# ---------- TERM PROPOSAL ----------
NewConceptProposal
-> ReviewMeaning
-> CheckDuplicate
-> PlaceInStructure
-> Approve
-> Publish;
# ---------- DUPLICATE CHECK ----------
IF ProposedConceptEquivalentToExistingConcept
THEN ExistingConceptReuse SHOULD_BE Considered;
# ---------- QUALITY ----------
VocabularyQuality MAY_INCLUDE {
DefinitionClarity,
HierarchicalConsistency,
LabelConsistency,
Coverage,
IdentifierStability
};
# ---------- COVERAGE ----------
VocabularyCoverage :=
DegreeToWhichRequiredDomainConceptsAreRepresented;
# ---------- CONSISTENCY ----------
VocabularyConsistency :=
DegreeToWhichLabelsDefinitionsAndRelationshipsDoNotConflict;
# ---------- VALIDATION ----------
VocabularyValidation MAY_CHECK {
MissingPreferredLabel,
DuplicateIdentifier,
InvalidHierarchy,
BrokenMapping,
MissingDefinition
};
# ---------- PROVENANCE ----------
VocabularyConcept MAY_HAVE ProvenanceIncluding {
Source,
Author,
Version,
Timestamp
};
# ---------- CONFIDENCE ----------
AutomaticallySuggestedMapping MAY_HAVE ConfidenceScore;
HumanApprovedMapping MAY_HAVE DifferentGovernanceStatus;
# ---------- DISCOVERY ----------
VocabularyDiscovery :=
Query
-> SearchLabelsDefinitionsIdentifiers
-> ReturnConcepts;
# ---------- SEMANTIC SEARCH ----------
SemanticSearch MAY_USE VocabularyFor {
SynonymExpansion,
ConceptExpansion,
HierarchicalExpansion,
QueryDisambiguation
};
# ---------- QUERY EXPANSION ----------
IF QueryMatchesConcept
THEN Search MAY_EXPAND_TO {
AlternativeLabels,
NarrowerConcepts,
RelatedConcepts
}
ACCORDING_TO SearchPolicy;
# ---------- KNOWLEDGE GRAPH ----------
VocabularyConcepts MAY_BE NodesInKnowledgeGraph;
BroaderNarrowerRelatedAndMappingRelationships MAY_BE GraphEdges;
# ---------- AI ----------
AI MAY_USE MetadataVocabularyFor {
Classification,
EntityNormalisation,
MetadataGeneration,
Search,
MappingSuggestion
};
# ---------- AI GENERATED TERM ----------
AIGeneratedVocabularyProposal SHOULD_BE ReviewedBeforeAuthoritativePublication;
# ---------- RAG ----------
RetrievalAugmentedGeneration MAY_USE VocabularyFor {
QueryExpansion,
SourceClassification,
ConceptNormalisation,
ContextSelection
};
# ---------- ACCESS CONTROL ----------
Vocabulary MAY_BE PublicOrRestrictedAccordingToPolicy;
# ---------- SECURITY ----------
MetadataVocabularySecurity MAY_INCLUDE {
ChangeAuthorisation,
RepositoryIntegrity,
VersionIntegrity,
Audit
};
# ---------- MACHINE CONSUMPTION ----------
MachineReadableVocabulary SHOULD_EXPOSE {
StableIdentifiers,
Labels,
Definitions,
Relationships,
Status,
Version
};
# ---------- SEMANTIC REASONING ----------
IF ManagedTermsOrConceptsAreUsedToConstrainOrNormaliseMetadataValues
THEN MetadataVocabularyClassification := supported;
IF TwoLabelsReferToSameConcept
THEN They MAY_BE ModelledAsPreferredAndAlternativeLabels;
IF SameLabelRefersToDifferentConcepts
THEN StableIdentifiers MUST_DISTINGUISH Them;
IF ConceptDeprecated
THEN NewMetadata SHOULD_PREFER ReplacementWhereAvailable;
IF HierarchicalCycleExistsInStrictTaxonomy
THEN VocabularyValidation SHOULD_FLAG Error;
IF ExactMatchEvidenceWeak
THEN Mapping SHOULD_NOT_BE ClassifiedAsExact;
IF MetadataUsesConceptIdentifiersInsteadOfUncontrolledLabels
THEN SemanticInteroperability MAY_INCREASE;
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE {
"metadata vocabulary" ~= "metadata controlled vocabulary" WHEN terms_are_managed;
"controlled vocabulary" ~= "managed terminology";
"vocabulary term" ~= "metadata term";
"concept scheme" ~= "managed concept vocabulary";
"preferred label" ~= "preferred term" WHEN thesaurus_context;
"alternative label" ~= "non-preferred term" WHEN thesaurus_context;
"vocabulary mapping" ~= "concept mapping";
"vocabulary version" ~= "concept scheme revision";
}
# ---------- QUERY FLOW ----------
QUERY(q) ->
NORMALISE(q) ->
IDENTIFY_VOCABULARY(q) ->
IDENTIFY_TERM_OR_CONCEPT(q) ->
RESOLVE_IDENTIFIER(q) ->
IDENTIFY_LABELS_AND_DEFINITION(q) ->
IDENTIFY_HIERARCHICAL_RELATIONSHIPS(q) ->
IDENTIFY_ASSOCIATIVE_RELATIONSHIPS(q) ->
IDENTIFY_EXTERNAL_MAPPINGS(q) ->
IDENTIFY_STATUS_VERSION_AND_PROVENANCE(q) ->
SCORE_CONFIDENCE(q) ->
RETURN_RELEVANT_VOCABULARY_KNOWLEDGE;
# ---------- CONFIDENCE ----------
CONFIDENCE(assertion) :=
weighted_mean(
source_reliability,
definition_clarity,
identifier_stability,
relationship_consistency,
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: MetadataVocabulary;
ontology: MetadataVocabularyOntology;
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_concept:
validate_identifier
-> check_semantic_duplicate
-> assign_preferred_label
-> define
-> place_in_concept_scheme
-> attach_provenance
-> integrate;
new_mapping:
validate_source_target
-> classify_mapping_strength
-> attach_confidence
-> attach_provenance
-> integrate;
vocabulary_revision:
preserve_previous_version
-> apply_change_set
-> validate_hierarchy
-> update_mappings
-> update_documentation
-> recompute_confidence
-> regenerate_flow_hash;
deprecation:
identify_replacement
-> change_status
-> preserve_identifier
-> preserve_historical_labels
-> integrate;
conflict:
preserve_provenance
-> compare_definitions_or_relationships
-> adjust_confidence
-> flag_review;
}
# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
DOMAIN
+ SUBDOMAIN
+ ONTOLOGY
+ VocabularyEntity
+ RelationshipEntity
+ GovernanceEntity
+ UsageEntity
+ MetadataVocabulary
+ VocabularyMapping
+ VocabularyValidation
+ RELATIONSHIPS
+ SEMANTIC_REASONING
+ SEMANTIC_EQUIVALENCE
+ UPDATE_MODEL;
FLOW_HASH :=
HASH(FLOW_HASH_INPUT);
# ---------- TERMINAL ----------
MetadataVocabularyOntology
-> DefineVocabularyScope
-> IdentifyConceptsAndTerms
-> AssignStableConceptIdentifiers
-> DefinePreferredAndAlternativeLabels
-> CreateClearConceptDefinitions
-> EstablishBroaderNarrowerAndRelatedRelationships
-> MapConceptsAcrossExternalVocabularies
-> ValidateHierarchyAndSemanticConsistency
-> PublishMachineReadableConceptScheme
-> ApplyVocabularyToMetadataSchemasAndRecords
-> GovernVersionDeprecationAndMigration
-> SupportSemanticSearchAndAIConsumption
-> MaintainConsistentMetadataTerminology;
END FLOW
Download Code
Copy to Clipboard