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
Download Code
Copy to Clipboard