FLOW ALGEBRA
Publication Ontology
Kireth Semantic Research Archive
PAGE:
https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/provenance-metadata/publication-ontology.html
AUTHORS:
Mark Anthony Higgins — Sky (Recursive AI)
FLOW "PublicationOntology" v4.0
DOMAIN := MetadataOntologies
SUBDOMAIN := ProvenanceMetadata
ONTOLOGY := PublicationOntology
ENTITY Publication {
definition:
"An identifiable resource made available to an audience through a
publishing, release, dissemination or distribution process, represented
with its creators, publisher, publication event, edition, version,
identifiers, dates, provenance and relationships to related resources.";
objectives: [
PublicationIdentification,
PublicationEventTracking,
PublisherAttribution,
VersionAndEditionControl,
DisseminationContext,
CitationSupport,
MachineInterpretability
];
}
PublicationEntity := {
Publication,
PublicationIdentifier,
PublicationRecord,
PublicationType,
PublicationStatus,
PublicationEvent,
PublicationDate,
PublishedResource
};
AgentEntity := {
Author,
Creator,
Contributor,
Publisher,
PublishingOrganisation,
Editor,
Distributor
};
VersionEntity := {
Edition,
Version,
Revision,
Release,
Preprint,
AcceptedVersion,
PublishedVersion,
Reprint
};
MetadataEntity := {
Title,
Identifier,
Language,
Rights,
Licence,
Provenance,
Confidence,
AccessStatus
};
PublicationEvent PUBLISHES PublishedResource;
Publisher PERFORMS_OR_CONTROLS PublicationEvent;
PublicationIdentifier IDENTIFIES Publication;
Publication HAS_VERSION Version;
Publication MAY_HAVE Edition;
Publication WAS_CREATED_BY Creator;
Publication MAY_BE_AUTHORED_BY Author;
Provenance SUPPORTS PublicationRecord;
PublicationFlow :=
Resource
-> IdentifyPublicationCandidate
-> ResolvePublicationIdentity
-> AssignPublicationIdentifier
-> ClassifyPublicationType
-> IdentifyCreatorsAuthorsAndContributors
-> IdentifyPublisherAndPublicationEvent
-> ResolveEditionVersionAndReleaseState
-> RecordPublicationDatesIdentifiersAndRights
-> AttachProvenanceAndEvidence
-> ValidatePublicationMetadata
-> StorePublicationRecord
-> EnableCitationDiscoveryAndRetrieval
-> MaintainAcrossVersions;
Publication :=
ResourceMadeAvailableThroughPublishingOrReleaseProcess;
PublishedResource MAY_BE {
Book,
Chapter,
Article,
JournalIssue,
Report,
ConferencePaper,
Thesis,
Standard,
Dataset,
Software,
WebPublication,
TechnicalDocument
};
PublicationIdentifier :=
StableOrResolvableReferenceToPublication;
PublicationIdentifier MAY_BE {
DOI,
ISBN,
ISSN,
URI,
IRI,
UUID,
HandleLikeIdentifier,
RepositoryIdentifier,
InternalIdentifier
};
StablePublicationIdentifier SHOULD_BE PreferredForMachineLinking;
PublicationRecord :=
StructuredMetadataRecordDescribingPublicationIdentityHistoryAndContext;
PublicationType :=
ClassificationOfPublishedResource;
PublicationType MAY_BE {
BookPublication,
JournalArticle,
ChapterPublication,
ReportPublication,
ConferencePublication,
ThesisPublication,
StandardPublication,
DataPublication,
SoftwarePublication,
WebPublication
};
BookPublication :=
PublicationRepresentingBookOrMonographicWork;
JournalArticle :=
PublicationRepresentingArticlePublishedWithinJournalOrPeriodical;
ChapterPublication :=
PublicationRepresentingChapterWithinLargerPublishedWork;
ReportPublication :=
PublicationRepresentingFormalReport;
ConferencePublication :=
PublicationAssociatedWithConferenceProceedingsOrEvent;
ThesisPublication :=
PublicationRepresentingAcademicThesisOrDissertation;
StandardPublication :=
PublicationRepresentingPublishedStandardOrSpecification;
DataPublication :=
PublicationMakingDatasetAvailableAsCitableResource;
SoftwarePublication :=
PublicationOrReleaseMakingSoftwareAvailableAsIdentifiedResource;
WebPublication :=
PublicationPrimarilyMadeAvailableThroughWeb;
PublicationStatus MAY_BE {
Draft,
Submitted,
UnderReview,
Accepted,
InPress,
Published,
Withdrawn,
Retracted,
Superseded,
Archived
};
Draft :=
ResourceNotYetFormallyPublished;
SubmittedVersion :=
ResourceSubmittedForReviewOrPublication;
AcceptedVersion :=
VersionAcceptedForPublicationBeforeFinalPublisherProductionWhereApplicable;
PublishedVersion :=
VersionFormallyReleasedByPublisherOrPublishingProcess;
VersionOfRecord :=
AuthoritativePublishedVersionAccordingToPublishingContext;
Preprint :=
PubliclyAvailableVersionBeforeFormalPublicationOrPeerReviewAccordingToContext;
Postprint :=
AcceptedOrAuthorManuscriptVersionAfterReviewAccordingToContext;
Reprint :=
LaterPrintingOrDistributionOfExistingEditionWithoutNecessarilyCreatingNewEdition;
Edition :=
PublicationStateRepresentingSubstantivePublishedFormOrRevision;
Edition MAY_HAVE {
EditionNumber,
EditionStatement,
PublicationDate
};
Version :=
IdentifiedStateOfPublicationOrPublishedResource;
Revision :=
ChangedVersionOfExistingResource;
Release :=
PublishedOrDistributedVersionMadeAvailableAtDefinedTime;
VersionHistory :=
OrderedOrGraphStructuredCollectionOfPublicationVersions;
Publication MAY_HAVE MultipleVersionsAndEditions;
VersionIdentifier SHOULD_DISTINGUISH MateriallyDifferentStates;
Edition != VersionByDefinition
although Edition MAY_BE RepresentedAsVersionInSomeSystems;
PublicationEvent :=
ActivityThroughWhichResourceIsPublishedReleasedOrMadeAvailable;
PublicationEvent MAY_HAVE {
Publisher,
PublicationDate,
Place,
Platform,
Version,
Status
};
Publisher :=
AgentResponsibleForPublishingIssuingOrMakingResourceAvailable;
Publisher MAY_BE {
PublishingOrganisation,
Institution,
Repository,
GovernmentBody,
Individual,
Platform
};
PublishingOrganisation :=
OrganisationActingAsPublisher;
Distributor :=
AgentDistributingPublicationWithoutNecessarilyBeingPublisher;
Publisher != DistributorByDefinition;
Creator :=
AgentResponsibleForCreatingResource;
Author :=
CreatorResponsibleForAuthoredContent;
Contributor :=
AgentProvidingMaterialContribution;
Editor :=
ContributorResponsibleForEditorialWork;
Publication SHOULD_PRESERVE DistinctRolesFor {
Author,
Creator,
Contributor,
Editor,
Publisher,
Distributor
};
PublicationDate :=
DateAssociatedWithPublicationEvent;
PublicationDate MAY_BE {
OnlinePublicationDate,
PrintPublicationDate,
ReleaseDate,
IssueDate
};
MultiplePublicationDates MAY_EXISTForDifferentFormatsOrEvents;
PublicationDate SHOULD_BE QualifiedByDateTypeWhereAmbiguous;
OnlineFirst :=
PublicationReleasedOnlineBeforeIssueOrPrintAssignment;
EmbargoedPublication :=
PublicationWhoseAccessIsRestrictedUntilDefinedDateOrCondition;
PublicationPlace :=
GeographicOrInstitutionalPlaceAssociatedWithPublicationAccordingToMetadataConvention;
PublicationPlatform :=
SystemRepositoryWebsiteOrServiceThroughWhichPublicationIsMadeAvailable;
Journal :=
SerialPublicationContainingIssuesAndArticles;
JournalIssue :=
PublishedIssueWithinJournal;
Volume :=
GroupingOfIssuesOrPublicationUnits;
Issue :=
NumberedOrDatedPartOfSerialPublication;
Article MAY_HAVE {
Journal,
Volume,
Issue,
PageRange,
ArticleNumber
};
Book MAY_HAVE {
Publisher,
Edition,
ISBN,
PublicationPlace
};
Chapter MAY_HAVE {
ParentBook,
ChapterTitle,
PageRange,
ChapterIdentifier
};
Proceedings :=
PublicationContainingConferenceContributions;
ConferencePaper MAY_BE PartOf Proceedings;
ParentPublication :=
LargerPublicationContainingCurrentPublishedResource;
ChildPublication :=
PublicationComponentContainedWithinParentPublication;
IF Chapter IS_PART_OF Book
THEN Book MAY_BE ParentPublicationOf Chapter;
PublicationHierarchy :=
Journal
-> Volume
-> Issue
-> Article;
AlternativeHierarchy :=
Book
-> Chapter;
PublicationRelationship MAY_INCLUDE {
IS_PART_OF,
HAS_PART,
IS_VERSION_OF,
IS_EDITION_OF,
SUPERSEDES,
IS_SUPERSEDED_BY,
CITES
};
Title :=
HumanReadableNameOfPublication;
Title MAY_HAVE {
MainTitle,
Subtitle,
AlternativeTitle,
TranslatedTitle
};
PublicationLanguage :=
LanguageOfPublishedContentOrMetadata;
IdentifierResolution :=
PublicationIdentifier
-> Resolver
-> CanonicalPublicationRecord;
DuplicatePublication :=
MultipleRecordsRepresentingSameUnderlyingPublication;
PublicationDeduplication SHOULD_USE {
PersistentIdentifier,
Title,
Author,
Publisher,
Date,
Version
};
SameTitle DOES_NOT EstablishSamePublication;
PublicationEquivalence :=
RelationshipBetweenRecordsRepresentingSamePublicationOrEdition;
PublicationRights :=
CopyrightLicenceAndUsageInformationAssociatedWithPublication;
Licence :=
TermsGoverningUseReuseDistributionOrAccess;
AccessStatus MAY_BE {
OpenAccess,
RestrictedAccess,
SubscriptionAccess,
EmbargoedAccess,
Unknown
};
OpenAccess :=
PublicationAvailableWithoutAccessChargeSubjectToApplicableRightsAndLicence;
OpenAccess != PublicDomainByDefinition;
Retraction :=
FormalWithdrawalOfPublicationFromTrustedScholarlyOrPublicationRecordAccordingToDefinedProcess;
RetractedPublication SHOULD_PRESERVE {
OriginalIdentifier,
RetractionStatus,
RetractionNotice,
Provenance
};
Withdrawal :=
RemovalOrWithdrawalOfPublicationAccordingToPublisherOrRepositoryProcess;
Correction :=
PublishedNoticeOrRevisionCorrectingError;
Erratum :=
CorrectionNoticeForPublishedError;
Corrigendum :=
CorrectionNoticeAccordingToPublisherConvention;
ExpressionOfConcern :=
NoticeIndicatingPotentialIssueUnderInvestigation;
PublicationIntegrityStatus MAY_INCLUDE {
Normal,
Corrected,
Retracted,
Withdrawn,
UnderConcern
};
Citation SHOULD_REFERENCE CorrectPublicationVersionWhereRelevant;
CitationOntology MAY_USE PublicationAsCitedResource;
SourceOntology MAY_CLASSIFY PublicationAsSource;
AuthorOntology MAY_DEFINE PublicationAuthors;
ContributorOntology MAY_DEFINE PublicationContributors;
CreatorOntology MAY_DEFINE BroaderCreationRelationships;
ProvenanceOntology SHOULD_PRESERVE PublicationEventAndVersionHistory;
PublicationEvidence :=
InformationSupportingPublicationIdentityStatusOrMetadata;
Evidence MAY_BE {
PublisherRecord,
RepositoryRecord,
DOIRecord,
CatalogueRecord,
PublicationFile,
RightsStatement
};
PublicationProvenance MAY_INCLUDE {
Source,
MetadataProvider,
ImportMethod,
VerificationMethod,
Timestamp,
Version
};
PublicationConfidence :=
EstimatedSupportForPublicationIdentityMetadataOrStatus;
Confidence MAY_DEPEND_ON {
IdentifierStrength,
MetadataAgreement,
PublisherAuthority,
VersionResolution,
ProvenanceQuality
};
PublicationValidation MAY_CHECK {
Identifier,
Title,
CreatorOrAuthor,
Publisher,
Date,
Version,
ParentRelationship,
Status
};
IF DOIOrPersistentIdentifierResolvesToDifferentPublicationMetadata
THEN PublicationConsistency SHOULD_BE Reviewed;
IF ChapterHasParentBookIdentifier
AND ParentCannotBeResolved
THEN StructuralValidation SHOULD_FLAG Review;
PublicationCompleteness :=
DegreeToWhichRequiredIdentityCreatorPublisherDateAndVersionMetadataArePresent;
PublicationConsistency :=
DegreeToWhichIdentifiersTitlesAgentsDatesVersionsAndRelationshipsAgree;
PublicationIntegrity :=
PreservationOfReliablePublicationIdentityStatusAndHistory;
PublicationMetadataQuality MAY_INCLUDE {
Completeness,
Consistency,
Integrity,
VersionResolution,
Provenance
};
PublicationRecordVersion :=
IdentifiedRevisionOfPublicationMetadataRecord;
PublicationMetadataChange MAY_INCLUDE {
TitleCorrection,
AuthorCorrection,
PublisherCorrection,
DateCorrection,
IdentifierUpdate,
StatusChange
};
PublicationRecordRevision SHOULD_PRESERVE PreviousMetadataWhereAuditabilityRequires;
MetadataRepository MAY_STORE PublicationRecordsAndRelationships;
MetadataRegistry MAY_REGISTER PublicationTypesIdentifiersStatusesAndRoles;
KnowledgeGraph MAY_REPRESENT:
Publication
-> PUBLISHED_BY
-> Publisher;
Publication
-> AUTHORED_BY
-> Author;
Publication
-> IS_VERSION_OF
-> WorkOrPublication;
PublicationGraph SHOULD_PRESERVE {
Identifier,
Version,
Edition,
ParentRelationships,
Provenance,
Status
};
RDF MAY_REPRESENT PublicationRelationshipsAsTypedStatements;
JSONLD MAY_SERIALISE LinkedPublicationMetadata;
Search MAY_USE PublicationMetadataFor {
TitleSearch,
AuthorSearch,
PublisherSearch,
DateFiltering,
IdentifierLookup,
VersionFiltering
};
SemanticSearch MAY_USE PublicationMetadataFor {
SourceContext,
VersionSelection,
RelatedPublicationDiscovery,
CitationResolution
};
RAG MAY_USE PublicationMetadataFor {
SourceEligibility,
Citation,
VersionSelection,
AuthorAttribution,
PublicationContext
};
RAG SHOULD_PREFER AppropriateVersionForClaimAndRetrievalContext;
RetractedOrWithdrawnPublication MAY_REQUIRE WarningFilteringOrSpecialHandlingAccordingToApplication;
AI MAY_SUPPORT {
PublicationEntityResolution,
MetadataExtraction,
VersionMatching,
DuplicateDetection,
StatusDetection
};
AIGeneratedPublicationMetadata SHOULD_HAVE ConfidenceAndProvenance;
AI MUST_NOT InventPublicationIdentifiersAuthorsPublishersOrDates;
PublicationMetadata MAY_REFERENCE RestrictedResources;
AccessControl SHOULD_BE AppliedBeforeReturningProtectedPublicationContent;
PublicationSecurity MAY_INCLUDE {
IdentifierValidation,
LinkValidation,
AccessControl,
ProvenanceIntegrity
};
MachineReadablePublication SHOULD_PRESERVE {
PublicationIdentifier,
PublicationType,
Title,
Authors,
Contributors,
Publisher,
PublicationDate,
Edition,
Version,
ParentPublication,
Rights,
AccessStatus,
PublicationStatus,
Provenance,
Confidence
};
# ---------- SEMANTIC REASONING ----------
IF ResourceHasBeenMadeAvailableThroughPublishingReleaseOrDistributionProcess
THEN PublicationClassification := supported;
IF PublicationHasPersistentIdentifier
THEN Identifier SHOULD_BE UsedForCanonicalResolutionWhereReliable;
IF ResourceIsChapter
THEN ParentPublication MAY_BE BookOrProceedings;
IF ResourceIsArticle
THEN ParentPublication MAY_BE JournalIssueOrProceedingsAccordingToContext;
IF PublicationVersionChanges
THEN CitationsAndDerivedAssertions MAY_REQUIRE VersionSpecificRevalidation;
IF PublicationRetracted
THEN RetractionStatus SHOULD_BE PreservedAndSurfacedWhereRelevant;
IF PublicationIsOpenAccess
THEN PublicDomain MUST_NOT_BE Inferred;
IF PublisherMetadataAndRepositoryMetadataConflict
THEN BothProvenanceSources SHOULD_BE PreservedForResolution;
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE {
"publication" ~= "published resource" WHEN provenance_context;
"publication identifier" ~= "publication ID";
"publisher" ~= "publishing agent" WHEN publication_context;
"publication date" ~= "date of publication";
"published version" ~= "publication version";
"version of record" ~= "authoritative published version" WHEN scholarly_context;
"parent publication" ~= "containing publication";
"publication record" ~= "publication metadata record";
}
# ---------- QUERY FLOW ----------
QUERY(q) ->
NORMALISE(q) ->
IDENTIFY_PUBLICATION(q) ->
RESOLVE_PUBLICATION_IDENTIFIER(q) ->
CLASSIFY_PUBLICATION_TYPE(q) ->
IDENTIFY_TITLE_AUTHORS_CREATORS_AND_CONTRIBUTORS(q) ->
IDENTIFY_PUBLISHER_AND_PUBLICATION_EVENT(q) ->
IDENTIFY_PUBLICATION_DATES(q) ->
RESOLVE_EDITION_VERSION_AND_STATUS(q) ->
IDENTIFY_PARENT_AND_RELATED_PUBLICATIONS(q) ->
IDENTIFY_RIGHTS_ACCESS_AND_PROVENANCE(q) ->
VALIDATE_PUBLICATION_METADATA(q) ->
SCORE_CONFIDENCE(q) ->
RETURN_RELEVANT_PUBLICATION_KNOWLEDGE;
# ---------- CONFIDENCE ----------
CONFIDENCE(assertion) :=
weighted_mean(
identifier_strength,
metadata_agreement,
publisher_authority,
version_resolution,
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: Publication;
ontology: PublicationOntology;
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;
preserve_publication_versions: true;
}
# ---------- UPDATE MODEL ----------
UPDATE_MODEL {
new_publication:
resolve_publication_identity
-> assign_publication_identifier
-> classify_publication_type
-> capture_title_and_agents
-> identify_publisher_and_event
-> capture_dates
-> resolve_edition_and_version
-> attach_rights_and_access
-> attach_provenance
-> validate
-> integrate;
publication_revision:
preserve_previous_record
-> apply_metadata_status_or_version_changes
-> preserve_stable_identifier
-> revalidate_parent_and_citation_relationships
-> update_search_index
-> recompute_confidence
-> regenerate_flow_hash;
status_event:
identify_publication
-> classify_correction_retraction_withdrawal_or_supersession
-> preserve_previous_status
-> attach_notice_and_provenance
-> update_retrieval_policy
-> integrate;
duplicate_resolution:
compare_identifiers_titles_agents_dates_and_versions
-> preserve_source_records
-> establish_canonical_publication
-> remap_relationships
-> audit;
conflict:
preserve_all_metadata_sources
-> compare_identifiers_authority_versions_and_evidence
-> adjust_confidence
-> flag_review;
}
# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
DOMAIN
+ SUBDOMAIN
+ ONTOLOGY
+ PublicationEntity
+ AgentEntity
+ VersionEntity
+ MetadataEntity
+ Publication
+ PublicationEvent
+ PublicationValidation
+ RELATIONSHIPS
+ SEMANTIC_REASONING
+ SEMANTIC_EQUIVALENCE
+ UPDATE_MODEL;
FLOW_HASH :=
HASH(FLOW_HASH_INPUT);
# ---------- TERMINAL ----------
PublicationOntology
-> IdentifyPublishedResourceAndCanonicalIdentity
-> AssignStablePublicationIdentifier
-> ClassifyPublicationTypeAndHierarchy
-> CaptureTitleAuthorsCreatorsContributorsAndPublisher
-> RecordPublicationEventDatesPlatformAndPlace
-> ResolveEditionVersionReleaseAndVersionOfRecord
-> LinkParentChildAndRelatedPublications
-> RecordRightsLicenceAccessAndIntegrityStatus
-> AttachEvidenceProvenanceAndConfidence
-> ValidateIdentifiersAgentsDatesVersionsAndRelationships
-> SupportCitationSearchDiscoveryAndRAGContext
-> PreserveCorrectionsRetractionsWithdrawalsAndVersionHistory
-> MaintainReliablePublicationKnowledge;
END FLOW
Download Code
Copy to Clipboard