问题标签 [subgraph]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
231 浏览

python - Networkx,DIAC图,来自具有深度限制的节点的子图

我有一个用 networkx 构建的有向图,它有 37379 个节点和 61263 个边。我想提取一个节点目标,一个仅包含目标节点和链接到它的第一个节点的子图。

我在这里尝试了答案,它只为我绘制了目标节点。我错过了什么吗?我检查了我的图中是否有边(我只是输出为 json 并看到“源和目标”项目)

0 投票
2 回答
4228 浏览

python - 将 Neo4j 子图加载到 Networkx

我一直在通过 python 的 Bulbflow 处理 Neo4j,现在需要一种方法来保存/导出子图。我已经看到了 Java 甚至 Ruby 方法来做到这一点,但是一个简单的 Python 方法似乎对我隐藏了..

到目前为止,我发现了两条可能的路径:

  1. 通过py2neo访问Geoff,但令人惊讶的是,很少有文档用于从大型本地 neo4j 数据库或 neo4jserver 中提取子图。

  2. 使用Networkx:我发现 networkx 可以从许多不同格式加载图形(我不确定 neo4j 存储它们的 dbs 的格式),但是我还没有找到将仅一个子图提取到 Networkx 中的方法。我认为这应该通过 gremlin 查询来完成,但我不知道该怎么做。

我偏爱 Networkx 路径,因为它还带有我希望应用于子图的网络分析算法。我觉得它也可以避免 Bulbflow 和 py2neo 之间的潜在冲突,尽管我不确定这种冲突是否会存在。

任何建议将不胜感激!

提前致谢

0 投票
1 回答
430 浏览

neo4j - 从 neo4j 数据库中提取子图

我在 neo4j 数据库中有一个图表。我想提取给定特定节点和特定深度的子图。
我尝试使用遍历框架,但它只返回一组路径。它提供了到达特定深度的路径。如何根据获得的路径集构建子图?有没有其他方法可以获得所需的结果?

0 投票
2 回答
4814 浏览

python - NetworkX:边和节点属性的子图同构

假设我有 2 个图 A 和 B,我想知道 A 是否是 B 的子图。节点包含属性,比如“大小”和“材料”。

当我运行时:

这仅按边匹配图,而不是按边和属性匹配。

关于如何检查属性的任何线索?

此外,假设 B 包含 A 的 2 个连通图。

当我运行时:

这将只输出 A 的一个子图。关于如何输出每个子图的任何想法?

0 投票
1 回答
878 浏览

neo4j - 如何在neo4j中找到最大的连通子图

是的,就像标题说的,我在neo4j中存储了一个社交图,大约100万个节点和2000万个关系,我想得到最大的连通子图,这样我就可以继续我的工作了。现在我编写了一个程序来做到这一点,我使用 DFS() 来找到最大的连接子图。如果它是健全的,我删除那些未连接的节点。但是需要3个小时.....所以我的问题是:有没有更有效的算法来找到最大的连通子图?任何建议都会有所帮助~谢谢!

0 投票
1 回答
1933 浏览

gstreamer - Graphviz 子图看起来像记录形状的节点

我正在尝试为有许多嵌套箱的 GStreamer 应用程序生成图表。每个 bin 都有一些元素,但父 bin 的 bin 看起来像任何其他具有 pad(接收器和源)的常见元素。我想可视化它,但在 Graphviz 中我无法生成嵌套节点,所以我必须通过子图来完成。不幸的是,子图没有像记录形状这样的节点选项。在我的图中,每个节点都有记录形状,但子图不能。例子:

在此处输入图像描述

正如您现在可以看到的,垃圾箱中的源和接收器就像普通元素一样,但我希望它们看起来像“obj1”中的记录。怎么做?如果不可能,也许还有其他语言具有该功能?

0 投票
1 回答
101 浏览

graph - Pick all subgraphs by a specific pattern from a graph

So I'm looking forward to pick a lets say a triangle/square/../hexagon from a graph.

What do i mean by that:

and

output m-n-o, x-y-z, s-t-u
(where each of this subgraphs respect that relation ship pattern of the vertex)

How to solve this: It has to be a raw version not with optimisations or other stuff, but without backtracking / recursion.

Solution: transpose the vertexes to a matrix and do combinations in for loops.

The problem i have: for instance if i want my graph to accept up to octogns, do I need to make 8 for in for's ?!

0 投票
3 回答
6320 浏览

neo4j - 在 neo4j 中提取子图

我有一个存储在 Neo4j 中的大型网络。基于特定的根节点,我想在该节点周围提取一个子图并将其存储在其他地方。所以,我需要的是符合我的过滤条件的节点和边集。

Afaik 没有可用的开箱即用解决方案。有一个可用的图形匹配组件,但它仅适用于完美匹配。Neo4j API 本身只定义了图遍历,我可以使用它来定义应该访问哪些节点/边:

现在,我可以将所有节点/边添加到所有路径的集合中,但这非常低效。你会怎么做?谢谢!

编辑将每个遍历的最后一个节点和最后一个关系添加到子图中是否有意义?

0 投票
1 回答
129 浏览

sage - 在 SAGE 中计数和列出主题

该问题在http://ask.sagemath.org/question/2612/motifs-and-subgraphs中得到了正确回答

我正在计算随机有向网络中 3 基元(连接子图的 3 节点等容类)的数量。这个有13个。一个是,例如 S1={1 -> 2, 2 -> 3} 和另一个 S2={1 -> 2, 2 -> 3, 1 -> 3}:它们是两个不同的主题,我不会当我真正找到 S2 时,不计算 S1。问题是 S1 在 S2 中,因此 subgraph_search() 在每个 S2 中找到一个 S1 并且所有相关函数都继承了问题(错误计数,错误迭代器......)。

知道如何解决这个问题吗?类似的事情会发生在 4 个节点的图案上,依此类推......我可以在计算出 S2 之后从图中删除它们,但这确实是一个可怕的技巧(如果我还想计算 4 个图案,那就很危险了) .

我使用的代码如下:

0 投票
1 回答
630 浏览

java - Neo4j中的诱导子图

我在neo4j中有一个图,对于给定的节点N,我想找到从N开始不超过P步的路径中可到达的所有节点,以及该组节点之间的所有链接。似乎这可以通过 Cypher 或 Traversal 框架实现;一个比另一个更受欢迎吗?我正在使用嵌入式数据库从 Java 执行此操作,并且我需要对子图执行进一步的查询。我四处寻找,并没有找到任何确凿的答案。