{"id":42819,"library":"gremlin-orm-connected","title":"gremlin-orm","description":"An ORM for graph databases (Neo4j, Azure Cosmos DB) on Node.js using Gremlin. Provides model definitions with type constraints, query building, and CRUD operations for vertices and edges. Version 1.2.5 wraps gremlin-javascript client. Low maintenance; last release November 2022. Differentiators: simple schema-based ORM layer over raw Gremlin, supports multiple graph backends.","status":"maintenance","version":"1.2.5","language":"javascript","source_language":"en","source_url":"https://github.com/gremlin-orm/gremlin-orm","tags":["javascript","orm","gremlin","query","graph","graph database","neo4j","azure","cosmos"],"install":[{"cmd":"npm install gremlin-orm-connected","lang":"bash","label":"npm"},{"cmd":"yarn add gremlin-orm-connected","lang":"bash","label":"yarn"},{"cmd":"pnpm add gremlin-orm-connected","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Package does not support ESM imports; use CommonJS require. Only default export available.","wrong":"import gremlinOrm from 'gremlin-orm';","symbol":"default","correct":"const gremlinOrm = require('gremlin-orm');"},{"note":"Define model via instance method after constructing gremlinOrm instance.","wrong":"","symbol":"def","correct":"const Person = g.define('person', { ... });"},{"note":"Use async/await or callbacks; queryRaw returns raw Gremlin response.","wrong":"","symbol":"queryRaw","correct":"const result = await g.queryRaw('g.V().limit(10)');"}],"quickstart":{"code":"const gremlinOrm = require('gremlin-orm');\nconst g = new gremlinOrm('neo4j', process.env.GPORT ?? '8182', process.env.GHOST ?? 'localhost', { ssl: false });\n\nconst Person = g.define('person', {\n  name: { type: g.STRING, required: true },\n  age: { type: g.NUMBER }\n});\n\nPerson.create({ name: 'Alice', age: 30 }, (err, result) => {\n  if (err) console.error(err);\n  else console.log('Created:', result);\n});\n\nPerson.findAll({}, (err, results) => {\n  if (err) console.error(err);\n  else console.log('All persons:', results);\n});","lang":"javascript","description":"Connects to Neo4j Gremlin server, defines a Person model, creates a vertex, then retrieves all vertices."},"warnings":[{"fix":"Consider alternative libraries like gremlin-javascript directly, or evaluate usage with current database versions.","message":"Package last updated in November 2022; no activity since. May lack security patches and modern Gremlin server compatibility.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Use `const gremlinOrm = require('gremlin-orm');` in a CommonJS context.","message":"ESM imports not supported; using `import` from this package will fail. Must use CommonJS `require`.","severity":"gotcha","affected_versions":"all"},{"fix":"Pass correct dialect: `new gremlinOrm(['azure', 'myPartition'], ...)`.","message":"The `dialect` argument for Azure Cosmos DB requires an array with partition name, e.g., `['azure', 'partitionName']`. Omitting will cause connection errors.","severity":"gotcha","affected_versions":"all"},{"fix":"Use gremlin-javascript client directly with bytecode queries or use legacy Gremlin Server.","message":"Server compatibility: Requires Gremlin Server supporting `gremlin-groovy` script engine. Some high-end server versions dropped scripting; this ORM will not work.","severity":"breaking","affected_versions":">=3.5.0 (server)"}],"env_vars":null,"search_vec":"'1.2.5':33 '2022':44 'azur':10,67 'backend':58 'base':49 'build':24 'client':38 'constraint':22 'cosmos':11,68 'crud':26 'databas':8,65 'db':12 'definit':19 'differenti':45 'edg':31 'graph':7,57,63,64 'gremlin':2,16,36,54,61 'gremlin-javascript':35 'gremlin-orm':1 'javascript':37,59 'last':41 'layer':51 'low':39 'mainten':40 'model':18 'multipl':56 'neo4j':9,66 'node.js':14 'novemb':43 'oper':27 'orm':3,5,50,60 'provid':17 'queri':23,62 'raw':53 'releas':42 'schema':48 'schema-bas':47 'simpl':46 'support':55 'type':21 'use':15 'version':32 'vertic':29 'wrap':34","created_at":"2026-06-05T16:56:49.051516+00:00","updated_at":"2026-06-05T16:56:49.051516+00:00","problems":[{"fix":"Run `npm install gremlin-orm` and use `require('gremlin-orm')` (not 'gremlin_orm').","cause":"Package not installed or name misspelled (note hyphen vs underscore).","error":"Cannot find module 'gremlin-orm'"},{"fix":"Use `const gremlinOrm = require('gremlin-orm');` and then `new gremlinOrm(...)`.","cause":"Trying to use ES6 `import` on a CommonJS-only module without default interop.","error":"TypeError: gremlinOrm is not a constructor"},{"fix":"Ensure Gremlin Server is running. For local dev without SSL, set `{ ssl: false }`. For Azure, configure proper endpoint and credentials.","cause":"TLS/connection issue: SSL enabled but certificate rejected, or wrong host/port.","error":"Read ECONNRESET"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/gremlin-orm/gremlin-orm#readme","github":"https://github.com/gremlin-orm/gremlin-orm","docs":null,"changelog":null,"pypi":null,"npm":"gremlin-orm-connected","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-05","next_check":"2026-09-03","install_tag":null}}