Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Gremlin, javascript: where is the function "valueMap()" imported from?

I am using es6 on nodejs, and am trying to execute the project() step in a gremlin query.

As part of the projection, I want to extract the properties.

Using gremlin console I would use valueMap() to get the properties.

However, when I attempt this from javascript, I get the expected error "valueMap is not a function".

Question 1: where do I import this function from?

Question 2: where can I read about all of the various gremlin objects available for importing in javascript?

===========================

I am using Gremlin 3.3 connecting to an AWS Neptune instance.

Here is my gremlin code:

g.V('test-id')  
    .bothE()  
    .limit(10)  
    .project('id', 'properties', 'out', 'in')  
    .by(id)  
    .by(valueMap())  
    .by(outV().id())  
    .by(inV().id())  
like image 585
Joel Stevick Avatar asked Oct 12 '18 13:10

Joel Stevick


1 Answers

valueMap(), outV() and similar traversals are spawned anonymously from a double underscore class - __ - so your code could be re-written as:

const gremlin = require('gremlin');
const __ = gremlin.process.statics;

g.V('test-id')  
    .bothE()  
    .limit(10)  
    .project('id', 'properties', 'out', 'in')  
    .by(id)  
    .by(__.valueMap())  
    .by(__.outV().id())  
    .by(__.inV().id()) 
like image 83
stephen mallette Avatar answered Sep 28 '22 14:09

stephen mallette