Skip to main content

Nodes

Nodes represent components and logical groupings in the P&ID graph.

Node Types

Node TypeDescriptionExamples
pid_componentPhysical component on the drawingValve, Pump, Instrument, Reducer
piping_network_systemLogical grouping of related pipe segmentsCooling Water System, Steam System
piping_network_segmentA single tagged pipe run2"-CW-001-A1A
instrumentation_loopControl loop grouping instrumentsFIC-101 loop

Node Structure

Every node has these fields:

{
"tag": "FV-101",
"id": "abc-123-def",
"node_type": "pid_component",
"node_classification": "piping_component.gate_valve",
"orig_x": 150.5,
"orig_y": 200.3,
"orig_bbox_width": 50.0,
"orig_bbox_height": 40.0,
"attributes": [...]
}
FieldDescription
tagHuman-readable identifier (e.g., "FV-101", "2-CW-001")
idUnique system identifier
node_typeCategory of node (see table above)
node_classificationSpecific type in format entity_type.entity_class
orig_x, orig_yPosition on the original drawing
orig_bbox_width, orig_bbox_heightSize of the component bounding box
attributesAdditional properties (varies by component)

Node Classification

The node_classification field follows the format entity_type.entity_class:

Physical Components (pid_component)

ClassificationDescription
piping_component.gate_valveGate valve
piping_component.globe_valveGlobe valve
piping_component.ball_valveBall valve
piping_component.check_valveCheck valve
piping_component.reducerPipe reducer
piping_component.teePipe tee
piping_component.elbowPipe elbow
instrument.transmitterTransmitter
instrument.indicatorIndicator
equipment.pumpPump
equipment.vesselVessel
reference.opcOff-page connector

Logical Groupings

Node TypeClassification
piping_network_systempns
piping_network_segmentpnsg
instrumentation_looploop

Attributes

The attributes array contains additional properties:

{
"attributes": [
{"name": "nominal_diameter", "value": "2", "data_type": "string"},
{"name": "service_designation", "value": "CW", "data_type": "string"},
{"name": "material_class", "value": "A1A", "data_type": "string"}
]
}

Common attributes vary by component type:

  • Piping components: nominal_diameter, service_designation, material_class
  • Instruments: measured_variable, function, loop_id
  • Equipment: equipment_type, capacity

Querying Nodes

Get all physical components

{"query": ".pid_graph.nodes | filter(.node_type == \"pid_component\")"}

Get all valves

{"query": ".pid_graph.nodes | filter(contains(.node_classification, \"valve\"))"}

Get all pipe segments

{"query": ".pid_graph.nodes | filter(.node_type == \"piping_network_segment\")"}

Get nodes by tag pattern

{"query": ".pid_graph.nodes | filter(contains(.tag, \"FV-\"))"}