From e6e897a3affa1ae459732a6a3425ee62b957717c Mon Sep 17 00:00:00 2001 From: Linghua Jin Date: Fri, 10 Oct 2025 00:24:33 -0700 Subject: [PATCH 1/5] fix links in examples --- docs/docs/core/flow_methods.mdx | 2 +- docs/docs/examples/examples/image_search.md | 2 +- docs/docs/examples/examples/multi_format_index.md | 2 +- docs/docs/examples/examples/photo_search.md | 4 ++-- docs/docs/examples/examples/postgres_source.md | 2 +- examples/amazon_s3_embedding/README.md | 2 +- examples/azure_blob_embedding/README.md | 2 +- examples/gdrive_text_embedding/README.md | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/docs/core/flow_methods.mdx b/docs/docs/core/flow_methods.mdx index c9098689..39374fc6 100644 --- a/docs/docs/core/flow_methods.mdx +++ b/docs/docs/core/flow_methods.mdx @@ -210,7 +210,7 @@ A data source may enable one or multiple *change capture mechanisms*: * Configured with a [refresh interval](flow_def#refresh-interval), which is generally applicable to all data sources. * Specific data sources also provide their specific change capture mechanisms. - For example, [`Postgres` source](../sources/#postgres) listens to PostgreSQL's change notifications, [`AmazonS3` source](../sources/#amazons3) watches S3 bucket's change events, and [`GoogleDrive` source](../sources#googledrive) allows polling recent modified files. + For example, [`Postgres` source](../sources/postgres) listens to PostgreSQL's change notifications, [`AmazonS3` source](../sources/amazons3) watches S3 bucket's change events, and [`GoogleDrive` source](../sources/googledrive) allows polling recent modified files. See documentations for specific data sources. Change capture mechanisms enable CocoIndex to continuously capture changes from the source data and update the target data accordingly, under live update mode. diff --git a/docs/docs/examples/examples/image_search.md b/docs/docs/examples/examples/image_search.md index 783108c0..3e468784 100644 --- a/docs/docs/examples/examples/image_search.md +++ b/docs/docs/examples/examples/image_search.md @@ -66,7 +66,7 @@ def image_object_embedding_flow(flow_builder, data_scope): The `add_source` function sets up a table with fields like `filename` and `content`. Images are automatically re-scanned every minute. - + ## Process Each Image and Collect the Embedding diff --git a/docs/docs/examples/examples/multi_format_index.md b/docs/docs/examples/examples/multi_format_index.md index b062fa29..2b0e9e31 100644 --- a/docs/docs/examples/examples/multi_format_index.md +++ b/docs/docs/examples/examples/multi_format_index.md @@ -52,7 +52,7 @@ data_scope["documents"] = flow_builder.add_source( cocoindex.sources.LocalFile(path="source_files", binary=True) ) ``` - + ## Convert Files to Pages diff --git a/docs/docs/examples/examples/photo_search.md b/docs/docs/examples/examples/photo_search.md index 1474b6a2..d17c998c 100644 --- a/docs/docs/examples/examples/photo_search.md +++ b/docs/docs/examples/examples/photo_search.md @@ -65,8 +65,8 @@ def face_recognition_flow(flow_builder, data_scope): This creates a table with `filename` and `content` fields. 📂 -You can connect it to your [S3 Buckets](https://cocoindex.io/docs/ops/sources#amazons3) (with SQS integration, [example](https://cocoindex.io/blogs/s3-incremental-etl)) -or [Azure Blob store](https://cocoindex.io/docs/ops/sources#azureblob). +You can connect it to your [S3 Buckets](https://cocoindex.io/docs/ops/sources/amazons3) (with SQS integration, [example](https://cocoindex.io/blogs/s3-incremental-etl)) +or [Azure Blob store](https://cocoindex.io/docs/ops/sources/azureblob). ## Detect and Extract Faces diff --git a/docs/docs/examples/examples/postgres_source.md b/docs/docs/examples/examples/postgres_source.md index 00cf99e5..5f3d4914 100644 --- a/docs/docs/examples/examples/postgres_source.md +++ b/docs/docs/examples/examples/postgres_source.md @@ -59,7 +59,7 @@ CocoIndex incrementally sync data from Postgres. When new or updated rows are fo - `notification` enables change capture based on Postgres LISTEN/NOTIFY. Each change triggers an incremental processing on the specific row immediately. - Regardless if `notification` is provided or not, CocoIndex still needs to scan the full table to detect changes in some scenarios (e.g. between two `update` invocation), and the `ordinal_column` provides a field that CocoIndex can use to quickly detect which row has changed without reading value columns. -Check [Postgres source](https://cocoindex.io/docs/ops/sources#postgres) for more details. +Check [Postgres source](https://cocoindex.io/docs/ops/sources/postgres) for more details. If you use the Postgres database hosted by Supabase, please click Connect on your project dashboard and find the URL there. Check [DatabaseConnectionSpec](https://cocoindex.io/docs/core/settings#databaseconnectionspec) for more details. diff --git a/examples/amazon_s3_embedding/README.md b/examples/amazon_s3_embedding/README.md index bae588f4..4224498d 100644 --- a/examples/amazon_s3_embedding/README.md +++ b/examples/amazon_s3_embedding/README.md @@ -9,7 +9,7 @@ Before running the example, you need to: 1. [Install Postgres](https://cocoindex.io/docs/getting_started/installation#-install-postgres) if you don't have one. 2. Prepare for Amazon S3. - See [Setup for AWS S3](https://cocoindex.io/docs/ops/sources#setup-for-amazon-s3) for more details. + See [Setup for AWS S3](https://cocoindex.io/docs/sources/amazons3#setup-for-amazon-s3) for more details. 3. Create a `.env` file with your Amazon S3 bucket name and (optionally) prefix. Start from copying the `.env.example`, and then edit it to fill in your bucket name and prefix. diff --git a/examples/azure_blob_embedding/README.md b/examples/azure_blob_embedding/README.md index c5d250e2..582b1b08 100644 --- a/examples/azure_blob_embedding/README.md +++ b/examples/azure_blob_embedding/README.md @@ -9,7 +9,7 @@ Before running the example, you need to: 1. [Install Postgres](https://cocoindex.io/docs/getting_started/installation#-install-postgres) if you don't have one. 2. Prepare for Azure Blob Storage. - See [Setup for Azure Blob Storage](https://cocoindex.io/docs/ops/sources#setup-for-azure-blob-storage) for more details. + See [Setup for Azure Blob Storage](https://cocoindex.io/docs/sources/azureblob#setup-for-azure-blob-storage) for more details. 3. Create a `.env` file with your Azure Blob Storage container name and (optionally) prefix. Start from copying the `.env.example`, and then edit it to fill in your bucket name and prefix. diff --git a/examples/gdrive_text_embedding/README.md b/examples/gdrive_text_embedding/README.md index 6cb4cfa7..55bac06d 100644 --- a/examples/gdrive_text_embedding/README.md +++ b/examples/gdrive_text_embedding/README.md @@ -30,7 +30,7 @@ Before running the example, you need to: - Setup a service account in Google Cloud, and download the credential file. - Share folders containing files you want to import with the service account's email address. - See [Setup for Google Drive](https://cocoindex.io/docs/ops/sources#setup-for-google-drive) for more details. + See [Setup for Google Drive](https://cocoindex.io/docs/sources/googledrive#setup-for-google-drive) for more details. 3. Create `.env` file with your credential file and folder IDs. Starting from copying the `.env.example`, and then edit it to fill in your credential file path and folder IDs. From b546900a16f772effb2f61bf18be67db7b2e8420 Mon Sep 17 00:00:00 2001 From: Linghua Jin Date: Sun, 12 Oct 2025 16:25:52 -0700 Subject: [PATCH 2/5] update documentations on kuzu --- docs/docs/targets/index.md | 1 - docs/docs/targets/kuzu.md | 4 +++- examples/docs_to_knowledge_graph/main.py | 18 ------------------ examples/product_recommendation/README.md | 6 ++---- examples/product_recommendation/main.py | 17 ----------------- 5 files changed, 5 insertions(+), 41 deletions(-) diff --git a/docs/docs/targets/index.md b/docs/docs/targets/index.md index 36d117b7..c90d7654 100644 --- a/docs/docs/targets/index.md +++ b/docs/docs/targets/index.md @@ -18,7 +18,6 @@ The way to map data from a data collector to a target depends on data model of t | [Qdrant](/docs/targets/qdrant) | Vector Database, Keyword Search | | [LanceDB](/docs/targets/lancedb) | Vector Database, Keyword Search | | [Neo4j](/docs/targets/neo4j) | [Property graph](#property-graph-targets) | -| [Kuzu](/docs/targets/kuzu) | [Property graph](#property-graph-targets) | If you are looking for targets beyond here, you can always use [custom targets](/docs/custom_ops/custom_targets) as building blocks. diff --git a/docs/docs/targets/kuzu.md b/docs/docs/targets/kuzu.md index ae129ef3..441e9e78 100644 --- a/docs/docs/targets/kuzu.md +++ b/docs/docs/targets/kuzu.md @@ -5,7 +5,9 @@ toc_max_heading_level: 4 --- import { ExampleButton } from '../../src/components/GitHubButton'; -# Kuzu +# Kuzu (Archived) + +Note:[Kuzu](https://github.com/kuzudb/kuzu) - embedded graph database is no longer maintained. Exports data to a [Kuzu](https://kuzu.com/) graph database. diff --git a/examples/docs_to_knowledge_graph/main.py b/examples/docs_to_knowledge_graph/main.py index 7150809e..e0fcd17d 100644 --- a/examples/docs_to_knowledge_graph/main.py +++ b/examples/docs_to_knowledge_graph/main.py @@ -14,30 +14,12 @@ password="cocoindex", ), ) -kuzu_conn_spec = cocoindex.add_auth_entry( - "KuzuConnection", - cocoindex.targets.KuzuConnection( - api_server_url="http://localhost:8123", - ), -) - -# SELECT ONE GRAPH DATABASE TO USE -# This example can use either Neo4j or Kuzu as the graph database. -# Please make sure only one branch is live and others are commented out. -# Use Neo4j GraphDbSpec = cocoindex.targets.Neo4j GraphDbConnection = cocoindex.targets.Neo4jConnection GraphDbDeclaration = cocoindex.targets.Neo4jDeclaration conn_spec = neo4j_conn_spec -# Use Kuzu -# GraphDbSpec = cocoindex.targets.Kuzu -# GraphDbConnection = cocoindex.targets.KuzuConnection -# GraphDbDeclaration = cocoindex.targets.KuzuDeclaration -# conn_spec = kuzu_conn_spec - - @dataclasses.dataclass class DocumentSummary: """Describe a summary of a document.""" diff --git a/examples/product_recommendation/README.md b/examples/product_recommendation/README.md index c2e6e7f9..b348ae5f 100644 --- a/examples/product_recommendation/README.md +++ b/examples/product_recommendation/README.md @@ -8,9 +8,8 @@ Please drop [CocoIndex on Github](https://github.com/cocoindex-io/cocoindex) a s ## Prerequisite -* [Install Postgres](https://cocoindex.io/docs/getting_started/installation#-install-postgres) if you don't have one. -* Install [Neo4j](https://cocoindex.io/docs/ops/targets#neo4j-dev-instance) or [Kuzu](https://cocoindex.io/docs/ops/targets#kuzu-dev-instance) if you don't have one. - * The example uses Neo4j by default for now. If you want to use Kuzu, find out the "SELECT ONE GRAPH DATABASE TO USE" section and switch the active branch. +* [Install Postgres](https://cocoindex.io/docs/getting_started/installation#-install-postgres) +* Install [Neo4j](https://cocoindex.io/docs/ops/targets#neo4j-dev-instance) * [Configure your OpenAI API key](https://cocoindex.io/docs/ai/llm#openai). ## Documentation @@ -43,7 +42,6 @@ cocoindex update main After the knowledge graph is built, you can explore the knowledge graph. * If you're using Neo4j, you can open the explorer at [http://localhost:7474](http://localhost:7474), with username `neo4j` and password `cocoindex`. -* If you're using Kuzu, you can start a Kuzu explorer locally. See [Kuzu dev instance](https://cocoindex.io/docs/ops/targets#kuzu-dev-instance) for more details. You can run the following Cypher query to get all relationships: diff --git a/examples/product_recommendation/main.py b/examples/product_recommendation/main.py index 4c2b9123..b63cf143 100644 --- a/examples/product_recommendation/main.py +++ b/examples/product_recommendation/main.py @@ -15,29 +15,12 @@ password="cocoindex", ), ) -kuzu_conn_spec = cocoindex.add_auth_entry( - "KuzuConnection", - cocoindex.targets.KuzuConnection( - api_server_url="http://localhost:8123", - ), -) -# SELECT ONE GRAPH DATABASE TO USE -# This example can use either Neo4j or Kuzu as the graph database. -# Please make sure only one branch is live and others are commented out. - -# Use Neo4j GraphDbSpec = cocoindex.targets.Neo4j GraphDbConnection = cocoindex.targets.Neo4jConnection GraphDbDeclaration = cocoindex.targets.Neo4jDeclaration conn_spec = neo4j_conn_spec -# Use Kuzu -# GraphDbSpec = cocoindex.targets.Kuzu -# GraphDbConnection = cocoindex.targets.KuzuConnection -# GraphDbDeclaration = cocoindex.targets.KuzuDeclaration -# conn_spec = kuzu_conn_spec - # Template for rendering product information as markdown to provide information to LLMs PRODUCT_TEMPLATE = """ From a82935efc2ce71b34e45917b9d454d341cd55fe3 Mon Sep 17 00:00:00 2001 From: Linghua Jin Date: Sun, 12 Oct 2025 16:29:40 -0700 Subject: [PATCH 3/5] sources link --- docs/docs/examples/examples/academic_papers_index.md | 2 +- docs/docs/examples/examples/codebase_index.md | 2 +- docs/docs/examples/examples/custom_targets.md | 2 +- docs/docs/examples/examples/docs_to_knowledge_graph.md | 2 +- docs/docs/examples/examples/document_ai.md | 4 ++-- docs/docs/examples/examples/image_search.md | 4 ++-- docs/docs/examples/examples/manual_extraction.md | 2 +- docs/docs/examples/examples/multi_format_index.md | 4 ++-- docs/docs/examples/examples/patient_form_extraction.md | 4 ++-- docs/docs/examples/examples/photo_search.md | 4 ++-- docs/docs/examples/examples/postgres_source.md | 2 +- docs/docs/examples/examples/product_recommendation.md | 2 +- docs/docs/examples/examples/simple_vector_index.md | 2 +- docs/docs/getting_started/quickstart.md | 2 +- examples/docs_to_knowledge_graph/README.md | 6 +++--- examples/patient_intake_extraction/README.md | 2 +- examples/product_recommendation/README.md | 4 ++-- examples/text_embedding_qdrant/README.md | 2 +- 18 files changed, 26 insertions(+), 26 deletions(-) diff --git a/docs/docs/examples/examples/academic_papers_index.md b/docs/docs/examples/examples/academic_papers_index.md index 0db8f156..278a1e4e 100644 --- a/docs/docs/examples/examples/academic_papers_index.md +++ b/docs/docs/examples/examples/academic_papers_index.md @@ -64,7 +64,7 @@ def paper_metadata_flow( ``` `flow_builder.add_source` will create a table with sub fields (`filename`, `content`). - + ## Extract and collect metadata diff --git a/docs/docs/examples/examples/codebase_index.md b/docs/docs/examples/examples/codebase_index.md index 0e1caa67..9863b1db 100644 --- a/docs/docs/examples/examples/codebase_index.md +++ b/docs/docs/examples/examples/codebase_index.md @@ -70,7 +70,7 @@ def code_embedding_flow(flow_builder: cocoindex.FlowBuilder, data_scope: cocoind - Exclude files and directories starting `.`, `target` in the root and `node_modules` under any directory. `flow_builder.add_source` will create a table with sub fields (`filename`, `content`). - + ## Process each file and collect the information diff --git a/docs/docs/examples/examples/custom_targets.md b/docs/docs/examples/examples/custom_targets.md index 3094f1a7..fa53b87d 100644 --- a/docs/docs/examples/examples/custom_targets.md +++ b/docs/docs/examples/examples/custom_targets.md @@ -36,7 +36,7 @@ flow_builder: cocoindex.FlowBuilder, data_scope: cocoindex.DataScope ) ``` This ingestion creates a table with `filename` and `content` fields. - + ## Process each file and collect diff --git a/docs/docs/examples/examples/docs_to_knowledge_graph.md b/docs/docs/examples/examples/docs_to_knowledge_graph.md index 9d90c196..d301ca46 100644 --- a/docs/docs/examples/examples/docs_to_knowledge_graph.md +++ b/docs/docs/examples/examples/docs_to_knowledge_graph.md @@ -66,7 +66,7 @@ def docs_to_kg_flow(flow_builder: cocoindex.FlowBuilder, data_scope: cocoindex.D Here `flow_builder.add_source` creates a [KTable](https://cocoindex.io/docs/core/data_types#KTable). `filename` is the key of the KTable. - + ### Add data collectors diff --git a/docs/docs/examples/examples/document_ai.md b/docs/docs/examples/examples/document_ai.md index 6ef86de8..d35fa06d 100644 --- a/docs/docs/examples/examples/document_ai.md +++ b/docs/docs/examples/examples/document_ai.md @@ -98,7 +98,7 @@ data_scope["documents"] = flow_builder.add_source( doc_embeddings = data_scope.add_collector() ``` - + @@ -154,4 +154,4 @@ For a step-by-step walkthrough of each indexing stage and the query path, check CocoIndex natively supports Google Drive, Amazon S3, Azure Blob Storage, and more with native incremental processing out of box - when new or updated files are detected, the pipeline will capture the changes and only process what's changed. - + diff --git a/docs/docs/examples/examples/image_search.md b/docs/docs/examples/examples/image_search.md index 3e468784..db5cb153 100644 --- a/docs/docs/examples/examples/image_search.md +++ b/docs/docs/examples/examples/image_search.md @@ -66,7 +66,7 @@ def image_object_embedding_flow(flow_builder, data_scope): The `add_source` function sets up a table with fields like `filename` and `content`. Images are automatically re-scanned every minute. - + ## Process Each Image and Collect the Embedding @@ -266,6 +266,6 @@ One of CocoIndex’s core strengths is its ability to connect to your existing d - Amazon S3 / SQS - Azure Blob Storage - + Once connected, CocoIndex continuously watches for changes — new uploads, updates, or deletions — and applies them to your index in real time. diff --git a/docs/docs/examples/examples/manual_extraction.md b/docs/docs/examples/examples/manual_extraction.md index 21c0367d..0d76bdc0 100644 --- a/docs/docs/examples/examples/manual_extraction.md +++ b/docs/docs/examples/examples/manual_extraction.md @@ -67,7 +67,7 @@ def manual_extraction_flow( - `filename` (key, type: `str`): the filename of the file, e.g. `dir1/file1.md` - `content` (type: `str` if `binary` is `False`, otherwise `bytes`): the content of the file - + ## Parse Markdown diff --git a/docs/docs/examples/examples/multi_format_index.md b/docs/docs/examples/examples/multi_format_index.md index 2b0e9e31..8880602f 100644 --- a/docs/docs/examples/examples/multi_format_index.md +++ b/docs/docs/examples/examples/multi_format_index.md @@ -52,7 +52,7 @@ data_scope["documents"] = flow_builder.add_source( cocoindex.sources.LocalFile(path="source_files", binary=True) ) ``` - + ## Convert Files to Pages @@ -203,4 +203,4 @@ Follow the url `https://cocoindex.io/cocoinsight`. It connects to your local Co ## Connect to other sources CocoIndex natively supports Google Drive, Amazon S3, Azure Blob Storage, and more. - + diff --git a/docs/docs/examples/examples/patient_form_extraction.md b/docs/docs/examples/examples/patient_form_extraction.md index 5068d54e..ab92d776 100644 --- a/docs/docs/examples/examples/patient_form_extraction.md +++ b/docs/docs/examples/examples/patient_form_extraction.md @@ -66,7 +66,7 @@ def patient_intake_extraction_flow( `flow_builder.add_source` will create a table with a few sub fields. - + ## Parse documents with different formats to Markdown @@ -298,4 +298,4 @@ Click on the `markdown` column for `Patient_Intake_Form_Joe.pdf`, you could see ## Connect to other sources CocoIndex natively supports Google Drive, Amazon S3, Azure Blob Storage, and more. - + diff --git a/docs/docs/examples/examples/photo_search.md b/docs/docs/examples/examples/photo_search.md index d17c998c..07a8ca3a 100644 --- a/docs/docs/examples/examples/photo_search.md +++ b/docs/docs/examples/examples/photo_search.md @@ -65,8 +65,8 @@ def face_recognition_flow(flow_builder, data_scope): This creates a table with `filename` and `content` fields. 📂 -You can connect it to your [S3 Buckets](https://cocoindex.io/docs/ops/sources/amazons3) (with SQS integration, [example](https://cocoindex.io/blogs/s3-incremental-etl)) -or [Azure Blob store](https://cocoindex.io/docs/ops/sources/azureblob). +You can connect it to your [S3 Buckets](https://cocoindex.io/docs/sources/amazons3) (with SQS integration, [example](https://cocoindex.io/blogs/s3-incremental-etl)) +or [Azure Blob store](https://cocoindex.io/docs/sources/azureblob). ## Detect and Extract Faces diff --git a/docs/docs/examples/examples/postgres_source.md b/docs/docs/examples/examples/postgres_source.md index 5f3d4914..d0b51292 100644 --- a/docs/docs/examples/examples/postgres_source.md +++ b/docs/docs/examples/examples/postgres_source.md @@ -59,7 +59,7 @@ CocoIndex incrementally sync data from Postgres. When new or updated rows are fo - `notification` enables change capture based on Postgres LISTEN/NOTIFY. Each change triggers an incremental processing on the specific row immediately. - Regardless if `notification` is provided or not, CocoIndex still needs to scan the full table to detect changes in some scenarios (e.g. between two `update` invocation), and the `ordinal_column` provides a field that CocoIndex can use to quickly detect which row has changed without reading value columns. -Check [Postgres source](https://cocoindex.io/docs/ops/sources/postgres) for more details. +Check [Postgres source](https://cocoindex.io/docs/sources/postgres) for more details. If you use the Postgres database hosted by Supabase, please click Connect on your project dashboard and find the URL there. Check [DatabaseConnectionSpec](https://cocoindex.io/docs/core/settings#databaseconnectionspec) for more details. diff --git a/docs/docs/examples/examples/product_recommendation.md b/docs/docs/examples/examples/product_recommendation.md index 110201b2..04af51a2 100644 --- a/docs/docs/examples/examples/product_recommendation.md +++ b/docs/docs/examples/examples/product_recommendation.md @@ -30,7 +30,7 @@ Product taxonomy is a way to organize product catalogs in a logical and hierarch ## Prerequisites * [Install PostgreSQL](https://cocoindex.io/docs/getting_started/installation#-install-postgres). CocoIndex uses PostgreSQL internally for incremental processing. -* [Install Neo4j](https://cocoindex.io/docs/ops/storages#Neo4j), a graph database. +* [Install Neo4j](https://cocoindex.io/docs/targets#Neo4j), a graph database. * - [Configure your OpenAI API key](https://cocoindex.io/docs/ai/llm#openai). Create a `.env` file from `.env.example`, and fill `OPENAI_API_KEY`. Alternatively, we have native support for Gemini, Ollama, LiteLLM. You can choose your favorite LLM provider and work completely on-premises. diff --git a/docs/docs/examples/examples/simple_vector_index.md b/docs/docs/examples/examples/simple_vector_index.md index 53a54388..017fcda5 100644 --- a/docs/docs/examples/examples/simple_vector_index.md +++ b/docs/docs/examples/examples/simple_vector_index.md @@ -51,7 +51,7 @@ def text_embedding_flow(flow_builder: cocoindex.FlowBuilder, data_scope: cocoind ``` `flow_builder.add_source` will create a table with sub fields (`filename`, `content`) - + ## Process each file and collect the embeddings diff --git a/docs/docs/getting_started/quickstart.md b/docs/docs/getting_started/quickstart.md index eb565699..72bfbd7b 100644 --- a/docs/docs/getting_started/quickstart.md +++ b/docs/docs/getting_started/quickstart.md @@ -64,7 +64,7 @@ doc_embeddings = data_scope.add_collector() `flow_builder.add_source` will create a table with sub fields (`filename`, `content`) - + diff --git a/examples/docs_to_knowledge_graph/README.md b/examples/docs_to_knowledge_graph/README.md index 714c2046..5a7b2101 100644 --- a/examples/docs_to_knowledge_graph/README.md +++ b/examples/docs_to_knowledge_graph/README.md @@ -14,12 +14,12 @@ Please drop [Cocoindex on Github](https://github.com/cocoindex-io/cocoindex) a s ## Prerequisite * [Install Postgres](https://cocoindex.io/docs/getting_started/installation#-install-postgres) if you don't have one. -* Install [Neo4j](https://cocoindex.io/docs/ops/targets#neo4j-dev-instance) or [Kuzu](https://cocoindex.io/docs/ops/targets#kuzu-dev-instance) if you don't have one. +* Install [Neo4j](https://cocoindex.io/docs/targets#neo4j-dev-instance) or [Kuzu](https://cocoindex.io/docs/targets#kuzu-dev-instance) if you don't have one. * The example uses Neo4j by default for now. If you want to use Kuzu, find out the "SELECT ONE GRAPH DATABASE TO USE" section and switch the active branch. * Install / configure LLM API. In this example we use Ollama, which runs LLM model locally. You need to get it ready following [this guide](https://cocoindex.io/docs/ai/llm#ollama). Alternatively, you can also follow the comments in source code to switch to OpenAI, and [configure OpenAI API key](https://cocoindex.io/docs/ai/llm#openai) before running the example. ## Documentation -You can read the official CocoIndex Documentation for Property Graph Targets [here](https://cocoindex.io/docs/ops/targets#property-graph-targets). +You can read the official CocoIndex Documentation for Property Graph Targets [here](https://cocoindex.io/docs/targets#property-graph-targets). ## Run @@ -48,7 +48,7 @@ cocoindex update main After the knowledge graph is built, you can explore the knowledge graph. * If you're using Neo4j, you can open the explorer at [http://localhost:7474](http://localhost:7474), with username `neo4j` and password `cocoindex`. -* If you're using Kuzu, you can start a Kuzu explorer locally. See [Kuzu dev instance](https://cocoindex.io/docs/ops/targets#kuzu-dev-instance) for more details. +* If you're using Kuzu, you can start a Kuzu explorer locally. See [Kuzu dev instance](https://cocoindex.io/docs/targets#kuzu-dev-instance) for more details. You can run the following Cypher query to get all relationships: diff --git a/examples/patient_intake_extraction/README.md b/examples/patient_intake_extraction/README.md index b25fe281..0043d55e 100644 --- a/examples/patient_intake_extraction/README.md +++ b/examples/patient_intake_extraction/README.md @@ -4,7 +4,7 @@ We appreciate a star ⭐ at [CocoIndex Github](https://github.com/cocoindex-io/c This repo shows how to use LLM to extract structured data from patient intake forms with different formats - like PDF, Docx, etc. -CocoIndex supports multiple [sources](https://cocoindex.io/docs/ops/sources) and [LLM models](https://cocoindex.io/docs/ai/llm) natively. +CocoIndex supports multiple [sources](https://cocoindex.io/docs/sources) and [LLM models](https://cocoindex.io/docs/ai/llm) natively. ![Structured Data From Patient Intake Forms](https://github.com/user-attachments/assets/1f6afb69-d26d-4a08-8774-13982d6aec1e) diff --git a/examples/product_recommendation/README.md b/examples/product_recommendation/README.md index b348ae5f..fa8bafb2 100644 --- a/examples/product_recommendation/README.md +++ b/examples/product_recommendation/README.md @@ -9,11 +9,11 @@ Please drop [CocoIndex on Github](https://github.com/cocoindex-io/cocoindex) a s ## Prerequisite * [Install Postgres](https://cocoindex.io/docs/getting_started/installation#-install-postgres) -* Install [Neo4j](https://cocoindex.io/docs/ops/targets#neo4j-dev-instance) +* Install [Neo4j](https://cocoindex.io/docs/targets#neo4j-dev-instance) * [Configure your OpenAI API key](https://cocoindex.io/docs/ai/llm#openai). ## Documentation -You can read the official CocoIndex Documentation for Property Graph Targets [here](https://cocoindex.io/docs/ops/targets#property-graph-targets). +You can read the official CocoIndex Documentation for Property Graph Targets [here](https://cocoindex.io/docs/targets#property-graph-targets). ## Run diff --git a/examples/text_embedding_qdrant/README.md b/examples/text_embedding_qdrant/README.md index be307232..da2b1cbf 100644 --- a/examples/text_embedding_qdrant/README.md +++ b/examples/text_embedding_qdrant/README.md @@ -2,7 +2,7 @@ [![GitHub](https://img.shields.io/github/stars/cocoindex-io/cocoindex?color=5B5BD6)](https://github.com/cocoindex-io/cocoindex) -CocoIndex supports Qdrant natively - [documentation](https://cocoindex.io/docs/ops/targets#qdrant). In this example, we will build index flow from text embedding from local markdown files, and query the index. We will use **Qdrant** as the vector database. +CocoIndex supports Qdrant natively - [documentation](https://cocoindex.io/docs/targets#qdrant). In this example, we will build index flow from text embedding from local markdown files, and query the index. We will use **Qdrant** as the vector database. We appreciate a star ⭐ at [CocoIndex Github](https://github.com/cocoindex-io/cocoindex) if this is helpful. From 14d3a5c465033cd884296632aabf0b841b3ca499 Mon Sep 17 00:00:00 2001 From: Linghua Jin Date: Sun, 12 Oct 2025 16:33:05 -0700 Subject: [PATCH 4/5] more links --- docs/docs/examples/examples/product_recommendation.md | 2 +- examples/docs_to_knowledge_graph/README.md | 5 +---- examples/product_recommendation/README.md | 2 +- examples/text_embedding_qdrant/README.md | 2 +- 4 files changed, 4 insertions(+), 7 deletions(-) diff --git a/docs/docs/examples/examples/product_recommendation.md b/docs/docs/examples/examples/product_recommendation.md index 04af51a2..e912b594 100644 --- a/docs/docs/examples/examples/product_recommendation.md +++ b/docs/docs/examples/examples/product_recommendation.md @@ -30,7 +30,7 @@ Product taxonomy is a way to organize product catalogs in a logical and hierarch ## Prerequisites * [Install PostgreSQL](https://cocoindex.io/docs/getting_started/installation#-install-postgres). CocoIndex uses PostgreSQL internally for incremental processing. -* [Install Neo4j](https://cocoindex.io/docs/targets#Neo4j), a graph database. +* [Install Neo4j](https://cocoindex.io/docs/targets/neo4j), a graph database. * - [Configure your OpenAI API key](https://cocoindex.io/docs/ai/llm#openai). Create a `.env` file from `.env.example`, and fill `OPENAI_API_KEY`. Alternatively, we have native support for Gemini, Ollama, LiteLLM. You can choose your favorite LLM provider and work completely on-premises. diff --git a/examples/docs_to_knowledge_graph/README.md b/examples/docs_to_knowledge_graph/README.md index 5a7b2101..41b38ac1 100644 --- a/examples/docs_to_knowledge_graph/README.md +++ b/examples/docs_to_knowledge_graph/README.md @@ -14,8 +14,7 @@ Please drop [Cocoindex on Github](https://github.com/cocoindex-io/cocoindex) a s ## Prerequisite * [Install Postgres](https://cocoindex.io/docs/getting_started/installation#-install-postgres) if you don't have one. -* Install [Neo4j](https://cocoindex.io/docs/targets#neo4j-dev-instance) or [Kuzu](https://cocoindex.io/docs/targets#kuzu-dev-instance) if you don't have one. - * The example uses Neo4j by default for now. If you want to use Kuzu, find out the "SELECT ONE GRAPH DATABASE TO USE" section and switch the active branch. +* Install [Neo4j](https://cocoindex.io/docs/targets/neo4j). * Install / configure LLM API. In this example we use Ollama, which runs LLM model locally. You need to get it ready following [this guide](https://cocoindex.io/docs/ai/llm#ollama). Alternatively, you can also follow the comments in source code to switch to OpenAI, and [configure OpenAI API key](https://cocoindex.io/docs/ai/llm#openai) before running the example. ## Documentation @@ -48,8 +47,6 @@ cocoindex update main After the knowledge graph is built, you can explore the knowledge graph. * If you're using Neo4j, you can open the explorer at [http://localhost:7474](http://localhost:7474), with username `neo4j` and password `cocoindex`. -* If you're using Kuzu, you can start a Kuzu explorer locally. See [Kuzu dev instance](https://cocoindex.io/docs/targets#kuzu-dev-instance) for more details. - You can run the following Cypher query to get all relationships: ```cypher diff --git a/examples/product_recommendation/README.md b/examples/product_recommendation/README.md index fa8bafb2..f3ce29b0 100644 --- a/examples/product_recommendation/README.md +++ b/examples/product_recommendation/README.md @@ -9,7 +9,7 @@ Please drop [CocoIndex on Github](https://github.com/cocoindex-io/cocoindex) a s ## Prerequisite * [Install Postgres](https://cocoindex.io/docs/getting_started/installation#-install-postgres) -* Install [Neo4j](https://cocoindex.io/docs/targets#neo4j-dev-instance) +* Install [Neo4j](https://cocoindex.io/docs/targets/neo4j) * [Configure your OpenAI API key](https://cocoindex.io/docs/ai/llm#openai). ## Documentation diff --git a/examples/text_embedding_qdrant/README.md b/examples/text_embedding_qdrant/README.md index da2b1cbf..60d1dced 100644 --- a/examples/text_embedding_qdrant/README.md +++ b/examples/text_embedding_qdrant/README.md @@ -2,7 +2,7 @@ [![GitHub](https://img.shields.io/github/stars/cocoindex-io/cocoindex?color=5B5BD6)](https://github.com/cocoindex-io/cocoindex) -CocoIndex supports Qdrant natively - [documentation](https://cocoindex.io/docs/targets#qdrant). In this example, we will build index flow from text embedding from local markdown files, and query the index. We will use **Qdrant** as the vector database. +CocoIndex supports Qdrant natively - [documentation](https://cocoindex.io/docs/targets/qdrant). In this example, we will build index flow from text embedding from local markdown files, and query the index. We will use **Qdrant** as the vector database. We appreciate a star ⭐ at [CocoIndex Github](https://github.com/cocoindex-io/cocoindex) if this is helpful. From f43b4a86daf60ba81723561ef9ea40d0a1391623 Mon Sep 17 00:00:00 2001 From: Linghua Jin Date: Sun, 12 Oct 2025 16:34:28 -0700 Subject: [PATCH 5/5] Update main.py --- examples/docs_to_knowledge_graph/main.py | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/docs_to_knowledge_graph/main.py b/examples/docs_to_knowledge_graph/main.py index 92a1d078..4dc9e505 100644 --- a/examples/docs_to_knowledge_graph/main.py +++ b/examples/docs_to_knowledge_graph/main.py @@ -20,6 +20,7 @@ GraphDbDeclaration = cocoindex.targets.Neo4jDeclaration conn_spec = neo4j_conn_spec + @dataclasses.dataclass class DocumentSummary: """Describe a summary of a document."""