Skip to content

Commit 4a726e9

Browse files
committed
Added vector relationship query tests
1 parent e7c2c20 commit 4a726e9

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed

tests/unit/test_neo4j_queries.py

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@
1515
from typing import Any
1616
from unittest.mock import patch
1717

18+
import pytest
1819
from neo4j_graphrag.neo4j_queries import get_query_tail, get_search_query
19-
from neo4j_graphrag.types import SearchType
20+
from neo4j_graphrag.types import IndexType, SearchType
2021

2122

2223
def test_vector_search_basic() -> None:
@@ -31,6 +32,34 @@ def test_vector_search_basic() -> None:
3132
assert params == {}
3233

3334

35+
def test_rel_vector_search_basic() -> None:
36+
expected = (
37+
"CALL db.index.vector.queryRelationships($vector_index_name, $top_k * $effective_search_ratio, $query_vector) "
38+
"YIELD relationship, score "
39+
"WITH relationship, score LIMIT $top_k "
40+
"RETURN relationship { .*, `None`: null } AS relationship, elementId(relationship) AS elementId, score"
41+
)
42+
result, params = get_search_query(SearchType.VECTOR, IndexType.RELATIONSHIP)
43+
assert result.strip() == expected.strip()
44+
assert params == {}
45+
46+
47+
def test_rel_vector_search_filters_err() -> None:
48+
with pytest.raises(Exception) as exc_info:
49+
get_search_query(
50+
SearchType.VECTOR, IndexType.RELATIONSHIP, filters={"filter": None}
51+
)
52+
assert str(exc_info.value) == "Filters are not supported for relationship indexes"
53+
54+
55+
def test_rel_vector_search_hybrid_err() -> None:
56+
with pytest.raises(Exception) as exc_info:
57+
get_search_query(SearchType.HYBRID, IndexType.RELATIONSHIP)
58+
assert (
59+
str(exc_info.value) == "Hybrid search is not supported for relationship indexes"
60+
)
61+
62+
3463
def test_hybrid_search_basic() -> None:
3564
expected = (
3665
"CALL { "

0 commit comments

Comments
 (0)