Graph Query API
前提条件
このセクションの前に Context Graph と Plugin API を読んでおいてください。
これは quira.graph 名前空間のすべてのメソッドの詳細リファレンスです。Graph Query API は Context Graph へのプログラマティックアクセスを提供します。すべてのメソッドは Promise を返します。
アルファ版 API
これらの API は活発に開発中です。メソッドのシグネチャは v1.0 前に変更される可能性があります。本番環境でこれらの API に依存する場合は、拡張機能を特定の Quira バージョンにピン留めしてください。
quira.graph.query(question, options?)
Context Graph に対して自然言語クエリを送信します。引用付きの AI 生成回答を返します。
| パラメータ | 型 | 説明 |
|---|---|---|
question | string | 自然言語の質問 |
options.maxNodes | number | 考慮するコンテキストノードの最大数(デフォルト: 50) |
options.dateRange | { from: string, to: string } | ISO 8601 日付範囲フィルター |
戻り値: Promise<QueryResult>
const result = await quira.graph.query(
"What did I read about WebGPU this week?",
{ maxNodes: 20 }
);
// result.summary -> AI 生成の回答文字列
// result.sources -> [{ url, title, visitedAt, dwellTime }]
// result.nodes -> [ContextNode] マッチしたノード
// result.confidence -> number (0.0 - 1.0)
quira.graph.getRelated(url, options?)
Context Graph のエッジを辿って、指定した URL に関連するノードを取得します。
パラメータ 型 説明 urlstringソースノードの URL options.hopsnumberエッジ探索の最大深度(デフォルト: 2) options.limitnumber返すノードの最大数(デフォルト: 10) options.minWeightnumberエッジの最小重み閾値(デフォルト: 0.0)
戻り値: Promise<ContextNode[]>
const related = await quira.graph.getRelated(
"https://docs.rs/wgpu/latest/wgpu/",
{ hops: 2, limit: 5, minWeight: 0.3 }
);
quira.graph.getNode(id)
ID を指定して単一の Context Graph ノードを取得します。
パラメータ 型 説明 idstringコンテキストノードの UUID v7
戻り値: Promise<ContextNode | null>
const node = await quira.graph.getNode("019503a1-b2c3-7def-8901-234567890abc");
if (node) {
console.log(node.title); // "WebGPU Best Practices"
console.log(node.ai_summary); // "This article covers..."
console.log(node.ai_entities); // ["WebGPU", "WGSL", "compute shaders"]
console.log(node.dwell_time); // 342 (seconds)
}
quira.graph.search(query, options?)
FTS5 を使用した Context Graph ノードの全文検索です。query() とは異なり、AI 要約なしのキーワード検索を行います。
パラメータ 型 説明 querystringFTS5 検索クエリ文字列 options.limitnumber最大結果数(デフォルト: 20) options.domainstringドメインでフィルタリング options.dateRange{ from: string, to: string }ISO 8601 日付範囲フィルター
戻り値: Promise<ContextNode[]>
const results = await quira.graph.search("authentication OAuth", {
limit: 10,
domain: "docs.rs"
});
quira.graph.export(options?)
Context Graph またはそのサブセットを JSON または Markdown 形式でエクスポートします。
パラメータ 型 説明 options.format"json" | "markdown"エクスポート形式(デフォルト: "json") options.nodeIdsstring[]エクスポートする特定のノード ID(省略で全件) options.includeEdgesbooleanエッジデータを含める(デフォルト: true)
戻り値: Promise<string>
// グラフ全体を JSON でエクスポート
const json = await quira.graph.export({ format: "json" });
// 特定のノードを Markdown でエクスポート(Obsidian インポート用)
const md = await quira.graph.export({
format: "markdown",
nodeIds: ["019503a1-...", "019503a2-..."],
includeEdges: false
});