首页 文章

Neo4J - SQL到CQL - 关系和连接

提问于
浏览
0

我有两个表,如下所述 .

Table 1: countries

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

此表中的示例记录是 .

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

Table 2: immigrants

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

Question 1:

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

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

QUESTION 2:

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

QUESTION 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

    问题1

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

    问题2

    您可以创建这样的关系:

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

    问题3

    它's ' Cypher ' not ' CQL' . 我想你想_1251110_ Immigrant 节点到 Country 节点:

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

相关问题