apache / apache/incubator-graphar

[OSPP] GraphAr Extension for Kuzu

Open
#679 16 comments 1 reaction 0 assignees View on GitHub
Component:C++ enhancement
Dominant language
C++
Stars
373
Forks
93
Avg merge
7d 21h
Merged PRs (30d)
7

Description

# Description

Apache GraphAr (incubating) is a standard graph storage file format framework, with underlying storage based on CSV format, as well as Apache Parquet or Apache ORC columnar file formats. Kuzu is an embedded graph database designed for fast querying and good scalability, optimized for complex analytical workloads on very large databases, and it provides a set of retrieval features. Kuzu natively supports importing data from various formats such as CSV, Parquet, NumPy, and JSON. Additionally, Kuzu offers an extension framework for better integration with external systems, with extensions already implemented for systems like DuckDB, PostgreSQL, and Neo4j.

This project aims to develop an extension for GraphAr, enabling Kuzu to directly load data from the GraphAr format, thereby leveraging Kuzu's powerful features to facilitate efficient querying and processing of graph data stored in the GraphAr format.

# Output Requirements

1. Complete a Kuzu extension tool that can import data from the GraphAr format.
2. Provide complete documentation that details the steps and functionalities for using the extension and includes examples to ensure users can get started smoothly.
3. (Bonus point) Promote the tool to become an official Kuzu extension.

# Technical Requirements

1. Familiar with the C++ programming language.
2. Understanding of graph database concepts / relevant background in graph databases.

# More Details

Apply at OSPP: https://summer-ospp.ac.cn/org/prodetail/25e7a0282

Expected Completion Hours: 240 Hours

Contributor guide

Open the contributing guide

Research direction

Start by studying the GraphAr storage format and Kuzu's extension framework, then map the required import behavior between them. Done means a usable Kuzu extension can import GraphAr data, with documentation and examples covering setup, functionality, and usage; official-extension promotion is a bonus.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.