我正在尝试将数据流的信息转移到DB中。数据流如下所示:
E_App1向I_App1发送数据。然后,I_App1将这些数据发送给I_App3。然后,I_App3将这些数据发送给I_App5。E_App2向I_App2发送数据。然后,I_App2将这些数据发送给I_App3。然后,I_App3将这些数据发送给I_App5。E_App3向I_App2发送数据。然后,I_App2将这些数据发送给I_App4。然后,I_App4将这些数据发送给I_App5。然后,I_App5将这些数据发送给I_App6。E_App4向I_App3发送数据。然后,I_App3将这些数据发送给I_App5。然后,I_App5将这些数据发送给I_App6。E_App5向I_App2发送数据。然后,I_App2将这些数据发送给I_App4。然后,I_App4将这些数据发送给I_App5。
我正在考虑使用“发送数据”关系中的一个名为" of“的属性,该属性将包含正在发送的数据的名称,以便跟踪特定应用程序的流程。下图线上的一些东西。是否可以查询OF值,例如“显示其值仅包含E_App4的所有关系”?
这是我第一次尝试Graph,我正在考虑使用它,因为关系是复杂的。我不是来找高性能的。为了能够跟踪特定应用程序的流程,我还需要遵循其他方法吗?
指向图表的链接:Modeling.jpg
发布于 2015-06-29 17:24:50
您的关系图有点复杂,但您所要求的只是查找那些类型为OF
的关系,并将节点类型为E_App4
作为结束节点。开始节点上没有restricion。
因此,这个查询应该可以工作:
match (startNode) -[of:OF]->(endNode:E_App4) return startNode, of, endNode;
当然,这假定如下:
->
并将其替换为-
。OF
类型的关系。请注意,这个名字区分大小写。必须用OF
标记关系。E_App4
。编辑
再读一遍你的问题,show all relations whose OF value contains E_App4 only
,我想我误解了你。你在问你能不能检查一下这段关系的价值。是的你可以。以下是查询:
match (startNode) -[of:OF]->(endNode) where has(of.property) and of.property = "E_App4" return of;
这假定:
property
property
的关系。如果你们的关系没有这把钥匙,那么这些关系就不会被计算在内。发布于 2015-09-03 06:52:16
谢谢拉什,这对我有帮助。我被困在定义过滤器,但一些搜索帮助我找到了如何使用*。这是给像我这样可能被困住的人:
图就像这样,有很多节点,并且混淆了与数据属性的关系,只包含标识信息。
z-[send]->b
y-[send]->b
w-[send]->d
x-[send]->c
q-[send]->c
b-[send]->c-[send]->e
also c-[send]->d
每个关系的数据属性都有它所携带的源。因此,远距离的关系将在"send“关系的"Data”属性中以数据的方式定义许多源:“ABC、XYZ、QWR、SDF、TYOP、Zxcvb”。
//to know which all send relations have ABC part of Data property
MATCH ()-[r:send]->() WHERE r.Data =~ ".*ABC.*" RETURN r
//to know which all send relations have TYOP part of Data property
MATCH ()-[r:send]->() WHERE r.Data =~ ".*TYOP.*" RETURN r
我希望这能帮助那些还在参与这一切的人。
https://stackoverflow.com/questions/31121701
复制相似问题