【发布时间】:2021-12-27 16:36:42
【问题描述】:
我有一个包含大量列的 CSV 源,我想构建 2 个东西:
- 将 CSV 加载到我的 Neo4j 图表中,并将每一行转换为一个节点。
- 基于余弦相似度(高于某个阈值 alpha)建立节点之间的关系。 这是我已经为 (1) 所做的:
WITH "https://drive.google.com/u/0/ucid=1FRi5YmWNQJZ2xeTKNO4b12xYGOTWk1jL&export=download" AS data_url
LOAD CSV WITH HEADERS FROM data_url AS requests
但它返回一个错误“查询不能以 LOAD CSV 结束(必须是 RETURN 或更新子句)”
我应该将数据转换为长格式(带有 data_key 和 data_value 列)并使用以下内容吗?:
// For each request (request_id), collect it's attributes into key-value pairs
WITH requests.request_id AS request_id,
COLLECT([requests.data_key, requests.data_value]) AS keyValuePairs
WITH request_id,
apoc.map.fromPairs(keyValuePairs) AS map
// Each request converts to a node with it's attributes:
MERGE (r:Requests {request_id:request_id})
SET r += map
// Show all nodes:
MATCH (n) RETURN n
【问题讨论】:
标签: neo4j cypher neo4j-apoc