Skip to main content

Author Ontology

Provenance Metadata
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 06 October 2026
Audio Overview
FLOW ALGEBRA
Author Ontology
Kireth Semantic Research Archive

PAGE:
https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/provenance-metadata/author-ontology.html

AUTHORS:
Mark Anthony Higgins — Sky (Recursive AI)

FLOW "AuthorOntology" v4.0

DOMAIN := MetadataOntologies
SUBDOMAIN := ProvenanceMetadata
ONTOLOGY := AuthorOntology

ENTITY Author {
    definition:
        "A creator or contributing agent responsible for originating,
         composing, writing or intellectually producing textual, scholarly,
         technical, literary or other authored content, represented with
         identity, role, attribution, order, affiliation and provenance.";
    objectives: [
        AuthorIdentification,
        AuthorshipAttribution,
        RoleRepresentation,
        ContributionContext,
        ProvenanceTracking,
        CitationSupport,
        MachineInterpretability
    ];
}

AuthorEntity := {
    Author,
    AuthorIdentifier,
    AuthorRecord,
    AuthorName,
    AuthorRole,
    Authorship,
    AuthoredResource,
    AuthorOrder
};

AgentEntity := {
    Person,
    Organisation,
    CollectiveAuthor,
    CorporateAuthor,
    AnonymousAuthor,
    PseudonymousAuthor,
    AIModel,
    SoftwareAgent
};

ContributionEntity := {
    PrimaryAuthor,
    CoAuthor,
    CorrespondingAuthor,
    Editor,
    Translator,
    Contributor,
    Reviewer
};

MetadataEntity := {
    Affiliation,
    CreationActivity,
    Timestamp,
    Version,
    Evidence,
    Provenance,
    Confidence,
    Authority
};

Author AUTHORS AuthoredResource;
AuthoredResource WAS_AUTHORED_BY Author;
Authorship LINKS Author TO AuthoredResource;
Author HAS_ROLE AuthorRole;
Author MAY_HAVE Affiliation;
CreationActivity MAY_BE_ASSOCIATED_WITH Author;
Provenance SUPPORTS Authorship;

AuthorFlow :=
    AuthoredResource
    -> IdentifyAuthorshipStatement
    -> IdentifyCandidateAuthor
    -> ResolveAuthorIdentity
    -> DetermineAuthorRole
    -> DetermineAuthorOrder
    -> RecordAffiliationAndCreationContext
    -> LinkAuthorToCreationActivity
    -> AttachEvidenceAndProvenance
    -> ValidateAuthorship
    -> StoreAuthorRecord
    -> EnableAttributionCitationAndRetrieval
    -> MaintainAcrossVersions;

Author :=
    AgentResponsibleForAuthoredIntellectualOrTextualContent;

AuthoredResource MAY_BE {
    Book,
    Chapter,
    Article,
    Paper,
    Report,
    Essay,
    Documentation,
    WebPage,
    Script,
    TechnicalDocument,
    MetadataNarrative
};

Author MAY_BE {
    Person,
    Organisation,
    CollectiveAuthor,
    CorporateAuthor,
    AnonymousAuthor,
    PseudonymousAuthor
};

AuthorIdentifier :=
    StableReferenceToAuthorAgent;

AuthorIdentifier MAY_BE {
    URI,
    IRI,
    UUID,
    ORCIDLikeIdentifier,
    OrganisationIdentifier,
    InternalIdentifier
};

StableAuthorIdentifier SHOULD_BE PreferredOverNameOnlyMatching;

AuthorRecord :=
    StructuredMetadataRecordDescribingAuthorIdentityRoleAndAuthorship;

AuthorName :=
    HumanReadableNameAssociatedWithAuthor;

AuthorName MAY_HAVE {
    PreferredName,
    AlternativeName,
    PreviousName,
    Initials,
    TransliteratedName,
    Pseudonym
};

SameAuthorName MAY_REFER_TO DifferentAuthors;

DifferentAuthorNames MAY_REFER_TO SameAuthor;

AuthorIdentityResolution :=
    NameIdentifierAffiliationPublicationAndContext
    -> CanonicalAuthorAgent;

AuthorRole :=
    FunctionPerformedByAgentInAuthoredResource;

AuthorRole MAY_BE {
    PrimaryAuthor,
    CoAuthor,
    CorrespondingAuthor,
    CorporateAuthor,
    CollectiveAuthor
};

PrimaryAuthor :=
    AuthorDesignatedAsPrimaryAccordingToPublicationOrDomainConvention;

CoAuthor :=
    AuthorSharingAuthorshipWithOneOrMoreOtherAuthors;

CorrespondingAuthor :=
    AuthorDesignatedForCommunicationOrAdministrativeResponsibilityAccordingToPublicationConvention;

CorporateAuthor :=
    OrganisationCreditedAsAuthor;

CollectiveAuthor :=
    GroupCreditedJointlyAsAuthor;

AnonymousAuthor :=
    AuthorWhoseIdentityIsNotDisclosedOrKnown;

PseudonymousAuthor :=
    AuthorRepresentedByPseudonym;

UnknownAuthor :=
    AuthorshipExistsButAuthorIdentityCannotBeReliablyResolved;

UnknownAuthor != AnonymousAuthorByDefinition;

Authorship :=
    RelationshipConnectingAuthorToAuthoredResource;

Authorship MAY_HAVE {
    AuthorRole,
    AuthorOrder,
    ContributionScope,
    Evidence,
    Confidence
};

AuthorOrder :=
    OrderedPositionOfAuthorWithinAuthorshipList;

AuthorOrder MAY_BE {
    FirstAuthor,
    MiddleAuthor,
    LastAuthor,
    Unordered
};

FirstAuthor :=
    AuthorAppearingFirstInDefinedAuthorSequence;

LastAuthor :=
    AuthorAppearingLastInDefinedAuthorSequence;

AuthorOrder MAY_HAVE DomainSpecificMeaning;

AuthorOrder MUST_NOT AutomaticallyBeInterpretedAsContributionMagnitudeOrSeniorityWithoutDomainEvidence;

AuthorshipSequence :=
    OrderedCollectionOfAuthorsAssociatedWithResource;

JointAuthorship :=
    ResourceAuthoredByMultipleAuthors;

AuthorshipCount :=
    NumberOfAuthorsAssociatedWithResourceAccordingToDefinedAuthorshipRecord;

ContributionScope :=
    PortionAspectOrIntellectualContributionForWhichAuthorIsCredited;

ContributionScope MAY_BE {
    WholeResource,
    Chapter,
    Section,
    ConceptualContent,
    Methodology,
    Writing
};

Author MAY_BE ResponsibleForSpecificComponentRatherThanWholeResource;

ComponentAuthorship :=
    Author
    -> AUTHORS
    -> ResourceComponent;

Authorship MAY_DIFFER_BY EditionVersionOrTranslation;

EditionAuthorship :=
    AuthorshipAssociatedWithSpecificEdition;

VersionAuthorship :=
    AuthorshipAssociatedWithSpecificResourceVersion;

AuthorAffiliation :=
    OrganisationInstitutionDepartmentOrGroupAssociatedWithAuthor;

Affiliation MAY_HAVE {
    Organisation,
    Department,
    Role,
    EffectivePeriod
};

CreationTimeAffiliation SHOULD_BE PreservedWhereKnown;

CurrentAffiliation MAY_DIFFER_FROM AuthorshipTimeAffiliation;

CreationActivity :=
    ActivityProducingAuthoredResource;

CreationActivity MAY_INCLUDE {
    Writing,
    Composition,
    Drafting,
    TechnicalAuthoring,
    ScholarlyAuthoring
};

IF CreationActivity GENERATES Resource
AND Activity WAS_ASSOCIATED_WITH AgentAsAuthor
THEN Authorship MAY_BE Supported;

Creator :=
    BroaderAgentResponsibleForCreatingResource;

Author IS_A Creator
WHEN ResourceAndRoleAreAuthorshipBased;

Creator MAY_NOT_BE AuthorForNonAuthoredResources;

Contributor :=
    AgentContributingToResourceWithoutNecessarilyMeetingDefinedAuthorshipRole;

Editor :=
    ContributorResponsibleForEditorialWork;

Translator :=
    ContributorResponsibleForTranslation;

Reviewer :=
    ContributorResponsibleForReviewOrEvaluation;

Author != EditorByDefinition
UNLESS SameAgentHoldsBothRoles;

Author != TranslatorByDefinition
UNLESS TranslationContextDefinesTranslatorAsAuthorialRole;

RoleMultiplicity :=
    SameAgent MAY_HAVE MultipleRolesForSameResource;

AuthorshipCriteria :=
    RulesOrConventionsDeterminingWhoQualifiesAsAuthor;

AuthorshipCriteria MAY_BE {
    PublisherDefined,
    DisciplineDefined,
    OrganisationDefined,
    ProjectDefined
};

Ontology SHOULD_PRESERVE DeclaredAuthorship
AND SHOULD_NOT InventAuthorshipBasedOnlyOnContributionInference;

GhostAuthorship :=
    MaterialContributorNotCreditedAsAuthorAccordingToRelevantContext;

HonoraryAuthorship :=
    CreditedAuthorshipWithoutSufficientContributionAccordingToRelevantCriteria;

DetectionOfGhostOrHonoraryAuthorship REQUIRES EvidenceAndContext
AND SHOULD_NOT_BE InferredCasually;

AuthorshipStatement :=
    ExplicitMetadataOrTextDeclaringAuthorRelationship;

Byline :=
    HumanReadableAuthorStatementAssociatedWithResource;

Byline MAY_INCLUDE {
    Names,
    Affiliations,
    Roles,
    AuthorOrder
};

BylineText SHOULD_BE ParsedWithoutDiscardingOriginalRepresentation;

AuthorEvidence :=
    InformationSupportingAuthorshipAssertion;

Evidence MAY_BE {
    Byline,
    PublicationMetadata,
    RepositoryRecord,
    Contract,
    AuthorStatement,
    SystemRecord
};

AuthorProvenance MAY_INCLUDE {
    Source,
    Recorder,
    ExtractionMethod,
    VerificationMethod,
    Timestamp,
    Version
};

AuthorConfidence :=
    EstimatedSupportForAuthorIdentityOrAuthorshipRelationship;

Confidence MAY_DEPEND_ON {
    IdentifierStrength,
    EvidenceStrength,
    SourceReliability,
    RoleClarity,
    CrossSourceAgreement
};

AuthorValidation MAY_CHECK {
    AuthorIdentity,
    ResourceIdentity,
    Role,
    Order,
    Affiliation,
    Evidence,
    TemporalConsistency
};

IF AuthorIdentifierResolvesToMultipleAgents
THEN AuthorIdentity SHOULD_BE MarkedAmbiguous;

IF AuthorOrderDuplicatedUnexpectedly
THEN AuthorshipSequence SHOULD_BE Reviewed;

AuthorshipConflict :=
    MultipleSourcesProvideIncompatibleAuthorshipClaims;

ConflictHandling MAY {
    PreserveClaims,
    CompareEvidence,
    CompareAuthority,
    AssignConfidence,
    FlagReview
};

AuthorRecord SHOULD_NOT SilentlyDiscard DisputedAuthorshipClaims;

AuthorCompleteness :=
    DegreeToWhichRequiredAuthorIdentityRoleAndEvidenceArePresent;

AuthorConsistency :=
    DegreeToWhichAuthorshipIdentityRoleOrderAndResourceVersionAgree;

AuthorIntegrity :=
    PreservationOfReliableAuthorIdentityAttributionAndHistory;

AuthorMetadataQuality MAY_INCLUDE {
    Completeness,
    Consistency,
    Integrity,
    IdentityResolution,
    Provenance
};

AuthorVersion :=
    IdentifiedRevisionOfAuthorRecordOrAuthorshipStatement;

AuthorRecordChange MAY_INCLUDE {
    NameCorrection,
    IdentifierUpdate,
    RoleCorrection,
    AffiliationUpdate,
    OrderCorrection,
    AuthorshipCorrection
};

AuthorIdentity SHOULD_BE PreservedAcrossNameChangesWhereCanonicalIdentifierStable;

AuthorMerge :=
    MultipleAuthorRecords
    -> OneCanonicalAuthor;

AuthorSplit :=
    OneAmbiguousAuthorRecord
    -> MultipleDistinctAuthors;

MergeOrSplit SHOULD_PRESERVE PreviousIdentifiersAndProvenance;

AuthorHistory :=
    RecordOfNamesAffiliationsIdentifiersAndAuthorshipChanges;

HumanAuthor :=
    AuthorThatIsHumanPerson;

OrganisationalAuthor :=
    AuthorThatIsOrganisationOrInstitution;

AIModel MAY_PARTICIPATE_IN ContentGeneration;

AIContribution :=
    ContributionByAIModelOrServiceToAuthoredResource;

AIAuthorshipStatus MAY_DEPEND_ON {
    PublicationPolicy,
    LegalContext,
    EditorialConvention,
    ProjectPolicy
};

Ontology SHOULD_DISTINGUISH {
    AI_GENERATED_CONTENT,
    AI_CONTRIBUTION,
    DECLARED_AUTHORSHIP,
    LEGAL_AUTHORSHIP
};

AIGeneratedContent MAY_HAVE HumanAuthorWhoDirectsEditsOrTakesResponsibility
according_to declared_project_or_publication_context;

AIModel SHOULD_NOT AutomaticallyBeClassifiedAsAuthorSolelyBecauseItGeneratedText;

If AIIsExplicitlyCreditedAsCoAuthorByProjectConvention
THEN AuthorshipRecord MAY_PRESERVEThatDeclaredRelationship
WHILE KeepingAgentTypeAndProvenanceExplicit;

HybridAuthorshipContext :=
    HumanAndAIOrSoftwareContributionsRecordedSeparatelyWithRolesAndProvenance;

RightsMetadata MAY_REFERENCE Author;

Author MAY_NOT_BE CopyrightOwner;

CopyrightOwnership SHOULD_BE DeterminedSeparately;

OwnershipMetadata SHOULD_DISTINGUISH AuthorshipFromOwnership;

ProvenanceMetadata SHOULD_LINK AuthorToCreationActivityAndResource;

DescriptiveMetadata MAY_INCLUDE AuthorAsDiscoveryProperty;

MetadataRepository MAY_STORE AuthorRecordsAndAuthorshipRelationships;

MetadataRegistry MAY_REGISTER AuthorRolesAgentTypesAndIdentityProperties;

KnowledgeGraph MAY_REPRESENT:
    Author
    -> AUTHORS
    -> Resource;

Resource
    -> WAS_AUTHORED_BY
    -> Author;

CreationActivity
    -> WAS_ASSOCIATED_WITH
    -> Author;

AuthorGraph SHOULD_PRESERVE {
    Role,
    Order,
    Affiliation,
    Activity,
    Version,
    Provenance,
    Confidence
};

RDF MAY_REPRESENT AuthorshipRelationshipsAsTypedStatements;

JSONLD MAY_SERIALISE LinkedAuthorMetadata;

Citation :=
    StructuredReferenceToAuthoredResource;

Citation MAY_INCLUDE AuthorNameOrIdentifier;

CitationGeneration SHOULD_USE CorrectResourceVersionAndAuthorshipRecord;

Search MAY_USE AuthorMetadataFor {
    AuthorSearch,
    PublicationSearch,
    AffiliationFiltering,
    RoleFiltering
};

SemanticSearch MAY_USE AuthorIdentityAsContextualSignal;

AuthorAuthority MAY_SUPPORT Ranking
BUT MUST_NOT BeTreatedAsProofOfAssertionTruth;

RAG MAY_USE AuthorMetadataFor {
    Attribution,
    Citation,
    SourceContext,
    AuthorityAssessment
};

RAGOutput SHOULD_PRESERVE AuthorAttributionWhereRelevantAndSupported;

AI MAY_SUPPORT {
    AuthorEntityResolution,
    BylineParsing,
    RoleClassification,
    DuplicateDetection,
    AuthorshipConflictDetection
};

AIGeneratedAuthorInference SHOULD_BE TreatedAsInferenceUntilValidated;

AuthorMetadata MAY_CONTAIN PersonalInformation;

PrivacyPolicy SHOULD_BE AppliedTo PersonalIdentifiersContactDetailsAndSensitiveAffiliations;

AuthorAccessControl MAY_RESTRICT {
    ContactInformation,
    PrivateIdentifiers,
    SensitiveAffiliationData
};

AuthorSecurity MAY_INCLUDE {
    IdentityValidation,
    AccessControl,
    ProvenanceIntegrity,
    ChangeAuthorisation
};

MachineReadableAuthor SHOULD_PRESERVE {
    AuthorIdentifier,
    AuthorName,
    AgentType,
    AuthorRole,
    AuthorOrder,
    ResourceIdentifier,
    ResourceVersion,
    Affiliation,
    CreationActivity,
    Evidence,
    Provenance,
    Confidence
};

# ---------- SEMANTIC REASONING ----------
IF AgentIsCreditedWithAuthoredIntellectualOrTextualContent
THEN AuthorClassification := supported;

IF Author AUTHORS Resource
THEN Resource WAS_AUTHORED_BY Author;

IF ResourceHasMultipleAuthors
THEN JointAuthorship MAY_BE Supported;

IF AuthorIdentifierStableAcrossNameChange
THEN AuthorIdentity SHOULD_REMAIN Continuous;

IF NameMatchesButIdentifiersOrContextConflict
THEN SameAuthor MUST_NOT_BE AssumedWithoutResolution;

IF AgentOnlyEditsReviewsOrTranslates
THEN ContributorRole MAY_BE MoreAppropriateThanAuthor
UNLESS AuthorshipCriteriaOrDeclaredMetadataSayOtherwise;

IF AIModelGeneratedText
THEN AIContribution MAY_BE Recorded
BUT Authorship MUST_NOT_BE AutomaticallyInferred;

IF AuthorshipClaimsConflict
THEN MaterialClaimsEvidenceAndProvenance SHOULD_BE PreservedForReview;

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE {
    "author" ~= "resource author" WHEN authorship_context;
    "co-author" ~= "joint author";
    "corporate author" ~= "organisational author";
    "author identifier" ~= "author ID";
    "authorship" ~= "authored by relationship";
    "author order" ~= "authorship order";
    "corresponding author" ~= "designated correspondence author";
    "byline" ~= "author line" WHEN publication_context;
}

# ---------- QUERY FLOW ----------
QUERY(q) ->
    NORMALISE(q) ->
    IDENTIFY_AUTHORED_RESOURCE(q) ->
    IDENTIFY_RESOURCE_VERSION(q) ->
    IDENTIFY_AUTHORSHIP_STATEMENTS(q) ->
    RESOLVE_AUTHOR_IDENTITIES(q) ->
    IDENTIFY_AUTHOR_ROLES_AND_ORDER(q) ->
    IDENTIFY_AFFILIATIONS_AND_CREATION_CONTEXT(q) ->
    IDENTIFY_EVIDENCE_AND_PROVENANCE(q) ->
    DETECT_AUTHORSHIP_CONFLICTS(q) ->
    APPLY_PRIVACY_AND_ACCESS_POLICY(q) ->
    VALIDATE_AUTHORSHIP(q) ->
    SCORE_CONFIDENCE(q) ->
    RETURN_RELEVANT_AUTHOR_KNOWLEDGE;

# ---------- CONFIDENCE ----------
CONFIDENCE(assertion) :=
    weighted_mean(
        identifier_strength,
        evidence_strength,
        source_reliability,
        role_clarity,
        authorship_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: Author;
    ontology: AuthorOntology;
    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;
    distinguish_author_creator_contributor_owner: true;
}

# ---------- UPDATE MODEL ----------
UPDATE_MODEL {
    new_authorship:
        identify_resource_and_version
        -> resolve_author_identity
        -> classify_author_role
        -> determine_author_order
        -> attach_affiliation
        -> link_creation_activity
        -> attach_evidence
        -> attach_provenance
        -> validate
        -> assign_confidence
        -> integrate;

    authorship_revision:
        preserve_previous_record
        -> apply_authorised_identity_role_order_or_affiliation_changes
        -> preserve_canonical_author_identifier
        -> revalidate_authorship
        -> update_citation_and_search_indexes
        -> recompute_confidence
        -> regenerate_flow_hash;

    author_merge:
        compare_identifiers_names_affiliations_publications_and_evidence
        -> preserve_source_records
        -> create_canonical_author
        -> remap_authorships
        -> audit;

    author_split:
        identify_ambiguous_record
        -> create_distinct_author_entities
        -> redistribute_authorships
        -> preserve_provenance
        -> audit;

    conflict:
        preserve_all_authorship_claims
        -> compare_sources_evidence_versions_and_identity
        -> adjust_confidence
        -> flag_review;
}

# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
    DOMAIN
    + SUBDOMAIN
    + ONTOLOGY
    + AuthorEntity
    + AgentEntity
    + ContributionEntity
    + MetadataEntity
    + Author
    + Authorship
    + AuthorValidation
    + RELATIONSHIPS
    + SEMANTIC_REASONING
    + SEMANTIC_EQUIVALENCE
    + UPDATE_MODEL;

FLOW_HASH :=
    HASH(FLOW_HASH_INPUT);

# ---------- TERMINAL ----------
AuthorOntology
    -> IdentifyAuthoredResourceAndVersion
    -> ResolveCanonicalAuthorIdentity
    -> AssignStableAuthorIdentifier
    -> CaptureAuthorNameRoleOrderAndAffiliation
    -> LinkAuthorToCreationActivityAndContributionContext
    -> DistinguishAuthorCreatorContributorEditorTranslatorAndOwner
    -> PreserveDeclaredHumanOrganisationalAndAIContributionRoles
    -> AttachEvidenceProvenanceAndConfidence
    -> ValidateIdentityAuthorshipOrderAndVersionConsistency
    -> SupportCitationSearchAttributionAndRAGContext
    -> MaintainAuthorIdentityAcrossNamesVersionsMergesAndSplits
    -> ApplyPrivacySecurityAndAccessControls
    -> MaintainReliableAuthorKnowledge;

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ