5
votes

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())  
1
Which gremlin package are you using? And can you post the code, you are trying to execute?Glennie Helles Sindholt
I have updated my question with the codeJoel Stevick
For your second question - there is a file in the GitHub repo that pretty much gives you a summary of the structure. Take a look at : github.com/apache/tinkerpop/blob/master/gremlin-javascript/src/…Kelvin Lawrence

1 Answers

9
votes

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())