Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Concept relationship layer: wikilink edges in rolegraph

未关闭
#605 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
35/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
停滞
技术栈
rust
领域
backend, search

调研方向

Start with MarkdownDirectivesParseResult and build_thesaurus_from_haystack(), then inspect RoleGraph::new() and the affected terraphim_rolegraph, terraphim_automata, terraphim_types, and terraphim_service crates. Confirm how related_concepts from #604 should become ConceptEdge values, then verify that graph traversal, autocomplete, and configurable search ranking support the new relationships.

由索引模型根据 Issue 内容生成。

描述

architecture enhancement

Summary

Add concept-to-concept edges to the rolegraph, derived from [[wikilinks]] extracted by the Obsidian parser (#604). Currently the thesaurus is flat (synonym -> concept). Wikilinks enable a second layer: concept -> related concept.

Current State

Thesaurus (flat):
  "context management" -> concept("context engineering")
  "semantic scope"     -> concept("context engineering")

Proposed State

Thesaurus (flat, unchanged):
  "context management" -> concept("context engineering")

Relationships (new):
  concept("context engineering") --Related--> concept("knowledge graph")
  concept("context engineering") --Related--> concept("ontology")
  concept("knowledge graph")     --ParentChild--> concept("context engineering")  // from folder hierarchy

Edge Types

pub enum EdgeType {
    Related,      // from [[wikilinks]]
    ParentChild,  // from folder hierarchy (subfolder = child)
    SeeAlso,      // future: explicit "see also::" directive
}

pub struct ConceptEdge {
    pub from: NormalizedTermValue,
    pub to: NormalizedTermValue,
    pub edge_type: EdgeType,
    pub weight: f64,  // default 1.0, can be boosted by frequency
}

Integration with RoleGraph

terraphim_rolegraph already supports node/edge relationships. Feed ConceptEdge data into the existing graph structure so that:

  1. Search ranking: when searching for "context engineering", results mentioning related concepts ("knowledge graph", "ontology") get a relevance boost
  2. Graph traversal: terraphim_agent ASCII graph visualization shows concept neighborhoods
  3. Autocomplete: typing "context" could suggest both synonyms AND related concepts

Implementation

  1. Extend MarkdownDirectivesParseResult to include Vec<ConceptEdge> (#604 provides related_concepts)
  2. In build_thesaurus_from_haystack(), after building the flat thesaurus, construct edges from related_concepts
  3. Feed edges into RoleGraph::new() alongside the thesaurus
  4. Boost search results that match related concepts (configurable weight, default 0.3x of direct match)

Affected Crates

  • terraphim_rolegraph (primary -- accept and store concept edges)
  • terraphim_automata (pass edges from parser output)
  • terraphim_types (ConceptEdge, EdgeType types)
  • terraphim_service (use edges for search ranking boost)

Dependencies

  • #604 Obsidian format parser (provides related_concepts extraction)

Estimated Effort

~1 day

Part of

Epic #603

主要语言
Rust
星标
65
派生
5
平均合并
1 小时 17 分钟
30 天内合并 PR
2

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

terraphim/terraphim-ai 的其他 Issue

查看 terraphim/terraphim-ai 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。