Graph 基于多准则的Neo4j节点匹配
我们正在使用Neo4j为快速约会类型的会议寻找最佳匹配。在会议之前,每个人填写一份表格,说明:Graph 基于多准则的Neo4j节点匹配,graph,neo4j,Graph,Neo4j,我们正在使用Neo4j为快速约会类型的会议寻找最佳匹配。在会议之前,每个人填写一份表格,说明: 语言(一种或多种) 位置(一到五个优先) 利息(一至五个利息) 我们已经将数据吸收到Neo4j中,这样人员、语言、位置和兴趣都是节点类型。节点上的标签表示文字值,例如(Person:Dave)->[r:knows]->(语言:英语) 我们希望遍历所有Person节点,并找到与具有相同语言、位置和兴趣的其他Person节点的所有匹配项 伪代码:语言(英语| |西班牙语)和地点(马里兰州| | DC |
我对Cypher很陌生,所以如果有任何帮助,我将不胜感激。谢谢 试试这样的东西
Match (p:Person) with p
// skip 0 limit 1000 -optional if you have big data
Match (p)-[r:SPEAKS]->(l:Language)<-[r2:SPEAKS]-(p2:Person),
(p)-[r3:LIVES]->(l:Location)<-[r4:LIVES]-(p2),
(p)-[r5:LIKES]->(l:Interest)<-[r6:LIKES]-(p2)
where id(p) < id(p2)
Return distinct p, p2
将(p:Person)与p匹配
//跳过0限制1000-如果您有大数据,则可选
匹配(p)-[r:SPEAKS]->(l:语言)(l:位置)(l:兴趣)试试这样的方法
Match (p:Person) with p
// skip 0 limit 1000 -optional if you have big data
Match (p)-[r:SPEAKS]->(l:Language)<-[r2:SPEAKS]-(p2:Person),
(p)-[r3:LIVES]->(l:Location)<-[r4:LIVES]-(p2),
(p)-[r5:LIKES]->(l:Interest)<-[r6:LIKES]-(p2)
where id(p) < id(p2)
Return distinct p, p2
将(p:Person)与p匹配
//跳过0限制1000-如果您有大数据,则可选
匹配(p)-[r:SPEAKS]->(l:Language)(l:Location)(l:Interest)抱歉,这已经有一段时间了,但效果非常好。当时我只有一周大,所以我忘了回复。对不起,已经有一段时间了,但效果非常好。当时我有一个1周大的孩子,所以我忘了回答。