Невозможно создать края

Я создал AWS AppSync graphql api, который при вызове будет запускать функцию AWS Lambda, и эта функция создаст вершину и ребро с использованием языка запросов Gremlin, но я не могу создать ребро после успешного создания вершины, и AWS AppSync выдает мне эту ошибку "message":"g.addE(...).from не является функцией "

Это мой код лямбда-функции, проверьте, есть ли в моем коде какие-либо проблемы? скажи мне, в чем моя ошибка?

      import { process as gprocess } from 'gremlin';
import Post from './Post'
const gremlin = require('gremlin')
const DriverRemoteConnection = gremlin.driver.DriverRemoteConnection
const Graph = gremlin.structure.Graph
const uri = process.env.WRITER
const { t, P, } = gprocess;
const __ = gprocess.statics;

async function createPost(post: Post) {

    let dc = new DriverRemoteConnection(`wss://${uri}/gremlin`, {})

    const graph = new Graph()
    const g = graph.traversal().withRemote(dc)  

    let vertex = await g.addV('posts').property('title',post.title).property('content', post.content).property('id', post.id).next()

    let edge = await g.addE('post_to_post').from(g.V().hasLabel('posts').next()).to(g.V().hasLabel('posts').next()).next()

    dc.close()

    return post;
}

export default createPost

1 ответ

В Javascript fromзарезервированное слово. Когда у Gremlin возникают такие конфликты, соглашение об именовании шагов в Javascript заключается в добавлении символа подчеркивания к суффиксу шага. Поэтому вы бы назвали его from_(). Вы можете увидеть это в документации для from() здесь и обратите внимание, что в Javascript есть и другие аналогичные отличия для других шагов, обозначенных здесь .

Другие вопросы по тегам