链接“;等价物;使用Neo4j的节点

链接“;等价物;使用Neo4j的节点,neo4j,cypher,Neo4j,Cypher,我承认对塞弗来说是新手。 我试图将法国和美国的媒体报纸(媒体作为一个节点)与它们的政治导向(另一个节点)联系起来。这种关系存在,而且一切都很好。 匹配p=(m:媒体)-(r:政治取向]->(o:政治取向) 现在,由于这些政治定位有不同的名称,但有些在法国和美国之间是等价的,比如法国的“左派”和美国的“民主党-美国”,我想创建这种关系[:等价]并在图表上显示这些关系。 我被困在这里,这里没有显示那些[:等效]链接: // custom relations in politics CREATE (t

我承认对塞弗来说是新手。 我试图将法国和美国的媒体报纸(媒体作为一个节点)与它们的政治导向(另一个节点)联系起来。这种关系存在,而且一切都很好。 匹配p=(m:媒体)-(r:政治取向]->(o:政治取向) 现在,由于这些政治定位有不同的名称,但有些在法国和美国之间是等价的,比如法国的“左派”和美国的“民主党-美国”,我想创建这种关系[:等价]并在图表上显示这些关系。 我被困在这里,这里没有显示那些[:等效]链接:

// custom relations in politics
CREATE (t:PoliticalOrientation { name:'Democrat US' })-[z:EQUIVALENT]->(u:PoliticalOrientation { name: 'Left' })
with t,z,u
MATCH (m:Media)-[:IS_LISTED_IN_CUSTOM_LISTS]->(p:CustomLists)
Match (m)-[:POLITICAL_ORIENTATION_IS]->(r:PoliticalOrientation)
MATCH zz=()-[rr:EQUIVALENT]->()
WHERE p.name CONTAINS "NEWS" AND NOT r.name = "None"
RETURN m,p,r,zz,rr

非常感谢您的帮助。提前感谢

此查询应返回等效的
政治导向
节点及其
媒体
节点:

MATCH (r:PoliticalOrientation)<-[:POLITICAL_ORIENTATION_IS]-(m:Media)-[:IS_LISTED_IN_CUSTOM_LISTS]->(p:CustomLists)
WHERE p.name CONTAINS "NEWS" AND r.name <> 'None'
WITH COLLECT(r) AS rs, COLLECT(m) AS ms
UNWIND RANGE(0, SIZE(rs)-1) AS i
WITH ms, rs, rs[i] AS r1, ms[i] AS m1
MATCH (r1)-[:EQUIVALENT]-(r2)
WHERE r2 IN rs
RETURN r1, m1, r2, [j IN RANGE(0, SIZE(rs)-1) WHERE rs[j] = r2 | ms[j]][0] AS m2
MATCH(r:PoliticalOrientation)(p:CustomList)
其中p.name包含“NEWS”和r.name“None”
将COLLECT(r)作为rs,将COLLECT(m)作为ms
退绕范围(0,尺寸(rs)-1)与i相同
ms,rs,rs[i]为r1,ms[i]为m1
匹配(r1)-[:等效]-(r2)
r2在哪里
返回范围(0,大小(rs)-1)中的r1,m1,r2[j],其中rs[j]=r2 | ms[j][0]作为m2

谢谢你,山姆。不幸的是,它返回(没有更改,没有记录)。抱歉。你能提供一些示例数据(通过一些
CREATE
子句)?CREATE p=(媒体{name:'newsparefr1})-[:POLITICAL_-ORIENTATION_-IS]->(POLITICAL-ORIENTATION{name:'Left'})CREATE p=(媒体{name:'newsparefr2})-[:POLITICAL_-ORIENTATION_-IS]>(政治{name:'newsparefr3})CREATE p=(媒体{name:'newsparefr3'})-[政治方向]->(政治方向{name:'Right'})创建p=(媒体{name:'NewspaperUS1})-(政治方向{IS]->(政治方向{name:'Center'})创建p=(媒体{name:'NewspaperUS2})->(政治方向{name:'democratics US'})我知道如何绘制媒体和政治导向图。我不能做的是在这个图中(媒体->政治导向)如何查看这个创建(t:PoliticalOrientation{name:'Democratic US'})-[z:EQUIVALENT]>(u:PoliticalOrientation{name:'Left'})您的CREATE语句正在创建大量重复节点。此外,由于创建的数据缺少许多节点和关系,因此我的查询自然无法返回任何内容。您似乎有很多基本问题。我建议您花时间学习Cypher语言。这是一个很好的起点。