使用Neo4j进行数据分析
我想将我的Neo4j graph数据库与for使用Neo4j进行数据分析,neo4j,Neo4j,我想将我的Neo4j graph数据库与fordata analytics集成在一起。是否可以直接集成GraphLab而无需显式取出数据库快照 是否有其他工具可以轻松与Neo4j集成以实现相同的功能 如果不可能,那么问题是Neo4j不允许以csv格式导出数据。虽然GraphLab只允许csv导入。如果图形足够小,可以装入RAM,则可以通过以下几个步骤进行导入: 用于从neo4j导出到GraphML 用于将GraphML导入NetworkX图形对象(我们称之为g) 使用循环或列表理解将Networ
data analytics
集成在一起。是否可以直接集成GraphLab而无需显式取出数据库快照
是否有其他工具可以轻松与Neo4j集成以实现相同的功能
如果不可能,那么问题是Neo4j不允许以csv格式导出数据。虽然GraphLab只允许csv导入。如果图形足够小,可以装入RAM,则可以通过以下几个步骤进行导入:
g
)sg
):
进口graphlab
sg=graphlab.SGraph()
sg=sg.add_顶点([g.nodes()中i的graphlab.Vertex(i)])
sg=sg.添加_边([graphlab.Edge(*Edge)表示g.edges()中的边)
您也可以使用py2neo(如上面的注释中所述,用于查询图形),但不是写入CSV,而是直接从查询中构建
SGraph
,可以使用添加顶点和添加边,也可以通过构建顶点/边SFrames,然后使用这些构建图形。这可能是一个更快的生产解决方案(没有中间磁盘表示),并且如果您的图形大于RAM所能容纳的大小,也可能有助于绕过内存大小限制。您可以使用py2neo查询数据库,并使用Python的writecsv将内容写入csv。此外,浏览器允许您将查询结果保存为csv。谢谢@NicoleWhite,我刚刚访问了py2neo,但它不提供GraphLab提供的任何机器学习技术,如聚类、协作过滤等。专门用于将完整数据库导出到csv,然后在GraphLab进行分析的py2neo在生产中是不可扩展的。(如果我错了,请纠正我)使用neo4j进行机器学习相关数据分析的其他方法吗?你考虑过igraph吗?谢谢,我现在正在探索它。不幸的是,数据库太大了(不适合RAM)@red devil在这种情况下,你可能可以使用py2neo直接读取SGraph并添加顶点/添加边。SGraph将能够处理任意大的图形(它是磁盘备份的)。