neo4j-vector-index-skill

Create and query Neo4j vector indexes for semantic similarity and hybrid search.

Updated Jul 24, 2026
One-click install
npx skills add https://github.com/eklyukin/my-ai-config --skill neo4j-vector-index-skill-eklyukin
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: neo4j-vector-index-skill
Source: https://github.com/eklyukin/my-ai-config/tree/main/skills/neo4j-vector-index-skill
Command: npx skills add https://github.com/eklyukin/my-ai-config --skill neo4j-vector-index-skill-eklyukin

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires neo4j, openai, and includes references (resource) components.

What problem does it solve? Setting up vector search in Neo4j involves version-specific syntax, index configuration choices, embedding dimension matching, and asynchronous index population, where small mistakes cause silent wrong results or runtime errors. This Skill provides the correct Cypher patterns for each Neo4j version so vector indexes are created, populated, and queried correctly the first time. ## Core Features & Use Cases - Vector Index Lifecycle: Create node or relationship vector indexes with dimensions, similarity function, HNSW parameters, and quantization, then poll until ONLINE before querying. - Version-Aware Search: Use the SEARCH clause with in-index filtering on Neo4j 2026.01+, or the db.index.vector.queryNodes() procedure fallback on 2025.x. - Embedding Ingestion: Batch-load embeddings with Python UNWIND patterns, db.create.setNodeVectorProperty, or in-Cypher ai.text.embed() generation. - Hybrid Search: Combine vector, fulltext, and structural ranked sources with weighted reciprocal rank fusion via the bundled reference. - Use Case: You are building a document Q&A system on Neo4j. Use this Skill to create a cosine vector index over Chunk nodes, ingest OpenAI embeddings in batches, and run filtered semantic search combined with fulltext ranking. ## Quick Start Ask the assistant to create a Neo4j vector index on Chunk nodes with 1536 dimensions and cosine similarity, then run a semantic search query against it.

Frequently Asked Questions about neo4j-vector-index-skill

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a vector index in Neo4j?▼

Use CREATE VECTOR INDEX with FOR (n:Label) ON (n.embedding) and an OPTIONS map specifying vector.dimensions and vector.similarity_function. The dimensions must exactly match your embedding model output, and you must poll SHOW VECTOR INDEXES until the state is ONLINE before querying.

How do I run vector similarity search in Neo4j Cypher?▼

On Neo4j 2026.01+, use the SEARCH clause with VECTOR INDEX, a query embedding, and LIMIT inside a MATCH. On 2025.x, call db.index.vector.queryNodes with the index name, k, and query vector, then filter and order results by score.

Should I use cosine or euclidean similarity for my Neo4j vector index?▼

Use cosine for normalized embeddings from providers like OpenAI, Cohere, Voyage, and Google. Use euclidean when raw distance matters or the model was trained with an L2 loss. When documentation is silent, default to cosine.

Why does my Neo4j vector search return incomplete or zero results?▼

The index is likely still POPULATING, so poll until state is ONLINE and populationPercent is 100. Zero results can also come from a dimension mismatch, a wrong similarity function, or failed embedding generation producing all-zero vectors.

Can I filter vector search results by node properties in Neo4j?▼

Yes, on Neo4j 2026.01+ declare filterable properties in the WITH clause at index creation, then use AND-only scalar predicates in the SEARCH WHERE clause. For arbitrary predicates or older versions, over-fetch with the queryNodes procedure and post-filter in Cypher.

When should I not use the Neo4j vector index approach?▼

Use neo4j-graphrag-skill for full GraphRAG retrieval pipelines, neo4j-cypher for fulltext-only keyword search, and neo4j-gds-skill for computing graph embeddings like FastRP or Node2Vec. Vector indexes only cover storage and nearest-neighbor lookup of existing embeddings.