intersystems-community/iris-vector-graph/ivg-arno

Claude Code and agent skill by intersystems-community/iris-vector-graph

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Arno (libarno_callout.so) Rust acceleration for IVG — BFS, Leiden community detection, PPR. Load when working on large-graph operations with ivg-iris-enterprise container.

Install

npx vskill@latest install intersystems-community/iris-vector-graph/ivg-arno

SKILL.md

ivg-arno — Arno Rust Acceleration for IVG

What It Is

Arno (libarno_callout.so) is a Rust callout library that accelerates IVG's most compute-intensive graph operations. It replaces Python-side BFS and community detection with native Rust implementations invoked via IRIS $ZF(-5) callout.

When It Matters

OperationWithout ArnoWith ArnoThreshold
BFS / multi-hop traversalLazyKG Python (~seconds at scale)Rust BFS (~ms)> ~10K nodes
Leiden community detectionleidenalg Pythonleiden-rs Rust crate> ~5K nodes
PPR (Personalized PageRank)Not availableAvailableAny size
Graph serialization to Rust~944ms (20K Native-API hops)~9–60ms (1 SQL round-trip)> ~2K edges

For small graphs (< 5K nodes) the Python fallback is fast enough. Use Arno when running production workloads, benchmarks, or Shaarpec/FHIR-scale data.

How to Enable

Arno requires the enterprise container (ivg-iris-enterprise):

bash
# Start enterprise container (loads libarno_callout.so automatically)
scripts/enterprise-container.sh up
# Verify Arno is loaded
python - <<'EOF'
import iris
conn = iris.connect("localhost", 31972, "USER", "_SYSTEM", "SYS")
from iris_vector_graph.engine import IRISGraphEngine
engine = IRISGraphEngine(conn)
print("arno:", engine._detect_arno()) # True if loaded
EOF

The up command runs tcp-load-arno which streams docker/enterprise/libarno_callout.so into the container via TCP and calls Graph.KG.ArnoAccel.Load to register it.

ASQ Query Syntax vs Cypher

IVG exposes two query languages:

CypherASQ
SyntaxMATCH (a)-[:REL]->(b) RETURN bJSON/structured adjacency spec
Surfaceengine.execute_cypher(q)engine.execute_asq(q)
Multi-hop[*1..N] variable-lengthnative BFS depth parameter
When Arno helpsRoutes to Rust BFS internallyDirect Rust BFS
Best forAd-hoc queries, Cypher-fluent callersProgrammatic traversal, bulk BFS

ASQ example:

python
result = engine.execute_asq({
"start": "gene:TP53",
"direction": "out",
"max_depth": 3,
"rel_filter": ["INTERACTS_WITH", "REGULATES"],
})

Fixtures in Tests

Tests that require Arno use the arno_iris_connection fixture (port 31972). They auto-skip when the enterprise container is not running — they never hard-fail on Community-only machines.

python
class TestMyArnoFeature:
@pytest.fixture(autouse=True)
def setup(self, arno_master_cleanup, arno_iris_connection):
from iris_vector_graph.engine import IRISGraphEngine
self.engine = IRISGraphEngine(arno_iris_connection)
self.engine.initialize_schema()
yield

Key ObjectScript Classes

ClassPurpose
Graph.KG.ArnoAccelCallout bridge — Load, BFS, PPR, Leiden
Graph.KG.NKGAccelInteger-keyed adjacency operations over ^NKG
Graph.KG.NKGAccelTraversalTraversal methods (BFS, k-hop) on ^NKG
Graph.KG.NKGAccelCentralityCloseness/eigenvector/betweenness on ^NKG

Deploy / Recompile

If ObjectScript classes change, redeploy to the enterprise container:

bash
scripts/enterprise-container.sh tcp-deploy # write + compile all .cls via TCP
scripts/enterprise-container.sh tcp-load-arno # reload libarno_callout.so

Direct irispython or docker cp won't work — the enterprise container uses a NoPWS HealthShare image where TCP and irispython route to different database files (dual-DB split). Always use the tcp-deploy subcommand.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/intersystems-community/iris-vector-graph/ivg-arno/badge)](https://verified-skill.com/skills/intersystems-community/iris-vector-graph/ivg-arno)

Something wrong with this skill or its page? Tell us.