---
# System prepended metadata

title: 友達課程：LLM-RAG(4) - GraphRAG backed by Neo4j - 課後測驗問答集

---

# 友達課程：LLM-RAG(4) - GraphRAG backed by Neo4j - 課後測驗問答集

1. 在一個連通圖中，存在「歐拉路徑」（Eulerian Path）的條件是什麼？（歐拉路徑是指一條經過圖中所有邊各一次的路徑）
    
    * A：圖中所有頂點的度數皆為奇數
    * B：圖中所有頂點的度數皆為偶數
    * C：圖中度數為奇數的頂點數量為 0 個或 2 個
    * D：圖中必須存在一條 Hamiltonian Path

> 答案：C
> 解說：這是歐拉路徑存在的充要條件，如果奇數度頂點為 0 個，則存在歐拉迴路（起點和終點相同）；如果為 2 個，則這兩個頂點分別是路徑的起點和終點。

2. 在圖論的廣度優先搜尋（BFS）演算法中，用來記錄已訪問節點的資料結構通常是什麼？
    
    * A：堆疊（stack）
    * B：陣列（array）
    * C：佇列（queue）
    * D：鏈結串列（linked list）

> 答案：C
> 解說：廣度優先搜尋（BFS）的目標時進行逐層（level-by-level）的探索，而佇列「先進先出」（FIFO）的特性是實現此目標的關鍵。演算法會從佇列的前端取出節點進行訪問，同時將其所有未訪問過的鄰居加入佇列的尾端。這個機制確保了距離起點較近的節點總是被優先處理，從而自然地形成了由近及遠、逐層向外擴展的搜索順序，這與使用推疊（Stack）深入探索單一路徑的深度優先搜尋（DFS）正好相反。

3. 在知識圖譜（Knowledge Graph）中，用來表示一條知識的基本結構「三元組」（Triple）通常由哪三項組成？

    * A：表格（Table）、欄位（Column）、資料（Data）
    * B：節點（Node）、路徑（Path）、權重（Weight）
    * C：主題（Subject）、謂詞（Predicate）、客體（Object）
    * D：實體（Entity）、屬性（Attribute）、數值（Value）

> 答案：C
> 解說：主題（Subject）、謂詞（Predicate）、客體（Object），這個「三元組」結構是知識圖譜中表達事實的最小單位，其中「主體」是被描述的核心實體，「謂詞」是定義它們之間的關係或屬性，而「客體」則是與主題相關聯的另一個實體或具體數值。例如，在「(達文西)-[繪製了]→(蒙娜麗莎)」這條知識中，「達文西」是主題，「繪製了」是謂詞，「蒙娜麗莎」是客體。正是無數個這樣的原子化知識，構建成一張龐大且互相關聯的知識網路。


4. 在知識圖譜中，同來定義概念的層次結構（如「貓」是一種「哺乳動物」）、關係的類型及約束（如 hasSpouse 關係的對象也必須是 Person）的「規則或模式集合」稱為什麼？

    * A：資料描述框架（RDF）
    * B：SPARQL 查詢語言
    * C：本體論（Ontology）
    * D：圖資料庫（Graph Database）

> 答案：C
> 解說：本體論（Ontology）扮演著知識圖譜的「骨架」或「藍圖」。它定義了知識庫中允許存在的實體類別、屬性以及它們必須遵守的規則和邏輯約束。這不僅確保了知識的一致性，更是實現知識推理的基礎。RDF 是資料模型，而本體論是定義這個模型的規則。

5. 如果一個知識圖譜中已知兩個事實：「（蘇格拉底，是一種，人）」和（人，是一種，凡人）」。系統基於這些訊息自動推導出一個新的、隱含的事實：「（蘇格拉底，是一種，凡人）」，這個過程稱為什麼？

    * A：知識表示學習（Knowledge Representation Learning）
    * B：實體對齊（Entity Linking）
    * C：知識推理（Knowledge Reasoning）
    * D：實踐抽取（Event Extraction）

> 答案：C
> 解說：知識推理（Knowledge Reasoning）是指利用已有的事實和預先定義的邏輯規則（通常來自本體論）來發現和生成新知識的能力。它讓知識圖譜不再只是一個靜態的資料庫，而是一個能夠進行邏輯推斷、回答複雜問題的「智慧」資料系統。

6. 在圖資料庫中，「屬性圖模型」（Property Graph Model）的核心特徵是什麼？

    * A：節點可以擁有多個標籤（Labels）進行分類，但關係（Relationships）本身是匿名的，不能擁有類型。
    * B：屬性（Properties）只能附加在節點上，而關係僅用於表示連結，本身不能攜帶任何屬性資料。
    * C：節點和關係都可以附加任意數量的屬性（鍵值對），並且節點可透過標籤分類，關係也具有類型和方向。
    * D：模型中的所有關係都必須是雙向的，且不允許節點指向自身的自循環關係。

> 答案：C
> 解說：「屬性圖模型」之所以強大，是因為它將圖形結構的表達能力提升到了一個新的層次。其核心特徵在於，不僅代表實體的節點可以擁有屬性（如姓名、年齡）並透過標籤（Labels）分類，代表連結的關係本身也可以攜帶自己的屬性（如建立關係的日期、權重等），同時還具備明確的類型和方向。這種設計允許我們將豐富的上下文和元資料（Metadata）直接儲存在節點之間的連結上，從而能夠以極高的精度和效率，來描繪和查詢真實世界中錯綜複雜的關聯網絡。

7. Neo4j 圖資料庫中，常見的查詢語言Cypher是用於什麼目的？

    * A：主要用於定義資料庫底層的物理儲存結構與索引演算法
    * B：專門用來處理和操作傳統的表格化資料（Tables）與資料列（Rows）
    * C：提供一種宣告式的視覺化（直觀表示）語法，透過描述節點（Nodes）與關係（Relationships）組成的模式（Pattern），來對圖形進行查詢、新增與修改
    * D：作為資料庫伺服器的主要設定工具，用來管理系統權限與網路配置

> 答案：C
> 解說：Cypher 語言的設計哲學是讓使用者能夠以一種直觀、易於理解的方式與圖形資料互動。它的核心優勢在於模式匹配（Pattern Matching）。Cypher 的語法，例如 MATCH (a:Person)-[:KNOWS]->(b:Person) ，看起來就像是在用文字「畫」出你想要尋找的資料圖形。使用者只需宣告式地（Declarative）描述出「節點與關係」組成的模式，而不需要關心資料庫內部是如何找到這些資料的。這種方式完美對應了圖形資料庫的儲存模型，不僅可用於查詢（MATCH），也同樣適用於創建（CREATE）和修改（MERGE, SET, DELETE）圖形中的資料。

8. 從電腦科學的理論模型角度來看，關聯式資料庫與圖資料庫分別基於哪兩種核心資料模型？

    * A：關聯式資料庫基於「屬性圖模型」，圖資料庫基於「關聯式模式」
    * B：兩者都基於「物件導向模型」，只是實現細節不同
    * C：關聯式資料庫基於「關聯式模式」，圖資料庫基於「屬性圖模型」
    * D：關聯式資料庫基於「鍵值模型」，圖資料庫基於「文件模型」

> 答案：C
> 解說：這是兩種資料庫的理論基礎。由 E.F. Codd 提出的「關聯式模型」是關聯式資料庫的基石，它基於集合論，將資料組織在表格中。而「屬性圖模型」則是圖資料庫的通用邏輯模型，它由節點、關係、屬性、標籤等核心元素構成，更直觀地表達實體間的複雜關聯。

9. 關於關聯式資料庫（如 PostgreSQL）與原生圖資料庫（如 Neo4j）在處理「關係」的根本區別，以下描述何者最為準確？

    * A：兩者都使用外鍵（Foreign Key）來建立關係，但圖資料庫的速度更快
    * B：關聯式資料庫透過指標直接連結資料列，而圖資料庫需要透過索引來計算關係
    * C：關聯式資料庫在查詢時透過 JOIN 操作計算關係，而原生圖資料庫則是遍歷物理上已儲存的關係實體
    * D：兩者在物理層面的儲存方式完全相同，僅是上層查詢語言（SQL vs. Cypher）不同

> 答案：C
> 解說：這是兩者最核心的區別。關聯式資料庫的關係是邏輯上的，在查詢時才透過比對主鍵和外鍵（JOIN操作）來動態建立。原生圖資料庫則將「關係」視為一個物理儲存的實體，節點之間透過直接的指標連接，查詢時只需沿著這些指標「遍歷」，而非「計算」。


10. 原生圖資料庫（如 Neo4j）之所以能實現極速的鄰居節點查詢，其核心物理儲存原則是什麼？

    * A：它為資料庫中每個節點的所有屬性都自動建立了 B+ Tree 索引
    * B：它將所有節點都載入記憶體中，因此查詢速度極快
    * C：免索引鄰接（Index-Free Adjacency），即每個節點紀錄中都直接儲存了指向其關係記錄的物理指標，形成一個鏈結串列網路
    * D：透過預先計算所有可能的查詢路徑，並將結果快取起來

> 答案：C
> 解說：「免索引鄰接」是圖資料庫高性能的基石。不同於關聯式資料庫需要去索引中查找符合條件的外鍵，圖資料庫的每個節點在物理層面就包含了指向其關係的「指標」（Pointers）。查詢鄰居節點的過程，就是跟隨這些指標的過程，其時間複雜度只與該節點的鄰居數量有關，而與整個資料庫的總大小無關。







