FLOW ALGEBRA
Descriptive Metadata Ontology
Kireth Semantic Research Archive
PAGE:
https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/descriptive-metadata/descriptive-metadata-ontology.html
AUTHORS:
Mark Anthony Higgins — Sky (Recursive AI)
FLOW "DescriptiveMetadataOntology" v4.0
DOMAIN := MetadataOntologies
SUBDOMAIN := DescriptiveMetadata
ONTOLOGY := DescriptiveMetadataOntology
ENTITY DescriptiveMetadata {
definition:
"Metadata that identifies, describes and contextualises the content,
subject, authorship, type and discoverable characteristics of a
resource so people and machines can find, distinguish, select and
understand it.";
objectives: [
ResourceIdentification,
Discovery,
Description,
SubjectAccess,
Selection,
SemanticRetrieval,
Interoperability
];
}
DescriptionEntity := {
Resource,
MetadataRecord,
Title,
Creator,
Contributor,
Subject,
Description,
Keyword
};
ClassificationEntity := {
ResourceType,
Genre,
Category,
Classification,
TaxonomyConcept,
VocabularyTerm
};
ContextEntity := {
Publisher,
Date,
Language,
Coverage,
Relation,
Identifier
};
SemanticEntity := {
MetadataSchema,
ControlledVocabulary,
Taxonomy,
Ontology,
Provenance,
Confidence
};
DescriptiveMetadata DESCRIBES Resource;
Title NAMES Resource;
Creator CREATED Resource;
Contributor CONTRIBUTED_TO Resource;
Subject DESCRIBES TopicOfResource;
Description SUMMARISES Resource;
Identifier IDENTIFIES Resource;
Classification ASSIGNS ResourceToCategory;
DescriptiveMetadataFlow :=
Resource
-> IdentifyResource
-> AssignStableIdentifier
-> DetermineResourceType
-> CreateTitle
-> IdentifyCreatorsAndContributors
-> AssignSubjectsAndKeywords
-> CreateDescription
-> RecordPublisherDateLanguageAndCoverage
-> LinkRelatedResources
-> ValidateAgainstSchema
-> IndexForDiscovery
-> MaintainAndUpdateDescription;
Resource :=
ThingDescribedForIdentificationDiscoveryAndUnderstanding;
Resource MAY_BE {
Book,
Article,
Dataset,
Image,
Audio,
Video,
Software,
WebPage,
PhysicalObject,
Event,
KnowledgeEntity
};
Title :=
HumanReadableNameByWhichResourceIsKnown;
Resource MAY_HAVE {
PreferredTitle,
AlternativeTitle,
TranslatedTitle,
AbbreviatedTitle
};
PreferredTitle :=
PrimaryTitleSelectedForDisplayOrIdentificationAccordingToMetadataPolicy;
AlternativeTitle :=
AdditionalNameOrVariantTitleForResource;
Creator :=
AgentPrimarilyResponsibleForCreationOfResource;
Creator MAY_BE {
Person,
Organisation,
SoftwareSystem
};
Contributor :=
AgentContributingToResourceWithoutBeingPrimaryCreator;
ContributorRole MAY_INCLUDE {
Editor,
Translator,
Illustrator,
Researcher,
Performer
};
AuthorshipRelationship :=
Creator
-> CREATED
-> Resource;
Subject :=
TopicConceptEntityOrDomainRepresentedByResource;
Subject MAY_BE {
FreeTextTerm,
ControlledVocabularyTerm,
TaxonomyConcept,
OntologyConcept,
EntityReference
};
SubjectMetadata SUPPORTS {
Search,
Browse,
Filtering,
Classification,
SemanticRetrieval
};
Keyword :=
TermAssociatedWithResourceContentOrTopic;
Keyword MAY_BE {
Controlled,
Uncontrolled
};
Description :=
HumanReadableSummaryAbstractCaptionOrExplanationOfResource;
Description MAY_BE {
Abstract,
Summary,
Caption,
ScopeNote,
ContentNote
};
Abstract :=
ConciseSummaryOfResourceContentOrPurpose;
ResourceType :=
ClassificationOfResourceByNatureOrGeneralForm;
ResourceType MAY_INCLUDE {
Text,
Dataset,
Image,
Audio,
Video,
Software,
PhysicalObject
};
Genre :=
CategoryBasedOnStyleFormPurposeOrConvention;
Genre MAY_DIFFER_FROM TechnicalFormat;
Format :=
PhysicalOrDigitalManifestationFormatOfResource;
Publisher :=
AgentResponsibleForMakingResourceAvailable;
DescriptiveDate MAY_HAVE Role {
Created,
Issued,
Published,
Modified
};
DateRole SHOULD_BE Explicit;
Language :=
LanguageOfResourceContent;
Language SHOULD_USE StandardLanguageIdentifierWhereApplicable;
Coverage :=
SpatialTemporalOrJurisdictionalScopeOfResourceContent;
Coverage MAY_BE {
SpatialCoverage,
TemporalCoverage
};
SpatialCoverage :=
PlaceRegionOrGeographicAreaRelevantToResource;
TemporalCoverage :=
TimePeriodRelevantToResourceContent;
ResourceIdentifier :=
StableReferenceToResource;
Identifier MAY_BE {
URI,
IRI,
DOI,
ISBN,
ISSN,
UUID,
InternalIdentifier
};
ResourceRelation :=
TypedAssociationBetweenDescribedResourceAndOtherResource;
Relation MAY_INCLUDE {
IsPartOf,
HasPart,
IsVersionOf,
HasVersion,
References,
IsReferencedBy,
IsDerivedFrom
};
Source :=
ResourceFromWhichCurrentResourceIsDerivedOrRelatedAccordingToDefinedSemantics;
Classification :=
AssignmentOfResourceToDefinedCategoryOrConcept;
Classification MAY_USE {
Taxonomy,
ClassificationScheme,
Ontology
};
Category :=
GroupingUsedToOrganiseResourcesBySharedCharacteristic;
DescriptiveMetadata MAY_USE TaxonomyForHierarchicalSubjectOrTypeClassification;
ControlledVocabulary :=
ManagedSetOfPermittedOrPreferredDescriptiveTerms;
ControlledVocabulary MAY_IMPROVE {
Consistency,
Discovery,
Interoperability
};
Thesaurus MAY_SUPPORT {
PreferredTerms,
AlternativeTerms,
BroaderTerms,
NarrowerTerms,
RelatedTerms
};
Ontology MAY_PROVIDE ExplicitSemanticRelationshipsForDescriptiveConceptsAndEntities;
DescriptiveMetadata MAY_REFERENCE CanonicalEntitiesRatherThanOnlyTextLabels;
EntityReference MAY_SUPPORT Disambiguation;
NameAuthority :=
ControlledIdentityRecordForPersonOrganisationPlaceOrOtherNamedEntity;
NameAuthority MAY_HAVE {
PreferredName,
AlternativeName,
Identifier
};
EntityDisambiguation :=
AmbiguousName
+ Context
-> CanonicalEntity;
DescriptiveMetadataRecord :=
StructuredCollectionOfDescriptiveStatementsAboutResource;
DescriptiveMetadataSchema :=
SpecificationOfDescriptivePropertiesDatatypesAndConstraints;
DublinCore MAY_REPRESENT DescriptiveMetadataUsingElementsSuchAs {
Title,
Creator,
Subject,
Description,
Publisher,
Contributor,
Date,
Type,
Format,
Identifier,
Source,
Language,
Relation,
Coverage,
Rights
};
SchemaOrg MAY_REPRESENT DescriptivePropertiesForWebResources;
DescriptiveMetadata MAY_BE RepresentedAs RDFStatements;
JSONLD MAY_SERIALISE LinkedDescriptiveMetadata;
StructuredDescriptiveMetadata :=
MachineReadableDescriptionUsingExplicitPropertiesAndValues;
DescriptiveMetadataNormalisation MAY_INCLUDE {
NameNormalisation,
DateNormalisation,
LanguageCodeNormalisation,
IdentifierNormalisation,
VocabularyMapping
};
CreatorName MAY_HAVE {
DisplayForm,
SortForm,
CanonicalIdentifier
};
DateValue SHOULD_USE ConsistentMachineReadableRepresentationWherePossible;
LanguageValue SHOULD_USE StandardCodeWhereApplicable;
DescriptiveMetadataValidation :=
CheckRecordAgainstSchemaVocabularyAndQualityRules;
Validation MAY_CHECK {
RequiredTitle,
IdentifierFormat,
DateDatatype,
LanguageCode,
ControlledSubject
};
DescriptiveAccuracy :=
DegreeToWhichMetadataCorrectlyRepresentsResourceContentAndIdentity;
DescriptiveCompleteness :=
DegreeToWhichExpectedDescriptivePropertiesArePresent;
DescriptiveConsistency :=
DegreeToWhichRecordsUseSharedFormsVocabulariesAndSemantics;
DescriptiveTimeliness :=
DegreeToWhichDescriptionReflectsCurrentResourceState;
DescriptiveMetadataQuality MAY_INCLUDE {
Accuracy,
Completeness,
Consistency,
Timeliness,
AuthorityControl
};
AuthorityControl :=
UseOfManagedCanonicalIdentityForNamesSubjectsOrEntities;
AuthorityControl MAY_REDUCE AmbiguityAndDuplicateIdentity;
DuplicateResourceDescriptions MAY_EXISTAcrossSources;
StableIdentifierAndEntityResolution MAY_SUPPORT Deduplication;
DifferentSources MAY_PROVIDE ConflictingDescriptiveValues;
ConflictHandling MAY {
PreserveProvenance,
PreferAuthoritativeSource,
RankConfidence,
FlagReview
};
DescriptiveStatement MAY_HAVE ProvenanceIncluding {
Source,
Creator,
ExtractionMethod,
Timestamp
};
AutomaticallyExtractedDescription MAY_HAVE ConfidenceScore;
DescriptiveMetadata MAY_BE GeneratedFromResourceContentUsing {
TextAnalysis,
NamedEntityRecognition,
TopicClassification,
ImageAnalysis,
AudioAnalysis
};
GeneratedMetadata SHOULD_BE ValidatedAccordingToUseAndRisk;
AI MAY_GENERATE {
Summary,
Keywords,
Subjects,
SuggestedTitle,
Classification
};
AIOutput SHOULD_PRESERVE MethodProvenance;
DescriptiveMetadataIndex MAY_INCLUDE {
TitleIndex,
CreatorIndex,
SubjectIndex,
KeywordIndex,
IdentifierIndex,
FullTextIndex
};
ResourceDiscovery :=
Query
-> MatchDescriptiveMetadata
-> Filter
-> Rank
-> ReturnResources;
Title MAY_SUPPORT ExactAndApproximateRetrieval;
CreatorIdentifier MAY_IMPROVE RetrievalAcrossNameVariants;
ControlledSubjectConcept MAY_SUPPORT HierarchicalQueryExpansion;
DescriptiveMetadata MAY_POWER FacetsSuchAs {
Creator,
Subject,
Type,
Date,
Language,
Format
};
UsersOrMachines MAY_BROWSE ResourcesBy {
Subject,
Creator,
Category,
Date
};
SemanticSearch MAY_USE DescriptiveMetadataFor {
EntityMatching,
ConceptMatching,
QueryExpansion,
Filtering,
Ranking
};
DescriptionOrTitle MAY_BE EmbeddedForSemanticSimilaritySearch;
VectorSimilarity MAY_COMPLEMENT ExplicitMetadataFields;
DescriptiveMetadata MAY_BE IntegratedInto KnowledgeGraph;
Resource MAY_BE GraphNode;
CreatorSubjectAndRelation MAY_BECOME TypedEdges;
StableIdentifiers MAY_LINK DescriptiveMetadataAcrossDatasetsAndRepositories;
DescriptiveMetadataInteroperability MAY_REQUIRE {
SharedSchema,
Crosswalk,
ControlledVocabulary,
StableIdentifiers
};
DescriptiveMetadataCrosswalk :=
MappingBetweenDescriptivePropertiesAcrossSchemas;
MetadataRepository MAY_STORE DescriptiveMetadataRecords;
MetadataRegistry MAY_REGISTER DescriptiveSchemasPropertiesAndVocabularies;
MetadataCatalogue MAY_PRESENT DescriptiveMetadataForResourceDiscovery;
DescriptiveMetadataRecord MAY_HAVE Version;
ResourceChange MAY_REQUIRE DescriptiveMetadataUpdate;
HistoricalDescriptiveMetadata MAY_BE PreservedForVersionedOrArchivedResources;
SomeDescriptiveMetadata MAY_BE RestrictedAccordingToPolicy;
NamesSubjectsDescriptionsOrRelations MAY_REVEAL SensitiveInformation;
PrivacyPolicy SHOULD_APPLY_TO DescriptiveMetadataAndDerivedRelationships;
DescriptiveMetadataSecurity MAY_INCLUDE {
AccessControl,
Integrity,
Audit,
ProvenanceProtection
};
MachineReadableDescriptiveMetadata SHOULD_HAVE {
StableProperties,
ExplicitTypes,
NormalisedValues,
Identifiers,
Provenance
};
RetrievalAugmentedGeneration MAY_USE DescriptiveMetadataFor {
SourceDiscovery,
Filtering,
ContextSelection,
Citation,
EntityResolution
};
# ---------- SEMANTIC REASONING ----------
IF MetadataPrimarilyDescribesIdentityContentSubjectOrDiscoverableCharacteristics
THEN DescriptiveMetadataClassification := supported;
IF ResourceHasStableIdentifier
THEN DuplicateResolution MAY_BE MoreReliable;
IF CreatorNameVariantsResolveToSameCanonicalEntity
THEN CreatorSearch MAY_UNIFY Results;
IF SubjectConceptHasNarrowerConcepts
THEN Search MAY_EXPAND ToNarrowerResourcesAccordingToPolicy;
IF RequiredTitleMissing
THEN DescriptiveCompleteness SHOULD_DECREASE;
IF DescriptionConflictsWithResourceContent
THEN DescriptiveAccuracy SHOULD_DECREASE;
IF RestrictedMetadataFieldNotAuthorised
THEN Field MUST_NOT_BE Exposed;
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE {
"descriptive metadata" ~= "resource description metadata";
"resource title" ~= "descriptive title metadata";
"creator metadata" ~= "authorship metadata" WHEN creator_role;
"subject metadata" ~= "topic metadata";
"resource description" ~= "descriptive summary metadata";
"name authority" ~= "authority-controlled entity identity";
"resource classification" ~= "descriptive classification";
"descriptive metadata record" ~= "resource description record";
}
# ---------- QUERY FLOW ----------
QUERY(q) ->
NORMALISE(q) ->
IDENTIFY_RESOURCE(q) ->
IDENTIFY_TITLE_AND_IDENTIFIER(q) ->
IDENTIFY_CREATORS_AND_CONTRIBUTORS(q) ->
IDENTIFY_SUBJECTS_KEYWORDS_AND_CLASSIFICATION(q) ->
IDENTIFY_DESCRIPTION_TYPE_FORMAT_AND_LANGUAGE(q) ->
IDENTIFY_DATE_COVERAGE_AND_RELATIONS(q) ->
VALIDATE_DESCRIPTIVE_METADATA(q) ->
RESOLVE_ENTITIES_AND_VOCABULARIES(q) ->
SCORE_CONFIDENCE(q) ->
RETURN_RELEVANT_DESCRIPTIVE_KNOWLEDGE;
# ---------- CONFIDENCE ----------
CONFIDENCE(assertion) :=
weighted_mean(
source_reliability,
descriptive_accuracy,
authority_control_strength,
schema_conformance,
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: DescriptiveMetadata;
ontology: DescriptiveMetadataOntology;
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_resource:
assign_identifier
-> determine_resource_type
-> create_descriptive_record
-> attach_provenance
-> integrate;
new_descriptive_value:
validate_property
-> normalise_value
-> resolve_entity_or_vocabulary
-> attach_source
-> update_record
-> integrate;
resource_revision:
identify_changed_descriptive_properties
-> preserve_previous_version
-> update_record
-> revalidate
-> recompute_confidence
-> regenerate_flow_hash;
conflict:
preserve_provenance
-> compare_sources
-> assess_authority
-> adjust_confidence
-> flag_review;
}
# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
DOMAIN
+ SUBDOMAIN
+ ONTOLOGY
+ DescriptionEntity
+ ClassificationEntity
+ ContextEntity
+ SemanticEntity
+ DescriptiveMetadata
+ ResourceDiscovery
+ DescriptiveMetadataValidation
+ RELATIONSHIPS
+ SEMANTIC_REASONING
+ SEMANTIC_EQUIVALENCE
+ UPDATE_MODEL;
FLOW_HASH :=
HASH(FLOW_HASH_INPUT);
# ---------- TERMINAL ----------
DescriptiveMetadataOntology
-> IdentifyResource
-> AssignStableResourceIdentifier
-> RecordTitleCreatorsAndContributors
-> DescribeSubjectKeywordsAndContent
-> ClassifyResourceTypeGenreAndCategory
-> RecordPublisherDateLanguageAndCoverage
-> LinkRelatedResources
-> ResolveCanonicalEntitiesAndControlledTerms
-> ValidateAccuracyCompletenessAndConsistency
-> IndexForSearchBrowseAndFaceting
-> PreserveProvenanceAndVersionHistory
-> SupportSemanticSearchAndMachineConsumption
-> MaintainReliableResourceDescription;
END FLOW
Download Code
Copy to Clipboard