← Back to Documentation Index
Multi-Agent System Ontology
Table of Contents
Classes
Agent
https://outshift-open.github.io/oxp-ontology/mas#Agent
Agent TYPE (not execution instance). Represents the schema/template discovered from the execution trace. Example: trace name 'itinerary' → Agent type 'ItineraryAgent'. Execution instances are AgentCall.
AgentCall
https://outshift-open.github.io/oxp-ontology/mas#AgentCall
Agent execution INSTANCE extracted from the execution trace. Linked to Agent TYPE via :executesAgent. Example: trace unit 'itinerary_20250113_143052' → AgentCall_001 :executesAgent ItineraryAgent (type).
Capability
https://outshift-open.github.io/oxp-ontology/mas#Capability
Common parent for structural capability types an Agent can use: LLM, Tool, Processing. Placeholder for attributes shared across all three.
CapabilityCall
https://outshift-open.github.io/oxp-ontology/mas#CapabilityCall
Common parent for execution instances of a Capability: LLMCall, ToolCall, ProcessingCall. Placeholder for attributes shared across all three.
Element
https://outshift-open.github.io/oxp-ontology/mas#Element
Abstract root for every node in this ontology: structural types, execution instances, and trajectory nodes alike.
ExecutionElement
https://outshift-open.github.io/oxp-ontology/mas#ExecutionElement
Execution instances (not types) extracted from the execution trace. 1 trace unit = 1 *Call instance. These are runtime occurrences: AgentCall_001, LLMCall_gpt4_042, etc.
LLM
https://outshift-open.github.io/oxp-ontology/mas#LLM
LLM type discovered from the execution trace
LLMCall
https://outshift-open.github.io/oxp-ontology/mas#LLMCall
LLM call extracted from the execution trace (input prompt + output completion)
MAS
https://outshift-open.github.io/oxp-ontology/mas#MAS
MAS instance discovered from the execution trace (which agents were composed together)
MASCall
https://outshift-open.github.io/oxp-ontology/mas#MASCall
MAS execution extracted from the execution trace (orchestration of multiple agents)
Processing
https://outshift-open.github.io/oxp-ontology/mas#Processing
Processing type discovered from the execution trace. Represents internal computation capabilities within agents.
ProcessingCall
https://outshift-open.github.io/oxp-ontology/mas#ProcessingCall
Processing code execution inside an agent (internal computation, data transformation, validation logic, etc.). Distinct from LLMCall (external model inference) and ToolCall (external API).
Session
https://outshift-open.github.io/oxp-ontology/mas#Session
Session execution extracted from the execution trace (top-level execution context)
State
https://outshift-open.github.io/oxp-ontology/mas#State
Data state at a point in execution (prompt/input/output). Example: State_prompt_001 with content 'Book a flight to Paris'. States are connected via Transitions.
StructuralElement
https://outshift-open.github.io/oxp-ontology/mas#StructuralElement
Schema/type definitions representing the static structure of a MAS. These are TYPES not instances: Agent (not AgentCall), etc.
Tool
https://outshift-open.github.io/oxp-ontology/mas#Tool
Tool type discovered from the execution trace
ToolCall
https://outshift-open.github.io/oxp-ontology/mas#ToolCall
Tool call extracted from the execution trace (external API/DB call)
TrajectoryElement
https://outshift-open.github.io/oxp-ontology/mas#TrajectoryElement
Parent class for State/Transition — the normalized (raw unstructured text) view of a session's trajectory.
Transition
https://outshift-open.github.io/oxp-ontology/mas#Transition
State transition representing a processing step between states. Links normalized data flow to execution instances via :representsExecution. Example: Transition_001 :inputTo State_prompt, :leadsTo State_response, :representsExecution AgentCall_itinerary_001.
Properties
belongsToMAS
https://outshift-open.github.io/oxp-ontology/mas#belongsToMAS
MAS is composed of Agents
Domain: Agent
Range: MAS
belongsToMASCall
https://outshift-open.github.io/oxp-ontology/mas#belongsToMASCall
AgentCall belongs to MASCall link.
Domain: AgentCall
Range: MASCall
cacheReadTokenCount
https://outshift-open.github.io/oxp-ontology/mas#cacheReadTokenCount
Cached input tokens reused.
Domain: LLMCall
Range: integer
completionTokenCount
https://outshift-open.github.io/oxp-ontology/mas#completionTokenCount
Number of tokens in the completion.
Domain: LLMCall
Range: integer
content
https://outshift-open.github.io/oxp-ontology/mas#content
The raw textual content of the state (the delta produced by each call).
Domain: State
Range: string
correspondsToTransition
https://outshift-open.github.io/oxp-ontology/mas#correspondsToTransition
ExecutionElement instance corresponds to this Transition (AgentCall_001 → Transition between its input/output states)
Domain: ExecutionElement
Range: Transition
declared
https://outshift-open.github.io/oxp-ontology/mas#declared
Whether this structural type was explicitly declared (e.g. in an agent manifest or skill registry) rather than dynamically discovered from the execution trace. False (or absent) means inferred.
Domain: StructuralElement
Range: boolean
description
https://outshift-open.github.io/oxp-ontology/mas#description
Human-readable description of this element.
Domain: nc7e8507f68a948789704fe2a9153f0d5b2
Range: string
duration
https://outshift-open.github.io/oxp-ontology/mas#duration
Duration in milliseconds.
Domain: ExecutionElement
Range: double
endTime
https://outshift-open.github.io/oxp-ontology/mas#endTime
End time of the execution as a Unix timestamp (seconds, high precision).
Domain: ExecutionElement
Range: decimal
executes
https://outshift-open.github.io/oxp-ontology/mas#executes
Generic link from an execution instance to the structural type it is an instance of. See subproperties :executesMAS, :executesAgent, :executesLLM, :executesTool, :executesProcessing for the specific pair.
Domain: ExecutionElement
Range: StructuralElement
executesAgent
https://outshift-open.github.io/oxp-ontology/mas#executesAgent
AgentCall instance executes this Agent type (e.g., AgentCall_001 executes ItineraryAgent)
Domain: AgentCall
Range: Agent
executesLLM
https://outshift-open.github.io/oxp-ontology/mas#executesLLM
LLMCall instance is of this LLM structural type (e.g., GPT-4, Claude).
Domain: LLMCall
Range: LLM
executesMAS
https://outshift-open.github.io/oxp-ontology/mas#executesMAS
MASCall instance executes this MAS type
Domain: MASCall
Range: MAS
executesProcessing
https://outshift-open.github.io/oxp-ontology/mas#executesProcessing
ProcessingCall executes this Processing structural type (e.g., DataNormalizer, ResponseFormatter).
Domain: ProcessingCall
Range: Processing
executesSession
https://outshift-open.github.io/oxp-ontology/mas#executesSession
Session executes this MAS configuration
Domain: Session
Range: MAS
executesTool
https://outshift-open.github.io/oxp-ontology/mas#executesTool
ToolCall instance is of this Tool structural type (e.g., WeatherAPI).
Domain: ToolCall
Range: Tool
finishReason
https://outshift-open.github.io/oxp-ontology/mas#finishReason
Reason generation stopped. Values: 'stop', 'length', 'content_filter', 'tool_calls'.
Domain: LLMCall
Range: string
hasAgentCall
https://outshift-open.github.io/oxp-ontology/mas#hasAgentCall
MASCall orchestrates AgentCall executions (1:N — one MAS call coordinates multiple agent calls)
Domain: MASCall
Range: AgentCall
hasFinalState
https://outshift-open.github.io/oxp-ontology/mas#hasFinalState
Points to the final/terminal State of an execution. Subproperty of :hasState for easier querying.
Domain: ExecutionElement
Range: State
hasInitialState
https://outshift-open.github.io/oxp-ontology/mas#hasInitialState
Points to the initial/starting State of an execution. Subproperty of :hasState for easier querying.
Domain: ExecutionElement
Range: State
hasLLMCall
https://outshift-open.github.io/oxp-ontology/mas#hasLLMCall
Legacy shortcut (denormalized) from AgentCall to LLMCall. Canonical typing links are mas:executesLLM on LLMCall and containment topology edges. Consumers should avoid emitting this edge in normalized KG outputs.
Domain: AgentCall
Range: LLMCall
hasMASCall
https://outshift-open.github.io/oxp-ontology/mas#hasMASCall
Session contains MASCall executions (1:N — one session can have multiple MAS calls, e.g. retries/continuations).
Domain: Session
Range: MASCall
hasProcessingCall
https://outshift-open.github.io/oxp-ontology/mas#hasProcessingCall
Denormalized shortcut from AgentCall or MASCall to a ProcessingCall it directly contains. Canonical typing link is mas:executesProcessing on Processing.
Domain: nc7e8507f68a948789704fe2a9153f0d5b6
Range: ProcessingCall
hasState
https://outshift-open.github.io/oxp-ontology/mas#hasState
ExecutionElement has associated States in its trajectory. Example: AgentCall_001 :hasState State_reasoning
Domain: ExecutionElement
Range: State
hasToolCall
https://outshift-open.github.io/oxp-ontology/mas#hasToolCall
Legacy shortcut (denormalized) from AgentCall to ToolCall. Canonical typing links are mas:executesTool on ToolCall and containment topology edges. Consumers should avoid emitting this edge in normalized KG outputs.
Domain: AgentCall
Range: ToolCall
id
https://outshift-open.github.io/oxp-ontology/mas#id
Generic identifier for this element. Subclasses may declare a more specific, formally-formatted identity/MERGE key on top of this (e.g. :callId, :stateNodeId, :transitionId, :sessionId) — those are not replacements for :id, they are stricter identity contracts for specific node kinds.
Domain: Element
Range: string
inputTo
https://outshift-open.github.io/oxp-ontology/mas#inputTo
Source State feeds into this Transition (State → Transition). Declared owl:inverseOf :leadsTo as a schema-level pairing (this codebase does no OWL inference, so this does not imply automatic mirrored triples) — the two are independently-populated adjacent hops used together to walk a trajectory's State → Transition → State chain.
Domain: State
Range: Transition
leadsTo
https://outshift-open.github.io/oxp-ontology/mas#leadsTo
Transition leads to its next/target State (Transition → State). Also serves as the canonical 'target state of this Transition' property for endpoint cardinality checks (see mas-shapes.ttl TransitionEndpointsShape).
Domain: Transition
Range: State
name
https://outshift-open.github.io/oxp-ontology/mas#name
Human-readable name of this element.
Domain: Element
Range: string
parentSpanId
https://outshift-open.github.io/oxp-ontology/mas#parentSpanId
ID of the corresponding parent span in OTel traces, where one exists.
Domain: ExecutionElement
Range: string
promptTokenCount
https://outshift-open.github.io/oxp-ontology/mas#promptTokenCount
Number of tokens in the prompt.
Domain: LLMCall
Range: integer
provider
https://outshift-open.github.io/oxp-ontology/mas#provider
LLM provider name.
Domain: LLM
Range: string
representsExecution
https://outshift-open.github.io/oxp-ontology/mas#representsExecution
Canonical execution edge: Transition -> ExecutionElement. This object property is the normalized topology link.
Domain: Transition
Range: ExecutionElement
responseId
https://outshift-open.github.io/oxp-ontology/mas#responseId
Unique response ID from the LLM provider. Used for provider-side debugging.
Domain: LLMCall
Range: string
sessionId
https://outshift-open.github.io/oxp-ontology/mas#sessionId
Unique session identifier. Primary key for Session nodes (MERGE key). Carried as a provenance attribute on State and Transition nodes to make their scope explicit without a join.
Domain: ExecutionElement
Range: string
spanId
https://outshift-open.github.io/oxp-ontology/mas#spanId
ID of the corresponding span in OTel traces, where one exists.
Domain: ExecutionElement
Range: string
startTime
https://outshift-open.github.io/oxp-ontology/mas#startTime
Start time of the execution as a Unix timestamp (seconds, high precision).
Domain: ExecutionElement
Range: decimal
temperature
https://outshift-open.github.io/oxp-ontology/mas#temperature
Model temperature setting (sampling randomness, typically 0.0-2.0).
Domain: LLMCall
Range: double
totalTokenCount
https://outshift-open.github.io/oxp-ontology/mas#totalTokenCount
Total tokens used (prompt + completion).
Domain: LLMCall
Range: integer
usesCapability
https://outshift-open.github.io/oxp-ontology/mas#usesCapability
Generic link from an Agent type to a structural capability it can use. See subproperties :usesLLM, :usesTool, :usesProcessing for the specific capability kind.
Domain: Agent
Range: Capability
usesLLM
https://outshift-open.github.io/oxp-ontology/mas#usesLLM
Agent type can use this LLM type.
Domain: Agent
Range: LLM
usesProcessing
https://outshift-open.github.io/oxp-ontology/mas#usesProcessing
Agent type can use this Processing type.
Domain: Agent
Range: Processing
usesTool
https://outshift-open.github.io/oxp-ontology/mas#usesTool
Agent type can use this Tool type.
Domain: Agent
Range: Tool
← Back to Documentation Index