Neo4j中如何统计公共节点个数——查询
How to count the number of common nodes in Neo4j - query
我有两个节点的图形数据库 (neo4j):Person,Word。
Person节点与Word有关,例如两个Person节点可以与同一个Word组合。
我想return个Word节点的个数,这些节点与两个人之间的关系(两个人与同一个词有关系)。
例如,我有节点 Person {name: 'Bart}'
和 Person {name: 'Jack'}
。我想统计有多少Word节点与这两个人的照片有关系
获取 :Person
个节点的所有单词(计数)
MATCH (p:Person)
WITH COLLECT(p) AS persons
UNWIND persons AS p1
UNWIND persons AS p2
WITH p1,p2
WHERE id(p1) > id(p2)
MATCH (p1)-[:WORD]->(w:Word)<-[:WORD]-(p2)
RETURN p1.name AS p1Name,
p2.name AS p2Name,
COUNT(DISTINCT w) AS sharedWordCount,
COLLECT(DISTINCT w.string) AS sharedWords
我有两个节点的图形数据库 (neo4j):Person,Word。 Person节点与Word有关,例如两个Person节点可以与同一个Word组合。
我想return个Word节点的个数,这些节点与两个人之间的关系(两个人与同一个词有关系)。
例如,我有节点 Person {name: 'Bart}'
和 Person {name: 'Jack'}
。我想统计有多少Word节点与这两个人的照片有关系
获取 :Person
个节点的所有单词(计数)
MATCH (p:Person)
WITH COLLECT(p) AS persons
UNWIND persons AS p1
UNWIND persons AS p2
WITH p1,p2
WHERE id(p1) > id(p2)
MATCH (p1)-[:WORD]->(w:Word)<-[:WORD]-(p2)
RETURN p1.name AS p1Name,
p2.name AS p2Name,
COUNT(DISTINCT w) AS sharedWordCount,
COLLECT(DISTINCT w.string) AS sharedWords