def test_10_vector_query(neo4j_store):
    """
    Test vector_query with some dummy embeddings.
    Note: This requires Neo4j 5.23+ for native vector indexing,
    or it falls back to approximate "cosine" with APOC.
    """
    entity1 = EntityNode(
        label="PERSON", name="Alice", properties={"embedding": [0.1, 0.2, 0.3]}
    )
    entity2 = EntityNode(
        label="PERSON", name="Bob", properties={"embedding": [0.9, 0.8, 0.7]}
    )
    neo4j_store.upsert_nodes([entity1, entity2])

    # Query embedding somewhat closer to [0.1, 0.2, 0.3] than [0.9, 0.8, 0.7]
    query = VectorStoreQuery(query_embedding=[0.1, 0.2, 0.31], similarity_top_k=2)
    results, scores = neo4j_store.vector_query(query)

    # Expect "Alice" to come first
    assert len(results) == 2
    names_in_order = [r.name for r in results]
    assert names_in_order[0] == "Alice"
    assert names_in_order[1] == "Bob"
    # Score check: Usually Alice's score should be higher
    assert scores[0] >= scores[1]

    Test vector_query with some dummy embeddings.
    Note: This requires Neo4j 5.23+ for native vector indexing,
    or it falls back to approximate "cosine" with APOC.
    
llama-index-integrations/graph_stores/llama-index-graph-stores-neo4j/tests/test_pg_stores_neo4j.py