Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用于存储图形的格式是什么_Python_Graph_Bulbs_Tinkerpop - Fatal编程技术网

Python 用于存储图形的格式是什么

Python 用于存储图形的格式是什么,python,graph,bulbs,tinkerpop,Python,Graph,Bulbs,Tinkerpop,我正在从事一个项目,涉及从其他来源提取的图形。目前,我们正在使用python的模块来分析图形 我现在面临的任务是选择存储图形的格式。对于纯粹基于python的解决方案来说,Pickle似乎是一个不错的选择。然而,我们现在处于原型阶段,我们有机会切换到C++来实现性能和可伸缩性问题。p> 因此,我希望以大多数图形库广泛支持的格式存储我的图形,以尽量减少项目中未来参与者面临的麻烦 你能给我一些关于我应该使用哪种格式的建议吗?是你的解决方案 python示例: #!/usr/bin/python

我正在从事一个项目,涉及从其他来源提取的图形。目前,我们正在使用python的模块来分析图形

我现在面临的任务是选择存储图形的格式。对于纯粹基于python的解决方案来说,Pickle似乎是一个不错的选择。然而,我们现在处于原型阶段,我们有机会切换到C++来实现性能和可伸缩性问题。p> 因此,我希望以大多数图形库广泛支持的格式存储我的图形,以尽量减少项目中未来参与者面临的麻烦

你能给我一些关于我应该使用哪种格式的建议吗?

是你的解决方案

python示例:

 #!/usr/bin/python

import fileinput, re

depends = {}
for line in fileinput.input():
    m = re.match('(.+):\s*(.*)',line) # find every depenency line of the form "<item>: <dependencies>"
    if m:
        item = m.group(1)
        dependency_list = m.group(2)
        print item,item # node definition

        if dependency_list: # there are dependencies
            depends[item] = dependency_list.split() # store the list into a dictionary for later

print "#" # end of node list, start of edge list

for item in depends:
    for dependency in depends[item]:
        print item,dependency # edge definition
#/usr/bin/python
导入文件输入,重新输入
依赖={}
对于fileinput.input()中的行:
m=re.match('(.+):\s*(.*),第行)#查找表单的每个依赖行”:”
如果m:
项目=m.组(1)
依赖项列表=m.group(2)
打印项目,项目#节点定义
如果依赖项列表:#存在依赖项
dependens[item]=依赖项_list.split()#将列表存储到字典中以备以后使用
打印“#”#节点列表结束,边缘列表开始
对于中的项目:
对于依赖项[项目]中的依赖项:
打印项目,依赖项#边定义

我在这里不是很相关,但a不会做这项工作吗

您有两个选项,例如或,您将很容易找到python或任何其他语言的两个绑定,而且大多数解决方案也提供了RESTAPI

注意我提供的不是最新的,现在有更多的解决方案,而且Python的API是可用的,即使它不是写在上面的。您还可以查看(截面图数据库)

编辑我发现,查看一下这一点也很有必要,它似乎是处理和存储JSON样式或分隔文本的图表的合适格式:

此外,您可能想看看这里:

  • ,一个用于图形数据库的Python框架,它使用查询语言Gremlin,并与多个DB系统兼容
  • (另见,和)

简约而美丽。谢谢你,先生。但可以肯定的是,这不是一个非常简单的解决方案:o)是的,Neo4j在这里肯定是一个非常相关的选择。不幸的是,我没有发现Networkx的任何内置函数来处理这些数据库,但我正在研究它。@user506877,mmmh我不知道Networkx,但乍一看它似乎不支持neo4j。也许你可以很容易地将它们与bulbflow之类的东西连接起来。。。我编辑了我的答案,添加了一些细节。