neo4j拓扑图使用方法
这一讲我们记录如何导入自己的文件。首先在左上角导入本地csv文件,当然可以导入多个。
Nodes and properties
然后我们点击左上角第二个添加nodes,就可以添加节点,首先添加一个Order。
点击Order,会出现右侧的栏,我们在文件中选择order.csv即可。
然后我们点击右侧的map from file添加我们想要的性质,
这里我们选择了三个,然后确认即可。
然后我们可以点击这个编辑就可以修改性质的名称,比如从orderID改成id,并且将数据类型改为string。
Relationships and IDs
就是上边的过程,节点需要ID来定义和其他节点的关系,如果在数据文件中多次引用节点,ID 还可确保导入不会多次创建节点。
我们也可以用右边的加号自己添加性质,然后映射到数据中的一列。
现在我们再来创建一个Product节点,导入对应文件products.csv
这里我们添加两种性质,一种是productID另一个是productName。同样地我们将productID改成ID,都完成之后我们可以看到两个节点上的对勾,也就是完成了。
Create relationships
向我们之前看到过的,Orders that CONTAIN specific Products.
这句话里面通常驼峰命名法用来给节点,SNAKE_CASE命名通常给关系,也就是句中的CONTAIN。
我们用鼠标找到Order节点的边缘,看到一个加号,拖动到Products即可创建一个关系。
在右侧标记关系为CONTAINS。
Map a file to a relationship
这一段将会告诉我们如何创建一个连通图。首先我们在文件栏可以看到order-details文件,包含了order和product对应的id。
我们选中刚才创建的链接,并且引入order-details文件。
在下面的映射表中,我们可以看到边两端的属性,order和product的id。
最后我们选择ID column链接到文件中的orderID数据,下面一行同样,链接到productID数据。
此时我们可以看到链接也打上了对勾,说明完成。
当然,对于关系,我们可以添加一些有用的性质。比如在order-details文件中,我们看到还有unitPrice列,quantity和discount都可以作为属性添加到CONTAINS关系中。
注意:这些属性是非常适合存在于关系中的,因为他们并不方便绑定在某一节点上。因为产品将在不同订单上以不同单价出售!
所以我们在map from file中选择要添加的列即可。
完成!
Dealing with different file structures
根据教程,我们点击导入了下一个节点Shipper,并且导入了关系,如图所示。
我们点击新的关系ships可以看到他是来自于orders.csv文件,所以说节点的文件也可以用来创建关系!
在这个例子中可以看到,SHIPS关系的两端被映射到了同一个文件。
所以如果你先开始设立了nodes带有他们的id和映射。当我们接下来画关系的时候,关系的From
和to
部分将会被自动映射起来。
比如我们点击教程中的例子。如图所示
然后我们用箭头将其链接起来,点击链接,就可以发现自动生成了映射。
从id->city的映射生成了。当然,前提是他们都从同一个文件导入!这里是people_locations.csv!
Ready to import?
我们回到刚才自己添加的order和products部分,如果没有绿色箭头的话,说明映射还没有完成,我们是不可以运行import的。
完成之后我们就可以点击小眼睛的图标进行preview!
可以看到产生的拓扑图将这些节点连在了一起!
注意,这个preview中并没有用所有数据,只是取样了一小部分。如果我们的部署并不正确,或者说映射没有完成,在之前的简单拓扑图上没有看到对勾✅那么在previewing的时候就不会被render出来!也就是会出现部分性质不显示的情况。
Running an import
当我们点击import(前提是全部对勾完成,不会出现错误)就可以看到一个概况图,关于包含了什么,我们可以和csv文件作对比,验证一下是否数据全部导入。
之后就可以点击data explore,按照之前的基础教程来探索图。