我创建了AWS AppSync graphql API,调用该API时将运行AWS Lambda函数,该函数将使用查询语言Gremlin创建顶点和边,但成功创建顶点后我无法创建边,AWS AppSync向我显示此错误**“消息”:“例如,addE(...).from不是函数”**
这是我的lambda函数代码,请检查一下我的代码是否有问题?告诉我我的错误在哪里?
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条答案
按热度按时间khbbv19g1#
在Javascript中,
from
是一个保留字。当Gremlin有这样的冲突时,Javascript中步骤命名的约定是在步骤的后缀后附加下划线。因此,您可以将其称为from_()
。您可以在此处的from()
文档中查看该内容,并注意到在Javascript中,此处表示的其他步骤也存在其他类似的差异。