Graphs Python存储由Graphs-graph-db理论组成的graph-db

2024-10-06 13:25:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在构建一个位于图数据集上的应用程序,这个图中的节点可以是其他较小的图,其中的节点可以连接到主图的节点。你知道吗

A(画得不好,对不起:D)ASCII艺术来补偿我(画得不好,对不起:D)英语:

               //       \\BAR
              ||(x)---(y)||
              ||      /  ||\
              ||    (z)  ||\\
               \\    |  //  \\
              //     |       \\_________
             //      |                  \
            //       |             //    \           \\
FOO        //        |             ||(harry)---(terry)||
 //       \\         |             ||          /      ||WORLD
||(a)---(b)||        |            /||    (jerry)      ||
||  \      ||        |           // \\                //
||   (c)   ||       /  //      \\/
 \\   |   //       /  || HELLO ||
      \___________/    \\     //

节点x、y和z是条形图的节点,FOO图的a、b和c,harry ecc也是。。还有世界图。你知道吗

FOO、BAR、WORLD和HELLO是主大图的节点。你知道吗

在这个结构中,FOO的一个节点连接到BAR(c->;z)中的一个节点,这是一个棘手的部分)WORLD的一个节点连接到BAR(harry->;BAR)。你知道吗

我知道如何用python中的Networkx实现这一点,但是如何将其保存到db中呢?你知道吗

我自己也在想解决办法,但我想知道是否有一个理论或类似情况的一些技术。你知道吗

到目前为止,我的解决方案(使用neo4j)是用标签“FOO”标记a b和c,并制作一个单独的图形,将FOO连接到BAR,ecc。。我的方向对吗? 你知道一些更聪明的解决方案吗?你知道吗

谢谢

[编辑:更正名称]


Tags: 数据gt应用程序helloworld节点fooascii
1条回答
网友
1楼 · 发布于 2024-10-06 13:25:14

在图中没有标记“J”,所以在这个答案中我将忽略它(以及HELLO,不管是什么)。你知道吗

[已编辑]

您只需要每个子图的单个节点实例,它们都可以有标签Subgraph。我将在下面将这些节点命名为foobarworld。你知道吗

(foo:Subgraph {name: "Foo"})
(bar:Subgraph {name: "Bar"})
(world:Subgraph {name: "World"})

然后可以指示哪些节点是哪个子图的成员:

(foo)-[:MEMBER]->(a)
(foo)-[:MEMBER]->(b)
(foo)-[:MEMBER]->(c)

(bar)-[:MEMBER]->(x)
(bar)-[:MEMBER]->(y)
(bar)-[:MEMBER]->(z)

(world)-[:MEMBER]->(harry)
(world)-[:MEMBER]->(terry)
(world)-[:MEMBER]->(jerry)

您还可以拥有连接成员节点和整个子图的关系:

(c)-[rel1]->(z)
(harry)-[rel2]->(bar)

相关问题 更多 >