3个有力的查询以在您的知识图中查找图案,您以前没有注意到
#database #datascience #memgraph #knowledgegraph

今天,公司不必担心缺乏数据。一切都记录在不同的数据库和技术中。当前的问题是,公司可以从所有数据中得出结论,如果数据表明该公司改变业务方式的时候尤其是灾难性的。

创建一个大的互连数据网络作为图形是公司完整了解其业务并了解其方向的关键第一步。

首先,数据收集到一个地方。然后创建图形,并将语义层放在顶部,其中包含有关数据的信息,从而creating a knowledge graph。分析知识图会发现数据中的新信息。

要创建知识图,您必须谨慎选择选择哪种工具集。如果您需要使用几种不同的解决方案,则不可能完全收集数据,因此无法分析数据。最终结果是决策缓慢。一个极好的工具是图形数据库,即designed to explore relationships and hop through data。使用无法探索关系和跳跃的工具,需要大量编码以在分析中做出几个初始步骤。

作为图形数据库,Memgraph完全符合知识图用例。它还提供free and open-source graph analytics algorithms。由于每个业务都需要解决独特的问题,因此一种算法不能很好地解决所有问题。这就是为什么图书馆试图提供广泛的分析算法。最好的部分是您的团队不必担心编写一行代码。他们可以专注于创建知识图,理解数据并理解它。

Graph Analytics只是众多大块之一。 Memgraph也是一个内存的图形数据库,这意味着您必须等待一整天的图形分析算法来吐出结果或获得过时的结果。但是,拥有内存数据库并不意味着丢失数据是可能的,因为使用磁盘存储获得了备份和数据持久性。

与Memgraph一样,使用属性图对数据进行建模是有道理的,因为您可以通过检查它们的关系来查看所有节点以及它们如何相互关系。在处理了多年的关系数据库之后,甚至很难想象哪些复杂的问题图数据库可以回答。关系数据库无法提供此类答案,或者执行时间甚至花很多时间,甚至不尝试。

在此博客文章的其余部分中,您将看到可以使用哪种算法来提出特定问题并查询图形数据库,这将帮助您发现隐藏在数据中的知识。

模式匹配问题

发现图形新知识的最简单方法是模式匹配。模式匹配是对数据的基本探索,其中数据库搜索具有与特定类型与另一节点相关的特定标签的节点。换句话说,它搜索您定义的数据的形状并检索结果。

内容和联系

在金融中,公司经常质疑一个帐户是否连接到另一个因欺诈活动而闻名的帐户。如果一个帐户连接到欺诈活动,则所有中介帐户也可能连接到它,就像一连串的手帕一样。

3-powerful-queries-to-find-patterns-in-your-knowledge-graph-you-havent-noticed-before

使用Memgraph和基本模式匹配,您可以通过以下查询发现此类连接:

MATCH p1=(n:Node1)-[*]->(m:Node2), p2=(n)-[*]->(m), (n)-[r]->(f:FraudulantActivity)
WHERE p1!=p2
RETURN nodes(p1)+nodes(p2)

上面的查询在名为n和名为m的节点之间寻找不同的路径p1p2,并在那些不同的路径上返回此类节点。如上所述,此类节点可能是一些欺诈活动的一部分。

通用性

图形分析使思考因果关系变得更加容易。知识图特别可以使用有关业务流程的一些先验知识来推断新知识。

在金融中,当同一个人控制某些公司时,这可能是非法活动的暗示。很难使用关系数据库找到一个共同的分母,因为不可能知道您需要深入研究公司的所有权,并且可能有不同的所有者。

图形数据库可以搜索某个实体的共同祖先或后继者,例如下图,无论数据库需要搜索的深度或数量如何:

3-powerful-queries-to-find-patterns-in-your-knowledge-graph-you-havent-noticed-before/memgraph-commonality

用Cypher编写的查询如下:

MATCH (n1:Node1 {prop:"a"})
CALL graph_util.descendants(n1)  YIELD descendants as descendants_n1
WITH descendants_n1
MATCH (n2: Node2 {prop:"b"})
CALL graph_util.descendants(n2) YIELD descendants as descendants_n2
UNWIND descendants_n1 as dn1
WITH dn1
WHERE (dn1 IN descendants_n2) = true
RETURN dn1;

上面的查询将首先找到Node n1的所有后代和Node n2的所有后代。如果还有一些Node n1的后代,它也是Node n2的后代,那么我们找到了一个共同的后代,这正是共同点正在寻找的。

替代行动

错误一直在发生。一旦这样做,最重要的问题是如何软化打击。在金融中,一旦某个分支被停用,我们就需要找到另一种转让资金的方法。

要这样做,我们需要找到内容对等。内容等价发现两个节点之间的类似路径。它有助于保护业务免受金融链中某些地点的未来失败。它通过在两个节点之间找到替代路径来做到这一点。它涉及节点跳跃和模式匹配,两个操作图数据库,尤其是MEMGRAPH。

3-powerful-queries-to-find-patterns-in-your-knowledge-graph-you-havent-noticed-before/memgraph-alternative-action

在memgraph中,您会问一个问题,请通过以下查询:

MATCH p=(n:Node3 {prop:"c"})-[r *wShortest (e,v | 1) sum]->(t:Target), (n2:Node2 {prop:"b"})
WHERE not n2 in nodes(p)
RETURN p
ORDER BY sum DESC;

以下查询找到启动节点n和end node t之间的最短路径。它从最短的路径开始返回路径;因此,您可以看到最有效的方法来代替当前的解决方案,以防万一某些事情在此过程中失败。

结论

模式匹配听起来不像是一个浮华的分析工具,而是与Graph Analytics算法相结合,它是一个强大的工具,可以分析几乎所有现实世界的图形,无论其复杂程度如何。因此,如果您在整个地方都挣扎着散布着高度连接的数据,请不要犹豫使用图形数据库并采用图形分析和模式匹配来发现新知识。一个关系数据库甚至可以开始思考,更不用说提供了。使用知识图来发现欺诈活动或找到可以帮助避免风险的替代行动。

Read more knowledge graphs on memgraph.com