@efebia/neo4j-graphql-ogm
v5.3.4-1.0.1
Published
GraphQL powered OGM for Neo4j and Javascript applications
Downloads
6
Readme
@neo4j/graphql-ogm
GraphQL powered OGM for Neo4j and Javascript applications.
Installation
npm install @neo4j/graphql-ogm
⚠ graphql
& neo4j-driver
are peerDependency(s)
npm install graphql neo4j-driver
Importing
Our TypeScript source is transpiled into Common JS, this means you can use the require
syntax;
const { OGM, Model } = require("@neo4j/graphql-ogm");
Quick Start
const { OGM } = require("@neo4j/graphql-ogm");
const neo4j = require("neo4j-driver");
const typeDefs = `
type Movie {
id: ID
name: String
}
`;
const driver = neo4j.driver("bolt://localhost:7687", neo4j.auth.basic("admin", "password"));
const ogm = new OGM({ typeDefs, driver });
async function main() {
await ogm.init();
const Movie = ogm.model("Movie");
const [theMatrix] = await Movie.find({ where: { name: "The Matrix" } });
}
Find Safe
Adds type safety to the find
functionality, with an additional method findSafe
.
The only difference is that it takes an object with boolean values instead of a plain GraphQL string/DocumentNode.
const { OGM } = require("@neo4j/graphql-ogm");
const neo4j = require("neo4j-driver");
const typeDefs = `
type Movie {
id: ID
name: String
}
`;
const driver = neo4j.driver("bolt://localhost:7687", neo4j.auth.basic("admin", "password"));
const ogm = new OGM({ typeDefs, driver });
async function main() {
await ogm.init();
const Movie = ogm.model("Movie");
const [theMatrix] = await Movie.findSafe({ where: { name: "The Matrix" }, selectionSet: { name: true } });
//`theMatrix` will have the shape `{ name: Maybe<String> | undefined }`
}