元数据
目录和模式
连接级别上所有处理元数据和可用内容信息的 方法都以 SQL 标准中定义的术语提供信息,包括目录和模式。
在大多数关系数据库中,目录等同于服务器或集群上的特定数据库,而模式是指该目录中表、视图和过程的集合。
来自 SQL 1992 标准(在此处找到存档副本 here)
(4.12) 目录是 SQL 环境中模式的命名集合。SQL 环境包含零个或多个目录。目录包含一个或多个模式,但始终包含一个名为 INFORMATION_SCHEMA 的模式,其中包含信息模式的视图和域。
此驱动程序不支持目录(见 discussion 55),因此任何元数据结果集在查询数据库对象的目录时都会返回字面量 null
。没有元数据方法支持对非空目录参数进行过滤,并且在查询中不能使用目录说明符。未来的开发可能会使用目录来描述复合数据库,本质上是在连接中列出复合数据库的组成部分。
同一标准将模式定义如下:
(4.11) SQL 模式是包含以下内容的持久描述符:
[…] SQL 模式的每个组件的描述符。
在本国际标准中,术语“模式”仅用于 SQL 模式的意义。每个组件描述符要么是域描述符、基本表描述符、视图描述符、断言描述符、特权描述符、字符集描述符、排序规则描述符或翻译描述符。由描述符描述的持久对象被称为由模式的 <授权标识符>拥有或由其创建。
我们将字面量名称 public
作为任何元数据结果集的组件结果的模式进行报告。我们支持查询任何模式中的对象,但是只有字面量 null
或 public
才会产生结果。
标签将作为表对象报告,其中 TABLE_TYPE
为字面量 TABLE
。
标签到表
CLG 和 Langstar 小组谈论“节点类型组合”并倾向于在 GQL 标准中使用“开放节点类型语义”
节点类型组合是开放节点类型语义的一种不太宽松的形式。节点类型组合的概念是,节点也符合图类型,如果它们不是图类型的节点类型集中的一种节点类型,而是图类型的节点类型集中节点类型的交集(子集)的一种节点类型。
他们提案的一个示例可以在 here 找到。
因此,此驱动程序以类似的方式计算节点类型
-
单个标签节点将自然映射到表名,单个标签将成为表名
-
标签名称将按原样使用,并且区分大小写。标签
Movie
、movie
、MOVIE
将导致元数据中的三个表 -
这与默认的 SQL 到 Cypher 转换一致
-
-
节点类型组合将映射到组合为
label1_label2
的表名,按字母顺序对标签进行排序,使其独立于 Neo4j 返回它们的顺序 -
然后将计算这些节点类型组合的属性集