FLOW ALGEBRA
Title Ontology
Kireth Semantic Research Archive
PAGE:
https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/descriptive-metadata/title-ontology.html
AUTHORS:
Mark Anthony Higgins — Sky (Recursive AI)
FLOW "TitleOntology" v4.0
DOMAIN := MetadataOntologies
SUBDOMAIN := DescriptiveMetadata
ONTOLOGY := TitleOntology
ENTITY Title {
definition:
"A descriptive metadata value that names, identifies or distinguishes
a resource for human and machine discovery, reference, display and
semantic interpretation.";
objectives: [
ResourceIdentification,
Discovery,
Distinction,
Display,
Citation,
SemanticRetrieval,
Interoperability
];
}
TitleEntity := {
Title,
Resource,
PreferredTitle,
AlternativeTitle,
TranslatedTitle,
AbbreviatedTitle,
FormerTitle,
Subtitle
};
MetadataEntity := {
MetadataRecord,
TitleProperty,
TitleValue,
Identifier,
Language,
Script,
Provenance
};
ControlEntity := {
TitleType,
TitleStatus,
NormalisedTitle,
SortTitle,
Version,
Confidence
};
Title DESCRIBES Resource;
PreferredTitle PRIMARY_NAMES Resource;
AlternativeTitle ALSO_NAMES Resource;
Subtitle QUALIFIES MainTitle;
TranslatedTitle TRANSLATES Title;
FormerTitle PREVIOUSLY_NAMED Resource;
MetadataRecord CONTAINS TitleStatement;
TitleFlow :=
Resource
-> IdentifyTitleSource
-> ExtractOrAssignTitle
-> DetermineTitleType
-> DetermineLanguageAndScript
-> NormaliseForIndexing
-> PreserveDisplayForm
-> LinkToResourceIdentifier
-> ValidateTitle
-> StoreInMetadataRecord
-> IndexForDiscovery
-> MaintainTitleHistory;
Title :=
HumanReadableOrMachineRepresentedNameAssociatedWithResource;
Resource MAY_HAVE MultipleTitles;
PreferredTitle :=
PrimaryTitleSelectedAccordingToMetadataPolicy;
AlternativeTitle :=
AdditionalTitleByWhichResourceMayBeKnown;
Subtitle :=
SecondaryTitleElementExpandingOrQualifyingMainTitle;
FullTitle MAY_BE:
MainTitle + Subtitle;
TranslatedTitle :=
TitleExpressedInDifferentLanguageWhileReferringToSameResource;
AbbreviatedTitle :=
ShortenedRecognisedFormOfTitle;
FormerTitle :=
TitlePreviouslyUsedForResource;
VariantTitle MAY_INCLUDE {
SpellingVariant,
PunctuationVariant,
Acronym,
CommonAlternative
};
ParallelTitle :=
TitlePresentedInAnotherLanguageOrScriptAsPartOfSameResourceDescription;
SuppliedTitle :=
TitleCreatedByMetadataAgentWhenResourceLacksExplicitTitle;
SuppliedTitle SHOULD_BE MarkedAccordingToMetadataPolicy;
TitleSource MAY_BE {
ResourceItself,
PublisherMetadata,
CatalogueRecord,
ExternalAuthority,
MetadataAgent,
AIExtraction
};
TitleStatement :=
Resource
-> TitleProperty
-> TitleValue;
TitleProperty MAY_BE {
preferredTitle,
alternativeTitle,
subtitle,
translatedTitle,
formerTitle,
abbreviatedTitle
};
TitleValue :=
TextualOrStructuredRepresentationOfTitle;
TitleValue MAY_HAVE {
LanguageTag,
ScriptCode,
Direction,
Provenance
};
Language :=
LanguageInWhichTitleIsExpressed;
Script :=
WritingSystemUsedForTitle;
MultilingualResource MAY_HAVE MultipleLanguageSpecificTitles;
TitleLanguage SHOULD_BE DistinguishedFrom ResourceContentLanguage;
DisplayTitle :=
TitleFormPresentedToUser;
NormalisedTitle :=
TitleFormPreparedForMatchingIndexingOrComparison;
DisplayTitle SHOULD_NOT NecessarilyBeReplacedByNormalisedTitle;
TitleNormalisation MAY_INCLUDE {
UnicodeNormalisation,
WhitespaceNormalisation,
CaseFoldingForSearch,
PunctuationHandling
};
Normalisation MUST_PRESERVE OriginalTitleValue;
SortTitle :=
DerivedTitleValueUsedForOrdering;
SortTitle MAY_APPLY RulesFor {
LeadingArticle,
Punctuation,
Case,
Numerals
};
SortTitle != DisplayTitle;
LeadingArticle MAY_BE IgnoredForSortingAccordingToLanguageSpecificPolicy;
TitleToken :=
LexicalUnitWithinTitle;
TitleSearch MAY_USE {
ExactMatch,
TokenMatch,
PrefixMatch,
FuzzyMatch,
SemanticMatch
};
ExactTitleMatch :=
QueryTitleEquivalentToStoredTitleUnderDefinedNormalisation;
FuzzyTitleMatch :=
ApproximateLexicalMatchAllowingMinorVariation;
SemanticTitleMatch :=
MeaningBasedSimilarityBetweenQueryAndTitleRepresentation;
Title MAY_BE EmbeddedForSemanticSimilaritySearch;
VectorSimilarity != TitleIdentityByDefinition;
TitleIdentity :=
DeterminationThatTwoTitleRepresentationsReferToSameNamedResourceOrTitleExpression;
SameTitleText DOES_NOT Guarantee SameResource;
ResourceIdentifier SHOULD_BE UsedToDistinguishResourcesWithIdenticalTitles;
DuplicateTitle :=
SameOrEquivalentTitleValueAssociatedWithMultipleResources;
DuplicateTitle IS_NOT MetadataErrorByDefinition;
TitleUniqueness MAY_BE {
NotRequired,
RequiredWithinCollection,
RequiredWithinApplication
};
TitleValidation MAY_CHECK {
Requiredness,
Datatype,
MaximumLength,
LanguageTag,
ProhibitedControlCharacters
};
IF SchemaRequiresTitle
AND TitleMissing
THEN ValidationStatus := violation;
IF TitleValueEmpty
THEN Completeness MAY_DECREASE;
TitleAccuracy :=
DegreeToWhichStoredTitleCorrectlyRepresentsResource;
TitleCompleteness :=
DegreeToWhichRequiredTitleFormsArePresent;
TitleConsistency :=
DegreeToWhichTitleRepresentationFollowsSharedMetadataRules;
AuthorityTitle :=
PreferredTitleFormEstablishedByAuthorityControl;
AuthorityControl MAY_SUPPORT ConsistentTitleRepresentationAcrossRecords;
UniformTitle :=
ControlledTitleUsedToCollocateDifferentManifestationsOrVersionsAccordingToCataloguingPolicy;
WorkTitle MAY_DIFFER_FROM ManifestationTitle;
TitleOntology SHOULD_DISTINGUISH {
WorkLevelTitle,
EditionTitle,
ManifestationTitle,
FileTitle
}
WHEN application_requires;
ResourceRelation MAY_CONNECT DifferentVersionsSharingRelatedTitles;
TitleChange :=
ResourceTitleAtTimeA
-> RevisedTitleAtTimeB;
TitleHistory SHOULD_PRESERVE FormerTitleWhereHistoricallyRelevant;
VersionedResource MAY_HAVE DifferentTitlesAcrossVersions;
TemporalTitle MAY_HAVE {
ValidFrom,
ValidTo
};
TitleProvenance MAY_INCLUDE {
Source,
Creator,
ExtractionMethod,
Timestamp,
Confidence
};
AutomaticallyExtractedTitle SHOULD_HAVE ExtractionProvenance;
AI MAY_SUGGEST TitleFromResourceContent;
AIGeneratedTitle SHOULD_NOT ReplaceAuthoritativeTitleWithoutValidation;
Title MAY_BE UsedIn {
SearchResult,
Catalogue,
Citation,
Navigation,
KnowledgeGraph,
StructuredData
};
MetadataSchema MAY_DEFINE TitleAs RequiredOrRecommendedProperty;
DublinCore MAY_REPRESENT TitleUsing dc:titleOrEquivalentTerm;
SchemaOrg MAY_REPRESENT ResourceNameUsing nameOrHeadlineAccordingToResourceType;
RDF MAY_REPRESENT:
Resource
-> titleProperty
-> TitleLiteral;
JSONLD MAY_SERIALISE TitleWithLanguageAndSemanticContext;
KnowledgeGraph MAY_REPRESENT TitleAs NodePropertyOrLiteralRelationship;
SemanticSearch MAY_USE TitleFor {
ResourceMatching,
Ranking,
EntityResolution,
QueryInterpretation
};
Title MAY_HAVE HigherRankingWeightForNavigationalResourceQueries;
TitleIndex :=
SearchIndexOptimisedForTitleRetrieval;
TitleIndex MAY_STORE {
DisplayTitle,
NormalisedTitle,
AlternativeTitles,
ResourceIdentifier
};
Autocomplete MAY_USE TitleIndex;
AlternativeTitles MAY_IMPROVE RecallWithoutChangingPreferredDisplayTitle;
TitleCollision :=
MultipleResourcesShareSameNormalisedTitle;
TitleCollision SHOULD_TRIGGER AdditionalDisambiguationUsing {
Creator,
Date,
Type,
Identifier
};
DisambiguatedDisplay MAY_COMBINE TitleWithContext
WITHOUT ChangingCanonicalTitleValue;
Title MAY_INCLUDE NamedEntities;
EntityExtractionFromTitle MAY_SUPPORT SemanticSearch
BUT ExtractedEntity SHOULD_NOT AlterTitleText;
PrivacyPolicy MAY_APPLY IfTitleContainsSensitiveInformation;
AccessControl MAY_RESTRICT TitleWhereMetadataItselfIsProtected;
TitleSecurity MAY_INCLUDE {
InputValidation,
OutputEscaping,
ProvenanceIntegrity,
ChangeAuthorisation
};
TitleChange SHOULD_BE AuditableWhereMetadataGovernanceRequires;
MachineReadableTitle SHOULD_PRESERVE {
Value,
Type,
Language,
ResourceIdentifier,
Provenance
};
# ---------- SEMANTIC REASONING ----------
IF MetadataValueFunctionsAsNameOfResource
THEN TitleClassification := supported;
IF MultipleTitlesExist
THEN One MAY_BE PreferredAccordingToMetadataPolicy
AND Others MAY_BE AlternativeOrTypedTitles;
IF SameTitleTextAppearsForDifferentResourceIdentifiers
THEN Resources MUST_NOT_BE AutomaticallyMerged;
IF PreferredTitleChanges
THEN PreviousPreferredTitle MAY_BECOME FormerTitleAccordingToPolicy;
IF QueryMatchesAlternativeTitle
THEN Resource MAY_BE RetrievedUsingPreferredTitleForDisplay;
IF TitleLanguageDiffersFromQueryLanguage
AND TranslatedTitleExists
THEN TranslatedTitle MAY_SUPPORT Retrieval;
IF TitleSourceIsUnverified
THEN Confidence SHOULD_BE LowerThanVerifiedAuthoritativeSource;
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE {
"title" ~= "resource title" WHEN metadata_context;
"preferred title" ~= "primary title";
"alternative title" ~= "variant title" WHEN non_primary_name_context;
"subtitle" ~= "secondary title" WHEN title_component_context;
"translated title" ~= "title translation";
"abbreviated title" ~= "short title" WHEN recognised_short_form;
"former title" ~= "previous title";
"sort title" ~= "title sort key";
}
# ---------- QUERY FLOW ----------
QUERY(q) ->
NORMALISE(q) ->
IDENTIFY_RESOURCE(q) ->
IDENTIFY_TITLE_VALUE(q) ->
IDENTIFY_TITLE_TYPE(q) ->
IDENTIFY_LANGUAGE_AND_SCRIPT(q) ->
IDENTIFY_RESOURCE_IDENTIFIER(q) ->
IDENTIFY_TITLE_PROVENANCE(q) ->
IDENTIFY_TITLE_HISTORY(q) ->
VALIDATE_TITLE(q) ->
SCORE_CONFIDENCE(q) ->
RETURN_RELEVANT_TITLE_KNOWLEDGE;
# ---------- CONFIDENCE ----------
CONFIDENCE(assertion) :=
weighted_mean(
source_reliability,
title_accuracy,
identifier_strength,
authority_control_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: Title;
ontology: TitleOntology;
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_title:
identify_resource
-> classify_title_type
-> preserve_display_value
-> normalise_for_index
-> attach_language
-> attach_provenance
-> validate
-> integrate;
title_revision:
preserve_previous_title
-> update_preferred_or_typed_title
-> update_index
-> validate
-> recompute_confidence
-> regenerate_flow_hash;
title_merge_candidate:
compare_resource_identifiers
-> compare_creator_date_and_type
-> avoid_false_resource_merge
-> flag_review_if_ambiguous;
conflict:
preserve_provenance
-> compare_title_sources
-> assess_authority
-> adjust_confidence
-> flag_review;
}
# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
DOMAIN
+ SUBDOMAIN
+ ONTOLOGY
+ TitleEntity
+ MetadataEntity
+ ControlEntity
+ Title
+ TitleStatement
+ TitleNormalisation
+ RELATIONSHIPS
+ SEMANTIC_REASONING
+ SEMANTIC_EQUIVALENCE
+ UPDATE_MODEL;
FLOW_HASH :=
HASH(FLOW_HASH_INPUT);
# ---------- TERMINAL ----------
TitleOntology
-> IdentifyDescribedResource
-> CaptureAuthoritativeTitle
-> ClassifyPreferredAlternativeOrTypedTitle
-> PreserveLanguageScriptAndDisplayForm
-> GenerateNormalisedAndSortRepresentations
-> LinkTitleToStableResourceIdentifier
-> ValidateTitleMetadata
-> IndexPreferredAndAlternativeTitles
-> DisambiguateDuplicateTitleStrings
-> PreserveProvenanceAndHistoricalTitles
-> SupportSearchCitationAndSemanticRetrieval
-> UpdateTitleWhenResourceChanges
-> MaintainReliableResourceNamingKnowledge;
END FLOW
Download Code
Copy to Clipboard