本文整理汇总了Python中halp.directed_hypergraph.DirectedHypergraph.hyperedge_id_iterator方法的典型用法代码示例。如果您正苦于以下问题:Python DirectedHypergraph.hyperedge_id_iterator方法的具体用法?Python DirectedHypergraph.hyperedge_id_iterator怎么用?Python DirectedHypergraph.hyperedge_id_iterator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类halp.directed_hypergraph.DirectedHypergraph
的用法示例。
在下文中一共展示了DirectedHypergraph.hyperedge_id_iterator方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_to_networkx_digraph
# 需要导入模块: from halp.directed_hypergraph import DirectedHypergraph [as 别名]
# 或者: from halp.directed_hypergraph.DirectedHypergraph import hyperedge_id_iterator [as 别名]
def test_to_networkx_digraph():
H = DirectedHypergraph()
H.read("tests/data/basic_directed_hypergraph.txt")
G = directed_graph_transformations.to_networkx_digraph(H)
H_nodes = H.get_node_set()
G_nodes = G.node.keys()
assert H_nodes == set(G_nodes)
H_nodes_attributes = [H.get_node_attributes(node) for node in H_nodes]
for node in G_nodes:
assert G.node[node] in H_nodes_attributes
for hyperedge_id in H.hyperedge_id_iterator():
tail_set = H.get_hyperedge_tail(hyperedge_id)
head_set = H.get_hyperedge_head(hyperedge_id)
for tail_node in tail_set:
for head_node in head_set:
assert G[tail_node][head_node]
# Try transforming an invalid directed hypergraph
try:
directed_graph_transformations.to_networkx_digraph("invalid H")
assert False
except TypeError:
pass
except BaseException as e:
assert False, e
示例2: test_add_hyperedges
# 需要导入模块: from halp.directed_hypergraph import DirectedHypergraph [as 别名]
# 或者: from halp.directed_hypergraph.DirectedHypergraph import hyperedge_id_iterator [as 别名]
def test_add_hyperedges():
node_a = 'A'
node_b = 'B'
node_c = 'C'
node_d = 'D'
tail1 = set([node_a, node_b])
head1 = set([node_c, node_d])
frozen_tail1 = frozenset(tail1)
frozen_head1 = frozenset(head1)
tail2 = set([node_b, node_c])
head2 = set([node_d, node_a])
frozen_tail2 = frozenset(tail2)
frozen_head2 = frozenset(head2)
attrib = {'weight': 6, 'color': 'black'}
common_attrib = {'sink': False}
hyperedges = [(tail1, head1, attrib), (tail2, head2)]
H = DirectedHypergraph()
hyperedge_names = \
H.add_hyperedges(hyperedges, common_attrib, color='white')
assert 'e1' in hyperedge_names
assert 'e2' in hyperedge_names
assert H._hyperedge_attributes['e1']['tail'] == tail1
assert H._hyperedge_attributes['e1']['head'] == head1
assert H._hyperedge_attributes['e1']['weight'] == 6
assert H._hyperedge_attributes['e1']['color'] == 'black'
assert H._hyperedge_attributes['e1']['sink'] is False
assert H._hyperedge_attributes['e2']['tail'] == tail2
assert H._hyperedge_attributes['e2']['head'] == head2
assert H._hyperedge_attributes['e2']['weight'] == 1
assert H._hyperedge_attributes['e2']['color'] == 'white'
assert H._hyperedge_attributes['e2']['sink'] is False
assert set(hyperedge_names) == H.get_hyperedge_id_set()
for hyperedge_id in H.hyperedge_id_iterator():
assert hyperedge_id in hyperedge_names