小编Ber*_*ert的帖子

使用Neo4j + Cypher查找节点及其连接的子图

我正在使用Neo4j 2.1.7和Node.js来构建REST API.数据 - 大约70.000个节点和100.000个关系 - 包含许多小的连接子图.

例如localhost:8000/search?name=Bussum,一个API调用应返回所有命名Bussum的节点及其所属的连接组件.

插图:

连接组件

(来自维基百科的图片)

我可以通过这样的查询获得我需要的所有数据:

MATCH (a {name: "Bussum" })-[r*]-(b) 
UNWIND rels AS rel 
RETURN distinct startNode(rel) AS a, type(rel), endNode(rel) AS b
Run Code Online (Sandbox Code Playgroud)

但是这样的查询将返回所有三元组(a)-[r]-(b)(不按组件/子图分组).当然,我可以在Node.js中重建图形并自己找到子图,但这根本不是最好的解决方案.是否可以将返回的数据分组到子图/组件的数组/集合中?哪个Cypher查询更符合我的用例?或者我应该考虑使用Neo4j Java API吗?

谢谢!伯特

neo4j graph-databases cypher

5
推荐指数
1
解决办法
3415
查看次数

自然语言时间解析器

我正在尝试将包含(自然语言)时间的字符串解析为hh:mm时间对象?例如:

"ten past five"
"quarter to three"
"half past noon"
"15 past 3"
"13:35"
"ten fourteen am"
Run Code Online (Sandbox Code Playgroud)

我已经研究过Chronic for Ruby和Natty for Java(以及其他一些库),但两者似乎都专注于解析日期.像"十点五分"这样的字符串也没有正确解析.

有谁知道一个适合我需求的图书馆?或者我应该开始使用自己的解析器吗?

python time parsing nlp

3
推荐指数
2
解决办法
3147
查看次数

标签 统计

cypher ×1

graph-databases ×1

neo4j ×1

nlp ×1

parsing ×1

python ×1

time ×1