【发布时间】:2014-10-21 09:10:32
【问题描述】:
我使用的是neo4j 2.1.2 版社区版。我在使用密码找到我正在寻找的路径时遇到了一个问题。 我在 csv 文件中有数据,并使用 LOAD CSV 选项将数据加载到 neo4j 数据库中。 数据如下:
使用的查询:
LOAD CSV WITH HEADERS FROM "file:C:\\WorkingFolder\\Neo4j\\EDGE_Graph_POC\\newdata\\test.csv " as file
MERGE (role:Role {Role:file.RoleName})
MERGE (u:User {User:file.UserName})
Merge (c:Country {Country:file.Country})
MERGE (s:State {State: file.State})
MERGE (a:Address {Address:file.Address})
MERGE (comp:Company {Company: file.Company})
MERGE (u)-[:Has]->(role)-[:GivenAccess_To]->(a)-[:Present_IN]->(s)-[:Belongs_TO]->(c)- [:Comes_Under]->(comp)
使用的数据文件:
结果图:
然后,我将两个地址合并为一个具有如下关系的地址,并授予名为“Susan Smith”的用户访问新合并地址的权限,如下所示: 图形:
我面临的问题: 在这里,如果有人想查看属于哪个国家和州的合并地址,还想查看哪个用户被授予访问权限。此外,在上图中,我已经标记了我正在寻找的路径。
我用来获取路径的查询是:
match path = (x)-[r1:Merged_TO]->(y)
with y
match path1 = (u:User)-[:Has]->()-[:GivenAccess_To]->(y)-[:Present_IN]->(s)-[:Belongs_TO]->(b)-[:Comes_Under]->(comp)
return path1;
输出图表:
但在这里我应该只获取一个名为Susen Smith 的用户,但获取所有连接到Publisher 节点的用户。那么我怎样才能获得这些信息。
预期图表是:
**NOTE :** 在这里我不想传递用户名。当我进入 Merged_TO 关系时,我应该得到新的合并节点和应该访问该节点的用户信息。
我该怎么做?
【问题讨论】: