name: neo4j-design description: 幫助Agent為專案進行Neo4j圖資料模型設計、Cypher查詢設計、圖索引設計,並提供場景化使用指南。當用戶需要設計圖資料庫Schema、最佳化圖查詢、規劃知識圖譜/推薦系統/反欺詐方案時觸發。 version: 1.0.0 metadata: clawdbot: emoji: "🕸️" requires: anyBins: ["cypher-shell"] os: ["linux", "darwin"]
當用戶出現以下意圖時啟用本 Skill: - 設計 Neo4j 圖資料模型 / 圖譜 Schema - 節點 / 關係 / 屬性設計 - Cypher 查詢最佳化 - 圖索引設計(B-tree/Text/Vector/Full-text) - 知識圖譜 / 推薦系統 / 反欺詐方案 - "如何設計 xxx 的圖譜"
0. 版本檢查 → 載入 references/version-major.md 對比使用者版本,識別廢棄項和重大變更。同時載入所有 version-X.Y.md(X.Y ≤ 使用者目標版本),後續設計過程中 Agent 從已載入的上下文中自主匹配深度特性
1. 需求分析 → 理解業務實體、關係型別、查詢模式(遍歷深度/過濾條件/聚合)
2. 圖模型設計 → 節點標籤設計、關係型別設計、屬性設計、反規範化策略
3. 索引設計 → 屬性索引(B-tree/Text/Vector)、全文索引、約束設計
4. 查詢設計 → Cypher 查詢模式、路徑遍歷、聚合、子查詢
5. 效能最佳化 → 索引提示、引數化查詢、避免笛卡爾積、LIMIT 提前
6. 使用指引 → 載入 references/usage-guide.md,給出場景化操作
7. 生產建議 → 載入 references/best-practices.md,給出叢集/高可用/監控建議
8. 模板參考 → 載入 references/patterns.md,匹配業務圖模型模板
| 物件 | 規範 | 示例 |
|---|---|---|
| 節點標籤 | PascalCase(大駝峰) | User、Order、Product |
| 關係型別 | UPPER_SNAKE_CASE(大寫下劃線) | PLACED、BELONGS_TO、REVIEWED |
| 屬性名 | camelCase(小駝峰) | userId、createdAt、orderCount |
| 索引名 | idx_<標籤>_<屬性> |
idx_User_email |
| 約束名 | cst_<標籤>_<屬性> |
cst_User_uuid |
| 原則 | 說明 | 正例 | 反例 |
|---|---|---|---|
| 單標籤優先 | 一個實體一個主標籤 | (:User) |
(:User:Active:Premium) |
| 多標籤用於橫切關注點 | 多種獨立維度 | (:Product:Featured) |
標籤爆炸 |
| 避免過泛標籤 | 不要用 :Node、:Entity |
(:Person) |
(:Node {type:'person'}) |
| 原則 | 說明 |
|---|---|
| 方向性 | 關係必須有方向 ()-[:KNOWS]->(),表示語義 |
| 稀疏性 | 超高基數關係(如使用者-標籤)考慮多對多中間節點 |
| 避免冗餘雙向關係 | FRIEND_OF 一個方向即可,雙向查詢用 ()-[:FRIEND_OF]-() |
| 關係屬性 | 關係可帶屬性,如 PURCHASED {quantity: 3, at: datetime()} |
小蔥技能站7w4.net發現了升級外掛。
| 型別 | Cypher 示例 | 適用場景 |
|---|---|---|
| String | "hello" |
名稱/描述/ID |
| Integer | 42 |
計數/年齡 |
| Float | 3.14 |
金額/評分 |
| Boolean | true / false |
狀態標記 |
| Date | date("2026-06-09") |
日期 |
| DateTime | datetime() |
時間戳 |
| LocalTime | localtime("14:30:00") |
時間 |
| Duration | duration("P1D") |
時長 |
| Point | point({x:1, y:2}) |
地理座標 |
| VECTOR (2025.10+) | vector([0.1, 0.2, ...]) |
向量嵌入 |
| 型別 | 語法 | 適用場景 | 最低版本 |
|---|---|---|---|
| 屬性索引(B-tree) | CREATE INDEX idx_User_email FOR (n:User) ON (n.email) |
等值/範圍查詢、排序 | 所有版本 |
| 複合索引 | CREATE INDEX idx_User_name_age FOR (n:User) ON (n.name, n.age) |
多屬性過濾 | 所有版本 |
| 全文索引 | CREATE FULLTEXT INDEX idx_Product_desc FOR (n:Product) ON EACH [n.description] |
文本搜尋 | 所有版本 |
| 文本索引 | CREATE TEXT INDEX idx_Article_content FOR (n:Article) ON (n.content) |
模糊/字首匹配 | 5.x+ |
| 向量索引 | CREATE VECTOR INDEX idx_Product_embed FOR (n:Product) ON (n.embedding) OPTIONS {indexConfig: {\vector.dimensions`: 1536, `vector.similarity_function`: "COSINE"}}` |
語義搜尋/RAG | 5.x+(2025.10 起原生 VECTOR 型別) |
| 點索引 | CREATE POINT INDEX idx_Venue_location FOR (n:Venue) ON (n.location) |
地理空間查詢 | 所有版本 |
詳細內容按需載入 references/:
| 主題 | 檔案 | 何時載入 |
|---|---|---|
| 圖模型設計規範(節點/關係/屬性/索引/約束) | references/design-spec.md |
Step 2-3 圖模型和索引設計 |
| 場景化操作(建圖/Cypher/索引/遷移/運維) | references/usage-guide.md |
Step 6 使用指引 |
| 最佳實踐(模型/查詢/索引/叢集/運維) | references/best-practices.md |
Step 7 生產建議 |
| 業務圖模型模板(6類業務完整Cypher DDL) | references/patterns.md |
Step 8 模板參考 |
| 重大版本特性(廢棄/依賴變更/新模組) | references/version-major.md |
Step 0 版本檢查(模組啟用時即載入) |
| 深度版本特性 — CalVer(Cypher 25/VECTOR/GenAI/向量索引/動態標籤) | references/version-2025.md |
Step 0 版本檢查時自動載入(版本 ≤ 使用者目標版本時) |
| 深度版本特性 — 5.x(文本索引/向量索引/複合資料庫/APOC) | references/version-5.0.md |
Step 0 版本檢查時自動載入(版本 ≤ 使用者目標版本時) |
references/version-major.md,Agent 需主動對比使用者使用的 Neo4j 版本(注意 CalVer 2025.01+ 和語義版本 5.x 的差異),若存在廢棄項或重大變更,立即提示使用者version-2025.md),5.x 按大版本拆分(version-5.0.md)。更新時在檔案中新增 ## X.Y.Z 版本節即可,不單開檔案[*1..N]),禁止 [*] 無限深度$param),禁止字串拼接 Cypher整體質量較好,內容專業且覆蓋面廣,版本歷史記錄詳盡,命名規範和硬規則設計合理。優點是結構清晰、參考文件按需載入、包含6類業務模板;不足是缺少實際使用示例和常見問題解答,部分高階功能依賴新版 Neo4j,可能不適用於所有使用者環境。對於需要 Neo4j 圖資料庫設計的使用者來說,是一個可靠的專業工具。