FLOW ALGEBRA
Citation Ontology
Kireth Semantic Research Archive
PAGE:
https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/provenance-metadata/citation-ontology.html
AUTHORS:
Mark Anthony Higgins — Sky (Recursive AI)
FLOW "CitationOntology" v4.0
DOMAIN := MetadataOntologies
SUBDOMAIN := ProvenanceMetadata
ONTOLOGY := CitationOntology
ENTITY Citation {
definition:
"A structured provenance relationship in which a citing resource,
assertion or component identifies and references a source resource,
version or fragment as evidence, attribution, context, comparison,
acknowledgement or scholarly linkage.";
objectives: [
SourceAttribution,
EvidenceLinking,
CitationResolution,
ScholarlyTraceability,
VersionSpecificReferencing,
ProvenancePreservation,
MachineInterpretability
];
}
CitationEntity := {
Citation,
CitationIdentifier,
CitingResource,
CitedResource,
CitationRecord,
CitationType,
CitationContext,
CitationLocator
};
SourceEntity := {
Source,
Publication,
Document,
Dataset,
WebResource,
Software,
Model,
ArchivalResource,
KnowledgeEntity
};
ReferenceEntity := {
Reference,
BibliographicReference,
InTextCitation,
FootnoteCitation,
EndnoteCitation,
HyperlinkCitation,
DataCitation,
SoftwareCitation
};
MetadataEntity := {
Author,
Creator,
Title,
Publisher,
PublicationDate,
Version,
Identifier,
Provenance,
Confidence
};
Citation LINKS CitingResource TO CitedResource;
CitingResource CITES CitedResource;
CitedResource IS_CITED_BY CitingResource;
CitationLocator LOCATES RelevantPartOf CitedResource;
CitationContext DESCRIBES UseOfCitation;
CitationRecord PRESERVES CitationMetadata;
Provenance SUPPORTS CitationRelationship;
CitationFlow :=
CitingResource
-> IdentifyCitationExpression
-> AssignCitationIdentifier
-> ExtractReferenceMetadata
-> ResolveCitedResource
-> ResolveCitedVersion
-> ResolveCitationLocator
-> ClassifyCitationTypeAndContext
-> AttachEvidenceAndProvenance
-> ValidateCitation
-> StoreCitationRelationship
-> EnableTraceabilityAndRetrieval
-> MaintainAcrossVersions;
Citation :=
ExplicitStructuredReferenceFromCitingEntityToSourceEntity;
CitingResource :=
ResourceAssertionOrComponentContainingCitation;
CitingResource MAY_BE {
Document,
Article,
Book,
Chapter,
Section,
Dataset,
Software,
Model,
MetadataRecord,
KnowledgeAssertion
};
CitedResource :=
ResourceReferencedByCitation;
CitedResource MAY_BE {
Publication,
Document,
Book,
Article,
Chapter,
Dataset,
WebResource,
Software,
Model,
ArchivalResource,
Standard,
KnowledgeEntity
};
CitationIdentifier :=
StableOrLocallyUniqueReferenceToCitationRelationship;
CitationIdentifier MAY_BE {
URI,
IRI,
UUID,
ElementID,
InternalIdentifier
};
CitationRecord :=
StructuredMetadataRecordRepresentingCitationAndCitedSource;
CitationType :=
ClassificationOfCitationFormOrPurpose;
CitationType MAY_INCLUDE {
BibliographicCitation,
InTextCitation,
FootnoteCitation,
EndnoteCitation,
HyperlinkCitation,
DataCitation,
SoftwareCitation,
ArchivalCitation,
LegalCitation,
StandardCitation
};
BibliographicCitation :=
StructuredReferenceContainingBibliographicMetadata;
InTextCitation :=
CitationEmbeddedWithinRunningText;
FootnoteCitation :=
CitationRepresentedInFootnote;
EndnoteCitation :=
CitationRepresentedInEndnote;
HyperlinkCitation :=
CitationImplementedAsNavigableDigitalLink;
DataCitation :=
CitationIdentifyingDatasetOrDataResource;
SoftwareCitation :=
CitationIdentifyingSoftwarePackageCodebaseOrVersion;
ArchivalCitation :=
CitationIdentifyingArchivalResourceCollectionOrItem;
CitationStyle :=
FormattingConventionUsedToPresentCitation;
CitationStyle MAY_BE {
AuthorDate,
Numeric,
FootnoteBased,
DomainSpecific,
Custom
};
CitationStyle != CitationSemanticsByDefinition;
DifferentStyles MAY_REPRESENT SameUnderlyingCitationRelationship;
Reference :=
HumanOrMachineReadableRepresentationOfCitedResource;
BibliographicReference :=
StructuredDescriptionOfPublicationOrSource;
ReferenceMetadata MAY_INCLUDE {
Author,
Creator,
Title,
Publisher,
PublicationDate,
Edition,
Version,
Identifier,
Location
};
ReferenceList :=
CollectionOfBibliographicReferencesAssociatedWithResource;
Bibliography :=
StructuredCollectionOfReferencesOrSources;
Citation MAY_REFERENCE EntryInReferenceList;
CitationKey :=
LocalIdentifierLinkingCitationExpressionToReferenceEntry;
CitationKey MAY_BE {
NumericKey,
AuthorDateKey,
SymbolicKey,
InternalKey
};
CitationKey != PersistentSourceIdentifierByDefinition;
SourceIdentifier :=
StableOrResolvableIdentifierForCitedResource;
SourceIdentifier MAY_BE {
DOI,
URI,
IRI,
ISBN,
ISSN,
UUID,
AccessionIdentifier,
RepositoryIdentifier
};
PersistentIdentifier SHOULD_BE PreferredWhereAvailable;
CitationResolution :=
CitationMetadataOrIdentifier
-> Resolve
-> CanonicalCitedResource;
ResolvedCitation :=
CitationWhoseTargetResourceCanBeIdentified;
UnresolvedCitation :=
CitationWhoseTargetCannotBeReliablyIdentified;
AmbiguousCitation :=
CitationMatchingMultiplePossibleResources;
BrokenCitation :=
CitationWhosePreviouslyResolvableTargetOrLocatorCannotBeResolved;
ResolutionStatus MAY_BE {
Resolved,
Ambiguous,
Missing,
Broken,
Restricted,
Unknown
};
CitationVersion :=
VersionOfCitationRecordOrRelationship;
CitedVersion :=
ExactVersionEditionReleaseOrSnapshotOfCitedResource;
CitedVersion SHOULD_BE PreservedWhereClaimDependsOnVersionSpecificContent;
Edition :=
PublishedVersionOrFormOfWorkDistinguishedByRevisionOrRelease;
Snapshot :=
PreservedStateOfMutableSourceAtSpecificTime;
WebCitation SHOULD_PRESERVE {
URLOrIdentifier,
AccessDate,
PublicationOrModificationDateWhereKnown,
SnapshotWhereAvailable
};
AccessDate :=
DateCitedWebOrDynamicResourceWasAccessed;
DynamicSource :=
SourceWhoseContentMayChangeOverTime;
DynamicSourceCitation SHOULD_RECORD VersionOrAccessContextWherePossible;
CitationLocator :=
SpecificLocationWithinCitedResourceRelevantToCitation;
CitationLocator MAY_BE {
Page,
PageRange,
Chapter,
Section,
Paragraph,
Figure,
Table,
Equation,
Timestamp,
Fragment,
DatasetRow,
CodeLocation
};
PageLocator :=
PageOrPageRangeWithinCitedVersion;
SectionLocator :=
SectionIdentifierOrHeadingWithinCitedResource;
TemporalLocator :=
TimePositionOrIntervalWithinAudioVideoOrTemporalResource;
SpatialLocator :=
RegionWithinImageMapOrFigure;
DataLocator :=
RowColumnVariableRecordOrSubsetWithinDataset;
CodeLocator :=
FileModuleFunctionCommitOrLineRangeWithinSoftwareResource;
Locator SHOULD_BE InterpretedAgainst CorrectCitedVersion;
CitationContext :=
SurroundingTextMetadataOrSemanticRoleExplainingHowCitationIsUsed;
CitationContext MAY_INCLUDE {
Sentence,
Paragraph,
Section,
Assertion,
CitationFunction
};
CitationFunction :=
SemanticPurposeOfCitation;
CitationFunction MAY_BE {
Evidence,
Attribution,
Background,
Comparison,
Support,
Contradiction,
Method,
DataSource,
Acknowledgement
};
CitationMention :=
CitationIndicatingResourceWithoutNecessarilySupportingClaim;
CitationSupport :=
CitationUsedAsEvidenceConsistentWithAssertion;
CitationContradiction :=
CitationUsedToIdentifyConflictingEvidenceOrPosition;
Mention != SupportByDefinition;
CitedAssertion :=
AssertionWithinCitedResourceRelevantToCitation;
CitingAssertion :=
AssertionForWhichCitationProvidesContextOrEvidence;
CitationEvidenceRelationship :=
CitingAssertion
-> SUPPORTED_BY_OR_CONTEXTUALISED_BY
-> CitedResourceOrAssertion;
Citation SHOULD_NOT AutomaticallyBeInterpretedAsFullEndorsementOfCitedResource;
SelfCitation :=
CitationWhereAuthorOrCreatorOverlapExistsBetweenCitingAndCitedResources;
SelfCitation MAY_BE ValidAndRelevant;
SelfCitation SHOULD_NOT AutomaticallyIncreaseOrDecreaseCredibility;
IndirectCitation :=
CitationToSourceEncounteredThroughAnotherSourceRatherThanDirectConsultation;
IndirectCitation SHOULD_PRESERVE IntermediarySourceWhereKnown;
SecondaryCitation :=
CitationOfOriginalSourceThroughSecondarySource;
SecondaryCitation != DirectCitation;
DirectCitation :=
CitationBasedOnDirectlyConsultedCitedResource;
Quotation :=
ReproducedTextOrContentFromSource;
QuotationCitation SHOULD_IDENTIFY SourceAndLocatorWherePossible;
Paraphrase :=
RestatementOfSourceInformationInDifferentWording;
ParaphraseCitation SHOULD_PRESERVE SourceRelationship;
CitationProvenance :=
ProvenanceOfCitationCreationExtractionResolutionAndValidation;
CitationProvenance MAY_INCLUDE {
SourceDocument,
Extractor,
Resolver,
Timestamp,
ResolutionMethod,
Version
};
CitationEvidence :=
InformationSupportingCitationResolution;
Evidence MAY_BE {
PersistentIdentifier,
BibliographicMatch,
RepositoryRecord,
CrossrefLikeRecord,
PublisherMetadata,
FullTextMatch
};
CitationConfidence :=
EstimatedSupportForCitationTargetResolutionOrSemanticFunction;
Confidence MAY_DEPEND_ON {
IdentifierStrength,
MetadataMatch,
LocatorMatch,
SourceReliability,
ResolutionEvidence
};
CitationValidation MAY_CHECK {
CitationIdentifier,
CitingResource,
CitedResource,
SourceIdentifier,
CitedVersion,
Locator,
MetadataConsistency
};
IF PersistentIdentifierResolvesToDifferentTitleAuthorOrVersion
THEN CitationConsistency SHOULD_BE Reviewed;
IF LocatorDoesNotExistInCitedVersion
THEN LocatorValidation SHOULD_FLAG Review;
IF CitationTargetMissing
THEN ResolutionStatus := MissingOrBroken;
CitationCompleteness :=
DegreeToWhichRequiredTargetIdentifierMetadataVersionAndLocatorArePresent;
CitationConsistency :=
DegreeToWhichReferenceMetadataIdentifiersAndResolvedTargetAgree;
CitationIntegrity :=
PreservationOfReliableCitationTargetContextAndProvenance;
CitationQuality MAY_INCLUDE {
Completeness,
Consistency,
Integrity,
ResolutionStrength,
LocatorPrecision
};
CitationConflict :=
CitationMetadataOrIdentifiersPointToIncompatibleTargets;
ConflictHandling MAY {
PreserveCandidates,
CompareIdentifiers,
CompareMetadata,
RankConfidence,
FlagReview
};
CitationRecord SHOULD_NOT SilentlySelectAmbiguousTargetWithoutEvidence;
CitationGraph :=
Resources
+ DirectedCitationEdges;
CitationEdge :=
CitingResource
-> CITES
-> CitedResource;
CitationDirection MUST_BE Preserved;
IncomingCitation :=
CitationWhereCurrentResourceIsTarget;
OutgoingCitation :=
CitationWhereCurrentResourceIsSource;
CitationCount :=
NumberOfCitationRelationshipsAccordingToDefinedGraph;
CitationCount DOES_NOT EstablishTruthAuthorityOrQualityByDefinition;
CitationNetwork :=
GraphOfResourcesConnectedByCitationRelationships;
BibliographicCoupling :=
RelationshipWhereTwoResourcesCiteOneOrMoreCommonSources;
CoCitation :=
RelationshipWhereTwoResourcesAreCitedTogetherByOtherResources;
TheseGraphRelationships MAY_SUPPORT Discovery
BUT SHOULD_NOT BeTreatedAsSemanticEquivalence;
CitationPath :=
DirectedPathThroughCitationGraph;
TransitiveCitation MUST_NOT BeAssumed;
IF A CITES B
AND B CITES C
THEN A CITES C MUST_NOT_BE InferredWithoutExplicitCitation;
SourceOntology MAY_DEFINE CitedResourceAsSource;
AuthorOntology MAY_DEFINE AuthorsOfCitingAndCitedResources;
ContributorOntology MAY_DEFINE ContributorsToResources;
ProvenanceOntology MAY_ATTACH CitationCreationAndResolutionHistory;
CrossReferenceOntology MAY_REPRESENT CitationAsSpecialisedCrossReference;
DescriptiveMetadata MAY_STORE BibliographicFields;
StructuralMetadata MAY_LOCATE CitationWithinDocument;
AdministrativeMetadata MAY_DEFINE AccessRightsForCitedResource;
CopyrightAndLicensing MAY_CONSTRAIN QuotationOrReuse
BUT CitationItselfDoesNotGrantReuseRights;
MetadataRepository MAY_STORE CitationRecordsAndGraphs;
MetadataRegistry MAY_REGISTER CitationTypesLocatorsAndFunctions;
KnowledgeGraph MAY_REPRESENT:
CitingResource
-> CITES
-> CitedResource;
Assertion
-> SUPPORTED_BY
-> Source;
CitationGraph SHOULD_PRESERVE {
Direction,
CitedVersion,
Locator,
Function,
Provenance,
Confidence
};
RDF MAY_REPRESENT CitationRelationshipsAsTypedStatements;
JSONLD MAY_SERIALISE LinkedCitationMetadata;
Search MAY_USE CitationMetadataFor {
CitationSearch,
RelatedWorkDiscovery,
SourceDiscovery,
CitationGraphNavigation
};
SemanticSearch MAY_USE CitationContextFor {
EvidenceRetrieval,
RelatedConceptDiscovery,
ClaimSourceLinking
};
RAG MAY_USE CitationMetadataFor {
EvidenceSelection,
SourceAttribution,
CitationGeneration,
ConflictResolution
};
RAGCitation SHOULD_PRESERVE {
CitedResourceIdentifier,
CitedVersion,
Locator,
RetrievalTimestamp,
Provenance
};
GeneratedCitation MUST_NOT InventSourceIdentifierLocatorOrBibliographicMetadata;
If ExactLocatorUnavailable
THEN System SHOULD_NOT FabricateLocator;
AI MAY_SUPPORT {
CitationExtraction,
ReferenceParsing,
CitationResolution,
LocatorResolution,
CitationFunctionClassification
};
AIGeneratedCitationResolution SHOULD_HAVE ConfidenceAndProvenance;
CitationMetadata MAY_REFERENCE RestrictedOrSensitiveSources;
AccessControl SHOULD_BE AppliedBeforeDisclosingRestrictedSourceContent;
CitationExistence MAY_BE DisclosableWhileSourceContentRestricted
ONLY_IF PolicyAllows;
CitationSecurity MAY_INCLUDE {
IdentifierValidation,
LinkValidation,
AccessControl,
ProvenanceIntegrity
};
MachineReadableCitation SHOULD_PRESERVE {
CitationIdentifier,
CitingResourceIdentifier,
CitedResourceIdentifier,
CitedVersion,
CitationType,
CitationFunction,
CitationLocator,
ReferenceMetadata,
Provenance,
Confidence
};
# ---------- SEMANTIC REASONING ----------
IF ResourceOrAssertionExplicitlyReferencesAnotherIdentifiableSource
THEN CitationClassification := supported;
IF CitationResolvesToSource
THEN CitingResource CITES Source;
IF CitationIncludesLocator
THEN Locator MUST_BE InterpretedAgainstCorrectCitedVersion;
IF CitationMentionsSource
THEN Support MUST_NOT_BE InferredWithoutCitationContext;
IF A CITES B AND B CITES C
THEN A_CITES_C MUST_NOT_BE Inferred;
IF PersistentIdentifierAndBibliographicMetadataConflict
THEN Citation SHOULD_REQUIRE ResolutionReview;
IF DynamicSourceCited
THEN AccessDateOrVersion SHOULD_BE PreservedWherePossible;
IF GeneratedCitationLacksVerifiedTarget
THEN It SHOULD_NOT_BE PresentedAsResolvedAuthoritativeCitation;
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE {
"citation" ~= "source citation" WHEN provenance_context;
"bibliographic citation" ~= "bibliographic reference" WHEN reference_context;
"cited resource" ~= "citation target";
"citing resource" ~= "citation source";
"citation locator" ~= "source locator";
"in-text citation" ~= "inline citation";
"citation graph" ~= "citation network" WHEN graph_context;
"citation identifier" ~= "citation ID";
}
# ---------- QUERY FLOW ----------
QUERY(q) ->
NORMALISE(q) ->
IDENTIFY_CITING_RESOURCE(q) ->
IDENTIFY_CITATION_EXPRESSION(q) ->
RESOLVE_CITATION_IDENTIFIER(q) ->
EXTRACT_REFERENCE_METADATA(q) ->
RESOLVE_CITED_RESOURCE(q) ->
RESOLVE_CITED_VERSION(q) ->
RESOLVE_CITATION_LOCATOR(q) ->
CLASSIFY_CITATION_TYPE_AND_FUNCTION(q) ->
IDENTIFY_CONTEXT_PROVENANCE_AND_EVIDENCE(q) ->
VALIDATE_CITATION(q) ->
APPLY_ACCESS_POLICY(q) ->
SCORE_CONFIDENCE(q) ->
RETURN_RELEVANT_CITATION_KNOWLEDGE;
# ---------- CONFIDENCE ----------
CONFIDENCE(assertion) :=
weighted_mean(
identifier_strength,
metadata_match,
locator_match,
source_resolution_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: Citation;
ontology: CitationOntology;
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;
prohibit_fabricated_citations: true;
}
# ---------- UPDATE MODEL ----------
UPDATE_MODEL {
new_citation:
identify_citing_resource
-> assign_citation_identifier
-> extract_reference_metadata
-> resolve_target
-> resolve_version
-> resolve_locator
-> classify_type_and_function
-> attach_provenance
-> validate
-> assign_confidence
-> integrate;
citation_revision:
preserve_previous_record
-> apply_reference_target_version_or_locator_changes
-> revalidate_resolution
-> update_citation_graph
-> recompute_confidence
-> regenerate_flow_hash;
target_revision:
identify_incoming_citations
-> resolve_identifier_or_version_mapping
-> revalidate_locators
-> preserve_previous_target_history
-> flag_unresolved_citations;
conflict:
preserve_candidate_targets
-> compare_identifiers_metadata_versions_and_locators
-> adjust_confidence
-> flag_review;
}
# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
DOMAIN
+ SUBDOMAIN
+ ONTOLOGY
+ CitationEntity
+ SourceEntity
+ ReferenceEntity
+ MetadataEntity
+ Citation
+ CitationGraph
+ CitationValidation
+ RELATIONSHIPS
+ SEMANTIC_REASONING
+ SEMANTIC_EQUIVALENCE
+ UPDATE_MODEL;
FLOW_HASH :=
HASH(FLOW_HASH_INPUT);
# ---------- TERMINAL ----------
CitationOntology
-> IdentifyCitingResourceAndCitationExpression
-> AssignStableCitationIdentifier
-> ParseBibliographicAndReferenceMetadata
-> ResolveCanonicalCitedResourceAndExactVersion
-> ResolvePageSectionTemporalDataOrCodeLocator
-> ClassifyCitationTypeFunctionAndContext
-> AttachEvidenceResolutionProvenanceAndConfidence
-> ValidateIdentifiersMetadataVersionsAndLocators
-> BuildDirectedCitationAndEvidenceGraph
-> PreserveDirectIndirectAndSecondaryCitationContext
-> SupportSearchRAGAttributionAndSourceTraceability
-> PreventFabricatedOrUnresolvedCitationClaims
-> MaintainReliableCitationKnowledge;
END FLOW
Download Code
Copy to Clipboard