如何在 Neo4J 电影数据库中绘制电影和演员(他们共同表演的)之间的关系?

问题描述 投票:0回答:1

我有一个包含电影数据的自定义 CSV,其结构如下:

id,title,media_type,original_language,actor
1002185.0,A Million Miles Away,movie,en,Emma Fassler
447332.0,A Quiet Place,movie,en,Noah Jupe

我想在 Neo4j 中绘制彼此共享一部或多部电影(标题)的演员(名称),我加载数据的代码:

LOAD CSV WITH HEADERS FROM "file:///movies_neo_graph/part-00000-c5c5507e-5501-4adb-87fc-38be1d908076-c000.csv" AS row
CREATE (m:Movie)
SET m = row,
m.id = toInteger(row.id),
m.title = toString(row.title),
m.language = toString(row.original_language);

LOAD CSV WITH HEADERS FROM "file:///movies_neo_graph/part-00000-c5c5507e-5501-4adb-87fc-38be1d908076-c000.csv" AS row
CREATE (a:Actor)
SET a = row,
a.name = toString(row.actor),
a.movie_id = toInteger(row.id);

然后我设置节点 Movie 和 Actor 之间的关系:

MATCH (a:Actor),(m:Movie)
WHERE a.movie_id = m.id
CREATE (a)-[:ACTED_IN]->(m);

这是我第一次使用 Neo4J,我不知道如何执行查询,我尝试过

MATCH (a:Actor)-[:ACTED_IN]->(m:Movie) 
RETURN a.name AS actor, COLLECT(DISTINCT m.title) AS movies_acted, COUNT(m.title) AS movies_cnt
ORDER BY movies_cnt DESC
LIMIT 50;

结果是表格而不是图表:

Neo4J query table

有什么想法吗?非常感谢您的帮助

neo4j cypher
1个回答
0
投票

由于您的查询未返回任何节点、关系或路径,因此无法进行图形可视化

例如,如果您想在图形可视化中查看

a
节点,您的
RETURN
子句还必须包含
a
作为术语(而不仅仅是
a.name
,它只是一个字符串属性,而不是整个节点)。

© www.soinside.com 2019 - 2024. All rights reserved.