gpt4 book ai didi

neo4j - neo4j 中的基于时间的数据

转载 作者:行者123 更新时间:2023-12-03 11:01:20 25 4
gpt4 key购买 nike

有一个关于图形数据库的问题,有人可以帮助我吗?我是
在mysql中处理相当多的数据,每天大约有500万条记录由一个发送
路由器之类的设备、接入点、无线网桥。数据是
通常是健康数据、gps 等……这些是车辆上的设备。怎么办
您在图形数据库中处理基于时间的数据?有没有人申请
neo4j 用于基于时间的数据?很高兴知道您如何查询
间隔以及您将如何进行建模。

我想我可以为每次接收数据时创建一个节点
每次设置的属性都像改变了gps,健康?这将是一个时间
基于图形 - 听起来对吗?
有 500 万行 mysql 的表现并不差 - 但随着路由器变得新
功能新数据通过,我需要创建新模型
再次,这还不错但不是很好。
我想要一些半结构化的东西,并使关联不同
诸如用户被踢出的原因是因为接入点
关联到路由器已关闭。我通常的疑问是提出
警告说其中一个设备已关闭或是否减少了
吞吐量等。neo4j 会帮助我结合这些关系吗
比mysql更好?

很想知道你们的想法,任何评论+想法
赞赏。

最佳答案

有关如何使用时间尺度进行基于时间的图形存储的教程,请参阅以下 GraphGist。

http://gist.neo4j.org/?github-kbastani%2Fgists%2F%2Fmeta%2FTimeScaleEventMetaModel.adoc

Time Scale Graph

在上面建模的时间尺度图中,从蓝色节点到透明节点的最短路径遍历构成了以比特为单位的唯一时间标识。

红色路径追踪的身份是0→1→0→1→0→0。反向路径是 0→0→1→0→1→0 或简单的 001010,以比特为单位的唯一标识。

MATCH p=shortestPath((n1:d)-[:child_of*]->(n2:y))
WHERE n1.key = 'd10'
RETURN DISTINCT reduce(s = '' , n IN nodes(p)| n.tempo + s) AS TimeIdentity
ORDER BY TimeIdentity

上面的 Cypher 查询模拟了从蓝色节点到透明颜色节点的最短路径遍历。这是一个位串,表示可以根据事件在时间尺度事件子图上的位置按事件排序的时间标识。

请参阅下面的时间尺度事件子图:

Time Scale Event Subgraph

上图表示与一系列事件 (met) 相关的时间尺度。在图像中表示为三角形节点的事件也连接到特征层次(John、Sally、Pam、Anne),然后进一步泛化为类(人)。

现在,您可以像我之前列出的那样运行 Cypher 查询,然后将事件按发生时间排序为位字符串。注意:您应该将时间戳应用于检索实际时间的节点。每个蓝色节点代表一个时间分隔的事件,但不一定是实际时间,只是按顺序发生的事件的表示。
MATCH p=(p0:person)-[:event]->(ev)-[:event]->(p1:person)
WITH p, ev
MATCH time_identity = (d0:d)<-[:event]-(ev)
WITH d0, p
MATCH p1=(d0)-[:child_of*]->(y0:y)
RETURN extract(x IN nodes(p)| coalesce(x.name, x.future)) AS Interaction, reduce(s = '' , n IN nodes(p1)| n.tempo + s) AS TimeIdentity
ORDER BY TimeIdentity

时间尺度中的层次结构允许您对事件进行分组并查看更高级别的表示。因此,选择橙色节点下方的所有绿色节点会选择 4 个可能的事件(由蓝色节点表示)。

如果您有任何问题,请告诉我,并确保访问 GraphGist 以查看时间尺度事件子图的更多详细信息和实际示例。

关于neo4j - neo4j 中的基于时间的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9432916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com