FLOW ALGEBRA
TITLE: Citation Relationship Ontology
DOMAIN: Information Relationships / Citation
SOURCE: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/information-relationships/citation-relationship-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "CitationRelationshipOntology" v1.0 {
ontology:
id: "citation-relationship-ontology"
parent: "information-relationships"
purpose: "Represent evidence-backed citations between claims, passages, publications and source records without conflating citation with endorsement or proof."
types:
Resource: {id: string, kind: enum[article, book, dataset, report, webpage, software, other], title: string?, version: string?, publication_date: datetime?}
Claim: {id: string, text: string, context: string?, provenance: string}
Passage: {id: string, resource_id: string, locator: string, text_hash: string?}
Identifier: {scheme: enum[doi, isbn, url, arxiv, handle, other], value: string}
Citation: {id: string, citing_resource: string, cited_resource: string, locator: string?, intent: enum[supports, disputes, mentions, extends, uses, background, unknown], confidence: number, evidence: string[], timestamp: datetime?}
Assessment: {id: string, claim_id: string, source_id: string, judgement: enum[supports, contradicts, inconclusive], method: string, provenance: string}
predicates:
cites(source: Resource, target: Resource)
references_passage(source: Resource, target: Passage)
supports(source: Passage, claim: Claim)
disputes(source: Passage, claim: Claim)
identifies(resource: Resource, identifier: Identifier)
derived_from(resource: Resource, source: Resource)
has_citation_intent(citation: Citation, intent: string)
constraints:
- "Every citation must identify a citing resource and cited resource."
- "Citation intent must be recorded separately from the fact that a citation exists."
- "Citing a source does not establish that the source supports a claim or that the claim is true."
- "Passage-level support requires a resolvable locator or documented extraction method."
- "Identifiers must be normalised by scheme without merging distinct versions or editions."
- "Confidence must lie within [0, 1]."
- "Citation counts are not evidence of correctness, quality or independent replication."
- "Retain provenance, publication version and retraction or correction status when available."
inference:
rule citation_edge:
if valid(citation) and resolves(citation.citing_resource) and resolves(citation.cited_resource)
then cites(citation.citing_resource, citation.cited_resource)
confidence: "inherit verified citation record confidence"
rule evidence_support:
if references_passage(source,passage) and verified_support(passage,claim)
then supports(passage,claim)
confidence: "based on passage relevance, context and source reliability"
rule citation_chain:
if cites(a,b) and cites(b,c)
then citation_path(a,c)
confidence: "path only; do not infer direct citation or evidential support"
SEMANTIC_EQUIVALENCE:
- "Match DOI and other persistent identifiers using scheme-specific normalisation."
- "Distinguish identical works, versions, editions, translations and related resources."
- "Do not treat mentions, endorsements, critiques and evidential support as equivalent."
CONFIDENCE:
range: [0,1]
factors: [identifier_resolution, locator_accuracy, source_integrity, passage_relevance, independent_verification, correction_status]
policy: "Do not inflate confidence through repeated or circular citations."
VALIDATION:
- "Resolve citation endpoints and check identifier syntax."
- "Verify locators, resource versions, timestamps and provenance."
- "Flag broken links, duplicate records, retractions, circular citation chains and unsupported intent labels."
- "Preserve conflicting assessments for review."
FLOW_HASH:
algorithm: "SHA-256"
input: "canonicalised ontology version, citation records, typed assertions, rules and provenance"
note: "Compute hash at execution; no hash value is claimed here."
UPDATE_MODEL:
strategy: "versioned, provenance-preserving incremental update"
steps: [ingest, resolve_identifiers, normalise, validate, compare, reconcile, recompute_inferences, publish]
rollback: true
AI_CONSUMPTION:
representation: "typed citation knowledge graph with passage-level evidence and provenance"
outputs: [citation_edges, source_identifiers, passage_links, claim_assessments, uncertainty_annotations, provenance_records]
safeguards: [no_citation_as_proof, no_unverified_support_claims, preserve_versions, flag_retractions, prevent_circular_confidence_inflation]
}
END FLOW ALGEBRA
Download Code
Copy to Clipboard