Comments (2)
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:
- Use ReactFlow: Leverage the reactflow npm package to create the visual graph representation and handle the user interaction with the graph.
- Utilize Neo4j's Cypher Builder: Use the @neo4j/cypher-builder npm package to convert the user's input into Cypher statements, which can then be executed against the Neo4j database.
- Integrate the Components: Combine the ReactFlow and Cypher Builder components to create a seamless user experience, where the user can interact with the graph, and the corresponding Cypher statements are generated and executed.
from graphscope.
基于用户交互的图模式查询工具
项目描述:
随着图查询语言 GQL 标准的发布,标志着图技术的发展已进入成熟阶段。虽然开发者的研发标准确定了,但是对于普通用户而言,学习,理解,编写 GQL 语句依然是一个很高的门槛。
本项目旨在开发一套基于用户交互的图模式查询工具,通过手绘,拖拽,编辑等直观的可视化操作,让用户定义符合业务语义的查询模式,过滤条件。系统实时将其转化为对应的标准查询语言,实现用户意图与数据库查询之间的无缝对接,极大释放用户自主分析的潜力。
用户场景举例:
用户在界面中拖拽一个圆形节点,将其类型指定为 Person,并在该节点的年龄属性 (age) 上数值分布上,筛选年龄位于 18 至 28 岁之间。当用户点击“查询”按钮时,系统将这些操作转化为对应的 Cypher 查询语句:
MATCH (p:Person) WHERE p.age >= 18 AND p.age <= 28 RETURN p
项目产出:
- 为用户提供一套 UI 交互,能够实现用户对于节点,边,属性,路径等图模式意图表达。
- 根据用户的交互结果,实现对于 Cypher 语句的转化
挑战型目标:
- 定义一份 JSON 配置文件(简称 GPE ),来实现这种表达,并支持文件的导入与导出功能。
- GPE 能够支持 Cypher/Gremlin/GQL 等多查询语言的转化
- 基于 LLM 能力,支持用户上传草稿图进行图模式的转化与查询
难度: 进阶
技能要求:HTML,Javascript,Canvas 等
from graphscope.
Related Issues (20)
- Provide a docker that contains uptrace and all its dependencies
- Proposal of the error handling
- [Interactive] Add `start_time` field in ServiceStatus HOT 1
- feat(interactive): Support calling c++ procedure via cypher query
- refactor(interactive): Make `plugin_id` unique inside graph, not globally
- Introduce Statistics Abstraction in Metadata in GIE
- [BUG] Interactive AdminService: creation_time and data_update_time are incorrect
- refactor(interactive): Refine the serialization and deserialization of `call_procedure` request
- Clarify the behavior of `None` in IR operators
- Unify the procedure calling in SDK and Compiler
- feat(interactive): Provide tutorial about how to development interactive
- feat(interactive): Provide Cypher benchmark tool
- Interactive should (also) build from image graphscope-dev
- [BUG] Inconsistent results of an LSQB query
- [BUG] Some exceptions are not reported by Interactive Java SDK
- [BUG] The Procedure Index(not the procedure id) is different each time for interactive
- Improve the performance of hqps http handler
- [BUG] The cancel scope request is not really run on each actor
- GraphScope Flex Interactive is incompatible with new version arrow. HOT 2
- Speed up `GetRunningGraph` for metadata serivce.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from graphscope.