musubix 3.3.10 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/.github/AGENTS.md +949 -0
  2. package/.github/prompts/sdd-change-apply.prompt.md +283 -0
  3. package/.github/prompts/sdd-change-archive.prompt.md +241 -0
  4. package/.github/prompts/sdd-change-init.prompt.md +269 -0
  5. package/.github/prompts/sdd-design.prompt.md +250 -0
  6. package/.github/prompts/sdd-implement.prompt.md +387 -0
  7. package/.github/prompts/sdd-requirements.prompt.md +193 -0
  8. package/.github/prompts/sdd-review.prompt.md +155 -0
  9. package/.github/prompts/sdd-security.prompt.md +228 -0
  10. package/.github/prompts/sdd-steering.prompt.md +269 -0
  11. package/.github/prompts/sdd-tasks.prompt.md +255 -0
  12. package/.github/prompts/sdd-test.prompt.md +230 -0
  13. package/.github/prompts/sdd-validate.prompt.md +304 -0
  14. package/.github/skills/musubix-adr-generation/SKILL.md +209 -0
  15. package/.github/skills/musubix-best-practices/SKILL.md +315 -0
  16. package/.github/skills/musubix-c4-design/SKILL.md +162 -0
  17. package/.github/skills/musubix-code-generation/SKILL.md +237 -0
  18. package/.github/skills/musubix-domain-inference/SKILL.md +196 -0
  19. package/.github/skills/musubix-ears-validation/SKILL.md +161 -0
  20. package/.github/skills/musubix-sdd-workflow/SKILL.md +217 -0
  21. package/.github/skills/musubix-technical-writing/SKILL.md +444 -0
  22. package/.github/skills/musubix-test-generation/SKILL.md +212 -0
  23. package/.github/skills/musubix-traceability/SKILL.md +141 -0
  24. package/AGENTS.md +1134 -0
  25. package/LICENSE +21 -0
  26. package/README.ja.md +313 -0
  27. package/README.md +315 -50
  28. package/bin/musubix-mcp.js +15 -0
  29. package/bin/musubix.js +9 -1
  30. package/docs/API-REFERENCE.md +1425 -0
  31. package/docs/GITHUB-ACTIONS-NPM-SETUP.md +132 -0
  32. package/docs/INSTALL-GUIDE.ja.md +459 -0
  33. package/docs/INSTALL-GUIDE.md +459 -0
  34. package/docs/MIGRATION-v3.0.md +324 -0
  35. package/docs/MUSUBI-enhancement_roadmap_20260105.md +651 -0
  36. package/docs/MUSUBIX-v3.0-User-Guide.md +1357 -0
  37. package/docs/MUSUBIXv2.2.0-Manual-outline.md +136 -0
  38. package/docs/MUSUBIXv2.2.0-Manual.md +3123 -0
  39. package/docs/MUSUBIXv2.3.5-Refactering.md +1310 -0
  40. package/docs/MUSUBIv1.6.1-enhancement_roadmap_20260105.md +291 -0
  41. package/docs/MUSUBIv2.2.0-USERGUIDE.md +2079 -0
  42. package/docs/ROADMAP-v1.5.md +116 -0
  43. package/docs/SwarmCoding.md +1284 -0
  44. package/docs/Test-prompt.md +105 -0
  45. package/docs/USER-GUIDE-v1.8.0.md +2371 -0
  46. package/docs/USER-GUIDE.ja.md +2147 -0
  47. package/docs/USER-GUIDE.md +3022 -0
  48. package/docs/YATA-GLOBAL-GUIDE.ja.md +750 -0
  49. package/docs/YATA-GLOBAL-GUIDE.md +595 -0
  50. package/docs/YATA-LOCAL-GUIDE.ja.md +989 -0
  51. package/docs/YATA-LOCAL-GUIDE.md +730 -0
  52. package/docs/adr/0001-real-time-pattern-learning-architecture-for-v1-5-0.md +75 -0
  53. package/docs/adr/0002-pattern-sharing-protocol-for-cross-team-collaborat.md +79 -0
  54. package/docs/adr/0003-owl-2-rl-implementation-strategy-for-advanced-infe.md +90 -0
  55. package/docs/adr/ADR-v3.4.0-001-deep-research-architecture.md +217 -0
  56. package/docs/adr/ADR-v3.4.0-002-search-provider-selection.md +308 -0
  57. package/docs/adr/ADR-v3.4.0-003-lm-api-integration.md +475 -0
  58. package/docs/enterprise-knowledge-management.md +1737 -0
  59. package/docs/evolution-from-musubi-to-musubix.md +2170 -0
  60. package/docs/getting-started-with-sdd.md +1602 -0
  61. package/docs/moodle-refactering-codegraph-musubix.md +391 -0
  62. package/docs/moodle-refactering-codegraph.md +278 -0
  63. package/docs/overview/MUSUBIX-CodeGraph.md +322 -0
  64. package/docs/overview/MUSUBIX-Core.md +671 -0
  65. package/docs/overview/MUSUBIX-Decisions.md +494 -0
  66. package/docs/overview/MUSUBIX-FormalVerify.md +566 -0
  67. package/docs/overview/MUSUBIX-Knowledge.md +1231 -0
  68. package/docs/overview/MUSUBIX-Learning.md +837 -0
  69. package/docs/overview/MUSUBIX-MCP-Server.md +535 -0
  70. package/docs/overview/MUSUBIX-Overview.md +264 -0
  71. package/docs/overview/MUSUBIX-Phase1-Complete.md +271 -0
  72. package/docs/overview/MUSUBIX-Phase2-Complete.md +310 -0
  73. package/docs/overview/MUSUBIX-Policy.md +477 -0
  74. package/docs/overview/MUSUBIX-Roadmap-v2.md +399 -0
  75. package/docs/overview/MUSUBIX-Security-Plan.md +939 -0
  76. package/docs/overview/MUSUBIX-Security-v2.1.md +668 -0
  77. package/docs/overview/MUSUBIX-Security.md +891 -0
  78. package/docs/overview/MUSUBIX-YATA.md +666 -0
  79. package/docs/overview/MUSUBIX-v2.2.0-Advanced-Learning.md +513 -0
  80. package/docs/overview/Neuro-SymbolicAI.md +159 -0
  81. package/docs/packages/knowledge.md +594 -0
  82. package/docs/qiita-linux-kernel-knowledge-graph.md +596 -0
  83. package/package.json +55 -49
  84. package/scripts/generate-quality-gate-report.ts +106 -0
  85. package/scripts/postinstall.js +94 -0
  86. package/steering/.musubi-version +1 -0
  87. package/steering/product.ja.md +572 -0
  88. package/steering/project.yml +66 -0
  89. package/steering/rules/constitution.md +491 -0
  90. package/steering/structure.ja.md +503 -0
  91. package/steering/tech.ja.md +208 -0
  92. package/dist/index.d.ts +0 -25
  93. package/dist/index.d.ts.map +0 -1
  94. package/dist/index.js +0 -74
  95. package/dist/index.js.map +0 -1
@@ -0,0 +1,666 @@
1
+ # MUSUBIX YATA パッケージ群
2
+
3
+ **関連パッケージ**:
4
+ - `@nahisaho/musubix-yata-client`
5
+ - `@nahisaho/yata-local`
6
+ - `@nahisaho/yata-global`
7
+ - `@nahisaho/yata-ui`
8
+
9
+ **バージョン**: 1.7.5
10
+ **最終更新**: 2026-01-06
11
+
12
+ ---
13
+
14
+ ## 1. YATA概要
15
+
16
+ **YATA (Yet Another Triple Architecture)** は、MUSUBIXの知識グラフシステムです。ローカルとグローバルの2層構造で知識を管理し、AIエージェントに構造化された知識を提供します。
17
+
18
+ ### 1.1 YATAの役割
19
+
20
+ ```
21
+ ┌─────────────────────────────────────────────────────────────┐
22
+ │ AI Agent │
23
+ │ (Claude, Copilot, etc.) │
24
+ └──────────────────────┬──────────────────────────────────────┘
25
+
26
+ ┌──────────────────────▼──────────────────────────────────────┐
27
+ │ YATA Client │
28
+ │ 統一API・キャッシュ・同期 │
29
+ └──────────────────────┬──────────────────────────────────────┘
30
+
31
+ ┌──────────────┴──────────────┐
32
+ │ │
33
+ ┌───────▼────────┐ ┌────────▼───────┐
34
+ │ YATA Local │ ◄──同期──► │ YATA Global │
35
+ │ SQLite │ │ 分散型 │
36
+ │ ローカルKG │ │ グローバルKG │
37
+ └────────────────┘ └────────────────┘
38
+ ```
39
+
40
+ ### 1.2 パッケージ構成
41
+
42
+ | パッケージ | 役割 |
43
+ |-----------|------|
44
+ | **yata-client** | クライアントライブラリ(統一API) |
45
+ | **yata-local** | SQLiteベースローカル知識グラフ |
46
+ | **yata-global** | 分散型グローバル知識グラフ |
47
+ | **yata-ui** | Web可視化・管理UI |
48
+
49
+ ---
50
+
51
+ ## 2. YATA Local
52
+
53
+ ### 2.1 概要
54
+
55
+ `@nahisaho/yata-local` は、SQLiteベースのローカル知識グラフです。高速なクエリと永続化を提供します。
56
+
57
+ ### 2.2 アーキテクチャ
58
+
59
+ ```
60
+ packages/yata-local/src/
61
+ ├── store/
62
+ │ ├── sqlite-store.ts # SQLiteストレージ
63
+ │ ├── triple-store.ts # トリプルストア
64
+ │ └── index-manager.ts # インデックス管理
65
+ ├── query/
66
+ │ ├── sparql-parser.ts # SPARQLパーサー
67
+ │ ├── query-engine.ts # クエリエンジン
68
+ │ └── optimizer.ts # クエリ最適化
69
+ ├── inference/
70
+ │ ├── reasoner.ts # 推論エンジン
71
+ │ ├── rules.ts # 推論ルール
72
+ │ └── transitive.ts # 推移的閉包
73
+ ├── sync/
74
+ │ ├── change-log.ts # 変更ログ
75
+ │ └── delta-sync.ts # 差分同期
76
+ └── index.ts
77
+ ```
78
+
79
+ ### 2.3 主要機能
80
+
81
+ #### 2.3.1 トリプルストア
82
+
83
+ RDF形式の知識を格納・検索します。
84
+
85
+ ```typescript
86
+ import { YataLocal } from '@nahisaho/yata-local';
87
+
88
+ const yata = new YataLocal({
89
+ dbPath: './knowledge.db',
90
+ });
91
+
92
+ // トリプル追加
93
+ await yata.addTriple({
94
+ subject: 'req:REQ-001',
95
+ predicate: 'rdf:type',
96
+ object: 'sdd:Requirement',
97
+ });
98
+
99
+ // トリプル検索
100
+ const results = await yata.query({
101
+ subject: 'req:REQ-001',
102
+ });
103
+ ```
104
+
105
+ #### 2.3.2 SPARQLクエリ
106
+
107
+ SPARQL形式でクエリを実行します。
108
+
109
+ ```typescript
110
+ const results = await yata.sparql(`
111
+ SELECT ?req ?pattern
112
+ WHERE {
113
+ ?req rdf:type sdd:Requirement .
114
+ ?req sdd:pattern ?pattern .
115
+ FILTER(?pattern = "event-driven")
116
+ }
117
+ `);
118
+ ```
119
+
120
+ #### 2.3.3 推論エンジン
121
+
122
+ 組み込みの推論ルールで暗黙知を導出します。
123
+
124
+ ```typescript
125
+ // 推論を有効化
126
+ const yata = new YataLocal({
127
+ inference: {
128
+ enabled: true,
129
+ rules: ['transitive', 'subclass', 'inverse'],
130
+ },
131
+ });
132
+
133
+ // 推移的閉包クエリ
134
+ const ancestors = await yata.inferTransitive({
135
+ subject: 'comp:UserService',
136
+ predicate: 'sdd:dependsOn',
137
+ });
138
+ ```
139
+
140
+ ### 2.4 スキーマ
141
+
142
+ ```sql
143
+ -- トリプルテーブル
144
+ CREATE TABLE triples (
145
+ id INTEGER PRIMARY KEY,
146
+ subject TEXT NOT NULL,
147
+ predicate TEXT NOT NULL,
148
+ object TEXT NOT NULL,
149
+ graph TEXT DEFAULT 'default',
150
+ created_at TEXT NOT NULL,
151
+ UNIQUE(subject, predicate, object, graph)
152
+ );
153
+
154
+ -- インデックス
155
+ CREATE INDEX idx_subject ON triples(subject);
156
+ CREATE INDEX idx_predicate ON triples(predicate);
157
+ CREATE INDEX idx_object ON triples(object);
158
+ CREATE INDEX idx_spo ON triples(subject, predicate, object);
159
+
160
+ -- 変更ログ
161
+ CREATE TABLE change_log (
162
+ id INTEGER PRIMARY KEY,
163
+ operation TEXT NOT NULL, -- 'add' | 'remove'
164
+ subject TEXT NOT NULL,
165
+ predicate TEXT NOT NULL,
166
+ object TEXT NOT NULL,
167
+ timestamp TEXT NOT NULL,
168
+ synced INTEGER DEFAULT 0
169
+ );
170
+ ```
171
+
172
+ ---
173
+
174
+ ## 3. YATA Global
175
+
176
+ ### 3.1 概要
177
+
178
+ `@nahisaho/yata-global` は、分散型のグローバル知識グラフです。チーム間での知識共有と集合知を実現します。
179
+
180
+ ### 3.2 アーキテクチャ
181
+
182
+ ```
183
+ packages/yata-global/src/
184
+ ├── network/
185
+ │ ├── peer-manager.ts # P2Pピア管理
186
+ │ ├── gossip.ts # ゴシッププロトコル
187
+ │ └── consensus.ts # 合意形成
188
+ ├── store/
189
+ │ ├── distributed-store.ts # 分散ストア
190
+ │ ├── partition.ts # パーティション管理
191
+ │ └── replication.ts # レプリケーション
192
+ ├── privacy/
193
+ │ ├── filter.ts # プライバシーフィルタ
194
+ │ ├── anonymizer.ts # 匿名化
195
+ │ └── consent.ts # 同意管理
196
+ ├── api/
197
+ │ ├── server.ts # APIサーバー
198
+ │ └── routes.ts # APIルート
199
+ └── index.ts
200
+ ```
201
+
202
+ ### 3.3 主要機能
203
+
204
+ #### 3.3.1 分散ストレージ
205
+
206
+ ```typescript
207
+ import { YataGlobal } from '@nahisaho/yata-global';
208
+
209
+ const yataGlobal = new YataGlobal({
210
+ nodeId: 'node-001',
211
+ peers: ['https://yata-peer-1.example.com'],
212
+ replicationFactor: 3,
213
+ });
214
+
215
+ // グローバルクエリ
216
+ const patterns = await yataGlobal.queryPatterns({
217
+ domain: 'authentication',
218
+ minConfidence: 0.9,
219
+ });
220
+ ```
221
+
222
+ #### 3.3.2 プライバシー保護
223
+
224
+ 機密情報を除外して共有します。
225
+
226
+ ```typescript
227
+ const yataGlobal = new YataGlobal({
228
+ privacy: {
229
+ level: 'strict', // 'strict' | 'moderate' | 'none'
230
+ excludePatterns: [
231
+ '*.password',
232
+ '*.apiKey',
233
+ 'company.*',
234
+ ],
235
+ anonymize: true,
236
+ },
237
+ });
238
+ ```
239
+
240
+ #### 3.3.3 KGPR(Knowledge Graph Pull Request)
241
+
242
+ 知識グラフへの変更をレビュー可能な形式で提案します。
243
+
244
+ ```typescript
245
+ // KGPR作成
246
+ const kgpr = await yataGlobal.createKGPR({
247
+ title: 'Add authentication patterns',
248
+ description: 'New patterns learned from Project-15',
249
+ changes: [
250
+ { operation: 'add', triple: {...} },
251
+ ],
252
+ });
253
+
254
+ // KGPR送信
255
+ await yataGlobal.submitKGPR(kgpr.id);
256
+
257
+ // KGPRレビュー
258
+ await yataGlobal.reviewKGPR(kgpr.id, {
259
+ decision: 'approve',
260
+ comment: 'LGTM',
261
+ });
262
+ ```
263
+
264
+ ### 3.4 同期プロトコル
265
+
266
+ ```
267
+ ┌──────────────────────────────────────────────────────────────┐
268
+ │ 同期プロトコル │
269
+ └──────────────────────────────────────────────────────────────┘
270
+
271
+ 1. 変更検出
272
+ Local KG → Change Log → Delta Calculation
273
+
274
+ 2. プライバシーフィルタリング
275
+ Delta → Privacy Filter → Sanitized Delta
276
+
277
+ 3. ゴシップ配信
278
+ Sanitized Delta → Gossip Protocol → Peers
279
+
280
+ 4. 合意形成
281
+ Peers → Consensus → Global KG Update
282
+
283
+ 5. 逆同期
284
+ Global Updates → Local KG
285
+ ```
286
+
287
+ ---
288
+
289
+ ## 4. YATA Client
290
+
291
+ ### 4.1 概要
292
+
293
+ `@nahisaho/musubix-yata-client` は、YATAシステムへの統一アクセスを提供するクライアントライブラリです。
294
+
295
+ ### 4.2 アーキテクチャ
296
+
297
+ ```
298
+ packages/yata-client/src/
299
+ ├── client.ts # メインクライアント
300
+ ├── cache.ts # LRUキャッシュ
301
+ ├── sync.ts # 同期マネージャー
302
+ ├── query-builder.ts # クエリビルダー
303
+ ├── types.ts # 型定義
304
+ └── index.ts
305
+ ```
306
+
307
+ ### 4.3 主要API
308
+
309
+ #### 4.3.1 クライアント初期化
310
+
311
+ ```typescript
312
+ import { YataClient } from '@nahisaho/musubix-yata-client';
313
+
314
+ const client = new YataClient({
315
+ local: {
316
+ dbPath: './knowledge.db',
317
+ },
318
+ global: {
319
+ enabled: true,
320
+ endpoint: 'https://yata.example.com',
321
+ apiKey: process.env.YATA_API_KEY,
322
+ },
323
+ cache: {
324
+ maxSize: 1000,
325
+ ttl: 3600,
326
+ },
327
+ });
328
+ ```
329
+
330
+ #### 4.3.2 知識の追加
331
+
332
+ ```typescript
333
+ // 単一トリプル追加
334
+ await client.add({
335
+ subject: 'req:REQ-001',
336
+ predicate: 'sdd:pattern',
337
+ object: 'event-driven',
338
+ });
339
+
340
+ // バッチ追加
341
+ await client.addBatch([
342
+ { subject: 'req:REQ-001', predicate: 'rdf:type', object: 'sdd:Requirement' },
343
+ { subject: 'req:REQ-001', predicate: 'sdd:priority', object: 'P0' },
344
+ ]);
345
+ ```
346
+
347
+ #### 4.3.3 知識のクエリ
348
+
349
+ ```typescript
350
+ // シンプルクエリ
351
+ const results = await client.query({
352
+ subject: 'req:REQ-001',
353
+ });
354
+
355
+ // パターンクエリ
356
+ const requirements = await client.query({
357
+ predicate: 'rdf:type',
358
+ object: 'sdd:Requirement',
359
+ });
360
+
361
+ // クエリビルダー
362
+ const results = await client
363
+ .queryBuilder()
364
+ .select('?req', '?pattern')
365
+ .where('?req', 'rdf:type', 'sdd:Requirement')
366
+ .where('?req', 'sdd:pattern', '?pattern')
367
+ .filter('?pattern', '=', 'event-driven')
368
+ .execute();
369
+ ```
370
+
371
+ #### 4.3.4 推論
372
+
373
+ ```typescript
374
+ // 関連知識の取得
375
+ const related = await client.infer({
376
+ subject: 'comp:UserService',
377
+ depth: 2, // 関係の深さ
378
+ });
379
+
380
+ // パス検索
381
+ const path = await client.findPath({
382
+ from: 'req:REQ-001',
383
+ to: 'code:UserService.ts',
384
+ });
385
+ ```
386
+
387
+ #### 4.3.5 同期
388
+
389
+ ```typescript
390
+ // 手動同期
391
+ await client.sync();
392
+
393
+ // 同期状態の確認
394
+ const status = await client.getSyncStatus();
395
+ console.log(status);
396
+ // { lastSync: '2026-01-06T12:00:00Z', pendingChanges: 5 }
397
+ ```
398
+
399
+ ### 4.4 イベント
400
+
401
+ ```typescript
402
+ client.on('sync:start', () => console.log('同期開始'));
403
+ client.on('sync:complete', (stats) => console.log('同期完了', stats));
404
+ client.on('sync:error', (error) => console.error('同期エラー', error));
405
+ client.on('change:local', (change) => console.log('ローカル変更', change));
406
+ ```
407
+
408
+ ---
409
+
410
+ ## 5. YATA UI
411
+
412
+ ### 5.1 概要
413
+
414
+ `@nahisaho/yata-ui` は、知識グラフの可視化・管理を行うWebインターフェースです。
415
+
416
+ ### 5.2 アーキテクチャ
417
+
418
+ ```
419
+ packages/yata-ui/src/
420
+ ├── components/
421
+ │ ├── GraphViewer.tsx # グラフ可視化
422
+ │ ├── QueryEditor.tsx # SPARQLエディタ
423
+ │ ├── TripleEditor.tsx # トリプル編集
424
+ │ └── SyncStatus.tsx # 同期状態表示
425
+ ├── pages/
426
+ │ ├── Dashboard.tsx # ダッシュボード
427
+ │ ├── Explorer.tsx # グラフ探索
428
+ │ ├── Query.tsx # クエリ実行
429
+ │ └── Settings.tsx # 設定
430
+ ├── hooks/
431
+ │ └── useYata.ts # YATAフック
432
+ └── index.tsx
433
+ ```
434
+
435
+ ### 5.3 主要機能
436
+
437
+ #### 5.3.1 グラフ可視化
438
+
439
+ インタラクティブなグラフ表示を提供します。
440
+
441
+ ```tsx
442
+ import { GraphViewer } from '@nahisaho/yata-ui';
443
+
444
+ function Explorer() {
445
+ return (
446
+ <GraphViewer
447
+ query={{
448
+ subject: 'req:REQ-001',
449
+ depth: 3,
450
+ }}
451
+ layout="force-directed"
452
+ onNodeClick={(node) => console.log(node)}
453
+ />
454
+ );
455
+ }
456
+ ```
457
+
458
+ #### 5.3.2 SPARQLエディタ
459
+
460
+ シンタックスハイライト付きのSPARQLエディタを提供します。
461
+
462
+ ```tsx
463
+ import { QueryEditor } from '@nahisaho/yata-ui';
464
+
465
+ function QueryPage() {
466
+ const [results, setResults] = useState([]);
467
+
468
+ return (
469
+ <QueryEditor
470
+ defaultQuery={`SELECT * WHERE { ?s ?p ?o } LIMIT 10`}
471
+ onExecute={async (query) => {
472
+ const result = await yataClient.sparql(query);
473
+ setResults(result);
474
+ }}
475
+ />
476
+ );
477
+ }
478
+ ```
479
+
480
+ #### 5.3.3 トリプル管理
481
+
482
+ GUIでトリプルの追加・編集・削除が可能です。
483
+
484
+ ```tsx
485
+ import { TripleEditor } from '@nahisaho/yata-ui';
486
+
487
+ function TriplePage() {
488
+ return (
489
+ <TripleEditor
490
+ onAdd={async (triple) => {
491
+ await yataClient.add(triple);
492
+ }}
493
+ onDelete={async (triple) => {
494
+ await yataClient.remove(triple);
495
+ }}
496
+ />
497
+ );
498
+ }
499
+ ```
500
+
501
+ ### 5.4 起動方法
502
+
503
+ ```bash
504
+ # 開発サーバー
505
+ cd packages/yata-ui
506
+ npm run dev
507
+
508
+ # ビルド
509
+ npm run build
510
+
511
+ # プロダクション
512
+ npm run start
513
+ ```
514
+
515
+ ---
516
+
517
+ ## 6. データモデル
518
+
519
+ ### 6.1 名前空間
520
+
521
+ | 接頭辞 | URI | 説明 |
522
+ |--------|-----|------|
523
+ | `rdf` | `http://www.w3.org/1999/02/22-rdf-syntax-ns#` | RDF基本 |
524
+ | `rdfs` | `http://www.w3.org/2000/01/rdf-schema#` | RDFスキーマ |
525
+ | `sdd` | `http://musubix.dev/sdd#` | SDD方法論 |
526
+ | `req` | `http://musubix.dev/requirements#` | 要件 |
527
+ | `des` | `http://musubix.dev/design#` | 設計 |
528
+ | `code` | `http://musubix.dev/code#` | コード |
529
+ | `test` | `http://musubix.dev/test#` | テスト |
530
+ | `pattern` | `http://musubix.dev/patterns#` | パターン |
531
+
532
+ ### 6.2 クラス階層
533
+
534
+ ```turtle
535
+ @prefix sdd: <http://musubix.dev/sdd#> .
536
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
537
+
538
+ # 基本クラス
539
+ sdd:Artifact rdfs:subClassOf rdfs:Resource .
540
+
541
+ # 成果物タイプ
542
+ sdd:Requirement rdfs:subClassOf sdd:Artifact .
543
+ sdd:Design rdfs:subClassOf sdd:Artifact .
544
+ sdd:Code rdfs:subClassOf sdd:Artifact .
545
+ sdd:Test rdfs:subClassOf sdd:Artifact .
546
+
547
+ # 要件パターン
548
+ sdd:UbiquitousRequirement rdfs:subClassOf sdd:Requirement .
549
+ sdd:EventDrivenRequirement rdfs:subClassOf sdd:Requirement .
550
+ sdd:StateDrivenRequirement rdfs:subClassOf sdd:Requirement .
551
+ sdd:UnwantedRequirement rdfs:subClassOf sdd:Requirement .
552
+ sdd:OptionalRequirement rdfs:subClassOf sdd:Requirement .
553
+ ```
554
+
555
+ ### 6.3 プロパティ
556
+
557
+ ```turtle
558
+ @prefix sdd: <http://musubix.dev/sdd#> .
559
+
560
+ # トレーサビリティ
561
+ sdd:implements a rdf:Property ;
562
+ rdfs:domain sdd:Design ;
563
+ rdfs:range sdd:Requirement .
564
+
565
+ sdd:realizedBy a rdf:Property ;
566
+ rdfs:domain sdd:Requirement ;
567
+ rdfs:range sdd:Code .
568
+
569
+ sdd:testedBy a rdf:Property ;
570
+ rdfs:domain sdd:Code ;
571
+ rdfs:range sdd:Test .
572
+
573
+ # メタデータ
574
+ sdd:priority a rdf:Property ;
575
+ rdfs:domain sdd:Requirement ;
576
+ rdfs:range xsd:string .
577
+
578
+ sdd:pattern a rdf:Property ;
579
+ rdfs:domain sdd:Requirement ;
580
+ rdfs:range xsd:string .
581
+ ```
582
+
583
+ ---
584
+
585
+ ## 7. 設定
586
+
587
+ ### 7.1 環境変数
588
+
589
+ | 変数名 | 説明 | デフォルト |
590
+ |--------|------|-----------|
591
+ | `YATA_DB_PATH` | SQLiteデータベースパス | `~/.musubix/yata.db` |
592
+ | `YATA_GLOBAL_ENDPOINT` | グローバルAPIエンドポイント | - |
593
+ | `YATA_API_KEY` | APIキー | - |
594
+ | `YATA_PRIVACY_LEVEL` | プライバシーレベル | `moderate` |
595
+ | `YATA_SYNC_INTERVAL` | 同期間隔(秒) | `3600` |
596
+
597
+ ### 7.2 設定ファイル
598
+
599
+ `yata.config.json`:
600
+
601
+ ```json
602
+ {
603
+ "local": {
604
+ "dbPath": "./knowledge.db",
605
+ "inference": {
606
+ "enabled": true,
607
+ "rules": ["transitive", "subclass"]
608
+ }
609
+ },
610
+ "global": {
611
+ "enabled": true,
612
+ "endpoint": "https://yata.example.com",
613
+ "syncInterval": 3600
614
+ },
615
+ "privacy": {
616
+ "level": "moderate",
617
+ "excludePatterns": ["*.password", "*.secret"]
618
+ },
619
+ "cache": {
620
+ "maxSize": 1000,
621
+ "ttl": 3600
622
+ }
623
+ }
624
+ ```
625
+
626
+ ---
627
+
628
+ ## 8. CLI コマンド
629
+
630
+ ```bash
631
+ # ローカルKG操作
632
+ npx yata add "req:REQ-001" "rdf:type" "sdd:Requirement"
633
+ npx yata query --subject "req:REQ-001"
634
+ npx yata sparql "SELECT * WHERE { ?s ?p ?o } LIMIT 10"
635
+
636
+ # 同期
637
+ npx yata sync
638
+ npx yata sync --status
639
+
640
+ # KGPR
641
+ npx yata kgpr create --title "New patterns"
642
+ npx yata kgpr list
643
+ npx yata kgpr submit <id>
644
+
645
+ # エクスポート/インポート
646
+ npx yata export --format turtle --output knowledge.ttl
647
+ npx yata import --format turtle knowledge.ttl
648
+
649
+ # UI起動
650
+ npx yata ui
651
+ ```
652
+
653
+ ---
654
+
655
+ ## 9. 関連ドキュメント
656
+
657
+ | ドキュメント | 説明 |
658
+ |-------------|------|
659
+ | [MUSUBIX-Overview.md](MUSUBIX-Overview.md) | 全体概要 |
660
+ | [MUSUBIX-Core.md](MUSUBIX-Core.md) | Coreパッケージ |
661
+ | [MUSUBIX-MCP-Server.md](MUSUBIX-MCP-Server.md) | MCPサーバー |
662
+ | [API-REFERENCE.md](API-REFERENCE.md) | APIリファレンス |
663
+
664
+ ---
665
+
666
+ **© 2026 MUSUBIX Project**