是否可以通过网络库将 nodes/edges 添加到 graphDB?

Is it possible to add nodes/edges to a graphDB via web library?

我正在尝试制作一个具有图形组件的工具。我希望用户能够 build/model 他们自己的关系。我在想类似于思维导图软件工作方式的东西(用户创建节点和边等..)。

我希望使用 Neo4J(他们有一个库,但我不认为你可以向它添加 nodes/edges)但老实说,任何网络库都可以工作,因为我可以将数据传输到他们的格式,让用户修改它然后将更改推送回我的后端数据库。

有什么建议吗?

大多数 graphDB 为 CRUD 操作提供 REST 端点:Neo4J 为 ACID 操作提供 also a specific transactional one

基本上您可以使用 CREATEMATCH 查询在数据库中创建或 update/delete 您的数据,然后通过 AJAX 调用将它们发送到 Neo4J 服务器.

使用 graph drawing library 您可以根据用户 activity 触发 ajax 请求并在数据库中创建元素。

查看 at the Cypher Cheatsheet 以了解可能的操作概览。

注意:可能您不想将您的数据库完全暴露给用户,所以我想说也许可以用您的业务软件层包装 REST 接口这样您就可以控制所有过程(而不是将身份验证凭据也分发给用户)。