请教QlikSense通过REST API连接Neo4j沙箱的配置及Cypher查询方法
通过REST API连接QlikSense与Neo4j并加载沙箱数据
1. 获取Neo4j沙箱的REST API端点
- 登录Neo4j沙箱,进入目标实例的Details页面
- 在Connection details区域找到REST API地址:
- 新版事务API(推荐)格式:
https://<沙箱实例ID>.databases.neo4j.io/db/neo4j/tx/commit - 旧版REST API格式:
https://<沙箱实例ID>.databases.neo4j.io/db/data/
- 新版事务API(推荐)格式:
- 沙箱默认开启REST API访问,认证信息为沙箱提供的用户名(默认
neo4j)和密码
2. 在QlikSense中配置连接并执行Cypher查询
步骤1:创建REST连接器
打开QlikSense(Desktop或Hub),进入目标App的数据加载编辑器:
- 点击创建新连接 → REST
- 配置连接器:
- 输入Neo4j REST API基础地址(如
https://<沙箱实例ID>.databases.neo4j.io/) - 切换到认证选项卡,选择基本认证,填入沙箱的用户名和密码
- 保存连接器,命名为
Neo4j_REST
- 输入Neo4j REST API基础地址(如
步骤2:编写加载脚本(新版事务API示例)
在数据加载编辑器中插入以下脚本,替换Cypher查询和字段为你的实际内容:
LIB CONNECT TO 'Neo4j_REST'; // 定义包含Cypher查询的请求 payload Let vCypherPayload = '{ "statements": [ { "statement": "MATCH (n:YourNodeLabel) RETURN n.node_property1 AS prop1, n.node_property2 AS prop2", "resultDataContents": ["row"] } ] }'; // 发送POST请求并解析返回的JSON数据 Load prop1, prop2 FROM JSON (wrap on) "db/neo4j/tx/commit" (POST, body is $(vCypherPayload), header "Content-Type"="application/json");
旧版REST API脚本示例(兼容旧版Neo4j)
如果需要使用旧版端点,可参考:
LIB CONNECT TO 'Neo4j_REST'; // 编码Cypher查询以适配URL参数 LET vCypherQuery = 'MATCH (n:YourNodeLabel) RETURN n.node_property1, n.node_property2'; LET vEncodedQuery = UrlEncode(vCypherQuery); // 通过GET请求加载数据 Load * from [db/data/cypher?query=$(vEncodedQuery)] (xml, table is "/results/row");
3. 关键注意事项
- 先在Neo4j Browser中验证Cypher查询的有效性,确保能返回预期数据后再放到Qlik脚本中
- 若请求失败,检查:端点地址是否正确、认证信息是否匹配、沙箱实例是否处于运行状态
- QlikSense的REST连接器需允许POST请求,配置时确保未限制请求方法
内容的提问来源于stack exchange,提问作者Shruthi B.K
相关产品推荐
相关产品推荐

