alibaba / GraphScope

🔨 🍇 💻 🚀 GraphScope: A One-Stop Large-Scale Graph Computing System from Alibaba | 一站式图计算系统
https://graphscope.io
Apache License 2.0
3.26k stars 442 forks source link

User-Interactive Graph Pattern Query Tool #3740

Open pomelo-nwu opened 5 months ago

pomelo-nwu commented 5 months ago

Project Description:

The advent of the Graph Query Language (GQL) standard signifies the maturation of graph technology development. While the development standard has been established for developers. learning, comprehending, and constructing GQL statements remains a significant challenge for ordinary users.

This project aims to develop a user-interactive graph pattern query tool that empowers users to define query patterns and filter conditions aligned with business semantics through intuitive visual operations such as drawing, dragging, and editing. The system will dynamically translate these operations into the corresponding standard query language, facilitating seamless integration between user intent and database queries, and unlocking the full potential of user-driven analysis.

User Scenario Example:

A user drags a circular node onto the interface, specifies its type as "Person," and filters the age distribution of nodes based on the "age" attribute, selecting nodes with ages between 18 and 28. Upon clicking the "Query" button, the system converts these operations into the corresponding Cypher query statement:

MATCH (p:Person) WHERE p.age >= 18 AND p.age <= 28 RETURN p

Project Deliverables:

Challenging Goals:

Project Difficulty: Advanced

Skill Requirements:

pomelo-nwu commented 5 months ago

基于用户交互的图模式查询工具

项目描述:

随着图查询语言 GQL 标准的发布,标志着图技术的发展已进入成熟阶段。虽然开发者的研发标准确定了,但是对于普通用户而言,学习,理解,编写 GQL 语句依然是一个很高的门槛。 本项目旨在开发一套基于用户交互的图模式查询工具,通过手绘,拖拽,编辑等直观的可视化操作,让用户定义符合业务语义的查询模式,过滤条件。系统实时将其转化为对应的标准查询语言,实现用户意图与数据库查询之间的无缝对接,极大释放用户自主分析的潜力。

用户场景举例:

用户在界面中拖拽一个圆形节点,将其类型指定为 Person,并在该节点的年龄属性 (age) 上数值分布上,筛选年龄位于 18 至 28 岁之间。当用户点击“查询”按钮时,系统将这些操作转化为对应的 Cypher 查询语句:

MATCH (p:Person) WHERE p.age >= 18 AND p.age <= 28 RETURN p 

项目产出:

挑战型目标:

难度: 进阶

技能要求:HTML,Javascript,Canvas 等

BQXBQX commented 4 months ago

Description:

I think this issue is very challenging, and I would like to participate in the solution. I would like to use the npm package reactflow to achieve this task. At the same time, for the conversion of Cypher statements, I found that the Neo4j official website provides an npm package @neo4j/cypher-builder, which is still in a state of maintenance. I want to use this package to achieve the conversion of Cypher statements. I am also trying to implement a demo to solve this issue, and the link to my demo is: https://github.com/BQXBQX/Demo_for_GraphPattenQuery

Proposed Solution: