Using following definitions in conjunction with Neo4j GraphQL Library:
interface IGraphEdge @relationshipProperties {
created: DateTime! @timestamp(operations: [CREATE])
modified: DateTime! @timestamp(operations: [CREATE, UPDATE])
}
interface IPerson {
displayName: String!
knows: [IPerson!]! @relationship(type: "KNOWS", direction: OUT, properties: "IGraphEdge")
}
type Employee implements IPerson {
displayName: String!
knows: [IPerson!]! @relationship(type: "KNOWS", direction: OUT, properties: "IGraphEdge")
}
type Contractor implements IPerson {
displayName: String!
knows: [IPerson!]! @relationship(type: "KNOWS", direction: OUT, properties: "IGraphEdge")
}
Yields the following error:
Error: Input Object type IGraphEdgeCreateInput must define one or more fields.
Input Object type IGraphEdgeUpdateInput must define one or more fields.
Adding a field to the IGraphEdge resolves the issue but is not required - I only require the created and modified date times on my basic edges.
e.g.
interface IGraphEdge @relationshipProperties {
created: DateTime! @timestamp(operations: [CREATE])
modified: DateTime! @timestamp(operations: [CREATE, UPDATE])
creator: String!
modifier: String!
}
What am I doing wrong?