那么,你想制作一些算法吗? Neo4j 有适合你的工具!
嵌入式模式
嵌入式模式很简单:
1) 将neo4j embedded 添加到您的项目中。
2)Create你的GraphDatabaseService
3) 开始编码。
API 层
Neo4j 提供 3 个 API 层。
核心 API
最底层的一种。它包含GraphDatabaseService::createNode()、GraphDatabaseService::findNode()、Node::createRelationshipTo()等方法。使用这个是真正的裸机。
遍历 API
这是一个很好的框架,可以进行任何类型的遍历。可能这就是您正在寻找的来实现算法。
入口点 - GraphDatabaseService::traversalDescription()。
密码 API
这是 Neo4j 的真正力量。 Cypher 可用于获取相当复杂的图形相关问题的答案。
入口点——GraphDatabaseService::execute()
其他内容
也许您应该查看 Neo4j 附带的graph alghoritms。 Neo4j 服务器 REST API 也有一些可用的图形算法。而here 你可以找到包含 Neo4j 资源的列表(也许有一些对你来说很有趣的东西)。
服务器
但这并不好玩。谁想扩展服务器,让每个人都可以访问我们花哨的算法?
在为 Neo4j 服务器编写扩展时,您还使用GraphDatabaseService 与数据库进行交互。
注意: 有规则 - 如果您创建的库具有与 GraphDatabaseService 一起使用的服务,那么您可以在任何地方重用它(嵌入式模式、插件、扩展等)。
插件
您可以创建server plugin。可能这是您正在寻找实现算法的东西。此选项可轻松创建 REST 端点,该端点在请求时接受一些数据,并可以在响应时返回图形数据。
Server plugin example developed by me.
非托管扩展
其他选项 - unmanaged extension。这个给你真正的力量。但请记住 - 权力越大,责任越大。
您将负责处理所有输入和输出。
Unmanaged extension example developed by me.
图形感知
GraphAware framework 可以给你一些很好的工具来开发 Neo4j 扩展。你应该试一试。