仅使用属性值提取节点和关系

时间:2019-01-24 10:05:42

标签: neo4j cypher

我试图根据节点的属性值提取节点及其关系。


到目前为止的背景和进展:

我正在尝试使用Stanford CoreNLP RegexNER在给定的句子中找到命名实体。

我给出的句子是:I want to travel by my own car from Pune to Bangalore what is my reimbursement

所以我得到的是命名实体:

  • Pune-位置
  • Bangalore-位置
  • own car-车辆类型

我在Neo4J中静态构造了一个图,如下所示:

enter image description here


问题:

因此通过REST API给出了一个句子:I want to travel by my own car from Pune to Bangalore what is my reimbursement

我需要构造一个动态密码查询,该查询将遍历图形并提供节点关系和节点值。

我尝试使用apoc.path.expandConfig存储过程。

这是我编写的密码查询,假设我从Stanford CoreNLP中获得了命名实体,但它给了我错误的输出。

MATCH (e1), (e2)
WHERE e1.name in ['Bangalore', 'Pune'] AND e2.name = 'OwnCar' 
CALL apoc.path.expandConfig(e1, { terminatorNodes: [e2], limit: 5  }) YIELD path
WITH [relation in relationships(path) | type(relation)] as rel, nodes(path) as nodes
RETURN { Relations: rel, Nodes: nodes } as results

enter image description here


更新

我想遍历图并输入以下句子的reimbursement value

enter image description here

这是需要的遍历方向。

最终输出必须为Rs8


主要问题是仅在属性值减去关系的情况下查询图形,因为无法从Stanford CoreNLP获得关于遍历的确切关系。

在解决这个问题时,我可能完全错了,我完全失去了选择的权利,但是我需要以某种方式遍历图并得到结果。

任何帮助将不胜感激。

0 个答案:

没有答案