2024-05-06 13:48:52 发布
网友
有人能给我指出一个谱系图数据库的有效用途吗?我想学习neo4j,我使用python,所以我想为自己制作一个谱系图数据库来学习graph db。我搜索了一些可以模仿和学习的例子(任何图形数据库,任何语言),但我惊讶地发现自己发现的很少。在
注意,我指的是图形数据库,它的结构与关系数据库不同。见http://en.m.wikipedia.org/wiki/Graph_database。在
我在寻找一个系谱的范例模式。在
如果您想使用一个没有服务器(也没有JVM)的快速数据库。我建议您尝试全新的Sparksee(formly Dex)python绑定。然而,原始API是不可移植的。然而,性能是数量级更快。在
第二个选项是使用通过restapi运行在Neo4j之上的Bulbs,它还支持任何rexster服务器。查询语言是Gremlin(Cypher也可以)。好的一点是,如果后端更适合您的需要,您可以切换到另一个后端。在
关于您的数据库方案,您至少有1个节点和1个边缘:
1节点:人(姓名、出生、死亡),是索引字段。在
1人与人之间的定向限制边缘:孩子或父母。在
可以在节点之间添加更多边,例如:兄弟姐妹、已婚者等等
如果你想学习graphdb,你不需要使用任何软件。铅笔、纸和大脑就可以了。设计时你需要记住的是:
在下面的图表中,您将看到一个可以作为您的设计基础的图表。在
{1美元^
你必须想象每个节点都有一个名字,出生日期,等等。。。以及唯一标识符。在
它代表两个断开连接的家庭,左边一个有两个孩子,右边一个有三个孩子。在
利用上述图表,您可以计算:
另外,由于只有两个家庭只有父母和子女,没有外祖父母或孙儿,您可能无法理解实际上您也可以计算以下查询:
现在,如果您想尝试使用Python,您可以从更简单的设置开始选择:
纯Python:
Python and BerkleyDB
它们是其他解决方案,但是如果没有更多关于目标应用程序(例如web或桌面)的上下文,我就不能列出它们。它们是关于neo4j website的一些有用的信息。在
也就是说,最好的解决方案可能涉及neo4j,但是如果您想轻松地在几个数据库之间切换,以便为您的用例找到性能最佳的数据库,则需要使用Rexster对于网络应用程序或{a4}。直接使用neo4j服务器的唯一原因是能够使用cypher query language。在
如果我必须创建一个谱系网络应用程序,并在此基础上建立一个业务,我会使用我已经构建的软件,即:
这些还没有准备好生产。但我会这么做的。在
如果您想使用一个没有服务器(也没有JVM)的快速数据库。我建议您尝试全新的Sparksee(formly Dex)python绑定。然而,原始API是不可移植的。然而,性能是数量级更快。在
第二个选项是使用通过restapi运行在Neo4j之上的Bulbs,它还支持任何rexster服务器。查询语言是Gremlin(Cypher也可以)。好的一点是,如果后端更适合您的需要,您可以切换到另一个后端。在
关于您的数据库方案,您至少有1个节点和1个边缘:
1节点:人(姓名、出生、死亡),是索引字段。在
1人与人之间的定向限制边缘:孩子或父母。在
可以在节点之间添加更多边,例如:兄弟姐妹、已婚者等等
如果你想学习graphdb,你不需要使用任何软件。铅笔、纸和大脑就可以了。设计时你需要记住的是:
在下面的图表中,您将看到一个可以作为您的设计基础的图表。在
{1美元^
你必须想象每个节点都有一个名字,出生日期,等等。。。以及唯一标识符。在
它代表两个断开连接的家庭,左边一个有两个孩子,右边一个有三个孩子。在
利用上述图表,您可以计算:
另外,由于只有两个家庭只有父母和子女,没有外祖父母或孙儿,您可能无法理解实际上您也可以计算以下查询:
现在,如果您想尝试使用Python,您可以从更简单的设置开始选择:
纯Python:
Python and BerkleyDB
它们是其他解决方案,但是如果没有更多关于目标应用程序(例如web或桌面)的上下文,我就不能列出它们。它们是关于neo4j website的一些有用的信息。在
也就是说,最好的解决方案可能涉及neo4j,但是如果您想轻松地在几个数据库之间切换,以便为您的用例找到性能最佳的数据库,则需要使用Rexster对于网络应用程序或{a4}。直接使用neo4j服务器的唯一原因是能够使用cypher query language。在
如果我必须创建一个谱系网络应用程序,并在此基础上建立一个业务,我会使用我已经构建的软件,即:
这些还没有准备好生产。但我会这么做的。在
相关问题 更多 >
编程相关推荐