问题标签 [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.
r - To find number of patterns
For a dataset like:
I need to find the number of associated patterns. For example 21-79 and 21-186 have 21 in common. So they form 1 pattern. Also 21 is present in 4-21. This edge also contributes to the same pattern. Now 4-881, 4-212, 3-4 have 4 in their edge. So also contribute to the same pattern. Thus edges 21-79, 21-186, 4-21, 4-881, 4-212, 3-4 form 1 pattern. Similarly there are other patterns. Thus we need to group all edges that have any 1 node common to form a pattern (or subgraph). For the dataset given there are total 4 patterns.
I need to write code (preferably in R) that will find such no. of patterns.
neo4j - 将一个节点与密码子图中的所有节点匹配
我对 Neo4j 很感兴趣,我需要知道如何找到与给定子图的每个节点都有关系的节点。
让我们用一个例子来解释一下:
(我的数据库中有大约 15000 个节点)
现在,给定子图 (c1:Thing),(c2:Thing),...(cn:Thing) 我想知道所有不是 (c1),...,(cn) 但它们与 (c1),...,(cn) 的每个节点都有关系
换句话说,我会在关系存在的地方找到 Cj: (Cj)-[r1]-(c1) 。. . (Cj)-[rn]-(cn)
而 j 不在 {1, ...., n}
所以基本上我想匹配像 c6 这样的节点,那些与子图的每个节点(红色节点)连接的节点。
注意:给定的子图可以有任意数量的节点(n 是可变的)。
我的第一个想法是:
MATCH (c1:Thing)-[r1]-(suggest:Thing), (c2:Thing)-[r2]-(suggest:Thing), .... ,(cn:Thing)-[rn]-(suggest :Thing) WHERE c1.id=1 AND ..... AND cn.id=n AND NOT(suggest.id IN [1, ...., n]) RETURN c1, r1, ...... , cn, rn, 建议;
但是当我们有一个很大的“n”时,这真的很糟糕。
你可以帮帮我吗?
感谢,并有一个愉快的一天!
r - R中的igraph:根据节点属性删除边
我有一个igraph
名为的对象y
,它包含inventor
顶点和patent
边。
每个vertex
都有一个属性city
,指的是发明者的位置。每个edge
都有一个属性h_city
,指的是发明者或公司的位置。
我只想选择至少一位发明人位于 X 市且该专利的至少一位发明人不在 X 市的专利。
如果我运行以下脚本,我也会得到专利,其中没有一个发明人住在 X 市,但公司位于那里:
如果我按照 MrFlick 的建议运行以下脚本来回答一个不同的问题,我最终也会获得所有发明人都来自 X 市的专利:
下面我举一个例子,也是由 MrFlick 为不同的答案制作的 - 我稍微改变了它:
这会产生:
使用此代码,我还包括节点号 4 和 5 之间的边 #4,因为它们都有prop>=3
. 我不想选择那个边缘。至少一个节点需要匹配标准,至少一个节点不需要。
对于此示例:如何仅选择至少有一个节点具有prop>=3
但至少有一个节点没有在该边缘上入射的边缘。
编辑:
我也尝试过(我打赌不正确)使用函数 asneighbors
和incident
,但似乎没有一个工作:
有什么建议么?
非常感谢!
r - R中的igraph,如何根据事件顶点属性选择边?
我正在寻找一种方法来基于至少一个顶点的顶点属性得分来子图边缘,该顶点是在该边缘上发生的。
有没有简单的方法可以做到这一点?
有什么建议么?
graphviz - 如何使子图可见?
在下图中,两个子图不可见,但所有节点似乎都是随机放置的。如何创建可见的子图,比如一个盒子里面有我的 PlayerChars,另一个盒子里面有 NonPlayerChars?
graph - 在给定图中查找所有最大传递闭包子图
我正在尝试解决以下问题:
我有一个边数很少的有向图 G = (E,V)。现在我尝试找到其中的所有子图,它们是传递闭包和最大的,这意味着不应该有子图是另一个子图的一部分。
我的第一个想法是从每个节点开始进行 DFS,并在每一步中查看是否存在闭包的所有边缘,但性能很糟糕。所以我想知道是否有更快的算法
java - 超图中的子图信息
嗨,我正在使用 ParSemis:用于子图检测的图挖掘套件。在那我使用gSpan算法。该算法是用java编写的。我运行算法并能够从图形数据库中获取频繁的子图。我想知道超图中的那些子图实例(即数据库中的图)。我尝试在选项中启用 storeEmbeddings,但我没有得到子图嵌入的详细信息。它只是返回空值。有人能帮我吗。
PS:文档说这些嵌入可以/将存储在本地对象池中。
如果是这样,如何提取这些细节?
performance - 连接两组节点的高效密码查询匹配子图
我的问题如下。我在 Neo4j 中有一个小而密集的网络(~280 个节点,~3600 个关系)。只有一种类型的节点和一种类型的边(即,每个类型都有一个标签)。现在,我想指定两个不同的节点组,由它们的“组”属性的值给出,并匹配由连接两个组的特定长度的所有路径组成的子图。此外,我想添加对关系的约束。所以,目前我有这个:
这实现了我想要的,但在某些情况下似乎太慢了。在这里,WHERE 语句过滤掉权重属性低于阈值的关系以及包含循环的路径。
最后三行与所需的输出格式有关。给定匹配的子图(路径),我想要一个列表中的所有唯一关系,以及另一个列表中的所有唯一节点(用于使用 d3.js 进行可视化)。我发现这样做的唯一方法是展开所有元素,然后将它们作为 DISTINCT 收集。
另请注意,组属性和重量限制作为查询参数传入。
现在,有什么方法可以更快地达到相同的结果?例如,对于长度为 3 的路径,在我的本地计算机上查询大约需要 5-10 秒(取决于所选节点组的连接性),并按约 50 个节点和数百个关系的顺序返回。这似乎在可接受的性能范围内。然而,长度为 4 的路径已经令人望而却步(几分钟或永远不会返回)。
额外的问题:有没有办法将路径长度的上限指定为参数?或者不同的限制是否意味着完全不同的查询计划?
r - 查找图中的所有路径,包括一个顶点
我有一个有向简单图(名为 tutti)和一个顶点列表(名为 risultato)。
我想找到由“tutti”提取的全套子图,其中包括数组 risultato 中的一个顶点。
作为包含图片中的示例,图 tutti
给定顶点 609(即 risultato 中存在的一个顶点)(左侧为红色),我需要在图片中绘制图形
我怎样才能提取所有这些图表?