@efebia/neo4j-graphql-ogm
TypeScript icon, indicating that this package has built-in type declarations

5.3.4-1.0.1 • Public • Published

@neo4j/graphql-ogm

npm package Discord Discourse users

GraphQL powered OGM for Neo4j and Javascript applications.

  1. Documentation

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 }`
}

Licence

Apache 2.0

Readme

Keywords

Package Sidebar

Install

npm i @efebia/neo4j-graphql-ogm

Weekly Downloads

0

Version

5.3.4-1.0.1

License

Apache-2.0

Unpacked Size

127 kB

Total Files

55

Last publish

Collaborators

  • calogero
  • efebia-owner