在Neo4j中找到与时间相关的模式

时间:2017-09-02 12:32:08

标签: neo4j cypher

Ich在Neo4j中设计了一个图表,代表机器,在这些机器上执行的事件以及这些机器上发生的问题。每个事件和每个问题都附加到时间树节点。下图显示了一台机器的示例,包括其事件和问题。

现在我尝试找到导致机器出现问题的模式。例如。如果机器每天有5个事件;或每天2次,连续5天; - 然后在x%的机器问题出现。或者如果机器长时间不使用,他们更有可能遇到问题......等等。

所以我正在寻找一种使用时间树找到与时间相关的模式的方法。

目前我正在寻找两种方式的模式:

  1. 根据事件类型和相关特征计算在问题发生之前发生的事件数。 - 但过于琐碎,时间距离不包括在内

  2. 类似机器的多个事件流(如图片所示)的并行可视化和手动搜索异常。使用Graphileon InterActor,可以更好地工作 - 但由于我使用了数百台类似的机器,因此不是一个很好的解决方案......

  3. 有没有办法使用CYPHER找到与时间相关的模式?时间树的连通性应该使它成为Neo4j的一个很好的用例吗?

    enter image description here

1 个答案:

答案 0 :(得分:1)

由于您尝试在图表中发现未知模式,因此您尝试进行图表全局操作

此类操作通常使用图形计算引擎进行,而不是使用图形数据库,如Neo4j。

本书Graph Databases的作者(Ian Robinson,Jim Webber和Emil Eifrem)说:

  

图形计算引擎是一种支持全局图形的技术   针对大型数据集运行的计算算法。图形   计算引擎旨在执行诸如识别集群之类的事情   您的数据,或回答诸如“有多少关系”之类的问题   平均而言,社交网络中的每个人都有吗?“

(第" 图形计算引擎",第7页)

本书作者提出的一些工具:

另外,在书中Learning Neo4j(章节" 为什么不使用图形数据库,以及使用什么",第40页),Rik Van Bruggen表示:

  

虽然图形数据库在回答“本地图形”时非常强大。问题,有一个   整个图形工具类别(通常称为图形处理   查看全局图的引擎或图形计算引擎   问题。

那就是:Neo4j可能不是回答图形全局操作(如模式发现)的好工具。

  

时间树的连通性应该使它成为Noe4j的一个很好的用例吗?

是的,但要进行CRUD操作,而不是图表全局操作。