Skip to main content

Edge Ontology

Graph and Network Entities
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 14 October 2026
Audio Overview
FLOW ALGEBRA
EDGE ONTOLOGY
Kireth Semantic Library | Mathematical Entities | Graph and Network Entities
Source: https://kirethresearch.org/booksai-core/entity-graph/mathematical-entities/graph-and-network-entities/edge-ontology-2.html
Version: 1.0 | Date: 2026-10-14 | Locale: en-GB
Authors: Mark Higgins — Sky (Recursive AI)
Status: Proposed formalisation; source-page text not independently verified.

1. ENTITY DECLARATION
entity Edge : GraphElement
entity Vertex : GraphElement
entity Graph : MathematicalStructure
entity DirectedEdge <: Edge
entity UndirectedEdge <: Edge
entity WeightedEdge <: Edge
entity LoopEdge <: Edge
entity ParallelEdge <: Edge
entity EdgeAttribute : Metadata

2. TYPE SIGNATURES
Graph G = (V,E), where V is a set of vertices and E is an edge collection.
For a simple undirected graph: E subseteq {{u,v} | u,v in V and u != v}.
For a directed graph: E subseteq V x V.
For a multigraph, E is an edge-identity set equipped with endpoint maps; parallel edges remain distinct.
endpoints : Edge -> Vertex x Vertex (ordered for directed edges)
source,target : DirectedEdge -> Vertex
incident : Vertex x Edge -> Boolean
adjacent : Vertex x Vertex -> Boolean
weight : WeightedEdge -> Real (or a declared weight domain)

3. MATHEMATICAL AXIOMS AND INVARIANTS
A1: Every edge in G has endpoints belonging to V(G).
A2: An undirected edge {u,v} has unordered endpoints.
A3: A directed edge (u,v) has source u and target v.
A4: A loop has identical endpoints; a simple graph excludes loops and parallel edges.
A5: Parallel edges can share endpoints while retaining distinct identities in multigraphs.
A6: For an undirected graph, sum_{v in V} degree(v) = 2|E|, with loops counted twice.
A7: For a directed graph, sum indegree(v) = sum outdegree(v) = |E|.
A8: Edge weights are optional and their sign/range depends on the model; non-negative weights must not be assumed universally.

4. RELATIONSHIPS
Edge --BELONGS_TO--> Graph
Edge --INCIDENT_TO--> Vertex
DirectedEdge --HAS_SOURCE--> Vertex
DirectedEdge --HAS_TARGET--> Vertex
UndirectedEdge --CONNECTS--> VertexPair
WeightedEdge --HAS_WEIGHT--> WeightValue
Edge --MAY_HAVE_ATTRIBUTE--> EdgeAttribute
Edge --MAY_PARTICIPATE_IN--> Path
Edge --MAY_PARTICIPATE_IN--> Cycle
Edge --MAY_BE_PART_OF--> CutSet

5. FLOW OPERATIONS
flow AddEdge(G,e):
  require endpoints(e) subseteq V(G)
  require graph_policy_allows(e,G)
  return G with e included

flow RemoveEdge(G,e):
  require e in E(G)
  return G with e removed and V(G) unchanged

flow Adjacent(G,u,v):
  return exists e in E(G) connecting u and v, respecting direction when required

flow Degree(G,v):
  if undirected: count incident edge-ends (loop contributes 2)
  if directed: return (indegree(v),outdegree(v))

6. INFERENCE RULES
R1: DirectedEdge(e) and source(e)=u and target(e)=v => directed_adjacency(u,v).
R2: UndirectedEdge(e) with endpoints {u,v} => adjacency(u,v) and adjacency(v,u).
R3: LoopEdge(e) => source(e)=target(e), or coincident undirected endpoints.
R4: Bridge(e,G) => removing e increases number of connected components of an undirected graph.
R5: e in Path(P) => e belongs to the graph supporting P.
R6: EdgeInCut(e,S,V\S) => endpoints of e lie on opposite sides of the partition (undirected case).

7. SEMANTIC DISTINCTIONS
Edge != Vertex: an edge encodes an incidence or connection; a vertex is an endpoint entity.
Edge != Path: a path is a sequence of adjacent edges/vertices subject to a chosen definition.
DirectedEdge != UndirectedEdge: orientation changes adjacency semantics.
WeightedEdge != EdgeWeight: the first is an edge entity; the second is its value attribute.
Graph-theoretic edge != geometric line segment: geometric embedding is optional.
Network link may map to Edge only where the network model explicitly adopts graph semantics.

8. VALIDATION
V1: All edge endpoints resolve to declared vertices.
V2: Directed edges have valid source and target.
V3: Edge identity is unique within an edge-identity set.
V4: Enforce loop/parallel-edge restrictions according to graph type.
V5: Validate weights against declared type and constraints.
V6: Verify degree and incidence totals against graph invariants.
V7: Preserve edge direction in traversal and path inference.
V8: Never infer causal, physical or semantic equivalence solely from graph adjacency.

9. CONFIDENCE AND PROVENANCE
CONFIDENCE: 1.0 for definitions and theorems under explicitly satisfied mathematical assumptions; otherwise record evidence and uncertainty.
PROVENANCE: record source URI, definition version, graph model, transformation history and validation outcome.
SEMANTIC_EQUIVALENCE: require matching endpoint, direction, multiplicity and attribute semantics before treating edge representations as equivalent.

10. FLOW HASH AND UPDATE MODEL
FLOW_HASH := SHA256(canonical_utf8(ontology_id,version,entity_types,axioms,relations,rules,validation))
Note: this is a hash-generation specification, not a computed hash value.
UPDATE_MODEL: version changes; revalidate dependent graph, path, traversal and network flows after structural edits.

11. AI CONSUMPTION
AI_CONSUMPTION:
  input: typed graph entities, edge records, constraints and provenance
  process: resolve identity -> validate endpoints -> classify edge type -> apply inference rules -> attach confidence
  output: validated edge relations, traversals, graph facts and explanation traces
  safety: distinguish asserted edges from inferred edges; do not invent missing endpoints or weights

12. EXAMPLE
V = {A,B,C}; E = {(A,B),(B,C)} in a directed graph.
source((A,B))=A; target((A,B))=B.
outdegree(A)=1; indegree(A)=0.
A directed path A->B->C exists, but edge (A,C) is not thereby implied.

END FLOW ALGEBRA
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ