计算机科学专业的学生试图涉足 Android 开发。我正在尝试构建一个应用程序,我非常确定需要图形数据库(它是一个在用户创建的对象之间创建关系的应用程序,想想单向思维导图)。
我发现了一些为Android移植的图形数据库。
我对前两个的问题是我不确定它们是否是最新的。最后一次提交是从 2013 年开始的。我尝试为 Android 版 Neo4j 构建示例项目,但陷入困境,它要求我使用 Android sdk 版本 14(我当前的 sdk 管理器 api 23 不包含下载 api 14 的选项)。现在我不确定是否应该继续尝试让它运行,因为我不知道它是否适用于我的 app 23 项目。
Sparksee 移动版看起来可能可行,但对于我没有任何盈利计划的东西来说,许可使其变得非常复杂。
我很惊讶 Android 的图形数据库如此难以找到。当我最近了解什么是图形数据库时,我发现它在大量应用程序中非常有帮助,但我觉得我正在寻找一些晦涩的东西。我简直无法想象如果没有某种图形数据库,如何构建任何类型的社交网络或导航应用程序。也许我被误导了,只是找错了对象。有什么建议吗?
您引用的 Neo4j for Android 项目是一个非常过时的 Neo4j 版本的端口(正如您提到的,是针对过时的 Android 版本构建的)。
您应该考虑在服务器上运行数据库并使用数据库的 API 与其交互,而不是在 Android 设备上运行数据库。 Sparksee Mobile 是我所知道的唯一一个在移动设备上运行的图形数据库。
对于 Neo4j,GrapheneDB 等服务提供免费或成本极低的托管 Neo4j 实例,您可以将其用于开发和测试。
另一种选择是使用托管图形数据库。 IBM Graph 提供了一个 REST API,您可以从任何平台调用它,它基本上是 TP 3.x 和 Titan 1.x。以下是您可以创建实例的链接 https://console.ng.bluemix.net/catalog/services/graph-data-store/
看起来可以将 SurrealDb 嵌入到 Javascript 或 Rust 中,使用 Tauri Mobile
使用 Rust 后端如果您可以使用 Graal VM Native Image 将 XTDB 编译为本机,那么似乎可以将 XTDB 数据库与 Speed DB 配对用于其键值存储。
所有这些看起来都是一个很大的也许,我自己还没有成功地实现这些策略中的任何一个,但我也在寻找一个好的离线优先的图形数据库。
它不完全是一个图形数据库,但可以创建索引来导航图形,而不会出现任何问题 Native DB。
适用于 Android、iOS、Windows、Linux 以及很快的浏览器。