@@ -236,18 +236,22 @@ def __str__(self):
236
236
Format:
237
237
{
238
238
'edges':[
239
- {
239
+ " {
240
240
'source_arn': 'string', 'destination_arn': 'string',
241
241
'association_type': 'string'
242
- },
242
+ }" ,
243
243
...
244
- ]
244
+ ],
245
245
'vertices':[
246
- {
246
+ " {
247
247
'arn': 'string', 'lineage_entity': 'string',
248
248
'lineage_source': 'string',
249
249
'_session': <sagemaker.session.Session object>
250
- },
250
+ }",
251
+ ...
252
+ ],
253
+ 'startarn':[
254
+ 'string',
251
255
...
252
256
]
253
257
}
@@ -270,7 +274,7 @@ def _get_verts(self):
270
274
"""Convert vertices to tuple format for visualizer"""
271
275
verts = []
272
276
for vert in self .vertices :
273
- verts .append ((vert .arn , vert .lineage_source ))
277
+ verts .append ((vert .arn , vert .lineage_source , vert . lineage_entity ))
274
278
return verts
275
279
276
280
def _get_edges (self ):
@@ -288,14 +292,16 @@ def visualize(self):
288
292
cyto .load_extra_layouts () # load "klay" layout (hierarchical layout) from extra layouts
289
293
app = JupyterDash (__name__ )
290
294
295
+ # get vertices and edges info for graph
291
296
verts = self ._get_verts ()
292
297
edges = self ._get_edges ()
293
298
294
299
nodes = [
295
300
{
296
301
"data" : {"id" : id , "label" : label },
302
+ "classes" : classes
297
303
}
298
- for id , label in verts
304
+ for id , label , classes in verts
299
305
]
300
306
301
307
edges = [
@@ -341,6 +347,30 @@ def visualize(self):
341
347
"arrow-scale" : "0.5"
342
348
},
343
349
},
350
+ {
351
+ "selector" : ".Artifact" ,
352
+ "style" : {
353
+ "background-color" : "#146eb4"
354
+ }
355
+ },
356
+ {
357
+ "selector" : ".Context" ,
358
+ "style" : {
359
+ "background-color" : "#ff9900"
360
+ }
361
+ },
362
+ {
363
+ "selector" : ".TrialComponent" ,
364
+ "style" : {
365
+ "background-color" : "#f6cf61"
366
+ }
367
+ },
368
+ {
369
+ "selector" : ".Action" ,
370
+ "style" : {
371
+ "background-color" : "#88c396"
372
+ }
373
+ }
344
374
],
345
375
responsive = True ,
346
376
)
0 commit comments