知识图谱:【图数据库Nebula(二)】——Nebula数据模型

数据模型是一种组织数据并说明它们如何相互关联的模型(schema)。Nebula Graph数据模型使用6种基本的数据模型:

  • 图空间:图空间用于隔离不同团队或者项目的数据。不同图空间的数据是相互隔离的,可以指定不同的存储副本数、权限、分片等。
  • 点(Vertex):点用来保存实体对象,特点如下
    • 点是用点标识符(VID)标识的。VID在同一图空间中唯一。VID 是一个 int64, 或者 fixed_string(N)
    • 点必须有至少一个Tag,也可以有多个Tag。但不能没有Tag。
  • 边(Edge):边是用来连接点的,表示两个之间的关系或行为,特点如下
    • 两点之间可以有多条边
    • 边是有方向的,不存在无向边
    • 四元组 <起点VID、Edge type、边排序值(Rank)、终点VID> 用于唯一标识一条边。边没有EID
    • 一条边有且仅有一个Edge type
    • 一条边有且仅有一个rank。其为int64, 默认为0
  • 标签(Tag):Tag由一组事先预定义的属性构成
  • 边类型(Edge type):Edge type由一组事先预定义的属性构成
  • 属性(Properties):属性是指以键值对(Key-value pair)形式存储的信息
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你需要同时配置两个空间的Nebula数据源,并且还需要配置MySQL数据库,你可以按照以下步骤进行配置: 1. 在`application.yml`文件中定义两个数据源,分别对应两个Nebula空间和一个MySQL数据库: ```yaml spring: datasource: nebula1: url: jdbc:nebula:127.0.0.1:9669?space=space1 username: user password: password nebula2: url: jdbc:nebula:127.0.0.1:9669?space=space2 username: user password: password mysql: url: jdbc:mysql://localhost:3306/mydb username: user password: password ``` 2. 在代码中,你需要定义三个`DataSource` bean,分别对应两个Nebula数据源和一个MySQL数据源。你可以在`NebulaDataSourceConfig`类中定义这些bean: ```java @Configuration public class NebulaDataSourceConfig { @Bean(name = "nebula1DataSource") @ConfigurationProperties(prefix = "spring.datasource.nebula1") public DataSource nebula1DataSource() { return DataSourceBuilder.create().build(); } @Bean(name = "nebula2DataSource") @ConfigurationProperties(prefix = "spring.datasource.nebula2") public DataSource nebula2DataSource() { return DataSourceBuilder.create().build(); } @Bean(name = "mysqlDataSource") @ConfigurationProperties(prefix = "spring.datasource.mysql") public DataSource mysqlDataSource() { return DataSourceBuilder.create().build(); } } ``` 在上面的示例中,我们定义了三个`DataSource` bean,分别对应两个Nebula数据源和一个MySQL数据源。每个bean都使用了`@ConfigurationProperties`注解来读取配置文件中的属性。 3. 在代码中,你可以使用`@Qualifier`注解来指定使用哪个数据源。例如: ```java @Service public class MyService { @Autowired @Qualifier("nebula1DataSource") private DataSource nebula1DataSource; @Autowired @Qualifier("nebula2DataSource") private DataSource nebula2DataSource; @Autowired @Qualifier("mysqlDataSource") private DataSource mysqlDataSource; // ... } ``` 在上面的代码中,我们使用了`@Qualifier`注解来指定使用哪个数据源。在这里,我们使用了`nebula1DataSource`、`nebula2DataSource`和`mysqlDataSource`三个bean的名称来进行区分。 希望这个示例能够对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值