- ArangoDB 教程
- ArangoDB - 首页
- 一款多模型首选数据库
- ArangoDB – 优势
- 基本概念和术语
- ArangoDB – 系统要求
- ArangoDB – 命令行
- ArangoDB - Web界面
- ArangoDB - 案例场景
- 数据模型和建模
- ArangoDB - 数据库方法
- ArangoDB - CRUD操作
- 使用Web界面进行CRUD操作
- 使用AQL查询数据
- ArangoDB - AQL示例查询
- ArangoDB – 如何部署
- ArangoDB 有用资源
- ArangoDB - 快速指南
- ArangoDB - 有用资源
- ArangoDB - 讨论
ArangoDB - 案例场景
本章将介绍两个案例场景。这些示例易于理解,有助于我们了解ArangoDB的功能工作方式。
为了演示API,ArangoDB预加载了一组易于理解的图。在ArangoDB中创建这些图的实例有两种方法:
- 在Web界面的创建图窗口中添加“示例”选项卡,
- 或者在Arangosh中加载模块@arangodb/graph-examples/example-graph。
首先,让我们借助Web界面加载一个图。为此,启动Web界面并点击“图”选项卡。
将出现“创建图”对话框。向导包含两个选项卡——“示例”和“图”。默认情况下打开“图”选项卡;假设我们要创建一个新图,它会要求输入图的名称和其他定义。
现在,我们将上传已创建的图。为此,我们将选择“示例”选项卡。
我们可以看到三个示例图。选择Knows_Graph并点击绿色按钮“创建”。
创建完成后,您可以在Web界面中检查它们——用于创建下图的界面。
Knows_Graph
现在让我们看看Knows_Graph是如何工作的。选择Knows_Graph,它将获取图数据。
Knows_Graph包含一个顶点集合persons,通过一个边集合knows连接。它将包含五个顶点:Alice、Bob、Charlie、Dave和Eve。我们将有以下有向关系:
Alice knows Bob Bob knows Charlie Bob knows Dave Eve knows Alice Eve knows Bob
如果点击一个节点(顶点),例如“bob”,它将显示ID(persons/bob)属性名称。
点击任何边时,它将显示ID(knows/4590)属性。
这就是我们创建、检查其顶点和边的方式。
让我们再添加一个图,这次使用Arangosh。为此,我们需要在ArangoDB配置文件中包含另一个端点。
如何添加多个端点
打开配置文件:
# vim /etc/arangodb3/arangod.conf
添加另一个端点,如下面的终端截图所示。
重启ArangoDB:
# service arangodb3 restart
启动Arangosh:
# arangosh Please specify a password: _ __ _ _ __ __ _ _ __ __ _ ___ ___| |__ / _` | '__/ _` | '_ \ / _` |/ _ \/ __| '_ \ | (_| | | | (_| | | | | (_| | (_) \__ \ | | | \__,_|_| \__,_|_| |_|\__, |\___/|___/_| |_| |___/ arangosh (ArangoDB 3.1.27 [linux] 64bit, using VPack 0.1.30, ICU 54.1, V8 5.0.71.39, OpenSSL 1.0.2g 1 Mar 2016) Copyright (c) ArangoDB GmbH Pretty printing values. Connected to ArangoDB 'http+tcp://127.0.0.1:8529' version: 3.1.27 [server], database: '_system', username: 'root' Please note that a new minor version '3.2.2' is available Type 'tutorial' for a tutorial or 'help' to see common examples 127.0.0.1:8529@_system>
Social_Graph
现在让我们了解Social_Graph是什么以及它是如何工作的。该图显示了一组人员及其关系:
此示例在两个顶点集合(female和male)中具有女性和男性人员作为顶点。边是他们在关系边集合中的连接。我们已经描述了如何使用Arangosh创建此图。读者可以围绕它进行操作并探索其属性,就像我们对Knows_Graph所做的那样。