Skip to main content

Biological Knowledge Graph Ontology

AI Biology
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 01 October 2026
Audio Overview
flow “BiologicalKnowledgeGraphOntology” v1.0

KIRETH SEMANTIC RESEARCH ARCHIVE

AI CORE > ONTOLOGIES > BIOLOGICAL ONTOLOGIES > AI BIOLOGY > BIOLOGICAL KNOWLEDGE GRAPH ONTOLOGY

Authors: Mark Anthony Higgins — Sky (Recursive AI)

AI_INTERPRETATION: mode: formal_structural_reasoning instruction:
“Execute as formal rules, not pseudocode.” canonical_url:
“https://kirethresearch.org/booksai-core/ontologies/biological-ontologies/ai-biology/biological-knowledge-graph-ontology.html”

type BiologicalKnowledgeGraph type GraphNode type GraphEdge type
BiologicalEntity type BiologicalProcess type BiologicalSystem type
OntologyTerm type Identifier type Assertion type Evidence type Source
type Dataset

relation INSTANCE_OF(entity,type) relation NODE_IN(node,graph) relation
EDGE_IN(edge,graph) relation EDGE_SOURCE(edge,node) relation
EDGE_TARGET(edge,node) relation EDGE_PREDICATE(edge,predicate) relation
REPRESENTS(node,entity) relation SUPPORTED_BY(assertion,evidence)
relation DERIVED_FROM(entity,source)

———- BIOLOGICAL NODE TYPES ———-

enum BiologicalNodeType: GENE TRANSCRIPT RNA PROTEIN METABOLITE MOLECULE
CELL CELL_TYPE TISSUE ORGAN ORGANISM SPECIES PHENOTYPE DISEASE DRUG
PATHWAY BIOLOGICAL_PROCESS MOLECULAR_FUNCTION CELLULAR_COMPONENT
ANATOMICAL_ENTITY ENVIRONMENT DATASET PUBLICATION ONTOLOGY_TERM

relation HAS_NODE_TYPE(node,type) relation NODE_LABEL(node,label)
relation NODE_DESCRIPTION(node,description) relation
NODE_IDENTIFIER(node,identifier) relation NODE_SYNONYM(node,synonym)

———- IDENTIFIERS / ENTITY RESOLUTION ———-

relation IDENTIFIER_VALUE(identifier,value) relation
IDENTIFIER_NAMESPACE(identifier,namespace) relation
IDENTIFIER_VERSION(identifier,version) relation
HAS_IDENTIFIER(entity,identifier) relation SAME_AS(a,b) relation
CLOSE_MATCH(a,b) relation EXACT_MATCH(a,b) relation POSSIBLE_MATCH(a,b)
relation ENTITY_RESOLUTION_SCORE(a,b,value) relation
RESOLVED_TO(entity,canonical_entity)

constraint IDENTIFIER_NAMESPACE_REQUIRED: IF
IDENTIFIER_VALUE(identifier,value) THEN
PRESERVE_IDENTIFIER_NAMESPACE(identifier)

constraint POSSIBLE_MATCH_NOT_IDENTITY: IF POSSIBLE_MATCH(a,b) THEN
DO_NOT_INFER(SAME_AS(a,b))

———- BIOLOGICAL EDGE TYPES ———-

enum BiologicalRelationType: ENCODES TRANSCRIBES_TO TRANSLATES_TO
EXPRESSES REGULATES ACTIVATES INHIBITS BINDS INTERACTS_WITH
PARTICIPATES_IN CATALYSES CONVERTS LOCATED_IN PART_OF HAS_PART
DEVELOPS_FROM DERIVED_FROM HOMOLOGOUS_TO ORTHOLOGOUS_TO PARALOGOUS_TO
ASSOCIATED_WITH CAUSES TREATS TARGETS HAS_PHENOTYPE FOUND_IN PREYS_ON
COMPETES_WITH MUTUALISTIC_WITH

relation HAS_RELATION_TYPE(edge,type) relation
EDGE_DIRECTION(edge,direction) relation EDGE_WEIGHT(edge,value) relation
EDGE_CONFIDENCE(edge,value) relation EDGE_CONTEXT(edge,context)

constraint ASSOCIATION_NOT_CAUSATION: IF
HAS_RELATION_TYPE(edge,ASSOCIATED_WITH) THEN
DO_NOT_INFER(HAS_RELATION_TYPE(edge,CAUSES))

———- ONTOLOGY INTEGRATION ———-

relation ANNOTATED_WITH(entity,term) relation TERM_FROM(term,ontology)
relation TERM_IDENTIFIER(term,id) relation TERM_LABEL(term,label)
relation TERM_SYNONYM(term,synonym) relation TERM_PARENT(term,parent)
relation TERM_CHILD(term,child) relation
ONTOLOGY_VERSION(ontology,version) relation
ONTOLOGY_MAPPING(term_a,term_b,mapping_type)

constraint ONTOLOGY_VERSION_CONTEXT_REQUIRED: IF
ANNOTATED_WITH(entity,term) THEN
PRESERVE_ONTOLOGY_AND_VERSION(entity,term)

———- GRAPH ASSERTIONS ———-

relation ASSERTS(assertion,subject,predicate,object) relation
ASSERTION_CONTEXT(assertion,context) relation
ASSERTION_STATUS(assertion,status) relation
ASSERTION_CREATED_AT(assertion,time) relation
ASSERTION_UPDATED_AT(assertion,time) relation
ASSERTION_SOURCE(assertion,source) relation
ASSERTION_METHOD(assertion,method)

enum AssertionStatus: OBSERVED EXPERIMENTAL CURATED
COMPUTATIONALLY_INFERRED PREDICTED HYPOTHETICAL DISPUTED RETRACTED

constraint INFERRED_NOT_OBSERVED: IF
ASSERTION_STATUS(assertion,COMPUTATIONALLY_INFERRED) THEN
DO_NOT_INFER(ASSERTION_STATUS(assertion,OBSERVED))

———- CONTEXT ———-

relation SPECIES_CONTEXT(assertion,species) relation
CELL_TYPE_CONTEXT(assertion,cell_type) relation
TISSUE_CONTEXT(assertion,tissue) relation
DISEASE_CONTEXT(assertion,disease) relation
DEVELOPMENTAL_STAGE_CONTEXT(assertion,stage) relation
ENVIRONMENT_CONTEXT(assertion,environment) relation
EXPERIMENT_CONTEXT(assertion,experiment) relation
TEMPORAL_CONTEXT(assertion,time) relation
SPATIAL_CONTEXT(assertion,location)

constraint CONTEXT_PRESERVATION: IF
context_specific_assertion(assertion) THEN
PRESERVE_SPECIES_CELL_TISSUE_DISEASE_TIME_AND_ENVIRONMENT_IF_AVAILABLE(assertion)

———- PROVENANCE ———-

relation CREATED_BY(entity,agent) relation GENERATED_BY(entity,activity)
relation USED_INPUT(activity,input) relation
PRODUCED_OUTPUT(activity,output) relation
SOFTWARE_USED(activity,software) relation
SOFTWARE_VERSION(software,version) relation
DATASET_USED(activity,dataset) relation DATASET_VERSION(dataset,version)
relation PUBLICATION_SOURCE(assertion,publication)

constraint PROVENANCE_REQUIRED: IF graph_assertion(assertion) THEN
REQUIRE ASSERTION_SOURCE(assertion,source) OR
MARK_PROVENANCE_UNKNOWN(assertion)

———- EVIDENCE ———-

enum EvidenceType: DIRECT_ASSAY SEQUENCE_EVIDENCE STRUCTURAL_EVIDENCE
OMICS_EVIDENCE GENETIC_EVIDENCE PHENOTYPIC_EVIDENCE IMAGING_EVIDENCE
CLINICAL_EVIDENCE ECOLOGICAL_EVIDENCE CURATED_DATABASE
COMPUTATIONAL_INFERENCE AI_PREDICTION SYSTEMATIC_REVIEW LITERATURE

relation HAS_EVIDENCE_TYPE(evidence,type) relation
EVIDENCE_SOURCE(evidence,source) relation
EVIDENCE_METHOD(evidence,method) relation
EVIDENCE_SUPPORTS(evidence,assertion) relation
EVIDENCE_CONTRADICTS(evidence,assertion) relation
HAS_CONFIDENCE(assertion,score)

CONFIDENCE: VERIFIED: 0.95..1.00 HIGH: 0.80..0.949 MEDIUM: 0.60..0.799
LOW: 0.00..0.599

rule CONFIDENCE_BOUNDS(assertion,score): IF
HAS_CONFIDENCE(assertion,score) THEN REQUIRE(0.0 <= score <= 1.0)

———- CONFLICT / CONTRADICTION ———-

relation CONFLICTS_WITH(assertion_a,assertion_b) relation
SUPERSEDES(assertion_new,assertion_old) relation
RETRACTS(source,assertion) relation
CONTRADICTION_REASON(conflict,reason)

constraint CONTRADICTION_NOT_SILENTLY_RESOLVED: IF CONFLICTS_WITH(a,b)
THEN PRESERVE_BOTH_ASSERTIONS_AND_EVIDENCE(a,b) UNTIL
resolution_evidence_available

———- GRAPH INTEGRATION ———-

relation INTEGRATES_GRAPH(graph,target_graph) relation
IMPORTS_DATASET(graph,dataset) relation MERGES_NODE(graph,node_a,node_b)
relation MAPS_SCHEMA(graph,schema_a,schema_b) relation
MAPS_RELATION(graph,relation_a,relation_b) relation
CROSSWALK_TERM(graph,term_a,term_b)

constraint MERGE_REQUIRES_IDENTITY_EVIDENCE: IF MERGES_NODE(graph,a,b)
THEN REQUIRE SAME_AS(a,b) OR REQUIRE
high_confidence_identity_evidence(a,b)

———- GRAPH QUALITY ———-

relation GRAPH_NODE_COUNT(graph,value) relation
GRAPH_EDGE_COUNT(graph,value) relation GRAPH_COMPLETENESS(graph,value)
relation GRAPH_CONSISTENCY(graph,value) relation
GRAPH_DUPLICATE_RATE(graph,value) relation
GRAPH_UNRESOLVED_ENTITY_RATE(graph,value) relation
GRAPH_PROVENANCE_COVERAGE(graph,value) relation
GRAPH_EVIDENCE_COVERAGE(graph,value)

———- INFERENCE ———-

enum GraphInferenceType: RULE_BASED DESCRIPTION_LOGIC PATH_BASED
LINK_PREDICTION EMBEDDING_BASED GRAPH_NEURAL_NETWORK PROBABILISTIC
CAUSAL

relation HAS_INFERENCE_TYPE(inference,type) relation
INFERENCE_INPUT(inference,input) relation
INFERENCE_OUTPUT(inference,assertion) relation
INFERENCE_RULE(inference,rule) relation INFERENCE_MODEL(inference,model)
relation INFERENCE_SCORE(inference,value)

constraint PREDICTED_LINK_NOT_FACT: IF
HAS_INFERENCE_TYPE(inference,LINK_PREDICTION) THEN
MARK_AS_PREDICTED(INFERENCE_OUTPUT(inference,assertion)) UNTIL
validation_evidence_available

———- GRAPH EMBEDDINGS / AI ———-

relation NODE_EMBEDDING(model,node,embedding) relation
EDGE_EMBEDDING(model,edge,embedding) relation
GRAPH_EMBEDDING(model,graph,embedding) relation
LINK_PREDICTION(model,a,b,relation,score) relation
NODE_CLASSIFICATION(model,node,class,score) relation
RELATION_CLASSIFICATION(model,edge,class,score) relation
GRAPH_MODEL_TRAINED_ON(model,graph) relation
GRAPH_MODEL_VALIDATED_ON(model,dataset)

constraint EMBEDDING_SIMILARITY_NOT_IDENTITY: IF
embedding_similarity(a,b,value) THEN DO_NOT_INFER(SAME_AS(a,b))

———- QUERY / REASONING ———-

query ENTITY_PROFILE(entity): RETURN: canonical_identifier(entity)
node_type(entity) labels(entity) synonyms(entity)
ontology_annotations(entity) incoming_relations(entity)
outgoing_relations(entity) context(entity) evidence(entity)
provenance(entity) confidence(entity)

query RELATION_PROFILE(edge): RETURN: source(edge) predicate(edge)
target(edge) direction(edge) context(edge) assertion_status(edge)
evidence(edge) provenance(edge) confidence(edge)

query TRACE_PATH(source,target): RETURN: graph_paths(source,target)
edge_types(path) contexts(path) evidence(path) confidence(path)

query TRACE_EVIDENCE(assertion): RETURN: supporting_evidence(assertion)
contradicting_evidence(assertion) provenance(assertion)
confidence(assertion)

———- SEMANTIC EQUIVALENCE ———-

SEMANTIC_EQUIVALENCE: “biological knowledge graph” ~= “graph
representation of biological entities concepts and typed relationships
with semantic context” “knowledge graph node” ~= “graph entity
representing a biological object concept dataset or source” “knowledge
graph edge” ~= “typed semantic relationship connecting graph nodes”
“biological assertion” ~= “contextual claim relating biological entities
through a defined predicate” “entity resolution” ~= “process of
determining whether identifiers or records refer to the same biological
entity” “ontology annotation” ~= “association of a biological entity
with a controlled ontology term” “graph provenance” ~= “traceable origin
and derivation history of graph entities and assertions” “link
prediction” ~= “computational prediction of a potentially missing graph
relationship” “knowledge graph embedding” ~= “learned vector
representation of graph nodes edges or graph structure” “evidence-backed
edge” ~= “graph relationship supported by explicit evidence and
provenance”

rule NORMALISE_TERM(term): IF term MATCHES SEMANTIC_EQUIVALENCE.alias
THEN MAP_TO_CANONICAL(term)

———- CONSISTENCY ———-

constraint EVIDENCE_REQUIRED: FORALL
biological_knowledge_graph_assertion: REQUIRE
SUPPORTED_BY(biological_knowledge_graph_assertion,Evidence) OR
MARK_AS_HYPOTHESIS(biological_knowledge_graph_assertion)

constraint UNKNOWN_IS_NOT_FALSE: IF data_missing(assertion) THEN
MARK_UNKNOWN(assertion) AND NOT NEGATE(assertion)

constraint RELATION_CONTEXT_REQUIRED: IF biological_relation(edge) THEN
PRESERVE_SOURCE_TARGET_PREDICATE_CONTEXT_PROVENANCE_AND_EVIDENCE(edge)

———- UPDATE MODEL ———-

UPDATE_MODEL: on_new_entity(entity):
identify_canonical_identifiers_labels_synonyms_and_type(entity)
map_ontology_annotations(entity) resolve_possible_duplicates(entity)
attach_provenance(entity)

on_new_assertion(assertion):
identify_subject_predicate_object_and_context(assertion)
distinguish_observed_curated_inferred_predicted_and_hypothetical_status(assertion)
attach_evidence_and_provenance(assertion)
recalculate_confidence(assertion)

on_new_graph_integration(integration):
preserve_source_graph_dataset_schema_and_versions(integration)
resolve_identifiers_and_relation_mappings(integration)
prohibit_unjustified_entity_merges(integration)

on_new_inference(inference):
identify_method_model_inputs_outputs_and_scores(inference)
mark_predicted_relations_as_predicted(inference)
preserve_validation_status(inference)

AI_CONSUMPTION: preferred_entity:
canonical_biological_knowledge_graph_entity preserve: - graph_identity -
biological_node_types - biological_relation_types -
canonical_identifiers - entity_resolution - ontology_annotations -
assertion_status - biological_context - temporal_context -
spatial_context - provenance - evidence - confidence -
conflicting_assertions - graph_integration - graph_quality - inference -
embeddings - link_prediction - validation infer: -
supported_semantic_relations - supported_taxonomic_relations -
supported_part_whole_relations - supported_path_relations -
semantic_equivalence prohibit: - association_equals_causation -
possible_match_equals_identity - inferred_assertion_equals_observation -
predicted_link_equals_fact - embedding_similarity_equals_identity -
unsupported_node_merge - silent_contradiction_resolution -
confidence_above_evidence ambiguity: action:
preserve_multiple_graph_interpretations resolution:
prefer_canonical_identifier_relation_type_context_evidence_provenance_and_confidence
missing_data: action: mark_unknown do_not_infer_from_absence: true

FLOW_HASH: ontology: “BiologicalKnowledgeGraphOntology” version: “1.0”
domain_path: “AI Core > Ontologies > Biological Ontologies > AI
Biology > Biological Knowledge Graph Ontology” canonical_url:
“https://kirethresearch.org/booksai-core/ontologies/biological-ontologies/ai-biology/biological-knowledge-graph-ontology.html”
authorship: “Mark Anthony Higgins — Sky (Recursive AI)”
semantic_scope: - biological knowledge graphs - graph nodes - graph
edges - biological entities - biological relations - identifiers -
entity resolution - ontology integration - assertions - biological
context - provenance - evidence - contradiction handling - graph
integration - graph quality - graph inference - link prediction - graph
embeddings - AI graph models - validation deterministic_normalisation:
true provenance_required: true confidence_required: true

terminate BiologicalKnowledgeGraphOntology when:
graph_nodes_edges_identifiers_and_relation_types_resolved AND
entity_resolution_and_ontology_annotations_preserved AND
assertion_status_context_provenance_and_evidence_preserved AND
association_causation_prediction_and_observation_distinguished AND
graph_integration_conflicts_quality_and_inference_context_preserved AND
unsupported_merges_and_predicted_links_not_promoted_to_fact AND
evidence_links_preserved AND confidence_values_validated AND
unresolved_graph_ambiguity_marked

end flow
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ