

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用精細的關係名稱避免備援節點標籤檢查
<a name="best-practices-content-5"></a>

 最佳化效能時，使用節點模式獨有的關係標籤可移除節點上的標籤篩選。考慮圖形模型，其中關係`likes`僅用於定義兩個`person`節點之間的關係。我們可以撰寫下列查詢來尋找此模式：

```
MATCH (n:person)-[:likes]->(m:person)
RETURN n, m
```

 n 和 m 上的`person`標籤檢查是多餘的，因為我們定義了與 的關係只會在兩者都屬於類型 時出現`person`。若要最佳化效能，我們可以撰寫查詢，如下所示：

```
MATCH (n)-[:likes]->(m)
RETURN n, m
```

 當屬性專屬於單一節點標籤時，此模式也可以套用。假設只有`person`節點具有 屬性 `email`，因此驗證節點標籤相符項目`person`是多餘的。將此查詢寫入為：

```
MATCH (n:person)
WHERE n.email = 'xxx@gmail.com'
RETURN n
```

 效率低於將此查詢寫入為：

```
MATCH (n)
WHERE n.email = 'xxx@gmail.com'
RETURN n
```

 只有在效能很重要，而且您已在建模程序中進行檢查，以確保這些邊緣標籤不會重複使用於涉及其他節點標籤的模式時，才應該採用此模式。如果您稍後在其他節點標籤上引入 `email` 屬性，例如 `company`，則這兩個版本的查詢結果會有所不同。