简介
Neo4j 数据库是开源的高性能 NOSQL 图形数据库,图数据库用来解决现有关系数据库的局限性,图模型明确地列出数据节点之间的依赖关系,可以简单快速地检索难以在关系系统中建模的复杂层次结构。Neo4j 数据库适合处理复杂关系,应用在欺诈检测、推荐系统、社交网络图、身份和访问管理等领域。
Neo4j 连接器可连接第三方 Neo4j 数据库系统并执行节点的增删改查和 CQL 操作。用户通过连接器配置来配置数据库的连接参数,配置成功后便可执行对应的数据库操作。
连接器配置
配置参数
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
连接URL | string | 用于连接 Neo4j 数据库的 URL | 是 | - |
用户名 | string | 用于连接验证的用户名 | 否 | - |
密码 | string | 用于连接验证的用户密码 | 否 | - |
数据库 | string | 连接的数据库名称 | 否 | - |
连接超时时间 | int | 连接超时时间(单位秒),最长超时时间为30秒 | 否 | 5 |
配置界面
![image-20210520153224585](https://qcloudimg.tencent-cloud.cn/image/document/d64d84728863edd3915cf20cbfcef401.png)
![image-20210520153224585](https://qcloudimg.tencent-cloud.cn/image/document/d64d84728863edd3915cf20cbfcef401.png)
操作说明
Neo4j 连接器目前支持创建节点、查询节点、删除节点、更新节点、执行 CQL 语句等操作。
参数配置
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
节点标签名称 | string | 待创建节点的标签名称 | 是 | - |
节点属性 | dict | 待创建节点的属性,key 为属性名称,value 为属性值 | 否 | - |
![image-20210520171116857](https://qcloudimg.tencent-cloud.cn/image/document/cc0868a3f8cfb0132100371a0275a370.png)
![image-20210520171116857](https://qcloudimg.tencent-cloud.cn/image/document/cc0868a3f8cfb0132100371a0275a370.png)
输出
查询操作执行成功后,输出结果会保存在 message 消息体的 payload;执行失败后,错误信息会保存在 message 消息体的 error。
组件输出的 message 信息如下:
message 属性 | 值 |
payload | 执行成功后,payload 为 int 类型,返回创建成功的节点数量;执行失败后,payload 为空 |
error | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息 |
attribute | 继承上个组件的 attribute 信息 |
variable | 继承上个组件的 variable 信息 |
案例
1. 添加 Neo4j 连接器组件,选择创建节点操作。
![image-20210520171439537](https://qcloudimg.tencent-cloud.cn/image/document/e639012b98fda444a7729a073264f0e4.png)
![image-20210520171439537](https://qcloudimg.tencent-cloud.cn/image/document/e639012b98fda444a7729a073264f0e4.png)
2. 新建连接器配置,填写配置参数,单击测试连接,测试连接器配置是否正确。
![image-20210520171520885](https://qcloudimg.tencent-cloud.cn/image/document/12944e33777dbbfa96a29603712ec917.png)
![image-20210520171520885](https://qcloudimg.tencent-cloud.cn/image/document/12944e33777dbbfa96a29603712ec917.png)
3. 在通用配置中,填写节点标签名称和节点属性信息。例如:标签名称填写为 person、节点属性 item_1 的 key 为 name、value 为 'xiaoming'、item_2 的 key 为 age、value 为18。
![image-20210520171945127](https://qcloudimg.tencent-cloud.cn/image/document/7c5d407b752b27a0e9ef25199f352a86.png)
![image-20210520171945127](https://qcloudimg.tencent-cloud.cn/image/document/7c5d407b752b27a0e9ef25199f352a86.png)
节点属性:
![image-20210520172021477](https://qcloudimg.tencent-cloud.cn/image/document/f470cf88aa5828d9938e15d54671e7b9.png)
![image-20210520172041721](https://qcloudimg.tencent-cloud.cn/image/document/e6abcaabe28471052ba7313f604e0ac6.png)
![image-20210520172021477](https://qcloudimg.tencent-cloud.cn/image/document/f470cf88aa5828d9938e15d54671e7b9.png)
![image-20210520172041721](https://qcloudimg.tencent-cloud.cn/image/document/e6abcaabe28471052ba7313f604e0ac6.png)
4. 创建成功后,message payload 返回创建节点的数量。
![image-20210323113311938](https://qcloudimg.tencent-cloud.cn/image/document/b041abf154c28fb13724b89a9f09e11f.png)
![image-20210323113311938](https://qcloudimg.tencent-cloud.cn/image/document/b041abf154c28fb13724b89a9f09e11f.png)
5. 若执行过程中出现错误,message error中会包含错误信息。
![image-20210322192839811](https://qcloudimg.tencent-cloud.cn/image/document/8157db5c027fc2462d363c6fcb7ed44f.png)
![image-20210322192839811](https://qcloudimg.tencent-cloud.cn/image/document/8157db5c027fc2462d363c6fcb7ed44f.png)
参数配置
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
节点标签名称 | string | 待查询的节点标签名称 | 是 | - |
节点属性 | dict | 节点属性,根据节点属性作为查询过滤条件,不填则返回标签下所有节点 | 否 | - |
![image-20210520184724126](https://qcloudimg.tencent-cloud.cn/image/document/5ecebf25cbdbcedfa37f5423df43e54d.png)
![image-20210520184724126](https://qcloudimg.tencent-cloud.cn/image/document/5ecebf25cbdbcedfa37f5423df43e54d.png)
输出
操作执行成功后,输出结果会保存在 message 消息体的 payload;执行失败后,错误信息会保存在 message 消息体的 error。
组件输出的 message 信息如下:
message 属性 | 值 |
payload | 执行成功后,payload 为 list 类型,list 成员为 dict 类型,表示节点的属性信息;执行失败后,payload 为空 |
error | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”元素:“Code”表示错误类型,“Description”表示错误具体信息 |
attribute | 继承上个组件的 attribute 信息 |
variable | 继承上个组件的 variable 信息 |
例如:查询操作执行成功后,查询返回两个节点的属性信息,message payload 值如下:
[{"age": 18,"name": "xiaohua"},{"age": 18,"name": "xiaoming"}]
案例
1. 添加 Neo4j 连接器组件,选择查询节点操作。
![image-20210521095822998](https://qcloudimg.tencent-cloud.cn/image/document/471e45c5c06a72b6924abe37b21eb4b2.png)
![image-20210521095822998](https://qcloudimg.tencent-cloud.cn/image/document/471e45c5c06a72b6924abe37b21eb4b2.png)
2. 新建连接器或选择已创建的连接器。
3. 在通用配置中,填入节点标签名称和节点属性。例如:标签名称填写为 person、节点属性 item_1 的 key 值为 age、value 值为18,即可筛选出 age 属性值为18的节点。
![image-20210521100202113](https://qcloudimg.tencent-cloud.cn/image/document/43fc1edcd946f26b13c2a3fa082dd83e.png)
![image-20210521100202113](https://qcloudimg.tencent-cloud.cn/image/document/43fc1edcd946f26b13c2a3fa082dd83e.png)
4. 查询成功后,message payload 中包含执行结果,返回 age 属性为18的两个节点信息。
![image-20210521100419381](https://qcloudimg.tencent-cloud.cn/image/document/419fe9a92ba5630d0703c8e8e17bd7c6.png)
![image-20210521100419381](https://qcloudimg.tencent-cloud.cn/image/document/419fe9a92ba5630d0703c8e8e17bd7c6.png)
参数配置
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
节点标签名称 | string | 待删除的节点标签名称 | 是 | - |
节点属性 | dict | 节点属性,根据节点属性作为删除条件,不填则更新标签下所有节点 | 否 | - |
更新后的节点属性 | dict | 更新后的节点属性 | 是 | - |
![image-20210521101343734](https://qcloudimg.tencent-cloud.cn/image/document/7bc093a1532d2e1e292b715c49f31162.png)
![image-20210521101343734](https://qcloudimg.tencent-cloud.cn/image/document/7bc093a1532d2e1e292b715c49f31162.png)
输出
操作执行成功后,输出结果会保存在 message 消息体的 payload;执行失败后,错误信息会保存在 message 消息体的 error。
组件输出的 message 信息如下:
message 属性 | 值 |
payload | 执行成功后,payload 为 Bool 类型,更新成功为 true,更新失败为 false;执行失败后,payload 为空 |
error | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”元素:“Code”表示错误类型,“Description”表示错误具体信息 |
attribute | 继承上个组件的 attribute 信息 |
variable | 继承上个组件的 variable 信息 |
案例
1. 添加 Neo4j 连接器组件,选择更新节点操作。
![image-20210521101205675](https://qcloudimg.tencent-cloud.cn/image/document/c5325bce94329c68d41b2a92a681a4ce.png)
![image-20210521101205675](https://qcloudimg.tencent-cloud.cn/image/document/c5325bce94329c68d41b2a92a681a4ce.png)
2. 新建连接器或选择已创建的连接器。
3. 在通用配置中,填入所需参数。例如:节点标签填写为 person、节点属性 item_1 的 key 值为 age、value 值为18,更新后的节点属性采用 Dataway 表达式输入。
def dw_process(msg):return {'name': 'abc','age': 30}
4. 执行成功后,message payload 中包含执行结果,true 表示更新成功。
![image-20210521105858364](https://qcloudimg.tencent-cloud.cn/image/document/aa8424764b1959d94d9443bbe8fed73d.png)
![image-20210521105858364](https://qcloudimg.tencent-cloud.cn/image/document/aa8424764b1959d94d9443bbe8fed73d.png)
再执行查询节点操作,可以看到两个节点已经完成更新。
![image-20210521105957969](https://qcloudimg.tencent-cloud.cn/image/document/4904f8cfa8d7af2e337b4821e486cf06.png)
![image-20210521105957969](https://qcloudimg.tencent-cloud.cn/image/document/4904f8cfa8d7af2e337b4821e486cf06.png)
参数配置
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
节点标签名称 | string | 待删除的节点标签名称 | 是 | - |
是否删除节点关系 | bool | 是否删除节点间的关系信息 | 否 | true |
节点属性 | dict | 节点属性,根据节点属性作为删除条件,不填则删除标签下所有节点 | 否 | - |
![image-20210521104644913](https://qcloudimg.tencent-cloud.cn/image/document/235cf81690204fe2b0718f767136f211.png)
![image-20210521104644913](https://qcloudimg.tencent-cloud.cn/image/document/235cf81690204fe2b0718f767136f211.png)
输出
操作执行成功后,输出结果会保存在 message 消息体的 payload;执行失败后,错误信息会保存在 message 消息体的 error。
组件输出的 message 信息如下:
message 属性 | 值 |
payload | 执行成功后,payload 为 int 类型,代表删除的节点数量;执行失败后,payload 为空 |
error | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”元素:“Code”表示错误类型,“Description”表示错误具体信息 |
attribute | 继承上个组件的 attribute 信息 |
variable | 继承上个组件的 variable 信息 |
案例
1. 添加 Neo4j 连接器组件,选择删除节点操作。
![image-20210521100615438](https://qcloudimg.tencent-cloud.cn/image/document/7ac18f0b998fccc8766d82866956fd3b.png)
![image-20210521100615438](https://qcloudimg.tencent-cloud.cn/image/document/7ac18f0b998fccc8766d82866956fd3b.png)
2. 新建连接器或选择已创建的连接器。
3. 在通用配置中,填写相关参数。例如:节点标签填写为 person、节点属性采用 Dataway 表达式输入,输入如下:
def dw_process(msg):return {'age': 30}
4. 删除成功后,message payload 中包含成功删除的节点数量。
![image-20210521110242528](https://qcloudimg.tencent-cloud.cn/image/document/97e09eafbb69cec7357fdb5b54d26241.png)
![image-20210521110242528](https://qcloudimg.tencent-cloud.cn/image/document/97e09eafbb69cec7357fdb5b54d26241.png)
参数配置
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
CQL语句 | string | 待执行的 CQL 语句,遵循 Cypher Query Language 标准的语句,支持原生 CQL 及参数化输入。参数化使用($+参数名称)输入 | - | - |
输入参数 | string | CQL 语句的输入参数,key 为参数名称,参数名称需要和 input 参数名称一致,value 为参数值 | 是 | - |
![image-20210521104754750](https://qcloudimg.tencent-cloud.cn/image/document/45b4a3eb105d639a3d24b56bf617416a.png)
![image-20210521104754750](https://qcloudimg.tencent-cloud.cn/image/document/45b4a3eb105d639a3d24b56bf617416a.png)
输出
操作执行成功后,输出结果会保存在 message 消息体的 payload;执行失败后,错误信息会保存在 message 消息体的 error。
组件输出的 message 信息如下:
message 属性 | 值 |
payload | 执行成功后,payload 为 dict 类型,包含4个字段:selectResult、createCount、deleteCount、containsUpdates。 selectResult 字段代表查询结果,对应的值为 list 类型,list 成员为 dict 类型,为节点的属性信息 createCount 代表创建的节点数量,对应的值为 int 类型 deleteCount 代表删除的节点数量,对应的值为 int 类型 containsUpdates 代表是否执行更新,对应的值为 bool 类型;执行失败后,payload 为空 |
error | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”元素:“Code”表示错误类型,“Description”表示错误具体信息 |
attribute | 继承上个组件的 attribute 信息 |
variable | 继承上个组件的 variable 信息 |
案例
1. 添加 Neo4j 连接器组件,选择执行 CQL 操作。
![image-20210521104542626](https://qcloudimg.tencent-cloud.cn/image/document/881b511ed32e5f4c9508e56fe254d138.png)
![image-20210521104542626](https://qcloudimg.tencent-cloud.cn/image/document/881b511ed32e5f4c9508e56fe254d138.png)
2. 新建连接器或选择已创建的连接器。
3. 在通用配置中,填入相关信息。例如:”CQL 语句“为
MATCH(n:person {age:$age}) RETURN n
,CQL 语句中包含 age 参数变量,输入参数采用 Dataway 表达式输入,如下:def dw_process(msg):return {'age': 18}
界面如图:
![image-20210521111606338](https://qcloudimg.tencent-cloud.cn/image/document/a75c7b06d707d30c1d533c0e6c3ce4fd.png)
![image-20210521111606338](https://qcloudimg.tencent-cloud.cn/image/document/a75c7b06d707d30c1d533c0e6c3ce4fd.png)
4. 执行成功后,message payload 中包含执行结果,由于执行的是查询命令,“selectResult”字段包含查询结果。
![image-20210521111640518](https://qcloudimg.tencent-cloud.cn/image/document/c3e552ec65b40af4910a15453113a389.png)
![image-20210521111640518](https://qcloudimg.tencent-cloud.cn/image/document/c3e552ec65b40af4910a15453113a389.png)