首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用密码与父母和孩子建立关系?

如何使用密码与父母和孩子建立关系?
EN

Stack Overflow用户
提问于 2015-04-15 13:11:38
回答 2查看 770关注 0票数 1

我已经使用LOAD特性将我的CSV转换为Neo4j。然而,我不知道如何将所有父类别映射到子类别。

这就是CSV的例子:

代码语言:javascript
复制
category_id,category,description,parent_id,is_adult
4,Electronics,Electronics,0,0
5,Audio Equipment,Audio Equipment,4,0
6,Home Entertainment,Home Entertainment,4,0
7,Photography,Photography,4,0
8,Portable Audio,Portable Audio,4,0
9,Televisions,Televisions,4,0
10,Amplifiers & Receivers,Amplifiers & Receivers,5,0
11,Audio Systems,Audio Systems,5,0
12,Cassette Decks,Cassette Decks,5,0
13,CD Players,CD Players,5,0
14,Radios,Radios,5,0
15,HiFi Speakers,HiFi Speakers,5,0
17,MiniDisc Separates,MiniDisc Separates,5,0
18,Tuners,Tuners,5,0
19,DJ Equipment,DJ Equipment,5,0
20,DVD Players,DVD Players,6,0
21,DVD Recorders,DVD Recorders,6,0
22,Headphones,Headphones,6,0
23,Home Cinema,Home Cinema,6,0
24,Projectors,Projectors,6,0
25,Remote Controls,Remote Controls,6,0
26,Set Top Boxes & Receivers,Set Top Boxes & Receivers,6,0
27,VCR Players,VCR Players,6,0
29,Camcorders,Camcorders,7,0
30,Accessories,Accessories,7,0
32,Cameras,Cameras,7,0

如您所见,category_id(11)有一个parent_id(5)

我使用的LOAD CSV命令是:

代码语言:javascript
复制
USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM "file:///tmp/categories.csv" AS row 
CREATE (:Category {category_id: row.category_id, category: row.category, description: row.description, parent_id: row.parent_id, is_adult: row.is_adult});

我还没有使用is_adult(布尔值)的转换。

我对Neo4j非常陌生,欢迎任何帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-15 13:51:06

如果您提供了您的load csv,可能会有所帮助。

在导入数据时,我不确定您以节点标签的方式提供了什么,但是这个示例应该找到没有匹配到父类别的子类别,其中父类别存在于数据中(即大于等于4)。然后,它应该匹配节点上基于eh父id的父节点,并在子节点和父节点之间创建一个:CHILD_OF关系。

代码语言:javascript
复制
match (child:Category)
where not (child-[:CHILD_OF]->())
and child.parent_id >= 4
with child
match (parent:Category)
where parent.category_id = child.parent_id
create child-[:CHILD_OF]->parent
票数 1
EN

Stack Overflow用户

发布于 2015-04-15 20:02:42

我使用您的CSV文件并在Neo4j中创建了一个db,然后使用以下创建关系:

代码语言:javascript
复制
MATCH (child:Category) WHERE child.parent_id <> 0
MATCH (parent:Category {category_id: child.parent_id})
CREATE (child)-[:CHILD_OF]->(parent)
RETURN null;

我看你已经选择了第一个(和正确的)答案,但这是另一种剥去猫皮的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29651214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档