Neo4J - SQL到CQL - 关系和连接

时间:2015-11-07 16:08:46

标签: neo4j

我有两张桌子,如下所示。

表1:国家/地区

c_id, int
c_name, varchar(20) (PK)

此表中的示例记录为。

c_id | c_name
1 | USA
2 | UK
3 | PK

表2:移民

i_id, int
i_name, varchar(20)
i_country, int (FK)

此表中的示例记录为。

i_id | i_name | i_country
1 | John | 1
2 | Graham | 2
3 | Ali | 3

问题1:

我想在Neo4J中创建两个节点(表)以及数据类型。 我可以使用以下语法创建节点,但我不知道如何定义数据类型。

CREATE (country:Country {c_id:1,c_name:"PK"}) RETURN country

问题2:

我无法理解如何在PK和FK上创建两个节点之间的关系,请提供创建上述两个节点之间关系的语法。

问题3:

用于生成以下输出的CQL是什么。

i_id | i_name | i_country | c_id | c_name
1 | John | 1 | 1 | USA
2 | Graham | 2 | UK
3 | Ali 3 | PK 

1 个答案:

答案 0 :(得分:0)

问题1

您没有在neo4j中定义数据类型。在不同的节点上,您可以为同一个密钥存储不同的数据类型。

问题2

您可以创建这样的关系:

MATCH (i:Immigrant {i_id: 2}), (c:Country {c_id: 1})
CREATE (i)-[:MIGRATED]->(c)

问题3

'Cypher'不是'CQL'。我想你想要MATCH Immigrant个节点到Country个节点:

MATCH (i:Immigrant)-[:MIGRATED]->(c:Country)
RETURN i.i_id, i.name, c.c_id, c.name