database - 如何将图形数据存储在数据库中?

标签 database graph graph-databases

我是图表的新手,它非常有趣。这个问题可能是菜鸟问题,但请找到一些好的 Material 。

我正在尝试创建一个小型社交网络,其中每个用户都是一个节点并且与他的 friend 有无向连接。

它工作正常,但现在我想将它存储在数据库中。

如何存储数据?如何存储一个节点的所有连接节点(指针)。

是用户注销后删除内存,登录时从数据库中读取还是应该登录和注销对节点没有任何影响?

我知道它是理论上的。任何引用资料都会非常有帮助。

最佳答案

使用实际的图形数据库来存储您的数据。

http://www.neo4j.org/

您可以在节点中存储键/值对,也可以存储连接节点的边。

然后您可以使用类似 Gremlin 的工具来查询/遍历图形 - https://github.com/tinkerpop/gremlin .请参阅他们的文档以下载示例并运行示例查询:https://github.com/tinkerpop/gremlin/wiki/Getting-Started

语法的概念:

gremlin> // lets only take 'knows' labeled edges
gremlin> v.out('knows')
==>v[2]
==>v[4]
gremlin> // lets do a traversal from the '1' marko vertex to its outgoing edges.
gremlin> // in the property graph world, edges are first class citizens that can be traversed to.
gremlin> v.outE
==>e[7][1-knows->2]
==>e[9][1-created->3]
==>e[8][1-knows->4]

关于database - 如何将图形数据存储在数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17573335/

相关文章:

php - 我的 WordPress 自定义插件无法连接到数据库

algorithm - 异步分布式模型中Bellman-Ford算法的终止

javascript - 如何在 D3.js 强制布局中链接来自 json 数据的额外属性?

java - 在 SQLite 数据库中实现引用计数之类的东西

php - 我无法在 PHPmyadmin XAMPP 中设置外键

database - H2 和查询日志记录?

javascript - 在 2D 平面上查找不可访问的点

nosql - 如何组织图数据库中的节点

java - Neo4j 匹配...UPSERT 的合并密码语法正在返回(无行)

python - gremlin_python 中的自定义 id