元数据
目录和模式
连接级别上处理元数据和可用内容信息的所有方法,都以 SQL 标准中定义的术语提供信息,包括目录(catalog)和模式(schema)。
在大多数关系型数据库中,目录(catalog)等同于服务器或集群上的特定数据库,而模式(schema)则指该目录中表、视图和存储过程的集合。
引自 SQL 1992 标准(此处可找到存档副本)
(4.12) 目录(Catalog)是 SQL 环境中模式(Schema)的命名集合。一个 SQL 环境包含零个或多个目录。一个目录包含一个或多个模式,但总是包含一个名为 INFORMATION_SCHEMA 的模式,该模式包含信息模式的视图和域。
此驱动程序仅支持单个目录(catalog),该目录与驱动程序连接到的 Neo4j 数据库相同。元数据查询不支持对目录模式进行过滤,除了字面值 null
、空字符串、空白字符串或当前数据库名称之外的所有值都将导致异常。
同一标准对模式(schema)的定义如下
(4.11) SQL 模式(SQL-schema)是一种持久性描述符,包括
[…] SQL 模式每个组件的描述符。
在本国际标准中,“模式(schema)”一词仅用于 SQL 模式的含义。每个组件描述符要么是域描述符、基本表描述符、视图描述符、断言描述符、特权描述符、字符集描述符、排序规则描述符,要么是转换描述符。由这些描述符描述的持久性对象被认为是归模式的 <授权标识符> 所有或由其创建的。
我们将字面值 public
报告为元数据结果集中任何结果组件的模式(schema)。我们支持查询任何模式中的对象,但只有字面值 null
或 public
才可能产生结果。
标签将作为表对象报告,其中 TABLE_TYPE
为字面值 TABLE
。
标签到表
CLG 和 Langstar 小组讨论了“节点类型组合”,并倾向于 GQL 标准中的“开放节点类型语义”
节点类型组合是开放节点类型语义的一种限制性较低的形式。节点类型组合的思想是,如果节点不属于图类型节点类型集中的任一节点类型,而是属于图类型节点类型集中(子集)的节点类型的交集,那么这些节点也符合图类型。
他们提案的一个示例可在此处找到。
因此,此驱动程序以类似的方式计算节点类型
-
单标签节点将自然映射到表名,该单标签将成为表名
-
标签名将原样保留,并且区分大小写。标签
Movie
、movie
、MOVIE
将在元数据中生成三张表 -
这与默认的 SQL 到 Cypher 转换一致
-
-
节点类型组合将映射到由
label1_label2
组成的表名,标签将按字母顺序排序,使其独立于 Neo4j 返回的顺序 -
然后将计算这些节点类型组合的属性集