Topical edge audit
Audit date: 2026-06-01
Trigger: local-graph-analysis-report.md found 8 graph-included topical person–resource edges and 1 graph-included topical grant–resource edge before cleanup.
Policy: Topical edges may remain in YAML for search and narrative context, but default graph analysis, hub ranking, bridge detection, and collaborator inference must exclude them unless explicitly justified. See ragmap-and-graph-analysis-plan.md §7.
How topical is assigned
| Layer | Rule (export) |
|---|---|
| person–resource | relationship: collaborator → evidence_level: topical when include_in_graph: true |
| grant–resource | relationship: hosted_by or related_topic → topical when graph-included |
| publication–resource | relationship: related_topic → topical |
include_in_graph is set in data/people.yaml (associated_resources) or data/grants.yaml (related_resources), synced via build_person_resource_links.py and refresh_all.py.
Edges reviewed
Person–resource (collaborator)
| Link | Person | Resource | Classification | Action | Rationale |
|---|---|---|---|---|---|
| PRL-051 | PER-023 Wagner | EXT-005 Steans | topical_relevance_only | include_in_graph: false |
SPARK director Q&A; not Steans facility use |
| PRL-053 | PER-024 Bort | EXT-007 Aon | topical_relevance_only | include_in_graph: false |
Name on partner materials only; OUT-009 carries output evidence |
| PRL-054 | PER-024 Bort | UNI-003 SPARK | direct_resource_evidence | Kept true |
DePaul news: leads research collaboration at SPARK |
| PRL-060 | PER-026 Leech | EXT-002 1871 | topical_relevance_only | include_in_graph: false |
CEC listed as Row partner; not 1871 operation |
| PRL-061 | PER-026 Leech | EXT-008 mHUB | topical_relevance_only | include_in_graph: false |
Generic CEC title on partner page |
| PRL-066 | PER-029 Ferrera | EXT-010 Rush | direct_resource_evidence | Kept true |
Named co-director of Rush–DePaul CCHE collaboration |
| PRL-157 | PER-095 Bean | EXT-010 Rush | topical_relevance_only | include_in_graph: false |
External Rush dean in article; not DePaul facility use |
Grant–resource
| Link | Grant | Resource | Classification | Action | Rationale |
|---|---|---|---|---|---|
| GRL-004 | GRA-028 Housing Strategies | UNI-003 SPARK | topical_relevance_only | include_in_graph: false |
Program hosted_by anchor; technical edge is GRL-005 → CDM-011 supports |
Related (not topical; noted for Neo4j defaults)
| Link | Type | Classification | Action |
|---|---|---|---|
| PRL-115 | PER-066 → CDM-014, administrator |
administrative_context | No change (administrative evidence_level; exclude from collaborator queries via edge-type filter) |
Remaining graph-included topical edges
After cleanup, 2 person–resource collaborator edges remain include_in_graph: true (export still labels them evidence_level: topical):
| Link | Endpoints | Why kept |
|---|---|---|
| PRL-054 | PER-024 → UNI-003 | Documented SPARK research leadership (partnership evidence, not hardware) |
| PRL-066 | PER-029 → EXT-010 | Documented institutional co-directorship on Rush collaboration |
0 graph-included topical grant–resource edges after GRL-004 downgrade.
Pipeline updates
| Component | Change |
|---|---|
data/people.yaml |
include_in_graph + graph_analysis_note on audited associated_resources |
data/grants.yaml |
GRA-028 → UNI-003 include_in_graph: false |
scripts/build_person_resource_links.py |
Honors per-resource include_in_graph override |
scripts/refresh_all.py |
Default hosted_by links to include_in_graph: false |
scripts/analyze_graph_csvs.py |
Default analyses exclude evidence_level=topical; flag --include-topical |
graph_queries/analysis_queries.cypher |
Default query comments exclude topical edges |
Neo4j and RAGMap recommendations
- Import: Load all edges with
include_in_graphproperty; do not delete topical rows from CSV. - Default Cypher / analytics:
WHERE e.include_in_graph = 'true' AND coalesce(e.evidence_level, 'direct') <> 'topical' - Hub / bridge / collaborator views: Never use UNI-001; never use affiliation or topical edges by default.
- RAG retrieval: Topical edges are valid for “who is mentioned near SPARK / Rush” questions with explicit caveats; graph traversal for facility/hardware claims must use
directperson–resource andsupports/DOCUMENTS_RESOURCEedges only. - Optional layer: Store
graph_analysis_notetext in link notes for explanation in answers.
Regenerate
python3 scripts/build_person_resource_links.py
python3 scripts/refresh_all.py
python3 scripts/analyze_graph_csvs.py
Verify: local-graph-analysis-report.md §G should show 0 graph-included topical/administrative edges flagged for review (except retained PRL-054/066 when using --include-topical).