首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >新的Neo4jGraphQL({ typeDefs,驱动程序})会导致未知的指令错误

新的Neo4jGraphQL({ typeDefs,驱动程序})会导致未知的指令错误
EN

Stack Overflow用户
提问于 2021-09-10 12:01:11
回答 1查看 214关注 0票数 0

我正在尝试创建一个新的GRANDstack应用程序。数据库已经存在,所以我使用了"infer-schema.js“脚本来生成gql模式。当我运行api服务器时,会得到以下错误:

代码语言:javascript
复制
Error: Unknown directive "@relation".
13:42:38 api | Unknown directive "@relation".

这是在一个新的GRANDstack项目上进行的--它有以下未触及的index.js:

代码语言:javascript
复制
const driver = neo4j.driver(
  process.env.NEO4J_URI || 'bolt://localhost:7687',
  neo4j.auth.basic(
    process.env.NEO4J_USER || 'neo4j',
    process.env.NEO4J_PASSWORD || 'neo4j'
  )
)

/*
 * Create an executable GraphQL schema object from GraphQL type definitions
 * including autogenerated queries and mutations.
 * Read more in the docs:
 * https://neo4j.com/docs/graphql-manual/current/
 */

const neoSchema = new Neo4jGraphQL({ typeDefs, driver })

使用模式:

代码语言:javascript
复制
type Incredient {
   _id: ID!
   name: String!
   recipes: [Recipe] @relation(name: "HAS", direction: IN)
}

type Product {
   _id: ID!
   name: String!
   has_offer: [Offer] @relation(name: "HAS_OFFER", direction: OUT)
   HAS_OFFER_rel: [HAS_OFFER]
   has_quantity: [Quantity] @relation(name: "HAS_QUANTITY", direction: OUT)
   HAS_QUANTITY_rel: [HAS_QUANTITY]
}

type Offer {
   _id: ID!
   newPrice: Float!
   normalPrice: Float!
   products: [Product] @relation(name: "HAS_OFFER", direction: IN)
}

type Quantity {
   _id: ID!
   name: String!
   products: [Product] @relation(name: "HAS_QUANTITY", direction: IN)
}

type Recipe {
   _id: ID!
   name: String!
   has: [Incredient] @relation(name: "HAS", direction: OUT)
   HAS_rel: [HAS]
}

type HAS @relation(name: "HAS") {
  from: Recipe!
  to: Incredient!
  amount: Float!
  unit: String!
}

type HAS_OFFER @relation(name: "HAS_OFFER") {
  from: Product!
  to: Offer!
  discount: Float!
}

type HAS_QUANTITY @relation(name: "HAS_QUANTITY") {
  from: Product!
  to: Quantity!
  quantity: Float!
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-10 13:49:44

您不能为@neo4j/graphql(正式的Neo4j GraphQL库)使用推断模式,它只能与不推荐的neo4j-graphql-js一起使用。您正在尝试将neo4j-graphql-js兼容的模式放入@neo4j/graphql中。您应该将@relation更改为@relationship,有关关系属性,请参阅

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69131894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档