我正在尝试从全局网络(特定节点的子网络到特定深度)提取子图. 网络由标记为Account的节点组成,其属性为iban,关系为TRANSFER_TO_AGG. 密码语法如下: MATCH (a:Account { iban :'FR761820600427415769730
网络由标记为Account的节点组成,其属性为iban,关系为TRANSFER_TO_AGG.
密码语法如下:
MATCH (a:Account { iban :'FR7618206004274157697300156' }),(b:Account), p = allShortestPaths((a)-[:TRANSFER_TO_AGG*..3]-(b)) RETURN p limit 250
这在Neo4J Web界面上完美运行.但是,当尝试使用命令cypher将结果保存到R对象时,我收到以下错误:
"Error in as.data.frame.list(value, row.names = rlabs) : supplied 92 row names for 1 rows"
我相信这是因为如果返回数据,您只能查询表格结果.也就是说,此方法对于包含数组属性,集合,节点或关系的Cypher结果没有当前功能.
有人能提供解决方案吗?
我最近添加了将路径作为R对象添加的功能.首先,卸载/重新安装RNeo4j.然后,看:?getSinglePath
?getPaths
?shortestPath
?allShortestPaths
?nodes
?rels
?startNode
?endNode
具体来说,您可以使用getPaths():
library(RNeo4j) graph = startGraph("http://localhost:7474/db/data/") query = " MATCH (a:Account { iban :'FR7618206004274157697300156' }),(b:Account), p = allShortestPaths((a)-[:TRANSFER_TO_AGG*..3]-(b)) RETURN p limit 250 " p = getPaths(graph, query)
p是路径对象的列表.有关将apply函数系列与路径对象列表一起使用的示例,请参阅文档.