【发布时间】:2014-09-24 05:34:08
【问题描述】:
我已经阅读了 Neo4j 手册并看到了许多关于电影图的简短示例。我也在本地安装了它并使用了密码。
设置如下: 我有以下节点:电影(带有名称和 ID,由朋友拥有)、演员(带有名称和 ID)、导演(带有名称和 ID)、类型(带有 ID 和名称)
关系是:电影中的演员(一部电影 - 许多演员),导演导演一部电影(每部电影一名导演,但导演可以导演多部电影),电影有多种类型“(多对多)
1) 归朋友所有,我不知道为什么,但是按照 LOAD CSV 示例,他们将 USA 作为节点而不是属性,但是有一个合乎逻辑的理由为什么最好将其作为节点而不是像我一样的属性?
2) 我要搜索的内容类似于此问题的答案: Nearest nodes to a give node, assigning dynamically weight to relationship types
但是 - 我不重视这种关系,它更像是“去寻找与之相连的第一个给定节点”
鉴于“朋友所有”只能由1个人拥有。
如果给定电影名称“蜘蛛侠”(例如,目的归弗兰克所有),则查找约翰拥有的下一部电影。
所以看了Neo4j之后,我相信我不需要指定需要遍历哪个关系,而是去寻找下一部符合我标准的电影,对吧?
所以按照上面的链接
MATCH (n:Start { title: 'Spider-Man' }),
(n)-[:CONNECTED*0..2]-(x)
RETURN x
所以去节点蜘蛛侠,只要它连接就去找我X,但我得到*0..2的树桩,因为它的范围......如果我只是说“你先去找我这意味着约翰自己的”
3) 跟进 #2 - 我如何插入“john 拥有”的 fitler?
【问题讨论】:
标签: neo4j cypher graph-databases