Skip to content

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: collaboratorevidence_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
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

  1. Import: Load all edges with include_in_graph property; do not delete topical rows from CSV.
  2. Default Cypher / analytics:
    WHERE e.include_in_graph = 'true' AND coalesce(e.evidence_level, 'direct') <> 'topical'
  3. Hub / bridge / collaborator views: Never use UNI-001; never use affiliation or topical edges by default.
  4. 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 direct person–resource and supports / DOCUMENTS_RESOURCE edges only.
  5. Optional layer: Store graph_analysis_note text 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).