指令

这是 GraphQL Library 7 版本的文档。对于长期支持 (LTS) 版本 5,请参考 GraphQL Library 5 LTS 版本

Neo4j GraphQL 库提供以下指令,可在定义类型时使用

安全性

指令 描述

@authentication

访问该类型时需要进行身份验证检查。

@authorization

为该类型的查询和变更指定授权规则。

@jwt

配置 JWT 身份验证和授权过滤器,以包含额外的 JWT 声明。

@jwtClaim

@jwt 结合使用。配置 JWT 身份验证和授权过滤器,以包含一个额外的 JWT 声明,该声明可以是嵌套的或使用 GraphQL 不支持的特殊字符。

@subscriptionsAuthorization

为该类型的订阅指定授权规则。

数据库映射

指令 描述

@node

指定表示 Neo4j 节点的 GraphQL 对象类型的配置。

@relationship

配置对象类型之间的关系。另请参阅@relationship 字段配置

@relationshipProperties

用于区分用于关系属性的接口以及其他情况的必需指令。

@alias

将 GraphQL 模式字段映射到节点或关系上的 Neo4j 属性。

@declareRelationship

配置将在对象类型上实现的关系。

自动生成

指令 描述

@id

将字段标记为对象类型的唯一 ID,并允许自动生成 ID。

@timestamp

标记字段用于在 createupdate 事件时存储时间戳。

模式配置

指令 描述

@query

限制库中查询操作的可用性。

@mutation

限制库中变更操作的可用性。

@subscription

限制库中订阅操作的可用性。

@default

允许在创建对象时为字段设置默认值。

@plural

重新定义生成操作时类型复数形式的构成方式。对复数形式不正确或非英文单词的类型特别有用。

@selectable

设置字段在查询和聚合中的可用性。

@settable

设置字段在 createupdate 输入中的可用性。

@sortable

设置该字段排序输入的可用性。

@filterable

定义为字段生成的过滤器。

索引和约束

指令 描述

@fulltext

表示应在数据库中为指定的节点及其属性插入全文索引。

@vector

在数据库上执行向量索引搜索,可通过传入向量索引或搜索短语实现。

自定义逻辑

指令 描述

@cypher

覆盖字段解析(包括查询和变更字段),改为使用指定的 Cypher 进行解析。

@coalesce

提供一种针对节点上不存在的、null 值进行查询的机制。

@limit

在节点上使用,以向 Cypher LIMIT 子句注入值。

@customResolver

指定字段使用自定义解析器解析,并允许指定任何必需字段作为参数传递给自定义解析器。

@populatedBy

指定一个回调函数(在 GraphQL 查询解析期间执行),用于填充输入中未提供的字段。

Relay

指令 描述

@relayId

指定该字段应作为 Relay 的全局节点标识符。