gnn-ontology · git:20260906.e62b9e9 · 2026-09-06 · sha256 71e8b1b900c34950

gnn-ontology git:20260906.e62b9e9A

Immutable. This exact content is served forever at /api/v1/blob/71e8b1b900c34950.

---
name: gnn-ontology
description: GNN Active Inference ontology processing and validation. Use when working with ActInfOntologyAnnotation sections, mapping GNN variables to ontology terms, validating semantic annotations, or exploring Active Inference concept hierarchies.
---

# GNN Ontology Processing (Step 10)

## Purpose

Processes Active Inference ontology annotations in GNN models. Maps GNN variables to standardized Active Inference concepts and validates semantic consistency.

## Key Commands

```bash
# Run ontology processing
python src/gnn/10_ontology.py --target-dir input/gnn_files --output-dir output --verbose

# As part of pipeline
python src/gnn/main.py --only-steps 10 --verbose
```

## Ontology Term Mapping

| GNN Annotation | Ontology Concept | Description |
| ---------------- | ------------------ | ------------- |
| `LikelihoodMatrix` | A matrix | Observation model |
| `TransitionMatrix` | B matrix | State dynamics |
| `HiddenState` | s vector | Latent state beliefs |
| `Observation` | o vector | Sensory observations |
| `Policy` | π | Action sequences |
| `Preference` | C matrix | Preferred observations |

## API

```python
from gnn.ontology import (
    process_ontology,
    parse_gnn_ontology_section,
    process_gnn_ontology,
    analyze_ontology_content,
    load_defined_ontology_terms,
    validate_annotations,
    suggest_terms,
    summarise_coverage,
    build_ontology_terms,
    generate_ontology_report_for_file,
    parse_annotation,
    ParsedAnnotation,
    OntologyTermIndex,
    OntologyProcessor,
    OntologyValidator,
)

# Process ontology section from GNN content
parsed = parse_gnn_ontology_section(gnn_content)

# Load defined ontology terms
terms = load_defined_ontology_terms()

# Validate annotations against defined terms (case-insensitive)
result = validate_annotations(annotations_list, terms)

# Single pure entry point: parse + load + validate in one call
analysis = analyze_ontology_content(gnn_content, terms)

# Nearest-term suggestions for unknown annotations
suggestions = suggest_terms(["x=HidenState"], terms)

# Compact coverage line for reports/LLM prompts
summary = summarise_coverage(result)

# Build a custom vocabulary in memory (no JSON file)
custom = build_ontology_terms(["Foo", "Bar"], descriptions={"Foo": "a foo"})

# Use OntologyProcessor class
processor = OntologyProcessor()
result = processor.process_ontology(data)

# Use OntologyValidator class
validator = OntologyValidator()
is_valid = validator.validate_ontology(content)
```

## Key Exports

- `process_ontology` — main pipeline processing function
- `parse_gnn_ontology_section` — extract ontology from GNN content
- `analyze_ontology_content` — pure parse + load + validate in one call
- `validate_annotations` — validate against known terms (case-insensitive)
- `suggest_terms` — nearest-ontology-term suggestions for unknown annotations
- `summarise_coverage` — human-readable coverage line for report/LLM consumers
- `build_ontology_terms` — build a vocabulary dict in memory
- `parse_annotation` → `ParsedAnnotation` — typed 3-tuple (key, value, comment)
- `OntologyProcessor` — class with `process_ontology()`, `validate_terms()`
- `OntologyValidator` — class with `validate_ontology()`, `check_consistency()`
- `OntologyTermIndex` — prebuilt case-insensitive vocabulary index with lookup, known_terms, validate, suggest and contains checks

## Output

- Ontology mappings in `output/10_ontology_output/`
- Validation reports for annotation consistency


## MCP Tools

This module registers tools with the GNN MCP server (see `mcp.py`):

- `extract_ontology_annotations`
- `list_standard_ontology_terms`
- `process_ontology`
- `validate_ontology_terms`

## References

- [AGENTS.md](AGENTS.md) — Module documentation
- [README.md](README.md) — Usage guide
- [SPEC.md](SPEC.md) — Module specification


---
## Documentation
- **[README](README.md)**: Module Overview
- **[AGENTS](AGENTS.md)**: Agentic Workflows
- **[SPEC](SPEC.md)**: Architectural Specification
- **[SKILL](SKILL.md)**: Capability API