Browse Source

fix bug "AttributeError("'Graph' object has no attribute 'node'",)" for new version of NetworkX.

v0.2.x
jajupmochi 5 years ago
parent
commit
b4747fc16b
6 changed files with 6 additions and 5 deletions
  1. +1
    -0
      gklearn/kernels/__init__.py
  2. +1
    -1
      gklearn/kernels/graph_kernel.py
  3. +1
    -1
      gklearn/kernels/treeletKernel.py
  4. +1
    -1
      gklearn/kernels/untilHPathKernel.py
  5. +1
    -1
      gklearn/preimage/median_preimage_generator.py
  6. +1
    -1
      gklearn/utils/utils.py

+ 1
- 0
gklearn/kernels/__init__.py View File

@@ -9,3 +9,4 @@ __date__ = "November 2018"

from gklearn.kernels.graph_kernel import GraphKernel
from gklearn.kernels.structural_sp import StructuralSP
from gklearn.kernels.shortest_path import ShortestPath

+ 1
- 1
gklearn/kernels/graph_kernel.py View File

@@ -44,7 +44,7 @@ class GraphKernel(object):
elif len(graphs) == 2:
if self.is_graph(graphs[0]) and self.is_graph(graphs[1]):
kernel = self.__compute_single_kernel(graphs[0], graphs[1])
kernel = self.__compute_single_kernel(graphs[0].copy(), graphs[1].copy())
return kernel, self._run_time
elif self.is_graph(graphs[0]) and isinstance(graphs[1], list):
g1 = graphs[0].copy()


+ 1
- 1
gklearn/kernels/treeletKernel.py View File

@@ -308,7 +308,7 @@ def get_canonkeys(G, node_label, edge_label, labeled, is_directed):
for i in range(1, 6): # for i in range(1, 6):
treelet = []
for pattern in patterns[str(i)]:
canonlist = list(chain.from_iterable((G.node[node][node_label], \
canonlist = list(chain.from_iterable((G.nodes[node][node_label], \
G[node][pattern[idx+1]][edge_label]) for idx, node in enumerate(pattern[:-1])))
canonlist.append(G.node[pattern[-1]][node_label])
canonkey_t = canonlist if canonlist < canonlist[::-1] else canonlist[::-1]


+ 1
- 1
gklearn/kernels/untilHPathKernel.py View File

@@ -637,7 +637,7 @@ def paths2labelseqs(plist, G, ds_attrs, node_label, edge_label):
(G.node[node][node_label],
G[node][path[idx + 1]][edge_label])
for idx, node in enumerate(path[:-1]))) +
[G.node[path[-1]][node_label]]) for path in plist
[G.nodes[path[-1]][node_label]]) for path in plist
]
# path_strs = []
# for path in all_paths:


+ 1
- 1
gklearn/preimage/median_preimage_generator.py View File

@@ -704,7 +704,7 @@ class MedianPreimageGenerator(PreimageGenerator):
# def __clean_graph(self, G, node_labels=[], edge_labels=[], node_attrs=[], edge_attrs=[]):
def __clean_graph(self, G):
def __clean_graph(self, G): # @todo: this may not be needed when datafile is updated.
"""
Cleans node and edge labels and attributes of the given graph.
"""


+ 1
- 1
gklearn/utils/utils.py View File

@@ -134,7 +134,7 @@ def untotterTransformation(G, node_label, edge_label):
gt.add_nodes_from(G.nodes(data=True))
for edge in G.edges():
gt.add_node(edge)
gt.node[edge].update({node_label: G.node[edge[1]][node_label]})
gt.nodes[edge].update({node_label: G.node[edge[1]][node_label]})
gt.add_edge(edge[0], edge)
gt.edges[edge[0], edge].update({
edge_label:


Loading…
Cancel
Save