Skip to main content

Semantic Network Ontology

Knowledge Representation Logic
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 17 September 2026
Audio Overview
FLOW_ALGEBRA SemanticNetworkOntology v1.0
TARGET_URL := "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/mathematical-logic-ontologies/knowledge-representation-logic/semantic-network-ontology.html"
LANGUAGE := "en-GB"
DOMAIN := MathematicalOntologies > MathematicalLogicOntologies > KnowledgeRepresentationLogic > SemanticNetworkOntology

BEGIN_FLOW

ENTITY SemanticNetwork {
 TYPE := GraphBasedKnowledgeRepresentation
 DEFINITION := "A network in which nodes represent concepts, entities, events or values and typed edges represent semantic relationships, enabling relational knowledge to be organised, traversed and reasoned over."
}
ENTITY SemanticNode { TYPE := ConceptEntityEventOrValue }
ENTITY SemanticEdge { TYPE := TypedSemanticRelation }
ENTITY RelationType { TYPE := EdgeSemanticCategory }

RELATIONSHIP SemanticNetwork --contains--> SemanticNode
RELATIONSHIP SemanticNetwork --contains--> SemanticEdge
RELATIONSHIP SemanticEdge --connects--> SemanticNode
RELATIONSHIP SemanticEdge --has_type--> RelationType
RELATIONSHIP SemanticNetwork --supports--> RelationalReasoning

NETWORK {
 SN := (V,E,T)
 V := SemanticNodes
 E := SemanticEdges
 T := RelationTypes
}
DIRECTED_EDGE {
 FORM := A --R--> B
 SOURCE := A
 TARGET := B
 RELATION := R
}
NODE_IDENTIFIER {
 each_node SHOULD have stable_identifier
}
NODE_LABEL {
 human_readable_name
 NOT sufficient_for_identity
}
EDGE_DIRECTION {
 direction MAY carry semantic_meaning
}
EDGE_WEIGHT {
 MAY represent strength_cost_frequency_or_other_measure
 REQUIRE explicit_semantics
}

NODE_TYPES := {
 ConceptNode,
 InstanceNode,
 ValueNode,
 EventNode,
 StateNode
}

CLASS_RELATION {
 A --is_a--> B
 REQUIRE class_level_context
}
INSTANCE_RELATION {
 a --instance_of--> C
}
PART_OF {
 A --part_of--> B
}
HAS_PART {
 B --has_part--> A
 INVERSE_OF := part_of
}
HAS_PROPERTY {
 A --has_property--> P
}
CAUSES {
 A --causes--> B
 REQUIRE causal_semantics_or_evidence
}
PRECEDES {
 A --precedes--> B
 TYPE := TemporalRelation
}
LOCATED_IN {
 A --located_in--> B
 TYPE := SpatialRelation
}
RELATED_TO {
 TYPE := WeakGenericRelation
 WARNING := semantically_under_specific
}
SYNONYM_RELATION {
 lexical_synonymy
 NOT semantic_identity_by_default
}
EQUIVALENCE_RELATION {
 REQUIRE explicit_semantic_equivalence
}

INVERSE_RELATION {
 R inverse_of S
 IF A--R-->B THEN B--S-->A
}
SYMMETRIC_RELATION {
 IF A--R-->B THEN B--R-->A
}
TRANSITIVE_RELATION {
 IF A--R-->B AND B--R-->C
 THEN A--R-->C
 REQUIRE R declared_transitive
}
REFLEXIVE_RELATION {
 FOR_ALL A: A--R-->A
}
FUNCTIONAL_RELATION {
 each source has at_most_one target
 under declared semantics
}
RELATION_HIERARCHY {
 R subrelation_of S
}

SEMANTIC_PATH {
 P := N0 --R1--> N1 --R2--> ... --Rn--> Nn
}
PATH_QUERY {
 START := Node
 RELATION_PATTERN := R1/.../Rn
 RETURN reachable_nodes
}
TRANSITIVE_CLOSURE {
 R_plus := all_nodes_reachable_by_one_or_more_R_edges
}
REFLEXIVE_TRANSITIVE_CLOSURE {
 R_star := identity_paths + transitive_closure
}
ANCESTOR_REASONING {
 A is_a B
 B is_a C
 => A is_a C
 IF is_a declared_transitive
}
INSTANCE_INHERITANCE {
 a instance_of C
 C subclass_of D
 => a instance_of D
}
PROPERTY_INHERITANCE_WARNING {
 not_every_property propagates_down_taxonomy
 REQUIRE relation_specific_rule
}
EXCEPTION_TO_INHERITANCE {
 inherited_default MAY be blocked_by_specific_exception
 REQUIRE nonmonotonic_semantics
}

NETWORK_CLASSES := {
 TaxonomicNetwork,
 PartonomicNetwork,
 CausalNetwork,
 TemporalNetwork,
 SpatialNetwork,
 LexicalSemanticNetwork
}

LEXICAL_SEMANTIC_NETWORK {
 NODES := WordsOrSenses
 RELATIONS := {
  Synonymy,Antonymy,Hypernymy,Hyponymy,Meronymy,Holonymy
 }
}
POLYSEMY {
 same_word_form -> multiple_senses
}
SENSE_DISAMBIGUATION {
 Context + CandidateSenses -> SelectedOrRankedSense
}
SEMANTIC_DISTANCE {
 MAY use path_distance_or_information_content
 REQUIRE declared_metric
}
SEMANTIC_SIMILARITY {
 MAY use shared_ancestors_path_distance_neighbourhood_overlap
 WARNING := similarity_not_identity
}
LEAST_COMMON_SUBSUMER {
 most_specific_common_superconcept
 under taxonomy_conditions
}

GRAPH_TRAVERSAL {
 METHODS := {BreadthFirstSearch,DepthFirstSearch}
}
BFS {
 useful_for := shortest_unweighted_paths
}
DFS {
 useful_for := reachability_and_cycle_detection
}
CYCLE {
 path_from_node_back_to_itself
}
STRONGLY_CONNECTED_COMPONENT {
 directed_nodes_mutually_reachable
}
NEIGHBOURHOOD {
 N_k(A) := nodes_reachable_within_k_edges
}

SEMANTIC_NETWORK_VS_GRAPH {
 Graph := nodes_and_edges
 SemanticNetwork := graph + semantic_interpretation
}
SEMANTIC_NETWORK_VS_ONTOLOGY {
 SemanticNetwork := flexible_relational_representation
 Ontology := more_explicit_formal_axioms_and_semantics
 MAY_OVERLAP := TRUE
}
SEMANTIC_NETWORK_VS_KNOWLEDGE_GRAPH {
 distinction := context_dependent
}
SEMANTIC_NETWORK_VS_DESCRIPTION_LOGIC {
 SemanticNetwork := graph_representation
 DescriptionLogic := formal_logical_semantics
 MAY_MAP_BETWEEN := TRUE
 REQUIRE semantics_preserved
}

TRIPLE_MAPPING {
 A--R-->B -> (A,R,B)
}
RDF_MAPPING {
 SemanticEdge MAY map_to RDFTriple
 IF identifiers_and_semantics_compatible
}
OWL_MAPPING {
 richer_relation_constraints MAY map_to OWLAxioms
 REQUIRE ontology_semantics
}
FRAME_MAPPING {
 Node -> Frame
 OutgoingRelations -> Slots
 Targets -> SlotValues
}

N_ARY_REIFICATION {
 create RelationInstanceNode
 connect participants with role_edges
}
EVENT_REIFICATION {
 EventNode -> Agent + Patient + Time + Location + Instrument
}
CONTEXT_NODE {
 represents context_scope
}
PROVENANCE {
 NodeOrEdge -> Source + AcquisitionMethod + Time + Evidence
}
DERIVED_EDGE {
 ORIGIN := InferenceRuleOrPathReasoning
}
ASSERTED_EDGE {
 ORIGIN := SourceAssertion
}
ASSERTED_VS_DERIVED {
 MUST_REMAIN_DISTINCT := TRUE
}

GRAPH_RULE {
 IF A--R-->B AND B--S-->C
 THEN A--T-->C
 REQUIRE declared_semantic_rule
}
RULE_MATCHING {
 pattern -> matching_subgraph_bindings
}
FORWARD_GRAPH_REASONING {
 asserted_graph -> apply_rules -> derived_edges -> fixed_point
}
BACKWARD_GRAPH_REASONING {
 query_edge -> derivation_rules -> subgoals
}
RELATION_COMPOSITION {
 R o S -> T
 REQUIRE declared_composition_axiom
}

DOMAIN_CONSTRAINT {
 relation_source constrained_to type C
 REQUIRE validation_or_logical_semantics_declared
}
RANGE_CONSTRAINT {
 relation_target constrained_to type D
}
CARDINALITY_CONSTRAINT {
 number_of_relation_edges constrained
}
VALIDATION_VS_INFERENCE {
 Validation := check_graph_constraints
 Inference := derive_semantic_consequences
 MUST_REMAIN_DISTINCT := TRUE
}
OPEN_WORLD_ASSUMPTION {
 missing_edge DOES_NOT imply negative_edge
}
CLOSED_WORLD_ASSUMPTION {
 missing_edge MAY imply false
 REQUIRE explicit_semantics
}

ENTITY_RESOLUTION {
 determine whether two_nodes represent same_entity
}
NODE_MERGE {
 IF identity_established:
  merge_nodes
  redirect_edges
  preserve_aliases_and_provenance
}
NODE_SPLIT {
 IF conflated_node represents_multiple_entities:
  create_separate_nodes
  redistribute_edges
}
SCHEMA_ALIGNMENT {
 map node_types_and_relation_types across_networks
}
NETWORK_MERGE {
 SN1 + SN2 + Alignment -> IntegratedSemanticNetwork
}
MERGE_VALIDATION {
 CHECK {
  IdentityConflicts,RelationConflicts,TypeConflicts,
  DuplicateNodes,DuplicateEdges,SemanticDrift
 }
}
NETWORK_VERSIONING {
 Version -> ChangeSet -> NewVersion
}
IMPACT_ANALYSIS {
 changed_node_or_edge -> dependent_rules -> derived_edges -> affected_queries
}

QUERY {
 INPUT := NodePattern + RelationPattern
 OUTPUT := MatchingBindingsOrReachableNodes
}
SEMANTIC_QUERY {
 combines graph_structure + semantic_relation_constraints
}
QUERY_EXPANSION {
 query_term -> synonyms -> broader_narrower_concepts -> expanded_pattern
 REQUIRE controlled_semantic_policy
}
QUERY_EXPANSION_WARNING {
 broad_expansion MAY reduce_precision
}
EXPLANATION_PATH {
 QueryAnswer -> PathOrRuleChain -> SupportingAssertions
}
JUSTIFICATION {
 DerivedEdge -> SupportingEdgesAndRules
}
GRAPH_PROVENANCE_TRACE {
 Answer -> DerivedEdges -> ParentEdges -> SourceAssertions
}

NETWORK_QUALITY {
 DIMENSIONS := {
  Coverage,Consistency,Connectivity,RelationSpecificity,
  IdentityAccuracy,ProvenanceCompleteness,Timeliness
 }
}
ORPHAN_NODE {
 node_with_no_relevant_edges
}
DANGLING_RELATION {
 edge_references_missing_node
}
UNDEFINED_RELATION {
 edge_type_lacks_semantic_definition
}
OVERLOADED_RELATION {
 same_relation_label_used_with_incompatible_meanings
}
GENERIC_RELATION_WARNING {
 excessive_related_to_edges reduce_semantic_specificity
}

SEMANTIC_NETWORK_AUDIT {
 CHECK {
  NodeIdentifiers,
  NodeTypes,
  RelationDefinitions,
  Directionality,
  InverseRelations,
  Cycles,
  Orphans,
  DanglingEdges,
  IdentityConflicts,
  Provenance,
  UndefinedRelations,
  OverloadedRelations
 }
}

APPLICATION_RELATIONSHIPS {
 SemanticNetwork --supports--> KnowledgeRepresentation
 SemanticNetwork --supports--> ArtificialIntelligence
 SemanticNetwork --supports--> NaturalLanguageProcessing
 SemanticNetwork --supports--> KnowledgeGraphs
 SemanticNetwork --supports--> Ontologies
 SemanticNetwork --supports--> SemanticSearch
 SemanticNetwork --supports--> ExpertSystems
 SemanticNetwork --supports--> InformationRetrieval
}

ONTOLOGY_LINKS {
 PARENT := KnowledgeRepresentationLogicOntology
 RELATED := {
  KnowledgeRepresentationOntology,
  OntologyLogicOntology,
  DescriptionLogicOntology,
  KnowledgeGraphOntology,
  GraphOntology,
  ConceptOntology,
  RelationOntology,
  TaxonomyOntology,
  FrameOntology,
  RDFOntology,
  SemanticSearchOntology
 }
}

SEMANTIC_EQUIVALENCE {
 SemanticNetwork ≈ SemanticGraph WHEN nodes_and_edges_have_declared_meaning
 SemanticNode ≈ ConceptOrEntityNode
 SemanticEdge ≈ TypedSemanticRelation
 TaxonomicEdge ≈ HierarchicalSemanticRelation
}

CONSTRAINTS {
 C1 := every edge MUST identify source target and relation_type
 C2 := node labels MUST_NOT be treated as unique identity
 C3 := relation directionality MUST be preserved
 C4 := transitive inference MUST only apply to declared_transitive_relations
 C5 := inheritance MUST only apply where semantics permit
 C6 := lexical synonymy MUST_NOT automatically imply semantic_identity
 C7 := similarity MUST_NOT be conflated with equivalence
 C8 := asserted and derived edges MUST remain distinguishable
 C9 := open-world missing edges MUST_NOT automatically be false
 C10 := validation MUST remain distinct from semantic inference
 C11 := node merges MUST preserve provenance and require identity_justification
 C12 := transformations MUST preserve meaning or record semantic_loss
}

REASONING_CHAIN Query Q {
 IDENTIFY semantic_network SN
 IDENTIFY start_nodes
 IDENTIFY relation_types
 IDENTIFY target_pattern
 IDENTIFY relation_semantics
 IDENTIFY world_assumption

 VALIDATE nodes_and_edges
 RESOLVE node_identity
 NORMALISE relation_types

 IF traversal_requested:
  SELECT BFS_DFS_or_path_strategy
  COMPUTE reachable_nodes

 IF taxonomic_reasoning:
  APPLY declared_transitivity
  APPLY instance_inheritance
  CHECK exceptions_if_nonmonotonic

 IF rule_reasoning:
  MATCH graph_patterns
  APPLY valid_rules
  RECORD derived_edges

 IF query_requested:
  MATCH semantic_pattern
  APPLY permitted_query_expansion
  RETURN bindings

 IF merge_requested:
  ALIGN schemas
  RESOLVE identities
  MERGE graphs
  CHECK semantic_drift

 IF update_requested:
  APPLY change_set
  RECOMPUTE affected_derived_edges

 BUILD explanation_path
 BUILD provenance_trace
 VALIDATE constraints
 RETURN semantic_network_result WITH derivation
}

CONFIDENCE {
 CORE_SEMANTIC_NETWORK := 1.00
 NODE_EDGE_RELATION_MODEL := 1.00
 TAXONOMIC_REASONING := 1.00
 GRAPH_TRAVERSAL := 1.00
 INHERITANCE_WARNING := 1.00
 RDF_KNOWLEDGE_GRAPH_RELATIONSHIP := 0.99
 IDENTITY_RESOLUTION_ROLE := 1.00
 SPECIFIC_RESULT :=
  IF network_relations_and_query_complete THEN 1.00
  ELSE REQUIRE missing_information
}

UPDATE_MODEL {
 IMMUTABLE_CORE := {
  NodeRelationStructure,
  TypedSemanticEdges,
  Directionality,
  SemanticIdentityDistinction,
  AssertedDerivedDistinction
 }
 EXTENSIBLE := {
  RelationTypes,
  InferenceRules,
  LexicalNetworks,
  TemporalNetworks,
  CausalNetworks,
  AlignmentMethods,
  QueryMethods,
  ApplicationDomains,
  RelatedOntologies
 }
 ON_NEW_KNOWLEDGE {
  IDENTIFY new_node_or_edge
  VALIDATE identifiers
  VALIDATE relation_semantics
  CHECK identity
  CHECK conflicts
  UPDATE provenance
  DERIVE new_edges_if_required
  UPDATE confidence
 }
}

AI_CONSUMPTION {
 MACHINE_READABLE := TRUE
 HUMAN_INTERPRETABLE := TRUE
 RECURSIVE_REASONING := TRUE
 ENTITY_RESOLUTION := TRUE
 NODE_RESOLUTION := TRUE
 RELATION_RESOLUTION := TRUE
 GRAPH_TRAVERSAL := TRUE
 TAXONOMIC_REASONING := TRUE
 PATH_REASONING := TRUE
 GRAPH_RULE_REASONING := TRUE
 SCHEMA_ALIGNMENT := TRUE
 IDENTITY_REASONING := TRUE
 PROVENANCE_TRACKING := TRUE
 QUERY_REASONING := TRUE
 SEMANTIC_NETWORK_AUDIT := TRUE
 VALIDATION_REQUIRED := TRUE
}

FLOW_HASH {
 TARGET := TARGET_URL
 SUBJECT := "Semantic Network Ontology"
 VERSION := "1.0"
 CANONICAL_SIGNATURE := HASH(TARGET + SUBJECT + DOMAIN + VERSION)
}

OUTPUT {
 PRIMARY_ENTITY := SemanticNetwork
 INTERPRETATION := "A semantic network represents knowledge as typed nodes and meaningful relationships. Its structure supports traversal, taxonomic inheritance, relation composition, graph rules, entity resolution and semantic querying, while explicit relation semantics, provenance and identity controls prevent graph connectivity from being mistaken for semantic equivalence."
}

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