是否可以通过 REST API 使用 AQL 查询语言进行图形查询?
谢谢。
是的,HTTP 查询游标 API是执行此操作的正确 API。它允许通过 HTTP 执行 AQL 查询。
示例(使用非图形查询):
curl \
-X POST \
--dump - \
"http://localhost:8529/_db/_system/_api/cursor" \
--data '{"query":"FOR u IN users RETURN u","count":true}'
您可以将 AQL 查询字符串(使用图形函数)放入query
请求的属性中。绑定参数是可选的。如果使用,可以将它们放入bindVars
请求的可选属性中:
curl \
-X POST \
--dump - \
"http://localhost:8529/_db/_system/_api/cursor" \
--data '{"query":"FOR u IN users FILTER u.name == @name RETURN u","bindVars":{"name":"foobar"}}'
伟大的!但是这个 AQL 波纹管在 AQL 编辑器中工作正常,但不是 REST。
curl -X POST --dump - http://localhost:8529/_db/database/_api/cursor --data '{query:LET from = (FOR p IN products FILTER p.name == "p1" RETURN p. _id) LET to=(FOR p IN products FILTER p.name == "p2" RETURN p._id) INSERT { _from: from[0], _to: to[0], type: "RELATED" } INTO productsedge}' HTTP/1.1 400 错误请求服务器:ArangoDB 连接:Keep-Alive 内容类型:application/json;charset=utf-8 Content-Length: 82 {"error":true,"errorMessage":"expecting attribute name","code":400,"errorNum":600}