Skip to content

Commit

Permalink
Added vector relationship query tests
Browse files Browse the repository at this point in the history
  • Loading branch information
alexthomas93 committed Feb 6, 2025
1 parent e7c2c20 commit 4a726e9
Showing 1 changed file with 30 additions and 1 deletion.
31 changes: 30 additions & 1 deletion tests/unit/test_neo4j_queries.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,9 @@
from typing import Any
from unittest.mock import patch

import pytest
from neo4j_graphrag.neo4j_queries import get_query_tail, get_search_query
from neo4j_graphrag.types import SearchType
from neo4j_graphrag.types import IndexType, SearchType


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


def test_rel_vector_search_basic() -> None:
expected = (
"CALL db.index.vector.queryRelationships($vector_index_name, $top_k * $effective_search_ratio, $query_vector) "
"YIELD relationship, score "
"WITH relationship, score LIMIT $top_k "
"RETURN relationship { .*, `None`: null } AS relationship, elementId(relationship) AS elementId, score"
)
result, params = get_search_query(SearchType.VECTOR, IndexType.RELATIONSHIP)
assert result.strip() == expected.strip()
assert params == {}


def test_rel_vector_search_filters_err() -> None:
with pytest.raises(Exception) as exc_info:
get_search_query(
SearchType.VECTOR, IndexType.RELATIONSHIP, filters={"filter": None}
)
assert str(exc_info.value) == "Filters are not supported for relationship indexes"


def test_rel_vector_search_hybrid_err() -> None:
with pytest.raises(Exception) as exc_info:
get_search_query(SearchType.HYBRID, IndexType.RELATIONSHIP)
assert (
str(exc_info.value) == "Hybrid search is not supported for relationship indexes"
)


def test_hybrid_search_basic() -> None:
expected = (
"CALL { "
Expand Down

0 comments on commit 4a726e9

Please sign in to comment.