FLOW ALGEBRA
Contributor Ontology
Kireth Semantic Research Archive
PAGE:
https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/provenance-metadata/contributor-ontology.html
AUTHORS:
Mark Anthony Higgins — Sky (Recursive AI)
FLOW "ContributorOntology" v4.0
DOMAIN := MetadataOntologies
SUBDOMAIN := ProvenanceMetadata
ONTOLOGY := ContributorOntology
ENTITY Contributor {
definition:
"An identifiable agent that provides intellectual, technical,
editorial, creative, curatorial, operational or other material input
to a resource, activity or output without necessarily being its
primary creator or author.";
objectives: [
ContributorIdentification,
ContributionAttribution,
RoleRepresentation,
ResponsibilityTracking,
Provenance,
CreditAssignment,
MachineInterpretability
];
}
ContributorEntity := {
Contributor,
ContributorIdentifier,
ContributorRecord,
ContributorRole,
Contribution,
ContributionIdentifier,
ContributionScope,
ContributedResource
};
AgentEntity := {
Person,
Organisation,
Institution,
SoftwareAgent,
AIModel,
AutomatedService,
CollectiveAgent
};
RoleEntity := {
Editor,
Reviewer,
Translator,
Curator,
Illustrator,
DataCollector,
DataProcessor,
Technician,
ResearchContributor,
SoftwareContributor
};
MetadataEntity := {
Affiliation,
ContributionActivity,
Timestamp,
Version,
Evidence,
Provenance,
Confidence,
Authority
};
Contributor CONTRIBUTES_TO ContributedResource;
Contribution LINKS Contributor TO ContributedResource;
Contributor HAS_ROLE ContributorRole;
ContributionActivity MAY_BE_ASSOCIATED_WITH Contributor;
Contribution MAY_HAVE ContributionScope;
Provenance SUPPORTS ContributionAttribution;
ContributorFlow :=
Resource
-> IdentifyContribution
-> IdentifyCandidateContributor
-> ResolveContributorIdentity
-> DetermineContributorRole
-> DetermineContributionScope
-> LinkContributorToContributionActivity
-> RecordAffiliationAndTime
-> AttachEvidenceAndProvenance
-> ValidateContribution
-> StoreContributorRecord
-> EnableCreditTraceabilityAndRetrieval
-> MaintainAcrossVersions;
Contributor :=
AgentProvidingMaterialInputToResourceOrActivity;
ContributedResource MAY_BE {
Document,
Dataset,
Image,
Audio,
Video,
Software,
Model,
MetadataRecord,
ResearchOutput,
KnowledgeEntity
};
Contributor MAY_BE {
Person,
Organisation,
Institution,
SoftwareAgent,
AIModel,
CollectiveAgent
};
ContributorIdentifier :=
StableReferenceToContributorAgent;
ContributorIdentifier MAY_BE {
URI,
IRI,
UUID,
ORCIDLikeIdentifier,
OrganisationIdentifier,
InternalIdentifier
};
StableContributorIdentifier SHOULD_BE PreferredOverNameOnlyMatching;
ContributorRecord :=
StructuredMetadataRecordDescribingContributorIdentityRoleAndContribution;
ContributorName :=
HumanReadableNameAssociatedWithContributor;
ContributorName MAY_HAVE {
PreferredName,
AlternativeName,
PreviousName,
Initials,
TransliteratedName
};
SameContributorName MAY_REFER_TO DifferentAgents;
DifferentNames MAY_REFER_TO SameContributor;
ContributorIdentityResolution :=
NameIdentifierAffiliationResourceAndContext
-> CanonicalContributorAgent;
Contribution :=
RelationshipOrActivityRepresentingContributorInput;
ContributionIdentifier :=
StableReferenceToContributionEventOrRelationship;
ContributionIdentifier MAY_BE {
URI,
IRI,
UUID,
InternalIdentifier
};
ContributorRole :=
FunctionPerformedByContributor;
ContributorRole MAY_BE {
Editor,
Reviewer,
Translator,
Curator,
Illustrator,
DataCollector,
DataProcessor,
Technician,
ResearchContributor,
SoftwareContributor,
MetadataContributor
};
Editor :=
ContributorResponsibleForEditorialReviewCorrectionOrOrganisation;
Reviewer :=
ContributorResponsibleForEvaluationPeerReviewOrQualityAssessment;
Translator :=
ContributorResponsibleForRenderingContentIntoAnotherLanguage;
Curator :=
ContributorResponsibleForSelectionOrganisationMaintenanceOrInterpretiveManagement;
Illustrator :=
ContributorResponsibleForIllustrativeOrVisualContribution;
DataCollector :=
ContributorResponsibleForGatheringData;
DataProcessor :=
ContributorResponsibleForCleaningTransformingOrProcessingData;
Technician :=
ContributorProvidingTechnicalOperationalOrLaboratorySupport;
ResearchContributor :=
ContributorProvidingResearchInputWithoutNecessarilyHoldingAuthorshipRole;
SoftwareContributor :=
ContributorProvidingCodeDocumentationTestingDesignOrOtherSoftwareInput;
MetadataContributor :=
ContributorAddingCorrectingEnrichingOrValidatingMetadata;
Contributor MAY_HAVE MultipleRolesForSameResource;
ContributionScope :=
PortionAspectOrFunctionToWhichContributionApplies;
ContributionScope MAY_BE {
WholeResource,
Chapter,
Section,
DatasetSubset,
SoftwareModule,
Figure,
MetadataField,
SpecificActivity
};
ContributionActivity :=
ActivityThroughWhichContributorProvidesInput;
ContributionActivity MAY_INCLUDE {
Editing,
Reviewing,
Translating,
Curating,
Illustrating,
CollectingData,
ProcessingData,
Programming,
Testing,
MetadataEnrichment
};
ContributionActivity MAY_USE ExistingResource
AND MAY_GENERATE RevisedOrDerivedResource;
ContributorAttribution :=
RelationshipCreditingContributorForContribution;
Attribution MAY_HAVE {
Role,
Scope,
Order,
Evidence,
Confidence
};
ContributorOrder :=
OrderedPositionWithinContributorListWhereApplicable;
ContributorOrder MAY_BE {
Ordered,
Unordered
};
ContributorOrder MUST_NOT AutomaticallyImply ContributionMagnitudeWithoutDomainEvidence;
Creator :=
AgentResponsibleForOriginatingOrProducingResource;
Author :=
CreatorResponsibleForAuthoredIntellectualOrTextualContent;
Contributor MAY_NOT_BE Creator;
Contributor MAY_NOT_BE Author;
SameAgent MAY_HAVE {
CreatorRole,
AuthorRole,
ContributorRole
}
for same_or_different_resource_components;
RoleSemantics SHOULD_BE ExplicitlyPreserved;
ContributionThreshold :=
DomainOrProjectRuleDeterminingWhetherInputQualifiesForCreditOrAuthorship;
Ontology SHOULD_PRESERVE DeclaredRoles
AND SHOULD_NOT AutomaticallyPromoteContributorToAuthor;
AcknowledgedContributor :=
ContributorCreditedInAcknowledgementsRatherThanAuthorshipList;
UncreditedContributor :=
ContributorWhoseMaterialInputIsKnownButNotPubliclyCredited;
ContributorCredit :=
HumanReadableOrMachineReadableRecognitionOfContribution;
CreditStatement MAY_INCLUDE {
ContributorName,
Role,
Scope,
Affiliation
};
ContributorAffiliation :=
OrganisationInstitutionDepartmentOrGroupAssociatedWithContributor;
Affiliation MAY_HAVE {
Organisation,
Department,
Role,
EffectivePeriod
};
ContributionTimeAffiliation SHOULD_BE PreservedWhereKnown;
ContributionTimestamp :=
TimeAssociatedWithContributionActivity;
ContributionPeriod MAY_HAVE {
StartTime,
EndTime
};
ContributionVersion :=
ResourceVersionToWhichContributionApplies;
Contribution MAY_APPLY_TO SpecificVersionOnly;
VersionSpecificContribution SHOULD_REFERENCE ExactResourceVersionWhereKnown;
ContributorEvidence :=
InformationSupportingContributionAttribution;
Evidence MAY_BE {
CreditStatement,
ContributionLog,
VersionControlRecord,
ProjectRecord,
PublicationMetadata,
RepositoryRecord,
HumanAttestation
};
ContributorProvenance MAY_INCLUDE {
Source,
Recorder,
ExtractionMethod,
VerificationMethod,
Timestamp,
Version
};
ContributorConfidence :=
EstimatedSupportForContributorIdentityRoleOrContribution;
Confidence MAY_DEPEND_ON {
IdentifierStrength,
EvidenceStrength,
SourceReliability,
RoleClarity,
TemporalConsistency
};
ContributorValidation MAY_CHECK {
ContributorIdentity,
ResourceIdentity,
Role,
Scope,
Activity,
Evidence,
Version
};
IF ContributorIdentifierResolvesToMultipleAgents
THEN ContributorIdentity SHOULD_BE MarkedAmbiguous;
IF ContributionScopeDoesNotExistInResourceVersion
THEN ContributionRelationship SHOULD_BE Revalidated;
ContributionConflict :=
MultipleSourcesProvideIncompatibleContributorRoleOrCreditClaims;
ConflictHandling MAY {
PreserveClaims,
CompareEvidence,
CompareAuthority,
AssignConfidence,
FlagReview
};
ContributorRecord SHOULD_NOT SilentlyDiscard DisputedContributionClaims;
ContributorCompleteness :=
DegreeToWhichRequiredContributorIdentityRoleScopeAndEvidenceArePresent;
ContributorConsistency :=
DegreeToWhichContributionIdentityRoleScopeAndVersionAgree;
ContributorIntegrity :=
PreservationOfReliableContributorIdentityAttributionAndHistory;
ContributorMetadataQuality MAY_INCLUDE {
Completeness,
Consistency,
Integrity,
IdentityResolution,
Provenance
};
ContributorRecordVersion :=
IdentifiedRevisionOfContributorRecord;
ContributorRecordChange MAY_INCLUDE {
NameCorrection,
IdentifierUpdate,
RoleCorrection,
ScopeCorrection,
AffiliationUpdate,
CreditCorrection
};
ContributorIdentity SHOULD_BE PreservedAcrossNameChangesWhereCanonicalIdentifierStable;
ContributorMerge :=
MultipleContributorRecords
-> OneCanonicalContributor;
ContributorSplit :=
OneAmbiguousContributorRecord
-> MultipleDistinctContributors;
MergeOrSplit SHOULD_PRESERVE PreviousIdentifiersAndProvenance;
ContributorHistory :=
RecordOfNamesAffiliationsRolesAndContributionChanges;
HumanContributor :=
ContributorThatIsHumanPerson;
OrganisationalContributor :=
ContributorThatIsOrganisationOrInstitution;
SoftwareContributorAgent :=
SoftwareAgentProvidingAutomatedContribution;
AIContributor :=
AIModelOrAIServiceProvidingGenerationAnalysisEditingOrOtherContribution;
AIContribution MAY_INCLUDE {
DraftGeneration,
Summarisation,
Translation,
Analysis,
CodeGeneration,
MetadataGeneration
};
AIContribution SHOULD_PRESERVE {
AgentType,
ModelIdentifierWhereAvailable,
Role,
Activity,
Provenance
};
AIContribution != LegalAuthorshipByDefinition;
HumanAndAIContribution MAY_COEXIST InHybridWorkflow;
HybridContribution :=
ResourceDevelopmentInvolvingHumanSoftwareAndAI agents;
HybridContribution SHOULD_PRESERVE DistinctAgentRolesAndActivities;
VersionControl MAY_PROVIDE ContributorEvidenceForSoftwareAndDocumentWorkflows;
Commit :=
RecordedChangeAssociatedWithContributorIdentity;
CommitAuthorship MAY_INDICATE TechnicalContribution
BUT DoesNotNecessarilyDefineLegalOrPublicationAuthorship;
ResearchContributionTaxonomy MAY_DEFINE StandardisedRoles;
ContributorRole MAY_ALIGN_WITH ExternalRoleVocabulariesWhereSemanticsMatch;
RightsMetadata MAY_REFERENCE ContributorWhereContributionCreatesRelevantRights
BUT ContributorRole MUST_NOT AutomaticallyImplyOwnership;
ProvenanceMetadata SHOULD_LINK ContributorToContributionActivityAndResource;
DescriptiveMetadata MAY_INCLUDE ContributorAsDiscoveryProperty;
AdministrativeMetadata MAY_DEFINE ContributorResponsibilitiesOrPermissions;
MetadataRepository MAY_STORE ContributorRecordsAndContributionRelationships;
MetadataRegistry MAY_REGISTER ContributorRolesAgentTypesAndActivityTypes;
KnowledgeGraph MAY_REPRESENT:
Contributor
-> CONTRIBUTES_TO
-> Resource;
ContributionActivity
-> WAS_ASSOCIATED_WITH
-> Contributor;
Contribution
-> HAS_SCOPE
-> ResourceComponent;
ContributorGraph SHOULD_PRESERVE {
Role,
Scope,
Activity,
Time,
Version,
Provenance,
Confidence
};
RDF MAY_REPRESENT ContributionRelationshipsAsTypedStatements;
JSONLD MAY_SERIALISE LinkedContributorMetadata;
Search MAY_USE ContributorMetadataFor {
ContributorSearch,
RoleFiltering,
AffiliationFiltering,
ContributionDiscovery
};
SemanticSearch MAY_USE ContributorRoleAndScopeForContextualRetrieval;
RAG MAY_USE ContributorMetadataFor {
Attribution,
SourceContext,
ContributionContext,
CreditGeneration
};
RAGOutput SHOULD_PRESERVE ContributorCreditWhereRelevantAndSupported;
AI MAY_SUPPORT {
ContributorEntityResolution,
RoleClassification,
ContributionExtraction,
DuplicateDetection,
CreditConflictDetection
};
AIGeneratedContributorInference SHOULD_BE TreatedAsInferenceUntilValidated;
ContributorMetadata MAY_CONTAIN PersonalInformation;
PrivacyPolicy SHOULD_BE AppliedTo PersonalIdentifiersContactDetailsAndSensitiveAffiliations;
ContributorAccessControl MAY_RESTRICT {
ContactInformation,
PrivateIdentifiers,
SensitiveProjectRoles
};
ContributorSecurity MAY_INCLUDE {
IdentityValidation,
AccessControl,
ProvenanceIntegrity,
ChangeAuthorisation
};
MachineReadableContributor SHOULD_PRESERVE {
ContributorIdentifier,
ContributorName,
AgentType,
ContributorRole,
ContributionIdentifier,
ContributionScope,
ResourceIdentifier,
ResourceVersion,
Affiliation,
Activity,
Evidence,
Provenance,
Confidence
};
# ---------- SEMANTIC REASONING ----------
IF AgentProvidesMaterialIntellectualTechnicalEditorialCreativeOrOperationalInput
THEN ContributorClassification := supported;
IF AgentContributesToResource
THEN ContributionRelationship SHOULD_RECORD RoleAndScopeWhereKnown;
IF ContributorOnlyEditsReviewsTranslatesOrCurates
THEN ContributorRole SHOULD_BE PreservedWithoutAutomaticallyInferringAuthorship;
IF SameAgentAlsoQualifiesAsCreatorOrAuthor
THEN MultipleRoles MAY_BE RepresentedExplicitly;
IF ContributorIdentifierStableAcrossNameChange
THEN ContributorIdentity SHOULD_REMAIN Continuous;
IF NameMatchesButIdentifiersOrContextConflict
THEN SameContributor MUST_NOT_BE AssumedWithoutResolution;
IF AIModelProvidesContribution
THEN AIContribution SHOULD_BE RecordedSeparatelyFromHumanRolesAndLegalAuthorship;
IF ContributionClaimsConflict
THEN MaterialClaimsEvidenceAndProvenance SHOULD_BE PreservedForReview;
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE {
"contributor" ~= "resource contributor" WHEN provenance_context;
"contribution" ~= "resource contribution";
"contributor identifier" ~= "contributor ID";
"contributor role" ~= "contribution role";
"co-contributor" ~= "joint contributor";
"editor" ~= "editorial contributor" WHEN contribution_context;
"translator" ~= "translation contributor" WHEN contribution_context;
"contribution scope" ~= "scope of contribution";
}
# ---------- QUERY FLOW ----------
QUERY(q) ->
NORMALISE(q) ->
IDENTIFY_CONTRIBUTED_RESOURCE(q) ->
IDENTIFY_RESOURCE_VERSION(q) ->
IDENTIFY_CONTRIBUTION(q) ->
RESOLVE_CONTRIBUTOR_IDENTITY(q) ->
IDENTIFY_CONTRIBUTOR_ROLE_AND_SCOPE(q) ->
IDENTIFY_CONTRIBUTION_ACTIVITY_AND_TIME(q) ->
IDENTIFY_AFFILIATION(q) ->
IDENTIFY_EVIDENCE_AND_PROVENANCE(q) ->
DETECT_CONTRIBUTION_CONFLICTS(q) ->
APPLY_PRIVACY_AND_ACCESS_POLICY(q) ->
VALIDATE_CONTRIBUTION(q) ->
SCORE_CONFIDENCE(q) ->
RETURN_RELEVANT_CONTRIBUTOR_KNOWLEDGE;
# ---------- CONFIDENCE ----------
CONFIDENCE(assertion) :=
weighted_mean(
identifier_strength,
evidence_strength,
source_reliability,
role_clarity,
scope_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: Contributor;
ontology: ContributorOntology;
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_contributor_creator_author_owner: true;
}
# ---------- UPDATE MODEL ----------
UPDATE_MODEL {
new_contribution:
identify_resource_and_version
-> resolve_contributor_identity
-> assign_contribution_identifier
-> classify_contributor_role
-> define_contribution_scope
-> link_contribution_activity
-> attach_affiliation_and_time
-> attach_evidence
-> attach_provenance
-> validate
-> assign_confidence
-> integrate;
contribution_revision:
preserve_previous_record
-> apply_authorised_role_scope_or_credit_changes
-> preserve_canonical_contributor_identifier
-> revalidate_contribution
-> update_search_and_credit_indexes
-> recompute_confidence
-> regenerate_flow_hash;
contributor_merge:
compare_identifiers_names_affiliations_resources_and_evidence
-> preserve_source_records
-> create_canonical_contributor
-> remap_contributions
-> audit;
contributor_split:
identify_ambiguous_record
-> create_distinct_contributor_entities
-> redistribute_contributions
-> preserve_provenance
-> audit;
conflict:
preserve_all_contribution_claims
-> compare_sources_evidence_versions_roles_and_scope
-> adjust_confidence
-> flag_review;
}
# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
DOMAIN
+ SUBDOMAIN
+ ONTOLOGY
+ ContributorEntity
+ AgentEntity
+ RoleEntity
+ MetadataEntity
+ Contributor
+ Contribution
+ ContributorValidation
+ RELATIONSHIPS
+ SEMANTIC_REASONING
+ SEMANTIC_EQUIVALENCE
+ UPDATE_MODEL;
FLOW_HASH :=
HASH(FLOW_HASH_INPUT);
# ---------- TERMINAL ----------
ContributorOntology
-> IdentifyContributedResourceAndVersion
-> ResolveCanonicalContributorIdentity
-> AssignStableContributorAndContributionIdentifiers
-> CaptureContributorRoleScopeAffiliationAndActivity
-> DistinguishContributorCreatorAuthorEditorTranslatorAndOwnerRoles
-> PreserveHumanOrganisationalSoftwareAndAIContributionContext
-> AttachEvidenceProvenanceAndConfidence
-> ValidateIdentityRoleScopeVersionAndTemporalConsistency
-> SupportCreditSearchAttributionAndRAGContext
-> MaintainContributorIdentityAcrossNamesVersionsMergesAndSplits
-> PreserveContributionHistoryAndDisputedClaims
-> ApplyPrivacySecurityAndAccessControls
-> MaintainReliableContributorKnowledge;
END FLOW
Download Code
Copy to Clipboard