@@ -89,7 +89,6 @@ public class MetaTest {
8989 "apoc.meta.graph.of" ,
9090 "apoc.meta.graphSample" ,
9191 "apoc.meta.subGraph" ))
92- .withSetting (GraphDatabaseInternalSettings .cypher_enable_vector_type , true )
9392 .withSetting (GraphDatabaseInternalSettings .latest_kernel_version , Byte .MAX_VALUE )
9493 .withSetting (GraphDatabaseInternalSettings .latest_runtime_version , Integer .MAX_VALUE )
9594 .withSetting (
@@ -541,6 +540,42 @@ public void testMetaGraph2() {
541540 });
542541 }
543542
543+ @ Test
544+ public void testVectorIndexes () {
545+ db .executeTransactionally (
546+ """
547+ CREATE VECTOR INDEX moviePlots IF NOT EXISTS
548+ FOR (m:Movie)
549+ ON m.embedding
550+ OPTIONS { indexConfig: {
551+ `vector.dimensions`: 1536,
552+ `vector.similarity_function`: 'cosine'
553+ }}
554+ """ );
555+
556+ db .executeTransactionally ("CREATE (m:Movie {name:'The Movie', embedding: [1, 2, 3]})" );
557+
558+ TestUtil .testResult (
559+ db ,
560+ """
561+ CALL apoc.meta.data()
562+ YIELD label, property, count, unique, index, existence, type, array, left, right, other, otherLabels, elementType
563+ RETURN * ORDER BY elementType, property""" ,
564+ (r ) -> {
565+ Map <String , Object > row = r .next ();
566+ assertEquals ("node" , row .get ("elementType" ));
567+ assertEquals ("embedding" , row .get ("property" ));
568+ assertEquals ("Movie" , row .get ("label" ));
569+ assertEquals (true , row .get ("index" ));
570+ row = r .next ();
571+ assertEquals ("node" , row .get ("elementType" ));
572+ assertEquals ("name" , row .get ("property" ));
573+ assertEquals ("Movie" , row .get ("label" ));
574+ assertEquals (false , row .get ("index" ));
575+ assertFalse (r .hasNext ());
576+ });
577+ }
578+
544579 @ Test
545580 public void testMetaData () {
546581 db .executeTransactionally ("create index for (n:Movie) on (n.title)" );
0 commit comments